2011-06-27 56 views
6

表達式混合使您能夠導入3D模型。我想用代碼爲3d對象製作動畫。我似乎無法弄清楚爲了旋轉對象我必須修改哪些屬性值。讓我告訴你我是什麼意思:圍繞物體wpf的中心旋轉cammera

enter image description here

所以如果我要旋轉這個對象,我可以用相機軌道工具enter image description here,如果我用它我可以像結束了:

enter image description here

我知道我可以創建故事板並通過修改對象來創建動畫。我需要用滑塊沿x軸旋轉對象。如果我只修改一個值,它會以奇怪的方式旋轉,如果我希望這樣做,我實際上必須更改多個屬性。例如,當我使用相機軌道工具沿着x軸旋轉物體時,我可以看到所有這些屬性都在改變。我需要弄清楚旋轉物體的算法是什麼。

回答

8

這樣你出現繞X軸被旋轉來移動相機位置的數學只是一個圓的參數方程:

Parametric Equation of a Circle

其中是從零的角度到2 pi

想象一下,你站在街上看着一棟房子。相機的座標必須沿着房屋周圍的一個圓圈,並且經緯度不斷變化以保持與房屋相同的距離。所以沒有一個價值可以改變,讓它旋轉。

一旦你知道相機的位置,方向就是原點和相機位置之間的差異。

這一切都不難計算,但有一個更簡單的方法。相反,保持相機固定並旋轉物體。這使得動畫更容易。這裏是一個MSDN文章包含的方法的例子,包括動畫:

這篇文章是爲WPF和Visual Studio,但你可以很容易地適應相同想法的Expression Blend。