Орбитальные механизмы в единстве - PullRequest
0 голосов
/ 18 октября 2018

Прошла неделя с тех пор, как я пытался создать с помощью двигателя «Единство» орбитальную систему.Я нашел разные решения и методы, но они не удовлетворяют желаемому результату.Может кто-нибудь сказать мне, как создать сценарий C # с добавлением других деталей, таких как эксцентриситет?

Вот мой «лучший» и последний код:

Orbit.cs

using UnityEngine;
using System.Collections;

public class Orbit : MonoBehaviour 
{
   public float axisX;
   public float axisZ;
   public float offsetY;
   public Transform toOrbit;

   public float vel = 0;
   public bool clockwise;


   float _vel = 0;
   float timer = 0;

void Update () {
    _vel = (vel / GetComponent<Rigidbody>().mass)*Time.fixedDeltaTime;
    timer += _vel;
    Rotate();
}

void Rotate() {
    if(clockwise) {
        float x = -Mathf.Cos(timer) * axisX;
        float z = Mathf.Sin(timer) * axisZ;
        Vector3 pos = new Vector3(x, offsetY, z);
        transform.position = pos + toOrbit.position;
    } else {
        float x = Mathf.Cos(timer) * axisX;
        float z = Mathf.Sin(timer) * axisZ;
        Vector3 pos = new Vector3(x, offsetY, z);
        transform.position = pos + toOrbit.position;
    }
}

}

PS : я использую Unity 5.2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...