• 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 /
  • Help Room /
avatar image
0
Question by nicho247 · Sep 29, 2015 at 09:09 AM · c#vector3rotaterotate objectup

c# help with rotate and rotatearound

Hello Q&A board,

I have built a mini-solar system. I have some planets orbiting the sun and cameras watching it. I have hierarchies setup to accommodate child-parent relationships. When I watch the earth, it appears that I only have one season. AKA the leading axis of the globe always points toward the sun. This is wrong. It should slowly rotate around throughout the year. If I watched the earth top down, the north pole would make a complete circle after a year. In my case it is not making a circle, it is fixed.

My earth is a child of an empty game object, to accommodate rotatearound. 1sec = 1day, so my variables are scale down. The orbit reference is the empty game object.

The empty game object transform.rotation.z = 0 (ecliptic) The earth game object transform.rotation.z = 23.4 (axial tilt)

I believe the transform.rotatearound is not working properly. What should I change to have the object's axis not point towards the center?

     private float EarthRotation =-1.00418410f;
     private float EarthOrbitSpeed =0.00273973f;    
     public GameObject Orbit;
 
     void Update () {
         Vector3 EarthOrbitPoint = Orbit.transform.position;
         transform.Rotate(new Vector3(0,1,0)*EarthRotation*Time.deltaTime*360.0f*MainCamera.DPS);
         transform.RotateAround (EarthOrbitPoint,Orbit.transform.up,EarthOrbitSpeed*Time.deltaTime*360.0f*MainCamera.DPS);
     }
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

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.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

29 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 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

how to get object rotation? 1 Answer

Multiple rotations make a mess! 0 Answers

Rotate an object around one of his childs in the self space (not the world space) 2 Answers

Simple Rotate Script won't work! 2 Answers

Set variable to position of collided object. 0 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges