3DCoat
3D-COAT 4.9.xx
3DCoat is the one application that has all the tools you need to take your 3D idea from a block of digital clay all the way to a production ready, fully textured organic or hard surface model.
|
Допустим, надо разобраться в работе чего-то видимого на экране: меню или инструмента. Это легко сделать, зная, как работает UI 3DCoat.
Когда необходимо найти нечто невидимое, самый простой способ обнаружить видимое, а дальше... ставим в коде точку останова и работаем с 3DCoat в режиме отладки.
Можно выполнить свой код на любом этапе работы 3DCoat. Для этого регистрируем блок кода с помощью одного из макросов:
__onstartup
__afterinit
__preprocess
__prerender
__postprocess
__postrender
__thumbnail
__aftersettings
Названия говорят сами за себя, да и в коде есть их описание.
Пример:
Если нам нужно работать более гибко, используем класс CallItLater
. Например, если хотим выполнить код после инициализации UI, шейдеров и всего что только может быть инициализировано в 3DCoat, пишем:
Вместо TEST_SUIT
можем использовать также
NUM_START_EXTS
VOX_EXTENSION
BASIC_TOOL
PRE_PROCESS
POST_PROCESS
PRE_RENDER
POST_RENDER
DRAW_THUMBNAILS
AOPPOPT_READY
Каждый из перечисленных выше defin'ов выполняется на определённом этапе работы приложения.
По сути, макросы вначале этой заметки, являются обёрткой для нашей функции и класса CallItLater
.
CallItLater
в отдельную группу? Или переписать через enum class
?Без обхода слоёв всю работу за нас делает метод VolumeObject::ToRawMesh()
. Например, если хотим забросить выделенный в Скульпт-комнате слой, пишем:
VoxTreeBranch
.