Ovde se pre svega misli na sprajtove kao sto su vozila, tureti za njih i sl. Svako moze da nesto izmodelira, renderuje i kasnije to prikaze kao parce 2d gfx. Ovde se misli na objekte koje rotiraju gledane pod odredjenim uglom perspektive(obicno 30 ili 45 stepeni), sa 16 slicica po punom uglu (to je uobicajeno za 2d igrice kad je pozadina u obliku paralelograma. U slucaju kada je pozadina sestaugaona, onda treba smanjiti broj slicica na 6, a ugao rotacije sa 22,5 povecati na 60.
Sve sto je potrebno je ucitati 3d objekat, (koji ako nije objedinjen u 1 grupu, onda to obavezno uciniti - meni Group->Group). Bitan je pivot objekta, koji ce se najverovatnije morati pomeriti na sredinu vozila i visinu tla (To se radi tako sto se izabere kartica Hierarchy i dugme Affect Pivot Only, zatim pomeriti pivot, najbolje preko floatera za kretanje. Kada se pivot postavi na odgovarajuce mesto, ponovo pritisnuti dugme Affect Pivot Only.) Obj,sa namestenim pivotom, postavi u centar koordinatnog sistema (ali pre toga proveri da li se koristi Pivot Centre na gornjoj paleti ikona). Sledi ucitavanje skripte, koja je ovde prilozena:
Kod:
--aktivira se pre renderinga i sadrzi 16 slicica po punom uglu
--pre aktiviranja same skripte i renderinga preci na levi prikaz
--i sam pivot (grupe) obj postaviti u centar coords. sistema!
rot_angle = 22.5
--ugao rotacije
perspect_angle = -30
--ugao perspektive
curr_rot_angle = 0
--trenutni ugao zarotiranosti
curr_perspect_angle = 0
--trenutni ugao zarotiranosti
mysel = $
--obj koji se trenutno renderuje
perspect_angle_minus = 30
--negacija ugla perspektive
dir_rot = eulerangles 0 0 rot_angle
per_rot = eulerangles 0 perspect_angle 0
per_rot_minus = eulerangles 0 perspect_angle_minus 0
fn all_rots = ( if curr_perspect_angle == perspect_angle do
( rotate mysel per_rot_minus
rotate mysel dir_rot
rotate mysel per_rot
curr_rot_angle = curr_rot_angle + rot_angle
curr_perspect_angle = perspect_angle) )
fn start_rot = (if curr_perspect_angle == perspect_angle do
(rotate mysel per_rot_minus
a_ = -curr_rot_angle
curr_rot = eulerangles 0 0 a_
rotate mysel curr_rot
rotate mysel per_rot)
rotate mysel per_rot
curr_rot_angle = 0.0
curr_perspect_angle = perspect_angle)
fn end_rot = (if curr_perspect_angle == perspect_Angle do
rotate mysel per_rot_minus
a_ = -curr_rot_angle
curr_rot = eulerangles 0 0 a_
rotate mysel curr_rot
curr_rot_angle = 0.0
curr_perspect_angle = 0.0 )
with animate on
(
at time 0 end_rot()
at time 1 start_rot()
at time 2 all_rots()
at time 3 all_rots()
at time 4 all_rots()
at time 5 all_rots()
at time 6 all_rots()
at time 7 all_rots()
at time 8 all_rots()
at time 9 all_rots()
at time 10 all_rots()
at time 11 all_rots()
at time 12 all_rots()
at time 13 all_rots()
at time 14 all_rots()
at time 15 all_rots()
at time 16 all_rots()
at time 17 all_rots() )
Dalje kliknuti na Time Configuration i odrediti raspon frejmova od 0..17, izabrati Levi prikaz, sa tim da ne sme biti uvecavan/smanjivan ili pomeran (ako je to vec uradjeno onda onda taj pogled prebacujte na druge i posle 3ceg puta izabrati levi). U pozadini ne bi trebalo biti nista sem svetala. Dalje izabrati sam obj, koji eventualno mozete uvecati/smanjiti. Sledi pokretanje skripte (kliknuti na File->Evaluate All na prozoru skripte). Ako je sve u redu
dobice se KeyFrame-ovi na 'lenjiru' u donjem delu prozora aplikacije. Sada treba podesiti u dialogu za rendering zeljene opcije (npr velicinu ekrana), i obavezno odrediti da se rendaju frejmovi od 1..16, folder gde se snima i tip fajla/slike (bmp, jpg ...) i klikni na rendering.
Ovo je pisano na 3dsMAX5 , nadam se da ce raditi i na novijim verzijama. Mislim da ovo moze koristiti i onima koji se bave 2d gfx rucno (C++) ili preko nekih 2d game makera.

U slucaju neispravnosti, nebuloza, pitanja, sugestija i/ili predloga za razmenu ideja

, ostaviti poruku.