작성
·
30
0
ilbuniMesh를 위 사진과 같이
gltf.scene.children[0]으로 정의하였는데,
console.log(gltf)를 해보면
따로 children이 없는데도 정상적으로 출력됩니다. 또한 gltf.scene.children[0]가 아닌
gltf.scenes[0].children[0] 으로 해도 정상적으로 출력되는데 혹시 어떤 차이점이 있는건지도 답변이 가능할까요??
저 또한 블렌더에서 Object만 선택한 후 export 하면 애니메이션 오류가 뜨고 (uuid) Object와 뼈대를 같이 선택한 후에 export 해야 정상적으로 출력됩니다 ㅠㅠ
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
준규님!
Three.js의 glTF 로더를 활용하면서 발생한 문제에 대해 설명드리겠습니다.
gltf.scene
vs gltf.scenes
:
gltf.scene
는 보통 기본적으로 로딩할 주요 씬을 나타내며, gltf.scenes
는 여러 개의 씬을 배열 형태로 가지고 있습니다. 일반적으로 gltf.scene
는 gltf.scenes[0]
와 동일하다고 보면 됩니다. 따라서, 둘 사이에 큰 차이가 없어 보이지만, 여러 개의 씬을 다룰 때는 gltf.scenes
를 사용하는 것이 더 안전할 수 있습니다.children
이 빈 배열인데도 모델이 보이는 이유:
console.log(gltf)
에서 children
배열이 비어 있다고 나올 수 있지만, 실제로는 Three.js가 내부적으로 씬을 렌더링할 때 필요한 데이터는 scene
이나 scenes
배열 안에 있을 수 있습니다. 이러한 데이터는 특정한 3D 객체나 노드 구조의 자식 요소가 아닐 수 있습니다. 만약 IlbuniMesh
가 제대로 씬에 추가되고 있다면, 해당 Mesh
가 Three.js의 위계 구조 안에 적절하게 등록된 것입니다.블렌더 익스포트 관련 문제:
이점들이 도움이 되길 바라며, 더 궁금한 사항이 있으시면 언제든지 질문해 주세요! 😊
참고 이미지: