1 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊
假設(shè)您僅圍繞一個(gè)軸旋轉(zhuǎn)(如圖所示),您可以使用例如Quaternion.Angle每幀獲得以 circle2 度數(shù)為單位的旋轉(zhuǎn)差異
private Quaternion lastCircle2Rot;
//...
float rotDelta = Quaternion.Angle(lastCircle2Rot, circle2.transform.rotation);
lastCircle2Rot = circle2.transform.rotation;
而不是使用例如Transform.RotateAround相應(yīng)地轉(zhuǎn)動(dòng) circle1
public float multiplier;
// e.g. rotate around local x = right
Vector3 YourAxis = circle1.transform.right;
circle1.transform.RotateAround(Vector3.zero, YourAxis, rotDelta * multiplier);
如果使用例如正確的或另一個(gè)“干凈”的向量,你也可以簡(jiǎn)單地使用
circle1.transform.Rotate(Vector3.right, rotDelta * multiplier);
正如默認(rèn)情況下在本地空間中完成的那樣。
- 1 回答
- 0 關(guān)注
- 148 瀏覽
添加回答
舉報(bào)