gpt4 book ai didi

c# - Unity 5 以圆形或椭圆形路径(轨道)移动行星

转载 作者:行者123 更新时间:2023-11-30 16:07:25 24 4
gpt4 key购买 nike

我有:

void Update () {
transform.RotateAround(transform.parent.position, new Vector3(0, 1, 0), orbitSpeed * Time.deltaTime);
}

这给了我一个非常基本的圆形轨道。

我需要做什么才能获得不同的椭圆轨道(行星是每颗恒星随机生成的,所以我也想给它们随机的轨道路径)?

最佳答案

您不能使用 RotateAround。你将不得不做你自己的功能

尝试使用:

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

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

代码:

 var a : 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);
}

编辑:

如果你想让它环绕另一个物体使用:

     this.gameObject.transform.position = anotherObject.transform.position + Vector3(X,0,Y);

关于c# - Unity 5 以圆形或椭圆形路径(轨道)移动行星,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30827958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com