Push Pop Orbit: https://editor.p5js.org/tong.lu2002/sketches/fmoNq0cm4
The sun and the Earth are stand-alone objects, only the moon is appended to the Earth. I used multiple rotation methods on the sun, and lowered the details to show edges. The moon’s orbit is affected by the Earth’s orbit, and their own rotations or spins are isolated.
I struggled a lot with the moon’s orbit when writing this sketch, I could not separate it from the Earth’s rotation. The solution is very simple, I added a push pop command for the rotation, so it won’t affect the orbit revolution.
The 5mb upload limit of p5.js only allows simple meshes. I changed the scale and the rotation values of this mesh in the .js file, so it can fit in the canvas. The texture became not obvious on this mesh, so I increased the slider value to alter the dislaceAmt value.
I tried several models, some of them are too large to upload and some showed collapsed faces during displacement. The original pivot point of the heart mesh is at the bottom of the shape, so I centred the pivot inside Maya to have a natural rotation.