Plik INC: Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
(Standardy)
(Parametry)
Linia 30: Linia 30:
  
 
Dopuszczalne jest także zagniezdzanie parametrów. Jesli zdefiniujemy np.
 
Dopuszczalne jest także zagniezdzanie parametrów. Jesli zdefiniujemy np.
  include foo.inc param1_i_(p3) param2 param3
+
  include foo.inc param1_i_(p3) param2 param3 end
 
to parser przy odczytywaniu takiego include i napotkaniu tokena "wstaw_tutaj_(p1)_oraz_(p2)" wyprodukuje:
 
to parser przy odczytywaniu takiego include i napotkaniu tokena "wstaw_tutaj_(p1)_oraz_(p2)" wyprodukuje:
 
  wstaw_tutaj_param1_i_param3_oraz_param2
 
  wstaw_tutaj_param1_i_param3_oraz_param2

Wersja z 14:33, 28 gru 2017

Plik INC składniowo nie różni się od pliku SCN. Stosowany jest do tworzenia parametryzowanych obiektów, które umieszcza się następnie w scenerii za pomocą wpisu include.

Przykładowy plik INC

(domek2.inc)
//script;size: 7 10 5
// Model domu mieszkalnego
// autor: przykładowski
// (p1) - unikalna nazwa obiektu
// (p2) (p3) (p4) - lokalizacja XYZ
// (p6) (p5) (p7) - rotacja XYZ
// (p8) - tekstura

origin (p2) (p3) (p4)
rotate (p6) (p5) (p7)
  node -1 0 (p1) model 0 0 0 0 domek2.t3d (p8) endmodel
rotate 0 0 0
endorigin

Metadane

Na początku pliku znajduje się komentarz opisujący wymiary obiektu. Są one używane przez zewnętrzne oprogramowanie do określenia gabarytów obiektu (na ich podstawie skrypt do programu 3Ds Max wyświetla tzw. helpera, czyli sześcian o podanych wymiarach pomagający zorientować się w )

Parametry

Ciągi znaków (p1), (p2) itp. to tzw. parametry formalne. W czasie wczytywania scenerii zostają one zamienione na wartości podane jako parametry aktualne w dyrektywie include. Przykład:

include domek2.inc domeczek 10 0 34.3 3 0 0 domek2_czerwony end

Powyższy wpis spowoduje podmianę parametrów formalnych na odpowiednie wartości:

(p1) = domeczek
(p2) = 10
(p3) = 0
itd...

Dopuszczalne jest także zagniezdzanie parametrów. Jesli zdefiniujemy np.

include foo.inc param1_i_(p3) param2 param3 end

to parser przy odczytywaniu takiego include i napotkaniu tokena "wstaw_tutaj_(p1)_oraz_(p2)" wyprodukuje:

wstaw_tutaj_param1_i_param3_oraz_param2