Вращение земли вокруг Солнца в Unity 3D версии 2019

#unity3d

#unity3d

Вопрос:

Я создал сцену в Unity 3D. Он состоит из 3 сфер, одна из которых — солнце, вторая — земля и третья — Луна. Я сделал Луну дочерним элементом Земли. Моя Земля вращается вертикально вокруг солнца, а луна вращается вокруг земли. Я хочу вращение по горизонтальной оси.

Код для революции выглядит следующим образом:

 using UnityEngine;
using System.Collections;

public class revolve : MonoBehaviour {

public Transform target;    // the object to rotate around

public int speed;   // the speed of rotation

void Start()
 {
if (target == null) 
{
target = this.gameObject.transform;
Debug.Log ("RotateAround target not specified. Defaulting to parent GameObject");
}}

// Update is called once per frame
void Update () 
{
// RotateAround takes three arguments, first is the Vector to rotate around
// second is a vector that axis to rotate around
// third is the degrees to rotate, in this case the speed per second
transform.RotateAround(target.transform.position,target.transform.forward,speed * Time.deltaTime);
}}
  

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

Ответ №1:

Измените эту последнюю строку

  transform.RotateAround(target.transform.position,target.transform.forward,speed * Time.deltaTime);
  

Для

  transform.RotateAround(target.transform.position,target.transform.right,speed * Time.deltaTime);