Jump to content

Unigine::Property


photo

Recommended Posts

С помощью создания специальных prop файлов, можно в UnigineEditor2 добавить возможность настройки некоторых опций, значение которых можно затем получить в C++ коде. К примеру, на такой prop-file

<property version="2.7.2.2" name="camera_mover" manual="1" parent_name="node_base">
	<parameter name="moveTime" type="float">0.7</parameter>
	<parameter name="moveToControlName" type="string"/>
	<parameter name="postMaterial" type="string">vr_post_filter_selection</parameter>
	<parameter name="triggerOnMouseKey" type="switch" items="BUTTON_LEFT,BUTTON_MIDDLE,BUTTON_RIGHT,BUTTON_DCLICK,BUTTON_AUX_0,BUTTON_AUX_1,BUTTON_AUX_2,BUTTON_AUX_3">0</parameter>
</property>

Мы получим такой редактор:

51882227_2018-11-0509_48_33.png.84ab661c9e42290ecc7ca7676cdf14a4.png

Это довольно удобно, но все равно накладывает некоторые ограничения. По-этому возник ряд вопросов. Каким образом можно:

- сделать выпадающий список с перечнем всех Node из текущего мира, как это сделано в свойствах PlayerPersecutor => Target Node568601598_2018-11-0111_35_58.png.59fc16beca51a374e4ae77d86f17504c.png

- работать с массивами, как это сделано для ObjectBillboards 

1089181013_2018-11-0111_35_26.png.92879b7339762cd8050915d30822e279.png

- или добавить поддержку своих типов данных с произвольным редактором?

Edited by neborak_a
Link to comment

День добрый!

Как сделать выпадающий список с перечнем всех Node из текущего мира
Список не сделать, но можно использовать параметр с типом "node", который позволяет drag'n'drop'ом перетаскивать указатели на ноды из мира.

<parameter name="target_node" type="node"/>


Как работать с массивами, как это сделано для ObjectBillboards
На данный момент никак (только если несколько подряд пропертей накидывать на одну ноду). Массивы ожидаются в следующей версии SDK: 2.8.


С уважением,
Александр

Link to comment

Добавлю еще вопрос касательно Unigine::Property:

В документации описано, что можно использовать атрибут group для группировки элементов:

<?xml version="1.0" encoding="utf-8"?>
<property version="2.7" name="custom_prop" manual="1">
	<parameter name="Param1" group="Group1">15</parameter>
	<parameter name="Param2" group="Group1">25</parameter>
	<parameter name="Param3" title="test_title" type="string">Hello, World!!!</parameter>
</property>

Но там не написано для чего это нужно?

В UnigineEditor2 никаких отличий не заметил

1938386914_2018-11-0610_11_42.png.1c1c62aed9e745647f667bd7e31ec0fd.png

Link to comment

Это только для визуальной группировки параметров при работе с ними в редакторе.
Данный функционал работал в первой версии редактора, а на второй, к сожалению, пока еще не реализован.

С уважением,
Александр

Link to comment

Возможно, я не правильно понимаю как оно должно работать. Использую такой файл:

<?xml version="1.0" encoding="utf-8"?>
<property version="2.7.2.2" name="animation_group" manual="1" parent_name="node_base">
	<parameter name="animationSpeed" editable="0" type="float" min="1" max="1000">50</parameter>
	<parameter type="switch" name="propertyList" editable="0" items="animationSpeed,playBackward,playForward,playReverse,stop" />
	<parameter type="string" name="help"/>
</property>

1287410614_2018-11-0611_52_43.png.f70ce725395f38b889e52e578c1fe72f.png

 

Все три свойства доступны для редактирования в UnigineEditor2 (2.7.2.2).

Link to comment
×
×
  • Create New...