ASE를 이용한 본애니메이션을 할때

2D, 3D, 다각형, 픽셀 등 게임의 그래픽 프로그래밍에 관한 포럼입니다.

Moderator: 류광

Locked
chibir
Posts: 1
Joined: 2004-09-02 10:47

ASE를 이용한 본애니메이션을 할때

Post by chibir »

모든 메쉬들에 로컬좌표를 월드좌표로 Transform하는 TM에

부모 오브젝트의 Inverse TM을 곱해주어서

부모 기준의 로컬 TM을 구할때

부모오브젝트의 역행렬은 바로 위의 부모에만 한정되는건가요?

if( HasParent() )
{
D3DXMATRIX matParentInv;

D3DXMatrixInverse( &matParentInv, 0, &pParent->parentMesh->matTM );
D3DXMatrixMultiply( &matRelativity, &matTM, &matParentInv );
}

여기서 부모메쉬의 matTM은 ASE에서 뽑아온 부모메쉬의 월드행렬인데 이렇게해서

나중에 찍을때

if( HasParent() )
{
matWorld = matAni * matRelativity * pParent->parentMesh->matWorld;
}
else
{
matWorld = matAni * matTM;
}

이런식으로 해줬는데 메쉬가 이상하게 나오네요...

답변부탁드립니다.
비회원

바로 위 부모만 하는것이 아니고...

Post by 비회원 »

부모의 부모의 부모의......

부모가 있으면 그 위에 모든 것을 다 해주어야만 됩니다.

역행렬도 그렇고 나중에 애니를 곱할대도 그렇고.

그래서 매트릭스에 누적식을 사용하는거죠. ( 아니면 느려터진 매트릭스를 뭣 때문에... )
Locked