前文:https://blog.csdn.net/Jaihk662/article/details/86754532(利用Transform组件移动物体)
一、模型中心点
模型身上的坐标轴的中心点,也就是我们模型的中心点,模型的的位置旋转缩放都是相对于模型的中心点来进行变化的
多个物体的中心点:如果你选中了多个物体,那么这些物体整体的中心点在哪呢?
- Center:当选中多个模型时,模型组的中心点在所有物体中心点的最中间
- Pivot:当选中多个模型时,模型组的中心点在你选中的最后一个物体身上
Center状态例子:
如何改变模型中心点?创建一个空物体,创建父子关系,通过父物体来控制子物体即可间接改变物体中心点
例子如下:这个时候若要旋转右边的组合物体,就会以图中的中心点为轴
(当然把中心点设在这里非常的不合理,所以在之后将其改成了组合物体的中心点)
二、按键控制物体旋转
Transform.Rotate(Vector3,float):让物体沿Vector3方向旋转float度
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LRtoDoor : MonoBehaviour
{
private Transform myTransform;
private Rigidbody myRigidbody;
void Start()
{
myTransform = gameObject.GetComponent<Transform>(); //获取相应对象的引用
myRigidbody = gameObject.GetComponent<Rigidbody>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Z))
myTransform.Rotate(Vector3.down, 90); //按下Z键让物体沿世界坐标系前方旋转90°
if (Input.GetKeyDown(KeyCode.X))
myTransform.Rotate(Vector3.up, 90);
}
}
效果如下: