2016-02-18 3 views
1

Моя цель - экспортировать корневой узел, всех детей и все необходимое для воссоздания актива (например, материалы), но не включать ничего постороннего (например, осветительную установку, используемую для демонстрации актива, но это логически не часть актива, а также не является дочерним элементом корневого узла актива).Почему 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 
+0

Для чего? Что именно вы подразумеваете под «всем необходимым для воссоздания сцены», и почему вы скажете, что осветительная установка не является частью сцены? В общем, лучше всего сказать, что вы хотите сделать сначала, а затем описать свое решение, а затем описать, как результаты отличаются. –

+0

@AndreasHaferburg Я полностью пересмотрел вопрос, надеюсь, что это поможет :) – d3vid

ответ

0

Это происходит потому, что если вещество связано каким-то образом она будет экспортировать, что Aswell, скажем, вы хотите экспортировать сетку, нужно выбрать только сетку, но это сетка является входом в деформера, вы будете наиболее вероятно, экспортирует весь стек деформации. Если вы хотите избежать этого, вам нужно отключить некоторые виды поведения. Если вы выберете выбранные вами параметры экспорта, вы увидите, что у вас есть поле: «Включите эти входы». Эти флаги отражены в команде pymel, попробуйте установить их на false и немного сыграйте с комбинацией, пока не найдете правильный. http://download.autodesk.com/us/maya/2011help/PyMel/generated/functions/pymel.core.system/pymel.core.system.exportSelected.html

Также вопрос становится более сложным в зависимости от вида актива, о котором вы говорите, если это просто статические сетки или буровая установка или что-то еще.