unity 控制旋轉的方法

2021-07-14 19:30:10 字數 764 閱讀 8976

將角度轉換成四元數,然後修改transform的rotation。

quaternion q = quaternion.angleaxis(angle, axis); // 1.角度 2.旋轉的軸

transform.rotation = quaternion.slerp(transform.rotation, q, time.deltatime * speed);

最簡單的旋轉

transform.rotate(vector.up * time.deltatime);

圍繞某個點旋轉

transform.rotatearound(vector.zero, vector.up, time.deltatime * speed); 1. 圍繞的點 2.軸向 3.速度

左右控制y 軸的旋轉

rotaspeed += input.getaxis(「horizontal」);

transform.eulerangles = new vector3(0, rotaspeed, 0);

平滑旋轉

transform.rotation = quaternion.slerp(transform.rotation, quaternion.lookrotation(waypoint - transform.position), 0.01f);

已知乙個向量和夾角,求另乙個向量

var newdir = quaternion.euler(new vector3(0, 90, 0)) * vector3.forward;

Unity 滑鼠控制模型旋轉(360度)

任意旋 起始位置 private vector3 startposition 滑鼠按下的之前位置 private vector3 previousposition 滑鼠按下之後的滑動距離 private vector3 offset 滑鼠抬起後距離初始位置的位置 private vector3 fi...

unity的攝像機視野及旋轉控制總結

相機視野拉近和拉遠,差值得到 distance offest.magnitude distance input.getaxis mouse scrollwheel slidespeed distance mathf.clamp distance,2,18 offest offest.normaliz...

Unity3D 控制物體移動 旋轉 縮放

1.指定方向移動 移動速度 float translatespeed 10f 表示 向前 transform.translate vector3.forward translatespeed 2.全方向移動 x軸移動速度移動速度 float xspeed 5f z軸移動速度移動速度 float zs...