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 SyntaxTerror · Aug 09, 2013 at 09:16 PM · rotationrotaterotatearoundpivot

How do I rotate on a new pivot point with RotateAround?

I'm struggling to get Transform.RotateAround to work properly and am wondering where I'm going wrong.

The idea is quite simple. I have an object that floats from one platform to another above it. Once it collides with the top platform, I need to change its pivot point so that it rotates from the top of the object. Well, actually, it should rotate from one of the top corners.

I've tried to use Tranform.RotateAround but I'm having major problems trying to get it to do this. The results I'm getting are way off what I want and are somewhat erratic. What I have at the moment is this:

     // Update is called once per frame
     void Update () {
         if (isCollided && !isStopped)
         {
             // Move the object up
             transform.Translate(Vector3.up * Time.deltaTime);
         }
         if (isStopped)
         {
             // Object has hit the bottom of the top platform. From what direction did the original
             // collision come from?
             if (collisionDirection == CollisionDirection.Left)
             {
                 transform.RotateAround(transform.position - Vector3.up, Vector3.back , 50 * Time.deltaTime);
             }
         }
     }
 

I'm pretty new to Unity and have never done any 3D work so I'm not too sure about the coordinates. That's probably where I'm going wrong?

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
0

Answer by zombience · Aug 09, 2013 at 09:50 PM

if you'd like it to pivot, like an orbit, you need to give it a fixed point to rotate around. currently, you hvae the RotateAround() function referencing the object which is being rotated. This means that as it rotates, it moves position, and so does the pivot reference, so it will end up just spinning off into space. you need to give it a fixed transform or a fixed Vector3 point to have it rotate around. Something that does not change while the object is rotating.

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
avatar image
0

Answer by SyntaxTerror · Aug 10, 2013 at 02:07 PM

Ah - of course. That makes sense and I've now managed to get that part working. Thanks.

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

15 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

Related Questions

rotate around character 1 Answer

Transform.RotateAround over specific length of time 1 Answer

rotate around character 2 Answers

Snap the rotation of object 2 Answers

How do I rotate an object around another to have its opposite ? 0 Answers


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