c# - Unity 5 moving planets in a circular or elliptical path (orbits) -


i have:

void update () {     transform.rotatearound(transform.parent.position, new vector3(0, 1, 0), orbitspeed * time.deltatime); } 

which gives me basic circular orbit.

what need varied elliptical orbits (planets generated randomly per star , give them random orbit paths)?

you can't use rotatearound. have make own function

try use:

http://answers.unity3d.com/questions/133373/moving-object-in-a-ellipse-motion.html

x, y: center of ellipse a, b: semimajor , semiminor axes 

the code:

 var : int;  var b : int;  var x: int;   var y : int;  var alpha : int;  var x : int;  var y : int;   function update () {      alpha += 10;      x = x + (a * mathf.cos(alpha*.005));      y= y + (b * mathf.sin(alpha*.005));      this.gameobject.transform.position = vector3(x,0,y);  } 

edit:

if want orbit object use:

     this.gameobject.transform.position = anotherobject.transform.position + vector3(x,0,y); 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -