【MAYA】 머티리얼의 페이스 어사인시의 노드 구성 이해 #2
얼굴 할당 + 인스턴스
얼굴 할당이 있는 상태의 모양에서 인스턴스를 생성해 봅니다.
인스턴스 객체 그룹 (인스턴스 각각을 나타내는)이 하나 증가하고, 각각의 객체 그룹 (페이스 그룹을 나타내는)에서 각 SG로 연결이 늘어나고 있습니다. 예상대로입니다.
자식 인스턴스 측에 SG3의 머티리얼 페이스 어사인을 늘려 보았습니다. 인스턴스 오브젝트 그룹 1측에 오브젝트 그룹이 1개 늘어나, SG3에 커넥션이 늘어나고 있습니다. 여기도 예상대로입니다.
(지금까지 구성 요소의 인스턴스 개체 그룹 측 상태에는 변화가 없습니다.)
그래서, 생각했습니다만, 인스턴스간에서는 셰이프의 형상은 쉐어 하고 있습니다만, 머티리얼의 상태는 완전 별개로 보관 유지되고 있는 것 같기 때문에, 페이스 어사인을 한 셰이프의 인스턴스를 건간 늘리면, 데이터량이 점점 늘어나는 일이 되지 않을까요. .
자식 인스턴스 측에만 얼굴 할당
먼저 얼굴 할당하기 전에 인스턴스를 만듭니다. 각각 인스턴스 객체 그룹에서 SG로 연결이 붙여져 있습니다.
자식 인스턴스 측에 머티리얼을 얼굴 할당합니다. 페이스 어사인이 없는 쪽은 인스턴스 오브젝트 그룹으로부터 SG에 커넥션이 붙여진 채로, 페이스 어사인이 있는 쪽은, 인스턴스 오브젝트 그룹내의 오브젝트 그룹측으로부터 SG에 커넥션이 다시 붙여졌습니다. 역시, 컴퍼넌트의 인스턴스 오브젝트 그룹측의 상태에는 변화는 없습니다.
우선, 인스턴스가 얽혀도 알기 어려운 노드 그래프가 되는 일은 없는 것 같습니다.
또한,
objectGroup = shape.instObjGroups[0].objectGroups[0]
attrs = (objectGroup, objectGroup.objectGrpCompList,
objectGroup.objectGroupId, objectGroup.objectGrpColor)
for a in attrs:
print('{}({}) : {}'.format(a, a.type(), a.get()))
#以下、出力:
#pCubeShape1.instObjGroups[0].objectGroups[0](TdataCompound) : [[], 0, -1]
#pCubeShape1.instObjGroups[0].objectGroups[0].objectGrpCompList(componentList) : []
#pCubeShape1.instObjGroups[0].objectGroups[0].objectGroupId(long) : 0
#pCubeShape1.instObjGroups[0].objectGroups[0].objectGrpColor(short) : -1
페이스 어사인이 없는 셰이프에 대해서도
objectGroups
와 objectGrpCompList
에의 액세스는 할 수 있었습니다. 대응 페이스 번호가 없어지고 있습니다.일단 정리
컴포넌트의 인스턴스 객체 그룹에 대해 뭔가 조사가 진행되면 #3을 쓰고 싶습니다.
영문으로 상관 없기 때문에, 해설이 있는 링크 등 아는 분은 가르쳐 주시면 행복.
Reference
이 문제에 관하여(【MAYA】 머티리얼의 페이스 어사인시의 노드 구성 이해 #2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/harayoki/items/8ec88d8de7bb91357fc8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)