我使用的是Unity 5(最新版本),我试图制作传送带类型的东西。为此,我想让圆柱体在z轴上旋转,而只在z轴上旋转。我该怎么做?
答案 0 :(得分:1)
您可以使用transform.Rotate
方法围绕固定轴旋转对象。
该方法有各种构造函数,但实现所需的简单方法是使用以下内容,具体取决于您实际想要旋转对象的轴。
using UnityEngine;
using System.Collections;
public class RotateCylinder : MonoBehaviour
{
// rotation speed in degrees per second.
private float rotationSpeed = 1f;
void Update()
{
// Use one of the following depending on the axis you want to rotate the object, this will depend on how your object is transformed.
// Rotate around X Axis
transform.Rotate(Vector3.right * rotationSpeed * Time.deltaTime);
// Rotate around Y Axis
transform.Rotate(Vector3.up * rotationSpeed * Time.deltaTime);
// Rotate around Z Axis
transform.Rotate(Vector3.forward * rotationSpeed * Time.deltaTime);
}
}
答案 1 :(得分:0)
好吧,在一个轴上旋转 GameObject
ONLY 相当困难,没有任何工作正常,向另一个轴添加值,甚至 RotateAround
或 Rotate
,但是...
Vector3 v = transform.localRotation.eulerAngles;
transform.localRotation = Quaternion.Euler(v.x + dx, v.y + dy, v.z + dz);
dx, dy, dz - 你想要改变多少度数。