В настоящее время я строю вид сверху с помощью ортогональной камеры. У меня разные формы плоскости пола, поэтому мне нужно было заполнить ее линиями сетки, например текстуру карты, которая корректируется в зависимости от формы геометрии. Как заполнить геометрию фигуры линиями сетки? Я не могу использовать помощник сетки, так как вы не можете отобразить его как материал в геометрии.

Вот мой код

        var scene = new THREE.Scene();
        var camera = new THREE.OrthographicCamera(
            window.innerWidth / - 2, window.innerWidth / 2,window.innerHeight / 2, window.innerHeight / - 2, 1, 1000 );

        var renderer = new THREE.WebGLRenderer();
        renderer.setSize( window.innerWidth, window.innerHeight );
        document.body.appendChild( renderer.domElement );

        // this can be any shape vertices
        var rectangle_vertices = `[
            {"x":37.59899999999991,"y":256.15200000000027},
            {"x":37.59899999999992,"y":-196.20799999999997},
            {"x":642.3589999999999,"y":-196.20799999999997},
            {"x":642.3589999999999,"y":256.15200000000027}
        ]`;

        rectangle_vertices = JSON.parse(rectangle_vertices);

        var shape = new THREE.Shape(rectangle_vertices);

        var geometry = new THREE.ShapeGeometry(shape);
        var material = new THREE.MeshBasicMaterial({
            color : 0xffffff
        });

        var floor = new THREE.Mesh(geometry, material);
        scene.add( floor );

        camera.position.x = 300;
        camera.position.y = 0;
        camera.position.z = 5;

        renderer.render( scene, camera );

Надеюсь, что кто-то мог пролить свет на это. Благодарю.

0
Defyleiti