맥스에서 애니메이션이 적용되기 이전의 TM구할려면?

프로그래밍 일반에 관한 포럼입니다.

Moderator: 류광

Locked
비회원

맥스에서 애니메이션이 적용되기 이전의 TM구할려면?

Post by 비회원 »

맥스에서 데이터를 추출할 때 애니메이션이 적용되기 이전의 데이터를 뽑아오고 싶습니다.

IGameSkin에서 GetInitBoneTM() 함수가 있던데, 이 함수를 통해서가 아니라 Skin이 적용되었든 안되었든 애니메이션이 적용되기 이전의 값을 추출하고 싶습니다.

IGameNode::GetLocalTM()에서 Time값을 기본값인 음의 무한대로 넣으면 될 줄 알았는데 그렇지 않네요

답변 부탁드립니다.
zupet
Posts: 2764
Joined: 2003-05-13 03:34
Location: NCSOFT LE팀

Re: 맥스에서 애니메이션이 적용되기 이전의 TM구할려면?

Post by zupet »

비회원 wrote:맥스에서 데이터를 추출할 때 애니메이션이 적용되기 이전의 데이터를 뽑아오고 싶습니다.

IGameSkin에서 GetInitBoneTM() 함수가 있던데, 이 함수를 통해서가 아니라 Skin이 적용되었든 안되었든 애니메이션이 적용되기 이전의 값을 추출하고 싶습니다.

IGameNode::GetLocalTM()에서 Time값을 기본값인 음의 무한대로 넣으면 될 줄 알았는데 그렇지 않네요

답변 부탁드립니다.
저는 그 행렬을 Mesh 익스포트할때 따라온 값을 썼습니다. 오래되어서 기억이 가물가물한데 맥스에서 Mesh 익스포트 할때는 대개 大 자로 서있는 모습을 익스포트 하는데 그때 나온 Matrix 들의 역행렬을 미리 구해서 사용했었습니다. 일단 Mesh를 Export 할때 같이 따라온 Bone 들의 Matrix 를 찾아보시는건 어떨까요?
nikola2
Posts: 886
Joined: 2005-07-12 01:19
Location: (주) 신규 소프트

Post by nikola2 »

바이패드의 경우, 피겨모드 셋팅 함수가 max sdk에 있었습니다만..
BeginFigureMode/EndFigureMode를 쓰면 대짜 서있는 모습으로
셋팅되고 되돌릴수 있습니다...
그외 다른 애니메이션모디파이어도 이런류의 함수를 지원하는지
아직 알아보진 않았습니다만...
집사람이 국력이다...
비회원

글쓴이입니다.

Post by 비회원 »

이것저것 해보았는데 원래대로 돌릴 수가 없더군요.

nikola2님 말씀대로 biped로는 돌릴 수가 있는데 그냥 bone으로 했을 경우 애니메이션 적용 이전의 값으로 돌릴 수가 없었습니다.

그래서 IGameSkin에 Skinning이 적용되기 이전의 메시를 얻어올 수 있던데, 그것 대신 그냥 0프레임의 시점에서 모든 정보를 추출해서 사용했습니다.
zupet
Posts: 2764
Joined: 2003-05-13 03:34
Location: NCSOFT LE팀

Re: 글쓴이입니다.

Post by zupet »

비회원 wrote:그래서 IGameSkin에 Skinning이 적용되기 이전의 메시를 얻어올 수 있던데, 그것 대신 그냥 0프레임의 시점에서 모든 정보를 추출해서 사용했습니다.
0 프레임도 문제가 없긴 한데 기준이 되는 정보가 하나는 필요할 겁니다. 하나의 메쉬에 애니메이션을 여러가지 돌려가면서 틀어야 할텐데 그럴때 0번 애니메이션에 大 형태의 캐릭터를 넣어놓은 상태가 아니라면 각 애니메이션들은 0 프레임의 변위값을 갖게 되는 셈이니까요. 각 애니메이션의 0프레임들간을 비교해서 차이값을 추출해서 쓸 수도 있긴 하지만 그래도 어떤 것 하나는 기준이 되어야 하니까요.
비회원

Post by 비회원 »

맥스에서 모디파이어탭을 클릭하고 skin을 보시면
옆에 전구같은게 있는데 그걸 클릭해서 disable 시키면 skin이 적용 안되게 됩니다.

그 상황으로 두고 익스포트를 하면 될듯하네요. 그거 말고 함수중에 모디파이어 disable시키는 함수도 있습니다만 프로그램으로 맥스 내용을 바꾸는 것은 아주 비추천하고 싶습니다.

정말 급한 경우에만 위 방식을 사용하시고 어지간하면 윗분들 글대로 팔다리를 벌린 기본 캐릭터 형을 만드실 것을 강력히 추천합니다. 애니메이션 키를 모두 삭제하면 되니까 만드는 것도 상당히 편할테고요.

기본 프로그래밍으로 값을 뽑아내는 건 솔직히 모르겠네요. 기본 캐릭터형을 제작하고 0프레임의 값을 뽑는것이 스킨데이터도 얻고 앞으로 코딩하는게 편할것으로 생각됩니다.
Locked