Я использую GLTF-модели, импортированные из блендера. Это неправильно отображает, когда я добавляю на сцену некоторые другие объекты, такие как плоскость. Также он выдает ошибку вот так Я нашел какое-то исправление, подобное этому, когда я загружаю модели gltf:
mesh.traverse(function (child) {
if (child.isMesh) {
if (child.material) {
child.material.dispose();
}
child.geometry = new THREE.Geometry().fromBufferGeometry(child.geometry);
child.geometry.computeFaceNormals();
}
});
Работает хорошо, кроме моделей с анимацией. Из-за изменения геометрии от буфера до анимации разрывов без буфера. Так что я не знаю, что делать, потому что без этого
child.geometry = new THREE.Geometry().fromBufferGeometry(child.geometry);
child.geometry.computeFaceNormals();
это не сработало бы (рендерер не рендеринг), но анимация этой модели не работает.
Solution
Я изменил
import * as THREE from "three";
на
import * as THREE from "three/build/three.module";
И это работает!