Forum rules - please read before posting.

[SOLVED] Character Spinning Around

I seem to have a random problem that happens in just about any scene.

If the player clicks to either move the player or to interact with something, it can sometimes (not every time) make the player character begin spinning around on the spot like a spinning top continuously non-stop. I have to click again to make it stop. Is there a reason for this?

I've noticed that it usually happens near the edge of the baked NavMeshSegments, unless that's just a weird coincidence.

Comments

  • I noticed this today for the first time aswell, and I managed to fix it by upping the Acceleration value in the player script settings (I put it to 20). After doing that I didn't experience this problem anymore. Hope it works for you too!
  • edited April 2014
    Im assuming your placing marker right on the edge of the object your interracting, It sounds like character cannot reach the marker for some reason. Additional to what hedgefield said, may be you could move the marker a few clicks back.

    Also, please check your baked nav mesh if every navmesh are being baked. Sometimes due to some minor rotation errors and narrowing the bake adjusments, some navmeshs are not included to the baked navmesh (i've learned after a while)

    Hope it works :|
  • @hedgefield - I tried upping the Acceleration but it doesn't work unless I up the Turning speed too but then the character turns way too quickly than I want him to, which doesn't look right.

    @Harkenin - I'm not sure it's the markers as it happens when no markers are near by. All NavMeshSegments are baked properly and are all at 0 on the Y-axis with no tilts or rotations. 
  • Ah gotcha, I only have flat 2D characters where the turning speed doesn't matter so I see how that can be a problem in 3D. Then it might be a genuine bug.
  • It's looking like it could be.

    @ChrisIceBox do you have any idea what could be causing this?
  • I've noticed that this happens if multiple fast clicks on the mouse are made. It's got me stumped.
  • It's likely a combination of your acceleration parameters and your game's scale.  Characters never actually "reach" their intended spot precisely - they'll always settle for a minimum distance, within which they'll consider themselves where they want to be.

    If the minimum distance is too small, the character will walk past it, turn around and go past it again!  The solution is to raise that minimum distance, which is done by lowering the Destination accuracy slider in the Settings Manager.
  • Cheers Chris, but the Destination Accuracy is already at full (1).

    The only solution I've found is if I turn the Turning Speed up really high to about 20-30. It works but obviously it looks very amateurish :/
  • edited May 2014
    I think you actually have to set the Destination Accuracy to a low value, which means it is more likely that the character will settle for a point somewhere further away from where they wanted to go. 0.5 might do the trick. Then you can leave the turning speed at a low value too.
  • Yes! That's worked...Brilliant. Cheers guys :)
  • edited December 2014
    I managed to find a different fix at my end, the problem is caused when the path length value is set to a value less then 1(it makes the player want to face random direction), 
    i.e.
    player.GetPath().GetTotalLength()<1f
    image

    my change was adding the following to to PlayerMovement.cs, 

    if (playerInput.activeArrows == null)
    {
    if(KickStarter.player.GetPath != null && KickStarter.player.GetPath().GetTotalLength()<1f)
    {
          StopMovingToHotspot ();
    }
    fixed it too but since it is just a local patch to a plugin, it isn't as useful in the long run.
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.