我有存儲所述輪胎的旋轉和平移XNA如何旋轉汽車輪胎?
tireMatrix = Matrix.CreateFromYawPitchRoll(yaw, pitch, roll);
當我前進的輪旋轉細,但是當我把它作爲轉動所示的圖像矩陣。任何人都可以請幫忙。
我有存儲所述輪胎的旋轉和平移XNA如何旋轉汽車輪胎?
tireMatrix = Matrix.CreateFromYawPitchRoll(yaw, pitch, roll);
當我前進的輪旋轉細,但是當我把它作爲轉動所示的圖像矩陣。任何人都可以請幫忙。
我只是猜測如何設置代碼的其餘部分(例如輪胎是汽車的一部分還是自己的模型等)。這是許多做你正在做的事情的方法之一。汽車輪胎只需要沿着兩個軸線旋轉:汽車的車軸和汽車的正常軸線。所以要做正向旋轉,你必須做這樣的事情。 (這是假設你的輪胎是汽車網的一部分,並有自己的骨頭)
tireMatrix *= Matrix.CreateRotationX(roll); //or whichever axis your axle is on
然後沿垂直軸線轉動的輪胎:
tireMatrix *= Matrix.CreateRotationY(turnangle);
如果輪胎是自己的模式(這是你的形象是什麼樣子),然後嘗試:
//rotate the tire along the right axis to make it spin
tireMatrix *= Matrix.CreateFromAxisAngle(tireMatrix.Right, theta);
//rotate the tire along its normal axis
tireMatrix *= Matrix.CreateFromAxisAngle(tireMatrix.Up, turntheta);
另見here更多的幫助在動畫
它看起來像我,你應用幾次旋轉的順序,而不考慮在每個轉換髮生的軸的變化。
在您的第一次轉換中,您轉向右側並相應地轉動輪胎。但之後它會稍微向右轉,然後之前的滾動動作會產生這種「翻滾」運動。
謝謝你的工作。 – user1281566