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);
}