Как заставить работать несколько моделей .gltf в трех. js примере webxr_ar_hittest? - PullRequest
3 голосов
/ 20 января 2020

Я использую этот пример https://threejs.org/examples/?q=webxr#webxr_ar_hittest из трех. js и пример работает очень хорошо, но когда я заменяю цилиндр на модель, он просто позволяет мне поставить одну модель вместо того, чтобы позволить мне поставить несколько моделей в то место, где я нажимаю. Кто-нибудь знает, как решить эту проблему?

В файле я использовал часть, где они ставили цилиндры на пол, однако я хочу заменить его на модель .gltf.

            var geometry = new THREE.CylinderBufferGeometry( 0.1, 0.1, 0.2, 32 ).translate( 0, 0.1, 0 );
            function onSelect() {

                if ( reticle.visible ) {

                    var material = new THREE.MeshPhongMaterial( { color: 0xffffff * Math.random() } );
                    var mesh = new THREE.Mesh( geometry, material );
                    mesh.position.setFromMatrixPosition( reticle.matrix );
                    mesh.scale.y = Math.random() * 2 + 1;
                    scene.add( mesh );

                }

            }

Я заменяю на:

var loader = new GLTFLoader().setPath('examples/models/gltf/Duck/glTF' );
                function onSelect() {
                    if ( reticle.visible ) {
                        loader.load('Duck.gltf', function ( gltf ) {
                            scene.add( gltf.scene );
                        });
                    }
                }

В этом примере камера используется для размещения виртуальных объектов на полу. Заранее спасибо!

...