Forum rules - please read before posting.

Klab's Requests and Hints and Questions (Collection)

Hi, I am back in the AC game. I don't want to start a new topic for every single issue, so I am going to drop them here when I encounter them.

First round: Unity 2022.3 AC 1.79.1

  1. Direct control movement with Rigidbody leads to jittery movement above 30 fps for any kind of interpolation method.
    The way I understand it, the reason for that is Unity's default physics update rate of 30 Hz. Changing Project settings - Physics - simulation mode from fixed update to update solved the problem. Was that the correct solution? If yes, maybe add a hint in the manual?

  2. Camera Offset should account for player walking direction. Having the camera in front of the player at all times, not fixed to the right/left of the player, is imo a more common use case. AFAIK that sort of behavior cannot be implemented unless the Player Prefab is in each scene with a custom camera target atm.

  3. Some sort of Delay, ramp up time and/or dampening for direct control camera movement would be cool. Right now, you can only choose between "the camera can barely keep up with the player" and "the camera is super restless and jumpy" especially with small movements and direction changes.

  4. Move Speed float (Animator parameter) is always 1 for walking and 2 for running. It is not walk/run speed scale as mentioned in the manual. Is that intentional?

  5. I think Jump speed should be in the player component to make it consistent with the rest of the movement speeds, not in AC settings - movement. It would be cool to be adjustable via action list (to create inventory items that make you jump higher, for example)

Comments

  • Welcome back, @Klabautermann.

    Agreed on the "Jump speed" placement - it's remained there as it would interfere with existing projects, but I'll consider moving it.

    For the others: the exact behaviour is down to the specifics of your camera, player and Settings Manager. Could you share screenshots/details that I could use to recreate them?

  • edited December 2023

    You are faster implementing requests than I am providing screenshots it seems ... Here they are:

    Camera:
    image

    Player:
    image

    Settings:
    image

    And one screenshot from my test area to see what we are talking about. I am going for direct control sidescroller movement with Unity 2D skeletal animation characters in a 3D environment.

  • To set the camera's target to a child of the Player that gets spawned in at runtime, attach this script to the camera and make sure the "Follow Child" name matches that of the child object:

    using UnityEngine;
    using AC;
    
    public class SetCameraChild : MonoBehaviour
    {
    
        public GameCamera gameCamera;
        public string followChild = "Follow";
    
        void OnEnable () { EventManager.OnSetPlayer += OnSetPlayer; }
        void OnDisable () { EventManager.OnSetPlayer -= OnSetPlayer; }
    
        void OnSetPlayer (Player player)
        {
            gameCamera.targetIsPlayer = false;
            gameCamera.target = player.transform.Find (followChild);
        }
    
    }
    
  • Hi Chris,
    you are the man! Thanks for the script and pickping up my point about the jump speed.
    I still think that points 1-4 from my initial post remain relevant and could improve AC not only for me, but for other people too. None of these things are urgent. If you decide to tackle some of them, just tell me what kind of information / further explanation you'd need from my side.

    Different topic: Conversations
    They work just fine, but I do not really get the workflow. They create lots of game objects and make dialogues less clear/structured. IMO the Dialogue: start conversation action with override options is a step in the right direction. It could easily replace conversations completely, if you'd add the remaining options there. I mean the label is already in there with override options enabled - why not make it editable there, add some check boxes for the other functions like auto-disable _+ _link to inventory item and remove conversation objects for good?
    Maybe also add an conversation: add / remove action (instead of just toggle) and we would have a cleaner, more structured and dynamic workflow and could put large, branching dialogues into single action lists.
    I guess there are some backend programming reasons why you did not do it like that already?

  • I still think that points 1-4 from my initial post remain relevant and could improve AC not only for me, but for other people too. None of these things are urgent. If you decide to tackle some of them, just tell me what kind of information / further explanation you'd need from my side.

    See my earlier comment above: these issues are specific to your project/settings. I can look into them, but I'll need exact details/screenshots to recreate them.

    I guess there are some backend programming reasons why you did not do it like that already?

    I'm afraid so. A Conversation's options must be pre-defined in order for the save and translation systems to work correctly.

  • I've added an alternative to the default Conversation Action to the wiki. This lets you define a Conversation's options within the Action itself, avoiding the need to create a separate Conversation object:

    https://adventure-creator.fandom.com/wiki/"One-off"_Conversations

  • edited April 7

    Chris, you are the GOAT. I really appreciate how you always go two steps further than could reasonably be expected.
    I have not tested the conversation solution yet, but I certainly will use it soon!

    Meanwhile, another question / proposal:
    When I define a use interaction for a hotspot and that interaction/actionlist has a parameter, I cannot set that parameter from within the hotspot. The only exception for this is when the parameter is a game object, but then I can only set the hotspot itself as the parameter. It would be great if I could run an actionlist as an interaction and set it's parameters in the hotspot itself for any kind of parameter. Right now I have to create an additional actionlist that does nothing but run the actionlist I really want with the correct parameter.

    background: I am trying to reduce my amount of action lists and centralize things. For example, when teleporting the player within scenes, I create one action list asset that contains all the teleporting and camera effects with the target marker as a parameter. So all player position changes / teleports within any scene can utilize that single action list instead of creating the same thing over and over again.

  • It sounds like you just need to attach the "Set Interaction Parameters" component to the Hotspot - which allows you to assign values to all parameters associated with a given interaction.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.