Моя цель - экспортировать корневой узел, всех детей и все необходимое для воссоздания актива (например, материалы), но не включать ничего постороннего (например, осветительную установку, используемую для демонстрации актива, но это логически не часть актива, а также не является дочерним элементом корневого узла актива).Почему exportSelected экспортирует не выбранные узлы?
Как простой пример, представьте, что сцена содержит сферу и куб. Ни один из них не является ребенком другого в DAG. Если я перехожу в корневой узел сферы, в экспорте должна появиться только сфера. Если я выбираю корневой узел куба, должен появиться только куб.
Я думал, что моя логика selection была неправильной, но я вижу в редакторе скриптов, что выбираются правильные узлы (и другие).
Но независимо от того, какой корневой узел я вхожу, вся сцена (сфера и куб) экспортируется. Есть ли условие, которое я должен удалить из exportSelected
, или другое условие, которое я должен добавить?
import pymel.core as core
core.select(clear=True)
core.select(root, hierarchy=True) # selects node hierarchy as expected
core.select(root, allDependencyNodes=True, add=True) # selects textures
# (although it selects unrelated textures too)
core.system.exportSelected(target_path, shader=True, preserveReferences=True)
# but this exports the whole scene,
# including nodes that were not selected by the lines above
Для чего? Что именно вы подразумеваете под «всем необходимым для воссоздания сцены», и почему вы скажете, что осветительная установка не является частью сцены? В общем, лучше всего сказать, что вы хотите сделать сначала, а затем описать свое решение, а затем описать, как результаты отличаются. –
@AndreasHaferburg Я полностью пересмотрел вопрос, надеюсь, что это поможет :) – d3vid