Как преобразовать геометрию ElevationGrid из VRML в Aframe - PullRequest
0 голосов
/ 29 октября 2019

все. У меня есть проблема в преобразовании VRML в A-кадр. VRML имеет функцию «Geometry ElevationGrid» для установки значения матрицы высот текстуры. Код экземпляра выглядит следующим образом.

geometry ElevationGrid {
    xDimension 9
    zDimension 9
    xSpacing   1.0
    zSpacing   1.0
    solid      FALSE
    height [
        0.0, 0.0, 0.5, 1.0, 0.5, 0.0, 0.0, 0.0, 0.0,
        0.0, 0.0, 0.0, 0.0, 2.5, 0.5, 0.0, 0.0, 0.0,
        0.0, 0.0, 0.5, 0.5, 3.0, 1.0, 0.5, 0.0, 1.0,
        0.0, 0.0, 0.5, 2.0, 4.5, 2.5, 1.0, 1.5, 0.5,
        1.0, 2.5, 3.0, 4.5, 5.5, 3.5, 3.0, 1.0, 0.0,
        0.5, 2.0, 2.0, 2.5, 3.5, 4.0, 2.0, 0.5, 0.0,
        0.0, 0.0, 0.5, 1.5, 1.0, 2.0, 3.0, 1.5, 0.0,
        0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.5, 0.5,
        0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0,
    ]
}

Я пытался преобразовать этот вышеупомянутый код VRML ElevationGrid в Aframe. Но я не могу найти, как это сделать. Пожалуйста, помогите мне, если кто-нибудь знает.

Ответы [ 2 ]

0 голосов
/ 30 октября 2019

Эрик Эйзенман (он же сэр FizX, на слабине AFrame) написал компонент ландшафта и обнародовал его. Он использует вершинный шейдер и является очень красивой (и быстрой) реализацией сгенерированного ландшафта. Вот оно на глюк. https://glitch.com/~aframe-terrain

0 голосов
/ 29 октября 2019

Это можно сделать, но это сложная тема. Aframe не имеет эквивалента сетки высот. Но aframe - это просто фреймворк для работы с THREEjs, и у THREE есть способ создать сетку с нуля и сместить ее высоту. Объяснение этого далеко выходит за рамки этого ответа, но взгляните на это руководство по основам THREEjs. Он проходит через весь процесс.

https://threejsfundamentals.org/threejs/lessons/threejs-custom-geometry.html

...