• 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 CallToAdventure · Apr 18, 2011 at 10:49 PM · velocityparentget

Get the velocity of parent object

I am trying to rotate an object (should NOT be rigidbody) based on the velocity of its parent (rigidbody); It must be awfully simple yet it eludes me; just learning my way through js and can't get to the end of it; any advice/docs links - I appreciate. Thanks!

Comment
Add comment
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

2 Replies

· Add your reply
  • Sort: 
avatar image
3
Best Answer

Answer by DaveA · Apr 18, 2011 at 10:55 PM

Do you mean the linear or angular velocity of the parent, and how should they relate?

As an example, the faster this thing goes in any direction, the faster the child will spin on its Y axis:

(script on child, untested)

Update()
{
  transform.Rotate(0, transform.parent.GetComponent(Rigidbody).velocity.magnitude, 0);
}

and you'd want to scale that or it would spin very very fast, but it depends on how your objects actually move.

Comment
Add comment · Show 3 · Share
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 CallToAdventure · Apr 18, 2011 at 11:24 PM 0
Share

This should work, its the behavior I am looking for. The faster the parent goes, the faster the child spins, once the parent velocity drops to smaller values, the spin should match as well, slowing down accordingly.

Thanks!

avatar image CallToAdventure · Apr 18, 2011 at 11:28 PM 0
Share

..how do I declare the rigidbody in this context (unknown identifier)? :P

avatar image DaveA · Apr 18, 2011 at 11:53 PM 0
Share

Sorry should be Rigidbody

avatar image
0

Answer by CallToAdventure · Nov 07, 2011 at 08:13 PM

not really an answer since it doesn't work properly just yet. As the parent object gains speed the child objects rotates as it should - but as soon as I stop, the child object halts although the parent objects still has some velocity.

here's the code I use. Also, I should probably use a local velocity and avoid using the GetAxis little hack. Any ideas? Much appreciated!

 var parentObject : GameObject;
 
 function Update(){
     var speed = parentObject.GetComponent(Rigidbody).velocity.magnitude* 0.5f;
     
     var z=Input.GetAxis("Vertical")*5 *speed;
 
     var childObjects = GameObject.FindGameObjectsWithTag("stuff");
     for (var childObject in childObjects)
     childObject.transform.Rotate(0,0,-z);
 }
Comment
Add comment · Share
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

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.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

1 Person is following this question.

avatar image

Related Questions

Can an instantiated object inherit its parent's velocity? 2 Answers

How to move your player with a moving platform (parent-child method not working). 2 Answers

Velocity powered rigidbody on a moving platform without parenting. 3 Answers

How can I get Rigidbody.velocity instead of set it? 1 Answer

Make a simple tree 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