Unity3D基础17:物体中心点与物体旋转

 

前文: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);
    }
}

效果如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值