Я пытаюсь использовать three.js для преобразования существующих stls в gltf для использования с программой просмотра сцен Android (компонент просмотра моделей). Однако экспортируемый мной gltf не работает с https://arvr.google.com/scene-viewer-preview с сообщением об ошибке «glTF содержит цвет вершины, который не поддерживается спецификацией Scene Viewer». Он также не работает, когда я загружаю на телефон Android с помощью компонента просмотра моделей, когда я нажимаю кнопку AR.
Если я экспортирую простой куб BoxBufferGeometry как gltf, он работает в программе просмотра сцен. Однако, если я экспортирую BoxGeometry (не Buffered), который также дает ошибку цвета вершины.
Как мне сказать three.js не включать цвета вершин в экспортированный gltf?
Я использую следующий код - функция exportGLTF скопирована из примеров three.js. Файл stl - это всего лишь что-то простое, что я создал из fusion 360.
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var loader = new THREE.STLLoader();
loader.load( 'table.stl', function ( geometry ) {
var material = new THREE.MeshStandardMaterial();
mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );
exportGLTF(mesh);
}, undefined, function ( error ) {
console.error( error );
} );
var geometry = new THREE.BoxBufferGeometry( 1, 1, 1 );
var material = new THREE.MeshStandardMaterial();
cube = new THREE.Mesh( geometry, material );
cube.position.set( 0, 0, 0 );
cube.name = "Cube";
scene.add( cube );
exportGLTF(cube);