uv 맵이 겹쳐 있는지 확인하는 스크립트를 작성 중입니다.
test = $
test.unwrap_uvw.setTVSubObjectMode 3
test.unwrap_uvw.unwrap5.selectOverlapedFaces()
overlapFaceArray = #()
overlapFaceArray = (test.Unwrap_uvw.getSelectedFaces() as array)
print overlapFaceArray.count
(or)
test = $
test.unwrap_uvw.setTVSubObjectMode 3
test.unwrap_uvw.unwrap5.selectOverlapedFaces()
overlapFace = (test.Unwrap_uvw.getSelectedFaces()).numberSet
print overlapFace
위 두 스크립트를 만들어 놓고 테스트를 해보면 처음 실행했을때는 겹친 UV 를 찾지 못합니다.
Print 값이 모두 0 으로 나타나다가 두번째 실행에서야 제대로 표현이 됩니다.
(무조건 2번 실행하게 만들어야 할지 고민 입니다. ㅠㅠ)
일단 오류가 나타나지 않아 제가 만들고 있는 rollout 에 붙여 넣고 실행한 뒤
위 스크립트를 실행 하면 첫번째 실행에서 각각 아래와 같은 오류가 뜹니다.
-------------------------------------
Maxscript Rollout Handler Exception
--unable to convert: undefined to type: array
-------------------------------------
Maxscript Rollout Handler Exception
--unable to convert: undefined to type: numberset
-------------------------------------
그리고는 두번째 실행에서는 재대로 작동을 합니다.
어떤 부분에서 문제를 찾아야 할런지요? 기초가 안잡히다보니 테스트만 몇일째 하고 있습니다. ㅠㅠ
부디..... 답변 부탁드리겠습니다. OTZ
첫댓글 일단 해결이 되었습니다.
그런데 왜 오류가 사라졌는지 이해가 가질 않는군요. ㅠㅠ
위에 코드중 overlapFaceArray = #() 의 아래 줄에
print test 라는 코드를 넣었습니다.
혹시 test 를 제대로 호출을 못하는 것인가 해서요.
그런데 뜬금없이 오류가 나질 않습니다. -_-)a
도대체........... 왜 그런 것일까요?