IGAME 인터페이스에서
이 메쉬가 에니메이션이 가능한 메쉬인지 아닌지를 판별하고 싶은데요..
에니메이션이 없서도 값이? 들어가버리더군요..
포지션,스케일,로테이션 세 키값다 각각 값이 들어가 버리더군요..
이걸 아에 노드가 에니메이션 되는 노드인지를 알아보고
로드를 안하려고 하는데요..
에니메이션이 없는 노드인데도 컨트롤로값은 NULL이 아니더군요..어떻게 에니메이션 데이타의
존재 유무를 판단해야 할까요??
에니메이션 메시유무
Moderator: 류광
-
- Posts: 119
- Joined: 2005-07-28 10:46
- Location: 떠돌이
- Contact:
Code: Select all
IGameSkin* MeshHelper::FindSkinModifier( IGameObject *pObject )
{
if( pObject->GetNumModifiers() < 1 )
return NULL;
[b]if( m_sklHelper.GetTotalBipedCnt() < 1 )[/b]
return NULL;
for( int i=0 ; i<pObject->GetNumModifiers() ; i++ )
{
IGameModifier *pModifier = pObject->GetIGameModifier(i);
if( pModifier->IsSkin() )
{
IGameSkin *pSkin = (IGameSkin*)pModifier;
return pSkin;
}
}
return NULL;
}
IGameSkin이 있는지의 여부인데...스킨도 스킨이지만 본이 있는지 여부에서 보통 걸러져 버립니다.
( m_sklHelper는 본을 익스포트하는 자체클래스 입니다. 스키닝이라 메시뽑을때 본도 같이 참고하게 되서 )
ps...
저도 가끔 IGame이 불편한데요. IGame에는 없는 기능이 많아서 MaxSDK와 짬뽕이 되게 되더군요.
하지만 누구나 필요한 기본정보들을 뽑기에는 IGame이 편합니다.
짬날때마다 하나씩 MaxSDK로 교체할까 마음만 가지고 있습니다...-_-;;;
키값
IGameControl::virtual int GetIGameKeyCount(IGameControlType Type)=0
이함수가 있군요..
그런데 각 pos,rot,scl값을 넣어서 키값을 조사하면 0만 나오네용..
어쩔떄는 메모리 에러가 나기도 하는군요..
함수설명은
//! The total number of keys for this controller
/*! This return the total number of keys for the controller supplied.
\param Type The controller type to query. See IGameControl::GetBezierKeys for more info
\return The total number of keys
*/
이런말만 있서서 왜 그런지 이유를 모르겠네요.
이함수가 있군요..
그런데 각 pos,rot,scl값을 넣어서 키값을 조사하면 0만 나오네용..
어쩔떄는 메모리 에러가 나기도 하는군요..
함수설명은
//! The total number of keys for this controller
/*! This return the total number of keys for the controller supplied.
\param Type The controller type to query. See IGameControl::GetBezierKeys for more info
\return The total number of keys
*/
이런말만 있서서 왜 그런지 이유를 모르겠네요.
아주 간단한 방법이 있군요..
Control * IGameControl::GetMaxControl(타입)
이 함수를 이용해 control*을 얻어와서
Control :IsAnimated() 함수를 호출합니다. bool형으로 간단히 에니메이션 유무를 판별해주는군요..
각 키값별 에니메이션 유무를 리턴합니다.
그런데 control* 설명을 보니 igame인터페이스 범위를 벗어나는것 같습니다.(아마도 maxsdk..)
이 함수를 이용해 control*을 얻어와서
Control :IsAnimated() 함수를 호출합니다. bool형으로 간단히 에니메이션 유무를 판별해주는군요..
각 키값별 에니메이션 유무를 리턴합니다.
그런데 control* 설명을 보니 igame인터페이스 범위를 벗어나는것 같습니다.(아마도 maxsdk..)
질문이 있는데요...
계속 위에서 IGame 이라는 인터페이스가 나오는데.
이건, 어디에 나오는 건가요?
MAX SDK 에 서 나오는건가요?
저도 DirectX 에서 *.X 파일을 읽는데,
이놈이 에니메이션을 지원하는 넘인지 판별하고 싶은데..
방법을 못찾다가, 님들의 얘기를 듣고,
희망을 갖게 됐는데,
저도 사용할 수 있을까요?
이건, 어디에 나오는 건가요?
MAX SDK 에 서 나오는건가요?
저도 DirectX 에서 *.X 파일을 읽는데,
이놈이 에니메이션을 지원하는 넘인지 판별하고 싶은데..
방법을 못찾다가, 님들의 얘기를 듣고,
희망을 갖게 됐는데,
저도 사용할 수 있을까요?