亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

unity根據其他物體角度旋轉物體

unity根據其他物體角度旋轉物體

C#
HUWWW 2022-10-23 10:17:16
我有兩個游戲對象?;締栴}:“當我旋轉第 1 圈時,我想以與因子 x 相同的方式旋轉第 2 圈”如何將圍繞圓 2 的每個局部軸的旋轉與圓 1 的可交互旋轉同步,并按因子 x 縮放該旋轉?設置 transform.right 相等不起作用,仍然有很多自由度。(局部軸,因為我希望一個或兩個游戲對象也傾斜,但彼此無關。)嘗試使用旋轉矩陣進行數學運算并沒有真正奏效,因為它們每幀都被評估,從而永遠旋轉對象 2。非常感謝!
查看完整描述

1 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

假設您僅圍繞一個軸旋轉(如圖所示),您可以使用例如Quaternion.Angle每幀獲得以 circle2 度數為單位的旋轉差異


private Quaternion lastCircle2Rot;


//...


float rotDelta = Quaternion.Angle(lastCircle2Rot, circle2.transform.rotation);

lastCircle2Rot = circle2.transform.rotation;

而不是使用例如Transform.RotateAround相應地轉動 circle1


public float multiplier;


// e.g. rotate around local x = right

Vector3 YourAxis = circle1.transform.right;

circle1.transform.RotateAround(Vector3.zero, YourAxis, rotDelta * multiplier);

如果使用例如正確的或另一個“干凈”的向量,你也可以簡單地使用


circle1.transform.Rotate(Vector3.right, rotDelta * multiplier);

正如默認情況下在本地空間中完成的那樣。


查看完整回答
反對 回復 2022-10-23
  • 1 回答
  • 0 關注
  • 141 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號