Unity控制移动、旋转

    xiaoxiao2025-02-13  17

    目录

    目录 Transform基本移动函数Transformposition移动物体rigidbodyvelocity 控制角色的移动Transform基本旋转函数transformrotation旋转

    Transform基本移动函数:

    1、向前移动

    //移动速度 float TranslateSpeed = 10f; //Vector3.forward 表示“向前” transform.Translate(Vector3.forward *TranslateSpeed);

    2、向任意方向

    //x轴移动速度(前后移动) float xSpeed = -5f; //y轴移动速度(上下移动) float ySpeed = 10f; //z轴移动速度(左右移动) float zSpeed = 10f; //向x轴移动xSpeed,同时想z轴移动zSpeed,y轴移动ySpeed。 transform.Translate(xSpeed,ySpeed ,zSpeed);

    Transform.position移动物体

    //x轴移动速度(前后移动) float xSpeed = -5f; //y轴移动速度(上下移动) float ySpeed = 10f; //z轴移动速度(左右移动) float zSpeed = 10f; //向x轴移动xSpeed,同时想z轴移动zSpeed,y轴移动ySpeed。 transform.position+=(xSpeed,ySpeed ,zSpeed);

    注意:这里是直接修改世界坐标,因此当人物旋转之后移动方向不会跟着旋转,而上一种方法是会跟随人物旋转,这种方式的移动也会影响Rigidbody。

    rigidbody.velocity 控制角色的移动

    //x轴移动速度(前后移动) float xSpeed = -5f; //y轴移动速度(上下移动) float ySpeed = 10f; //z轴移动速度(左右移动) float zSpeed = 10f; //给刚体更新新的向量速度,可以控制移动 rigidbody.velocity = new Vector3(xSpeed,ySpeed ,zSpeed);

    Transform基本旋转函数:

    //绕x轴旋转速度(前后移动) float xSpeed = -5f; //绕y轴旋转速度(上下移动) float ySpeed = 10f; //绕z轴旋转速度(左右移动) float zSpeed = 10f; //旋转角度(增加)   transform.Rotate(new Vector3(xSpeed,ySpeed ,zSpeed));

    transform.rotation旋转

    //绕x轴旋转速度(前后移动) float xSpeed = -5f; //绕y轴旋转速度(上下移动) float ySpeed = 10f; //绕z轴旋转速度(左右移动) float zSpeed = 10f; //旋转角度(增加)这是欧拉角旋转,  transform.rotation+=Quaternion.Euler(new Vector3(xSpeed,ySpeed ,zSpeed));
    转载请注明原文地址: https://ju.6miu.com/read-1296387.html
    最新回复(0)