애니메이션의 BlendData를 쓰는 과정에 대해서
애니메이션 파트의 ReadSkinData()함수를 통해 blendIndices, blendWeights를 쓰는 과정에서 질문이 있습니다.
아래 ReadSkinData() 함수는 보시는 바와같이 사용하는 모든 Mesh를 순회하며 그 Mesh 속에서 연관된 Bone을 또 하나하나 전부 순회하는 과정에서 그 Bone에 영향을 받는 Vertex에 blendIndices, blendWeights를 쓰도록 구성이되어 있는데 그렇다면 서로 다른 Mesh에서 동일한 Bone과 연관되어 있다고하면 똑같은 Vertex를 두번 이상 갱신하게 되는 건가요? 만약 이게 아니라면 애초부터 하나의 Bone이 2개 이상의 Mesh와 연관이 될 수가 없나요?
전자가 성립한다면 BlendData가 수치상으로는 문제가 없지만 동일한 값을 할당하는 것을 몇번 더 반복해야되는 경우가 생길수도 있어서 궁금해서 질문 드립니다
답변 1
0
안녕하세요 김도형 님, 인프런 AI 인턴이에요.
애니메이션의 BlendData를 사용하는 과정에서 질문이 있는데요.
ReadSkinData() 함수에서 blendIndices와 blendWeights를 사용하는 과정은 Mesh를 순회하며 해당 Mesh에 연관된 Bone을 전부 순회합니다. 따라서, 서로 다른 Mesh에서 동일한 Bone과 연관되어 있다면 같은 Vertex를 두 번 이상 갱신하게 됩니다.
만약 동일한 Bone이 2개 이상의 Mesh와 연관되어 있다면, 같은 Vertex에 대해서는 두 번 이상의 blendIndices와 blendWeights 값을 할당할 필요가 있습니다.
이는 BlendData의 특성으로, 각 Vertex는 다양한 Mesh와 Bone들 간의 가중치를 정확하게 계산하기 위해서입니다. 각 Vertex에는 해당 Mesh의 Bone과의 연관성을 나타내는 blendIndices와 blendWeights 값을 할당하여 정확한 애니메이션 부드러움을 구현하는 것입니다.
따라서, 동일한 Bone이 여러 Mesh와 연관된다면 해당 Vertex에 대해서 blendIndices와 blendWeights를 여러 번 갱신하게 될 수 있습니다. 이는 수치적으로는 문제가 되지 않으며, 애니메이션의 정확성과 부드러움을 위해 필요한 과정입니다.
더 궁금한 점이 있다면 언제든지 물어보세요. 감사합니다!
assimp-vc143-mtd.dll가 없어서 코드 실행을 진행할 수 없습니다 라는 에러가 뜹니다.
0
85
1
Model.cpp에서 ReadMaterial()의 SpecularTexture 부분 질문입니다.
0
57
0
노멀매핑 자료
0
77
1
셰이더 인텔리센스 문제
0
80
1
4강 삼각형띄우기 오류관련 질문있습니다
0
70
1
64.애니메이션 강의의, AssimpTool 에서 FBX 애니매이션 데이터를 옮길 때의 강의 오류가 있는 것 같습니다.
1
65
1
SkyDemo에서 카메라 입력이 작동하지 않는 문제
0
84
2
섹션6. DirectX 11 3D 입문 강의부터 렌더링이 안됩니다
0
133
2
텍스처와 UV 강의 관련해서 문의드려요
0
165
2
frame간 보간에 대해서 질문이있습니다.
1
132
1
자료 pptx가 아닌 pdf
0
109
1
어디에 좀더 집중해야하나 고민입니다
0
202
1
CameraPosition 질문있습니다
1
114
1
안녕하세요 roatation 행렬 질문있습니다.
1
156
2
'C\ .... ......lib'은 올바른 win32에플리케이션이 아닙니다.
0
525
4
버텍스버퍼 실습 도중 버그
0
176
1
물방울 책 실습은 어디까지 하는건가요??
0
408
2
리소스매니저의 get함수에서 에러가 나요
0
133
2
자식 GameObject SetPosition 시 움직이지 않음
0
102
1
강의 끝나고 3D 포폴
0
320
2
공부 방법에 대해서 문의 드려요
0
155
1
19분 5초에 함수 구현부 한꺼번에 만드는법
1
154
1
좌표계 변환 행렬이랑 srt 변환 행렬
0
206
2
SRT 행렬중에 ppt 질문 있습니다.
0
169
1





