neborak_a Posted November 5, 2018 Share Posted November 5, 2018 (edited) С помощью создания специальных 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> Мы получим такой редактор: Это довольно удобно, но все равно накладывает некоторые ограничения. По-этому возник ряд вопросов. Каким образом можно: - сделать выпадающий список с перечнем всех Node из текущего мира, как это сделано в свойствах PlayerPersecutor => Target Node - работать с массивами, как это сделано для ObjectBillboards - или добавить поддержку своих типов данных с произвольным редактором? Edited November 5, 2018 by neborak_a Link to comment
alexander Posted November 6, 2018 Share Posted November 6, 2018 День добрый!Как сделать выпадающий список с перечнем всех Node из текущего мира Список не сделать, но можно использовать параметр с типом "node", который позволяет drag'n'drop'ом перетаскивать указатели на ноды из мира. <parameter name="target_node" type="node"/> Как работать с массивами, как это сделано для ObjectBillboards На данный момент никак (только если несколько подряд пропертей накидывать на одну ноду). Массивы ожидаются в следующей версии SDK: 2.8. С уважением, Александр Link to comment
neborak_a Posted November 6, 2018 Author Share Posted November 6, 2018 спасибо за ответ. Link to comment
neborak_a Posted November 6, 2018 Author Share Posted November 6, 2018 Добавлю еще вопрос касательно 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 никаких отличий не заметил Link to comment
alexander Posted November 6, 2018 Share Posted November 6, 2018 Это только для визуальной группировки параметров при работе с ними в редакторе. Данный функционал работал в первой версии редактора, а на второй, к сожалению, пока еще не реализован. С уважением, Александр Link to comment
neborak_a Posted November 6, 2018 Author Share Posted November 6, 2018 На сколько я понял, поддержка свойства editable так же все еще не реализована? Link to comment
alexander Posted November 6, 2018 Share Posted November 6, 2018 Только что проверил: всё работает. В каком случае у вас возникла ошибка с этим свойством? Link to comment
neborak_a Posted November 6, 2018 Author Share Posted November 6, 2018 Возможно, я не правильно понимаю как оно должно работать. Использую такой файл: <?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> Все три свойства доступны для редактирования в UnigineEditor2 (2.7.2.2). Link to comment
alexander Posted November 6, 2018 Share Posted November 6, 2018 Editable флаг можно использовать только на всю проперти целиком:https://developer.unigine.com/en/docs/2.7.2/code/formats/property_format?rlang=cpp#property_editable Заблокировать отдельные параметры от редактирования нельзя. С уважением, Александр Link to comment
neborak_a Posted November 6, 2018 Author Share Posted November 6, 2018 Спасибо за ответ, действительно неправильно понимал как оно должно работать. Link to comment
Recommended Posts