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

Z MaSzyna
Skocz do: nawigacja, szukaj
(Składnia)
(Dostosowanie zmian do exe z paczki 20.09)
Linia 32: Linia 32:
 
| Jeśli w modelu nie zdefiniowano żadnych lampek, należy pominąć słowo kluczowe '''lights'''.
 
| 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:
 +
{{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">angles</span> angle.x angle.y angle.z <span style="color:tomato;font-weight:bold">endmodel</span>
 +
 +
=== lightcolors ===
 +
Przy definiowaniu lampek w modelu, 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>
 +
 +
=== 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
 +
{{Szablon:Kod_preambuly_node}} <span style="color:tomato;font-weight:bold">model</span> ''location rotation.y model_path <span style="color:orange;font-weight:bold">make:</span>script.path'' <span style="color:tomato;font-weight:bold">endmodel</span>
 +
 +
=== notransition ===
 +
Przy definiowaniu 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>
 +
  
 
== Informacje dla programistów ==
 
== Informacje dla programistów ==

Wersja z 21:36, 27 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 w modelu, 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 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)