MathJax

2011년 8월 31일 수요일

Physique Inforamtion Export Script in 3ds Max

Export physique information in viewport to a file
Written by Park Yun Gyu
SelNode = selection[1]
SelMesh = snapshotAsMesh SelNode
CurPhysique = physiqueOps.getPhysiqueModifier SelNode
OutFile = createFile "c:\\Export_Physique.txt"
for i=1 to SelMesh.numVerts do
(
PyType = physiqueOps.getVertexType SelNode i
BoneCount = physiqueOps.getVertexBoneCount SelNode i
format "i:% Type:% BoneCnt:% \n" i PyType BoneCount to: OutFile
for BoneCnt=1 to BoneCount do
(
BoneNode = physiqueOps.getVertexBone SelNode i BoneCnt
Weight = physiqueOps.getVertexWeight SelNode i BoneCnt
format " NodeName:% Weight%\n" BoneNode.name Weight to: OutFile
)
)
close OutFile

2011년 8월 29일 월요일

Mesh Information Export Script in 3ds Max

Export selected mesh in viewport to a file
Written by Park Yun Gyu

OutFile = createFile "C:\\ExportMesh.txt"

for t=1 to selection.count do
(
MyMesh = selection[t]
format "MeshName:%\n" MyMesh.name to: OutFile
format "TM:%\n" MyMesh.transform to: OutFile
SelMesh = snapshotAsMesh selection[t]

format "NumVert:%\n" SelMesh.numVerts to: OutFile
format "NumFace:%\n" SelMesh.numFaces to: OutFile
format "Verts\n" to: OutFile
for i=1 to SelMesh.numVerts do
(
vert = getVert SelMesh i
format "i:% % \n" i vert to: OutFile
)
format "Faces\n" to: OutFile

for i=1 to SelMesh.numFaces do
(
face = getFace SelMesh i
format "i:% % \n" i face to: OutFile
)
)

close OutFile

2011년 8월 20일 토요일

ASE 파일 Skined Animation


맥스에서 기본으로 출력되는 ASE파일의 TM(변환행렬)은 월드 행렬.

Bone, Biped 구조일 경우에 각 노드마다 로컬 TM이 필요함.
로컬 TM = 자신 TM * Inverse(부모 TM)

이렇게 구해진 로컬 TM을 Bone 구조에 따라 차례대로 곱해주면
원래의 각 노드별 월드 행렬을 구할 수 있음.

맥스에서 캐릭터를 만든 다음 Bone, Biped를 이용하여 붙이는 작업을 하게됨.
만들어진 캐릭터 역시 월드좌표 기준으로 완성되어 있음.

위에서 구해진 계층 구조 TM을 적용할려고 캐릭터 정점에 바로 계층 구조TM을 곱하면 안됨.
계층 구조로 이루어진 각 노드의 월드 TM은 월드 좌표 원점 기준 변환 TM임.

그러므로 현재 월드 좌표로 이루어진 캐릭터 정점에 계층 구조TM을 곱하면
엉뚱한 좌표로 이동하게 됨.

노드 월드 TM의 역행렬을 구하면 노드 중심의 피봇 좌표계로 이동가능.

최종 변환 정점 = 캐릭터 정점 * 피봇 TM * 계층 구조 TM

= 캐릭터 정점 * Inverse(노드 월드 TM) * 계층 구조 TM

2011년 8월 18일 목요일

Visual Studio 2005 Engine Error

Visual Studio 2005 Engine Error

1. Execute "cmd" in Administrator account.
2. Move to a folder "C:\Program Files (x86)\Microsoft Visual Studio 8\VC\vcpackages"
3. Enter a command "regsvr32 VCProjectEngine.dll"
4. There is a popup which DLL is registered successfully.
5. Now Visual Studio 2005 can build a solution or project.