如何在 Unity 中围绕球体动态创建多条轨道路径

How to create multiple orbital paths around a sphere dynamically in Unity

我正在创建一个原子模拟器类的项目。所以我目前正在做的是周期性的 table 当用户点击任何元素时,我将为该元素生成一个球体游戏对象(即原子)。现在原子周围有不同 shell 配置的电子。我正在尝试模拟这种效果。我能够围绕球体(原子)创建一个单一的轨道路径,并产生一个很好地围绕原子旋转的电子球体。

这是它的样子

我正在使用以下代码执行此操作。

// Update is called once per frame
void Update () {
    //transform.Rotate(Vector3.up, rotationSpeed * Time.deltaTime);
    transform.RotateAround(rotateAround.position, Vector3.forward, rotationSpeed);
}

现在我尝试在原子周围设置多个轨道路径(如 n shell、p shell 等)。我尝试向旋转方法中传递的变换添加一些偏移量,但路径不是完全圆形的。

那么我怎样才能创造出这样的东西呢。

您必须在代码中的某处生成电子。 找到那段代码并执行以下操作:

  1. 将电子的位置设置为质子的位置。
  2. 使用以下代码将其向左移动 p 个单位:transform.position += p * Vector3.left
  3. 您的 Update() 方法将处理旋转。您可以通过将 Vector3.forward 更改为随机 new Vector3(x, y, z) 来进一步优化它,这样包含轨道的平面也会旋转,从而产生更逼真的效果。