Forum rules - please read before posting.

AC integration with Unity Starter Assets - Third Person Character Controller

I've been following the first 12:30 of the 3D Primer YouTube tutorial as a model on how I can install AC and have a point-and-click character respond to mouseclicks. I'm using Meshtint's Super Hospital Pack [https://assetstore.unity.com/packages/3d/characters/super-hospital-pack-154554], the latest version of AC, and Unity 2021.3.24f1. The 3D characters in the Hospital Pack are animated using Unity's Third Person Controller. Essentially, the player character moves fine using the keyboard but does not respond to mouseclicks. Can you please point me in a direction of how I can have this work? Thank you-Jim

Comments

  • Welcome to the community, @JimInNH.

    Unity's Third Person Controller isn't suited to being controlled by a separate asset such as AC. To get your character's animating properly, you'll need to remove their dependency from Third Person Controller.

    If you've already set up your characters to respond to AC mouse clicks / movement commands, it sounds like you're most of the way there. You'll just need to remove any Third Person Controller script components, and then update AC's Player/NPC components with the names of the Mecanim speed parameter you want to affect.

    If you open up the character's Animator Controller, you should see a Float parameter (named e.g. "Speed" or similar) that is used to control their blending between Idle and Walk/Run animations. Take a note of this name, and enter into the Player/NPC component's Move speed float field in the "Mecanim settings" panel. This will allow AC to take control over it automatically based on their motion.

    Since Third Person Controller will also be trying to control this, you should then just need to remove that component to prevent a conflict.

    A dedicated tutorial on animating 3D characters can be found here.

    If you'd like an extra set of eyes on your specific characters, though, you're welcome to post screenshots on e.g. imgur.com, and share links here.

  • Thanks for the quick response Chris. Still stuck. Looking at the player in the Animator, I saw so many parameters (and a Blend Tree motion?) that it was confusing as to what I should enter into move speed float.

    I uploaded several screenshots to Imgur per your suggestion:
    https://imgur.com/gBPD9Rk
    https://imgur.com/An6jiGp
    https://imgur.com/J3YTJTM
    https://imgur.com/ovMqp7T
    https://imgur.com/E6dKonD

    Thank you again-Jim

  • Without seeing the animations playing, it's only guesswork based on the names - but I'd suggest updating your Player's "Mecanim parameters" panel with:

    • Move speed float set to Forward
    • Turn float set to Turn
    • 'Is grounded' bool set to OnGround

    Try with just the first, and then see if the other two improve things afterwards.

    If you're just getting started with AC (and Unity in particular), I would recommend following the tutorial with the same assets, but to continue with your own Player character you'll also need to remove the Third Person User Control and Third Person Controller components. Though, you might be OK with simply disabling them via their checkboxes at the top of their Inspectors.

  • Brian-Thanks for the input. Good news: The player character moves based on a mouseclick now. Bad news: player does not walk to mouseclick location but always walks "south" no matter where I click.

  • We'll need to determine if this is an issue with your character, or an issue with the scene.

    To do so, we can rely on the 3D Demo's Player prefab, Tin Pot, to see if they show the same behaviour.

    Tin Pot can be found in /Assets/AdventureCreator/Demo/Resources. If you drag-and-drop this prefab into the scene, it'll override the Player prefab you have assigned in the Settings Manager - do they have the same issue?

  • No-Tin Pot works just fine.

  • How far south are they offset by, and is it always in the same direction - regardless of their orientation?

    Check that the child objects in your own Player's Hierarchy are not offset. The "EthanSkeleton" and "Doctor Young Guy" objects should both have local Position values of (0,0,0) - both in Edit mode, and while the game is running.

    If this is so, have the Player move somewhere so that the issue occurs, then select their root GameObject in the Hierarchy, and view them in the Scene window. Is their root object in the intended position, or is that offset as well?

  • Chris-Thanks for the help! I'm embarrassed to tell you that changing my Player motion control setting from manual to automatic was the correction required. Just wondering...just as Tin Pot worked just fine after dragging-and-dropping into the scene, would my Doctor character do the same if I D+D it into a a different scene?

  • If AC is to take control of the character's motion, setting "Motion control" to "Automatic" is necessary - otherwise, you'll need to have a separate control script to move the character in response to AC commands.

    If you make this correction to do your Doctor character's prefab, rather than the instance of them in the scene, then it should then work correctly when dropped into other scenes.

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.