Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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
1
Question by grsgrs · Oct 05, 2016 at 03:04 PM · c#gameobjectparenttransform.rotation

How to calculate required rotation of a parent object by a given rotation of a child

I have simple model of an atom consisting of a sphere as parent and cylinders as children coming out of it. These cylinders are docking points for connecting atoms to each other. When I want to "connect" one atom a1 via docking point d1 to an atom a2 with docking point d2, I can calculate the required position and rotation of d2 based on d1 in c# script. But how do I determine the rotation of d2, the parent object of a2? Especially when all atoms can have any position and rotation.

Comment
Add comment · Show 2
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 Owen-Reynolds · Oct 05, 2016 at 04:44 PM 0
Share

If you know q*v and q*q and q.inverse math, you can just walk yourself backwards to a2. Follow d2's local offset backwards using d2's rotation; draw a test point to be sure. Apply the free "roll" using d2's local axis. The final rotation of a2 probably involves d2's global rotation and the inverse of it's localRotation from a2.

(I did almost this exact thing, about a year ago. Don't have the code to look at, but this was the general idea. Took about an hour. If you make test points, you can educated guess + trial and error faster than you'd think.)

avatar image grsgrs Owen-Reynolds · Oct 27, 2016 at 09:45 AM 0
Share

Hi that was the way I already tried, the funny thing was, that it was working in most cases but not in all. $$anonymous$$aybe I have to improve my knowledge in 3D vector math

1 Reply

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

Answer by RetepTrun · Oct 05, 2016 at 04:59 PM

Ok, so what you mean is you have more of those things in the picture and they should connect to each other at the ends of the cylinders sticking out.

What about doing this each time you want to align 2 objects:

  • call the objects obj1 and obj2.

  • Each has just 1 docking port to keep my description simple but the concept should still work for multiple connectors

  • each docking port has a connector transform pointing out and a transform pointing in

  • obj1 will remain stationary

  • obj2 will move to dock with obj1.

  • 1)spawn empty gameobject (call it bob)

  • 2)give bob the world position and rotation of obj2 inward pointing connector

  • 3) parent obj2 to bob

  • 4)give bob the position and rotation of obj1 outward pointing connector

  • 5)unparent obj2 from bob

  • 6)delete bob

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.

Follow this Question

Answers Answers and Comments

6 People are following this question.

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

Related Questions

"Center On Children" programmatically 1 Answer

Can one specify the parent of a gameobject in an array? 2 Answers

Moving a GameObject reffering to the coordinates of the parent Object 1 Answer

make parent of animated game object follow the game object's animation 0 Answers

Multiple Cars not working 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