Skocz do zawartości

Rekomendowane odpowiedzi

Napisano

Witam!

mam taki oto problem:

powiedzmy ze mam jakiś obiekt i potrzebuję go zrenderowac dosłownie od każdego kąta tz. najpierw renderuje od boku, kamera jest ustawiona na osi X=0 Y=100 Z=0 skierowana idealnie w centrum, wiec widzę go z boku, obracam wzgledem osi Z o 360 stopni i zmieniam wartość osi Y z zera do jedynki i ponownie obracam o 360 stopni... i obracam tak ten obiekt do póki nie osiągne Y=360 problem jest taki że podczas obroty os Y najpierw leci do 180 a potem od -180 do 0. czy ktos ma może jakis pomysł jak mogę zrealizować mój cel?

  • Odpowiedzi 6
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Napisano (edytowane)

aby idealnie obracać obiekt o jeden stopień musisz sie posłużyć toolem

"Angle Snap Toggle"

 

http://z.about.com/d/animation/1/0/3/2/1.4.4.jpg

to ten obok % po lewej

 

musi być włączony oraz aby obracać obiekt o jeden stopień musisz zmienić Angle: na 1,0

(aby wejść w ustawienia klikamy prawym guzikiem myszy na guzik "Angle Snap Toggle")

http://www.accodeum.com/images/tutorials/max_crashcourse/cc_13.gif

 

zamiast kamery obracaj obiekt

 

Edit

oraz musisz ustawić dla każdego klucza w animacji wejście oraz wyście Liniowe (Linear)

najlepiej w Curve Editor

 

Edit 2

możesz sobie ustawić Angle na 180 stopni albo 360

 

mffw

Edytowane przez Mr Pank
Napisano

dzięki chłopaki ale chodzi mi konkretnie o jakiś skrypt obracać co jeden stopień to żaden problem po prostu wpisuje sobie wartość w polach przy XYZ a jeszcze prościej obracam obiekt o 360 stopni na trzysta sześćdziesiątej klatce a na pierwszej pozostawiam na 0 tylko takim sposobem to ja będę musiał powtarzać ten krok 360 razy a to jest strata czau musi byc jakies inne szybsze rozwiązanie.

Napisano

Udało mi się napisać odpowiedni skrypt zamieszczam go poniżej, aby działał musimy mieć zaznaczony nasz obiekt ilość klatek ustawiamy na 360x360 czyli 129600 potem wystarczy uruchomić skrypt jeśli ktoś potrafi go zoptymalizować to śmiało można próbować. zauważyłem iż w skrypcie występuje błąd otóż wartość Y nie jest nigdzie zmieniana a po wykonaniu skryptu widac nieznaczne skoki. Tak samo X oraz Z są wyświetlane 3 miejsca po przecinku a powinny być to liczby całkowite.

 

x=360
y=0
z=359

$.rotation.controller.X_Rotation.controller = linear_float ()
$.rotation.controller.Y_Rotation.controller = linear_float ()
$.rotation.controller.Z_Rotation.controller = linear_float ()

set animate on

sliderTime = 0f
rotate $ (angleaxis 1 [0,0,1])
sliderTime = 359f
rotate $ (angleaxis 359 [0,0,1])


for i = 1 to 360 do
(
sliderTime = (y += x)
rotate $ (angleaxis 1 [0,0,1])
rotate $ (angleaxis 1 [1,0,0])
sliderTime = (z += x)
rotate $ (angleaxis 359 [0,0,1])
)

Napisano

Odchudzona wersja skryptu działa trochę dokładniej:

 

x=0
$.rotation.controller.X_Rotation.controller = linear_float ()
$.rotation.controller.Y_Rotation.controller = linear_float ()
$.rotation.controller.Z_Rotation.controller = linear_float ()
set animate on

for i = 1 to 360 do
(
sliderTime = (x += 360)
rotate $ (angleaxis 360 [0,0,1])
sliderTime += 1
rotate $ (angleaxis 1 [1,0,0])
)

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności