bo = $'bip01 ...' -- biped object를 하나 선택합니다. 물론 key가 있는것
bks = bo.controller.keys
bk = bks[1]
print bk
여기까지는 잘 됩니다.
근데, 정작 키값을 뽑을려고
print bk.value
를 하는순간 max 4.2도 max 5.0도 죽어버리는군요.
bone만 사용하다가 갑자기 biped를 쓰게되어서 뭐가 틀린건지 모르겠네요.
아시는분 답변 좀 해주십시오.
에러도 아니고 max가 죽어버리니 정말 난감하네요.
ps. MAX4.2의 script는 help는 괜찮은데, MAX 5.0의 help는 엉망이네요.
property가 전혀 안나오는군요. 이거 무슨 설정해주는것 있나요?
Script로 Biped에서 애니메이션 데이터 뽑기에서
Moderator: 류광
-
- Posts: 12
- Joined: 2002-11-12 11:27
- Location: 블빠
Set Key 할때
Biped Key값들은 'Planted'나 'Sliding'같은 특성이 있어
Max5의 setKey시스템이 biped에 적용되지 않을 수 있다고 합니다.
키를 적용하실 때 Character Studio에 있는 set key 시스템을 써보시거나
그래도 키 값이 나오지 않고 다운이 된다면
Customize->Preference->Maxscript에서
Initial heap allocation 할당량을 늘려서 다시 한번 해보시길 바랍니다
저도 한 번 해봐야겠군요
즐프하세요~
Max5의 setKey시스템이 biped에 적용되지 않을 수 있다고 합니다.
키를 적용하실 때 Character Studio에 있는 set key 시스템을 써보시거나
그래도 키 값이 나오지 않고 다운이 된다면
Customize->Preference->Maxscript에서
Initial heap allocation 할당량을 늘려서 다시 한번 해보시길 바랍니다
저도 한 번 해봐야겠군요
즐프하세요~
Bone의 경우는 문제가 없는데...
4.2에서는 controller없이 bone에서 직접 key를 뽑을수 있었지만,
5.0부터는 bone에 적절한 controller를 대입해야만 key가 추출됩니다.
문제는 biped의 경우 4.2건 5.0이건 관계없이 script로는 key가 뽑아지질
않는군요. 이것 참 난감하네요.
간단하게 우측 허벅지('Bip01 R Thigh')에 2개정도의 회전 애니메이션을 주고는
값을 뽑아봤는데 전혀 뽑아지질 않는군요.
스크립트의 한계인가요?
역시 플러그인을 만들어야만 하는건가? 아~ (..먼눈..)
5.0부터는 bone에 적절한 controller를 대입해야만 key가 추출됩니다.
문제는 biped의 경우 4.2건 5.0이건 관계없이 script로는 key가 뽑아지질
않는군요. 이것 참 난감하네요.
간단하게 우측 허벅지('Bip01 R Thigh')에 2개정도의 회전 애니메이션을 주고는
값을 뽑아봤는데 전혀 뽑아지질 않는군요.
스크립트의 한계인가요?
역시 플러그인을 만들어야만 하는건가? 아~ (..먼눈..)
대안
저는 꽁수로 animate 섞어서 해결을 했습니다.
개인적으로 애니메이션 키 뽑는 거 보단 샘플링 하는 것을 선호해서... ^^;
해결책은 못 되도 아이디어는 되겠다 싶어서 올려봅니다.
요점은 "animate 로 돌리고 원하는 프레임을 캐치해서, tm 정보를 뽑는 다." 입니다. (위의 o 는 오브젝트 노드입니다.)
물론 샘플링이기 때문에 정직하게 다 뽑혀서 키 줄이는 번거로운 작업을 해야만... T_T
ps. 사실 맥스 스크립트 거의 몰라서 용준님 글이랑 지호님 글 보면서 공부하고 있습니다. ^^ 잘 못해서 그렇지 비주얼씨로 플러그인 만들어 작업할 때 보단 확실히 효율이 좋네요.
개인적으로 애니메이션 키 뽑는 거 보단 샘플링 하는 것을 선호해서... ^^;
해결책은 못 되도 아이디어는 되겠다 싶어서 올려봅니다.
Code: Select all
animate on
(
for t in animationRange.start.frame to animationRange.end.frame by 5 do
at time t
(
rot = (in coordsys local o.transform as quat);
pos = (in coordsys local o.transform).row4;
...
)
)
물론 샘플링이기 때문에 정직하게 다 뽑혀서 키 줄이는 번거로운 작업을 해야만... T_T
ps. 사실 맥스 스크립트 거의 몰라서 용준님 글이랑 지호님 글 보면서 공부하고 있습니다. ^^ 잘 못해서 그렇지 비주얼씨로 플러그인 만들어 작업할 때 보단 확실히 효율이 좋네요.
고맙습니다.
저도 최근에 TM샘플링쪽으로 전환했습니다.
문제는 biped에서 키값을 뽑는데 까지는 성공했는데, 이게 ik기반 값이라서
rot,pos같은 값으로 변환하는것은 엄두도 못내겠더군요.
참고로, 다음과 같이 하면 ik기반의 biped keys값을 뽑아줍니다.
www.scriptspot.com에 갔더니 biped를 snap shot으로 dump떠주는 예제가
있더라구요. 이 예제도 noerror님 말대로 TM을 통째로 복사하더군요.
오래전에 올린 질문이라 포기하고 있었는데, 답변 감사합니다. ^_^
문제는 biped에서 키값을 뽑는데 까지는 성공했는데, 이게 ik기반 값이라서
rot,pos같은 값으로 변환하는것은 엄두도 못내겠더군요.
참고로, 다음과 같이 하면 ik기반의 biped keys값을 뽑아줍니다.
Code: Select all
$ -- key가 적용된 biped 오브젝트
bip = $.transform.controller
key = biped.getkey bip 1
showproperties key
있더라구요. 이 예제도 noerror님 말대로 TM을 통째로 복사하더군요.
오래전에 올린 질문이라 포기하고 있었는데, 답변 감사합니다. ^_^