Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by 1eleven · Jun 01, 2013 at 04:38 PM · javascriptrigidbodyvector3charactercontrollercharacter.move

when i try using .SimpleMove my object jumps back to its starting position

in the game i am making the player should be able to go from flying to running, and while i have the flying pretty much done the transition to running still requires a lot of work. You see the problem i am having is that when i turn the rigidbody to isKinematic and begin using .SimpleMove to navigate, the player jumps back to where the object was when the scene began.

the perpetrator of this foul bug seems to be this little block of code

 if (isLanded == true)
     {
         if (Input.anyKey)
         {
             GetComponent(CharacterController).SimpleMove(direction * walkSpeed);
         }
     }

The code i have for changing the vector is very rough at the moment, and is mostly there for testing, example below.

 if (Input.GetKey(KeyCode.S))
 {
     rigidbody.AddForce(0, -nav, 0);
     direction = transform.TransformDirection(Vector3.forward);
     walkSpeed = -wSpeed;
     //Debug.Log("diving");
 }

I can create a workaround for it but i would like to understand why my code isn't working the way i intended first, thanks in advance for your time.

Comment
Add comment · Show 3
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Loius · Jun 01, 2013 at 04:51 PM 0
Share

is the character controller (or a parent object) itself animated? If so the animation is probably resetting the position.

avatar image 1eleven · Jun 01, 2013 at 04:59 PM 0
Share

There isn't any animation on anything in the scene

avatar image fueldown · Jun 02, 2013 at 12:20 PM 0
Share

you shouldn't use rigidbody and character controller at the came time. Very peculiar to handle. ins$$anonymous$$d of addForce, I'd suggest using transform.Translate. As for the moving back to beginning, it may be because of having rigidbody still active even if it is kinematic. Another thing to check is the child objects, as the character controller tries to be grounded, but if it has any child objects with any other colliders attached, it tries to climb upon child with rogue collider. make sure you don't have any colliders inside the hierarchy of the object with character controller. I hope this helps you.

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

16 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Respawn when a character hits an object with a tag of "Kill" , but after 3 deaths the controller is destroyed 0 Answers

CharacterController Gravity 2 Answers

Applying Constant Force on Multiple Axes Via Javascript? 1 Answer

if CharacterController hit a rigidbody 1 Answer

Make a object move forwards 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges