Obiekt node::model: Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
(Dostosowanie zmian do exe z paczki 20.09)
m ("lampek (w modelu)" -> "lampek obiektu")
Linia 40: Linia 40:
  
 
=== lightcolors ===
 
=== lightcolors ===
Przy definiowaniu lampek w modelu, można użyć słowa "lightcolors", żeby zdefiniować kolory lampek w formacie R, G, B.
+
Przy definiowaniu lampek obiektu, można użyć słowa "lightcolors", żeby zdefiniować kolory lampek w formacie R, G, B.
 
  {{Szablon:Kod_preambuly_node}} <span style="color:tomato;font-weight:bold">model</span> ''location rotation.y model_path replacableskin_path <span style="color:orange;font-weight:bold">lights lightcolors </span>kolor_swiatla_0 kolor_swiatla_1 kolor_swiatla_2 <span style="color:tomato;font-weight:bold">endmodel</span>
 
  {{Szablon:Kod_preambuly_node}} <span style="color:tomato;font-weight:bold">model</span> ''location rotation.y model_path replacableskin_path <span style="color:orange;font-weight:bold">lights lightcolors </span>kolor_swiatla_0 kolor_swiatla_1 kolor_swiatla_2 <span style="color:tomato;font-weight:bold">endmodel</span>
  
Linia 48: Linia 48:
  
 
=== notransition ===
 
=== notransition ===
Przy definiowaniu obiektu, można użyć słowa kluczowego "notransition", które wyłącza animację lampek.
+
Przy definiowaniu lampek obiektu, można użyć słowa kluczowego "notransition", które wyłącza animację lampek.
 
  {{Szablon:Kod_preambuly_node}} <span style="color:tomato;font-weight:bold">model</span> ''location rotation.y model_path replacableskin_path'' <span style="color:orange;font-weight:bold">lights notransition </span><span style="color:tomato;font-weight:bold">endmodel</span>
 
  {{Szablon:Kod_preambuly_node}} <span style="color:tomato;font-weight:bold">model</span> ''location rotation.y model_path replacableskin_path'' <span style="color:orange;font-weight:bold">lights notransition </span><span style="color:tomato;font-weight:bold">endmodel</span>
  

Wersja z 14:16, 28 lis 2020

Dyrektywa node typu model umieszcza na podanych współrzędnych w scenerii model zapisany w formacie T3D lub E3D.

Składnia

node range_max range_min name model location rotation.y model_path replacableskin_path lights lights_states endmodel
Opis parametrów
Nazwa Interpretacja Uwagi
range_max Maksymalna odległość, z jakiej obiekt jest widoczny [m].

Wartość -1 oznacza brak ograniczenia widoczności.

range_min Minimalna odległość, z jakiej obiekt jest widoczny [m].
name Nazwa obiektu.
location Współrzędne modelu w scenerii. Symulator korzysta z prawoskrętnego układu współrzędnych!
rotation.y Rotacja w osi Y [deg]. Symulator korzysta z prawoskrętnego układu współrzędnych!
model_path Ścieżka do modelu. Ścieżka relatywna względem folderu models.
replacableskin_path Ścieżka do tekstury wymiennej. Ścieżka relatywna względem folderu textures.

Jeśli w modelu zdefiniowano więcej tekstur wymiennych, można podać kilka ścieżek; należy je wtedy oddzielić znakiem | (pionowa kreska).

lights_states Stany lampek. Jeśli w modelu nie zdefiniowano żadnych lampek, należy pominąć słowo kluczowe lights.

Parametry dodatkowe

angles x y z

Przy definiowaniu obiektu, można użyć słowa kluczowego "angles", przez które można określić rotację x, y i z obiektu:

node range_max range_min name model location rotation.y model_path replacableskin_path angles angle.x angle.y angle.z endmodel

lightcolors

Przy definiowaniu lampek obiektu, można użyć słowa "lightcolors", żeby zdefiniować kolory lampek w formacie R, G, B.

node range_max range_min name model location rotation.y model_path replacableskin_path lights lightcolors kolor_swiatla_0 kolor_swiatla_1 kolor_swiatla_2 endmodel

make:

Przy definiowaniu tekstury, można podać ścieżkę do skryptu Pythona, który zwraca teksturę. Aby to zrobić, należy użyć słowa kluczowego "make:", po czym podać ścieżkę do skryptu. Na przykład - make:scripts/example.py

node range_max range_min name model location rotation.y model_path make:script.path endmodel

notransition

Przy definiowaniu lampek obiektu, można użyć słowa kluczowego "notransition", które wyłącza animację lampek.

node range_max range_min name model location rotation.y model_path replacableskin_path lights notransition endmodel


Informacje dla programistów

Modele są reprezentowane przez klasę TAnimModel, zdefiniowaną w pliku AnimModel.h

Wpis parsowany jest przez metodę:

(simulation.cpp)
TAnimModel* state_manager::deserialize_model(cParser &Input, scene::scratch_data &Scratchpad, scene::node_data const &Nodedata)