#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);