javascript - 用网格线填充 ShapeGeometry
问题描述
我目前正在使用正交相机构建平面图俯视图。我有不同形状的地板,所以我需要用网格线填充它,比如地图纹理,它会根据几何形状进行调整。如何用网格线填充形状几何图形。我不能使用网格助手,因为你不能像几何体中的材质那样映射它。
这是我的代码
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 );
解决方案
推荐阅读
- bison - 在 Bison 中解析函数调用(例如 `exp '('exp ')'`):导致移位/减少错误(优先级问题)
- python - 在 Digitalocean 中标记快照
- android - Dagger2 插入图
- jenkins-pipeline - 如何在多个分支中保持多个 Jenkins 管道文件 (Jenkinsfile) 一致?
- c# - 如何将数据从文本框保存到 UWP 中的数据网格
- batch-file - 是否可以在 cmd 中使用操纵杆/游戏控制器输入?
- git - 如何修复 GitHub 中的“Fetch to Code Inspector failed”?
- r - 运行一个函数 x 次,然后在再次运行之前休眠一段时间
- python - 将非零 numpy 数组元素附加到列表的最快方法
- node.js - NodeJS 将文件写入 AWS S3 - Promise.All 与 async/await 不等待