rendered paste body# Asteroids Motiondef MovimientoAsteroide (Asteroide, Planeta, RanListNum, RandomListName, NumberAsteroids): RanNum = G.GloVals[RandomListName] RanNum = RanNum[NumberAsteroids - (RanListNum+1)] RanNumPos = abs(G.GloVals[RandomListName][RanListNum]) Radio = 250 + RanNumPos * 300 Asteroide = ListaObjetos [Asteroide] # Position PlanetaPos = ListaObjetos [Planeta].getPosition() Grado = 360 * (T/5) / Radio X = M.cos(Grado) * Radio + PlanetaPos[0] Y = M.sin(Grado) * Radio + PlanetaPos[1] Asteroide.setPosition ([X, Y, RanNum*150]) # Rotation Mat = Asteroide.getOrientation() RotX = Mathutils.RotationMatrix(-T/2000*RanNum, 3, 'x') RotY = Mathutils.RotationMatrix(-T/2500*RanNum, 3, 'y') RotZ = Mathutils.RotationMatrix(-T/1500*RanNum, 3, 'z') Mat = Mathutils.Matrix(Mat[0],Mat[1],Mat[2]) * RotX * RotY * RotZ Mat = [[Mat[0][0],Mat[0][1],Mat[0][2]],[Mat[1][0],Mat[1][1],Mat[1][2]],[Mat[2][0],Mat[2][1],Mat[2][2]]] Asteroide.setOrientation(Mat)