"Uncaught ThreeBSP: данная геометрия не поддерживается"
Предисловие: я использую Three-CSG, чтобы попытаться объединить геометрию в Three.js.
Я получаю ошибку Uncaught ThreeBSP: Given geometry is unsupported
при передаче экземпляра THREE.Mesh в библиотеку ThreeBSP
метод.
Есть идеи, почему я получаю эту ошибку? Ниже приведен фрагмент моего кода, объект, который я передаю в метод библиотеки, оценивается как true
как instanceof
THREE.Mesh
из моего файла js, так что я не знаю, почему код выдает ошибку. Любая помощь будет принята с благодарностью!
import THREE from 'three';
import CSG from 'three-csg';
[...]
export const meshFactory = () => {
const cone = {};
cone.geometry = new THREE.CylinderGeometry(5, 100, 100, 32);
cone.mesh = new THREE.Mesh(cone.geometry);
console.log(cone.mesh instanceof THREE.Mesh); // prints true
const coneBSP = new CSG(cone.mesh); // error thrown here as it doesn't appear to be an instance of THREE.Mesh or other valid cases
[...]
};
Спасибо, Джеймс.
1 ответ
Не совсем уверен в первопричине проблемы, но в любом случае, как только я исправил эту ошибку, было множество других ошибок, в основном из-за идиосинкразий между старыми версиями.
Для всех, кто хочет использовать это с модулями ES2015, я просто собрал пакет NPM для three-js-csg с последними версиями обоих, который решает эти ошибки:
https://github.com/James-Oldfield/three-js-csg
Который работает!