请问 如何得到点击模型位置的高度呢?

Abierto
#646 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
javascript, three.js

Línea de trabajo

Comienza con la función addGltf y el controlador mousemove de baseObjectModel mostrados en el issue; inspecciona e.target.intersect y la integración de threeLayer/GLTFLoader. Verifica si los datos de intersección exponen la elevación solicitada e identifica la API compatible o el ejemplo necesario. Se considera terminado cuando se documente una forma reproducible de obtener la altura de la posición del modelo sobre la que se hizo clic.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

feature

function addGltf() {
clock = new THREE.Clock();
stats = new Stats();
map.getContainer().appendChild(stats.dom);
var loader = new THREE.GLTFLoader();
loader.load('./data/alien.gltf', function (gltf) {

            model = gltf.scene;
            model.rotation.x = Math.PI / 2;
            model.scale.set(100, 100, 100);

            baseObjectModel = threeLayer.toModel(model, { coordinate: map.getCenter() });
            // model.position.copy(threeLayer.coordinateToVector3(map.getCenter()));
            threeLayer.addMesh(baseObjectModel);
            baseObjectModel.on('mousemove', e => {

                //这里能否在e 得到 点击位置的高程值???
                const target = e.target;
                const intersect = target.intersect;
                //do some things
                if (intersect && intersect.object && intersect.object.material) {
                    intersect.object.material.color.set('red');
                }
            })

            // createGUI(model, gltf.animations);
            animate();

        }, undefined, function (e) {

            console.error(e);

        });
    }
Lenguaje dominante
HTML
Estrellas
652
Forks
137
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de maptalks/maptalks.three

Todos los issues de maptalks/maptalks.three

Issues similares

Más issues de Computer Graphics

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.