Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用网格线填充形状测量_Javascript_Three.js - Fatal编程技术网

Javascript 使用网格线填充形状测量

Javascript 使用网格线填充形状测量,javascript,three.js,Javascript,Three.js,我目前正在使用正交摄影机构建楼层平面顶视图。我有不同形状的地板平面,所以我需要用网格线填充它,就像根据几何体的形状调整的贴图纹理一样。 如何用网格线填充形状几何体。我无法使用栅格辅助对象,因为无法像几何体中的材质那样对其进行贴图 这是我的密码 var scene = new THREE.Scene(); var camera = new THREE.OrthographicCamera( window.innerWidth / - 2, w

我目前正在使用正交摄影机构建楼层平面顶视图。我有不同形状的地板平面,所以我需要用网格线填充它,就像根据几何体的形状调整的贴图纹理一样。 如何用网格线填充形状几何体。我无法使用栅格辅助对象,因为无法像几何体中的材质那样对其进行贴图

这是我的密码

        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 );

此示例演示如何对任意形状进行纹理处理:另请参见,了解如何正确实例化正交摄影机。使用自定义着色器根据UV或顶点坐标绘制网格。或者使用带有网格线的纹理。@WestLangley,谢谢。关于正交的相机位置,我如何正确地将其设置为俯视图?直到现在,我仍然不知道如何正确定位它。如俯视图、前视图等。