Converter의 ReadMeshData에서 Material의 저장 여부
254
작성한 질문수 1
//Material Name
const aiMaterial* material = _scene->mMaterials[srcMesh->mMaterialIndex];
mesh->materialName = material->GetName().C_Str();
하나의 메시가 여러 서브 메시를 포함하는 형태로 저장을 하게 되고, 그에 따라서 메시는 각 서브 메시에 따르는 머티리얼을 저장해야 하는데 해당 코드를 통해서는 마지막 서브 메시의 머티리얼만 저장하게 되는것이 아닌지 궁금해서 질문 드립니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
gsc0815님의 질문 내용을 잘 살펴보았습니다.
제공해주신 코드를 보면, 각 메시의 머티리얼 인덱스(mMaterialIndex)를 통해 해당 메시의 머티리얼을 가져오고 있습니다. aiMaterial 객체에서 GetName() 함수를 이용해 머티리얼의 이름을 가져와서 mesh->materialName에 저장하고 계십니다.
이 코드는 반복문 안에서 사용되고 있다면, 각 서브 메시마다 다르게 저장될 것입니다. 하지만 코드만 봐서는 하나의 메시에 대해 하나의 머티리얼 이름만 저장되는 것 같으니, 만약 하나의 메시가 여러 개의 서브 메시와 이에 상응하는 머티리얼을 가지고 있고, 모든 서브 메시의 머티리얼 이름을 저장하길 원한다면 코드를 다르게 구성해야 할 것입니다.
예를 들어, mesh 객체가 각 서브 메시에 대한 머티리얼 이름을 리스트 형태로 저장할 수 있는 구조를 가지고 있다면, 각 서브 메시마다 머티리얼 이름을 리스트에 추가하는 식으로 구현할 수 있겠죠.
만약 mesh의 구조를 변경할 수 없고, 단일 메시 객체가 하나의 머티리얼만 가지도록 설계되어 있다면, 각 서브 메시를 별도의 메시 객체로 처리하여 각기 다른 머티리얼 이름을 저장해야 할 수도 있습니다.
정확한 상황이나 구조에 대한 정보가 더 필요하다면, 구체적인 코드의 구조와 실행 환경에 대한 추가적인 설명을 덧붙여 다시 질문해주시면 더욱 도움이 될 것 같습니다.
assimp-vc143-mtd.dll가 없어서 코드 실행을 진행할 수 없습니다 라는 에러가 뜹니다.
0
79
1
Model.cpp에서 ReadMaterial()의 SpecularTexture 부분 질문입니다.
0
56
0
노멀매핑 자료
0
74
1
셰이더 인텔리센스 문제
0
79
1
4강 삼각형띄우기 오류관련 질문있습니다
0
66
1
64.애니메이션 강의의, AssimpTool 에서 FBX 애니매이션 데이터를 옮길 때의 강의 오류가 있는 것 같습니다.
1
65
1
SkyDemo에서 카메라 입력이 작동하지 않는 문제
0
83
2
섹션6. DirectX 11 3D 입문 강의부터 렌더링이 안됩니다
0
131
2
텍스처와 UV 강의 관련해서 문의드려요
0
162
2
frame간 보간에 대해서 질문이있습니다.
1
132
1
자료 pptx가 아닌 pdf
0
109
1
어디에 좀더 집중해야하나 고민입니다
0
201
1
CameraPosition 질문있습니다
1
113
1
안녕하세요 roatation 행렬 질문있습니다.
1
155
2
'C\ .... ......lib'은 올바른 win32에플리케이션이 아닙니다.
0
523
4
버텍스버퍼 실습 도중 버그
0
176
1
물방울 책 실습은 어디까지 하는건가요??
0
404
2
리소스매니저의 get함수에서 에러가 나요
0
133
2
자식 GameObject SetPosition 시 움직이지 않음
0
101
1
강의 끝나고 3D 포폴
0
317
2
공부 방법에 대해서 문의 드려요
0
154
1
19분 5초에 함수 구현부 한꺼번에 만드는법
1
151
1
좌표계 변환 행렬이랑 srt 변환 행렬
0
205
2
SRT 행렬중에 ppt 질문 있습니다.
0
168
1





