2011-06-27 11 views
6

Mieszanie wyrazów umożliwia import modeli 3D. Chcę animować obiekt 3D za pomocą kodu. Po prostu nie mogę dowiedzieć się, jakie są wartości właściwości, które muszę zmodyfikować, aby obrócić obiekt. Pokażę ci, co mam na myśli:Obróć kamerę wokół środka obiektu wpf

enter image description here

więc jeśli chcę, aby obrócić ten obiekt mogę używać funkcji orbity kamery enter image description here i gdybym go używać mogę skończyć z czymś takim:

enter image description here

Wiem, że mogę utworzyć storyboard i utworzyć animację, modyfikując obiekt. Muszę obrócić obiekt wzdłuż osi X suwakiem. Jeśli zmodyfikuję tylko jedną wartość, obróci się w dziwny sposób, a ja naprawdę muszę zmienić kilka właściwości, jeśli chcę to zrobić. Na przykład, gdy obracam obiekt wzdłuż osi X narzędziem do orbity kamery, widzę, że zmieniają się wszystkie te właściwości enter image description here. Muszę dowiedzieć się, jaki algorytm jest używany do obracania obiektu.

Odpowiedz

8

Math, aby zmienić położenie kamery wokół tak, że wydaje się, aby się obracać wokół osi X jest tylko parametrycznego równania okręgu:

Parametric Equation of a Circle

gdzie t jest kątem od zera do 2 pi.

Wyobraź sobie, że stoisz na ulicy patrząc na dom. Współrzędne kamery muszą podążać za okręgiem wokół domu, a szerokość i długość geograficzna ciągle się zmieniają, aby zachować tę samą odległość od domu. Więc nie ma jednej wartości, którą można zmienić, aby ją obrócić.

Po ustaleniu pozycji kamery kierunek jest po prostu różnicą między punktem początkowym a położeniem kamery.

Wszystko to nie jest trudne do obliczenia, ale jest łatwiejszy sposób. Zamiast tego, trzymaj kamerę nieruchomo i obracaj obiektem. To znacznie ułatwia animacje. Oto artykuł MSDN zawiera przykłady takiego podejścia, w tym animacji:

Ten artykuł jest przeznaczony dla WPF i Visual Studio, ale można łatwo dostosować te same pomysły Expression Blend.

Powiązane problemy