绕行旋转 Rotate

教程中并没有对 Transform.Rotate 类做详细介绍,仅仅是做了三件事:

  • 设置旋转速度
  • 确定旋转轴
  • 在特定按键按下时,按指定速度绕旋转轴旋转;

相关代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
public class CameraRotate : MonoBehaviour
{
//设置旋转速度
[SerializeField] float rotateSpeed = 12.0f;
void Update()
{
//监听按钮按下事件
float direction = Input.GetAxis("Horizontal");
//旋转
transform.Rotate(Vector3.up, direction * rotateSpeed * Time.deltaTime);
}
}

以上。

1.补充说明

有个补充说明:此代码是令摄像机围绕指定点(Focal Point)旋转;实现方式是:

  • 创建一个空对象;
  • 重命名该空对象为 Focal Point ; 设置其坐标为绕行点坐标;
  • 附着上述脚本 CameraRotate
  • 将主摄像机 Main Camera 设置为其子对象;

这时当 Focal Point 旋转时,主摄像机 Main Camera 跟随旋转,实现的效果即绕行旋转;

2.尾注

旋转相关功能较为复杂,进一步了解的话可以参考以下文章:

以上。