728x90
반응형
안녕하세요, 스크립트하는 애님입니다.
더 이상 제가 올릴만한 내용이 없어서,
옛날 옛날 한 옛날에 제가 다른 블로그에 스크립트를 올린게 있었는데, 현재 해당글을 내렸었습니다.
그런데 그때 올렸던 '셀렉션필터강화' 스크립트를 최근 부탁 하신 분이 있어 여기에 다시 올려 봅니다.
fn selectfilter_bip node =
(
if classof node == Biped_Object then return true
else return false
)
fn selectfilter_mesh node =
(
if superclassof node == GeometryClass and classof node != Biped_Object and classof node != BoneGeometry then return true
else return false
)
fn selectfilter_boneOnly node =
(
if classof node == BoneGeometry then return true
else return false
)
-- registerSelectFilterCallback함수는 결과값이 true혹은 false를 가져야 한다.
registerSelectFilterCallback selectfilter_bip "Bip"
registerSelectFilterCallback selectfilter_mesh "Mesh"
registerSelectFilterCallback selectfilter_boneOnly "BoneOnly"
간단하게 설명하자면,
fn selectfilter_bip node =
(
if classof node == Biped_Object then return true
else return false
)
이 부분은 선택한 오브젝트가 바이패드 오브젝트면 true를, 아니면 false를 줍니다.
fn selectfilter_mesh node =
(
if superclassof node == GeometryClass and classof node != Biped_Object and classof node != BoneGeometry then return true
else return false
)
이 부분은 선택한 오브젝트가 지오메트리(메쉬) 이면서 바이패드가 아니고, 본이 아니면 true를, 아니면 false를 줍니다.
즉 바이패드와 본은 슈퍼클래스에선 지오메트리 이지만, 그 부분을 제외 하여 메쉬를 선택 합니다.
fn selectfilter_boneOnly node =
(
if classof node == BoneGeometry then return true
else return false
)
이 부분은 선택한 오브젝트가 본인경우 true를, 아니면 false를 줍니다.
registerSelectFilterCallback selectfilter_bip "Bip"
registerSelectFilterCallback selectfilter_mesh "Mesh"
registerSelectFilterCallback selectfilter_boneOnly "BoneOnly"
이 부분이 위에서 선언한 함수를 Select Filter에 등록 합니다.
Select Filter에 'Bip, Mesh, BoneOnly'가 추가 됩니다.
Select Filter는 선언해준 함수의 결과가 true인 경우에만 선택을 하게 합니다.
이제 바이펫, 메쉬, 본을 따로 선택이 가능하게 하였다.
사용법은 ms파일로 만들어서 ...\3ds Max 2XXX\Scripts\Startup폴더에 넣어주면 됩니다.

그럼 모두 파이팅 하시고,
저는 언제일지 모르지만, 올릴 내용이 있으면 또 오겠습니다.
수고하세요.
728x90
반응형
'맥스스크립트 답변 및 추가' 카테고리의 다른 글
| Wire Parameter의 사용 (2) | 2025.05.24 |
|---|---|
| [추가] 선택한 오브젝트 확인 (0) | 2024.06.23 |
| 게시판 설명과 잡설 (0) | 2024.06.23 |