JavaScript — пользовательская геометрия, зарегистрированная в A-Frame, не отображается при добавлении в сцену

Пользовательская геометрия, зарегистрированная в A-Frame, не отображается при добавлении в сцену

Я создал несколько функций, которые создают геометрии THREE.js со значениями длины phi ниже 360, которые не являются полыми, и я хотел бы отобразить их в сцене A-Frame (которая выполняется поверх React). Однако, когда я пытаюсь их визуализировать, я обнаруживаю, что не могу.

Я думал, что моя пользовательская геометрия не регистрируется, но без проблем отрисовал копию геометрии прямоугольника, обозначенную здесь .

Это мой код, который я использовал для регистрации пользовательской геометрии:

 this.AFRAME.registerGeometry("phisphere", { schema : { phi : { default : 360, min : 0, type : "int" }, }, init : (data) ={amp}gt; { let phi = this.degToRad(data.phi); let sphere = new THREE.SphereGeometry(1, 18, 36, 0, phi); let semiStart = new THREE.CircleGeometry(1, 36, 0, Math.PI); semiStart.applyMatrix(this.rotationMatrix("z", Math.PI / 2)); semiStart.applyMatrix(this.rotationMatrix("x", Math.PI)); let semiEnd = new THREE.CircleGeometry(1, 32, 0, Math.PI); semiEnd.applyMatrix(this.rotationMatrix("z", Math.PI / 2)); semiEnd.applyMatrix(this.rotationMatrix("y", phi)); let geometry = new THREE.Geometry(); geometry.merge(sphere); geometry.merge(semiStart); geometry.merge(semiEnd); this.geometry = geometry; } }); 

и это вызов, который я использую для его рендеринга:

 {amp}lt;a-entity geometry="primitive: phisphere; phi : 260" scale="2 2 2" position="0 2 0"{amp}gt;{amp}lt;/a-entity{amp}gt; 

Ничего не видно Я не уверен, где я ошибся, и любая помощь будет оценена.

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector