"Uncaught ThreeBSP: данная геометрия не поддерживается"

Предисловие: я использую Three-CSG, чтобы попытаться объединить геометрию в Three.js.

Я получаю ошибку Uncaught ThreeBSP: Given geometry is unsupported при передаче экземпляра THREE.Mesh в библиотеку ThreeBSP метод.

Есть идеи, почему я получаю эту ошибку? Ниже приведен фрагмент моего кода, объект, который я передаю в метод библиотеки, оценивается как true как instanceofTHREE.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

Который работает!

Другие вопросы по тегам