three.js - maptalks.three 建筑物纹理
问题描述
我正在尝试将一个小窗口的纹理重复应用于从示例代码中获得的建筑物:
https://maptalks.org/maptalks.three/demo/vectortilelayer-mvt.html
我想做的是在建筑物侧面重复一个窗口(png 64x64)
我试图把这个纹理:
texture.offset.set(0,0);
texture.wrapS = texture.wrapT = THREE.RepeatWrapping;
texture.repeat.set(1,1);
var buildMaterial = new THREE.MeshPhongMaterial( { map: texture });
问题是纹理在某些建筑物中应用错误,例如拉伸,并且所有建筑物的所有窗户都不相同,这是我想要实现的目标。
我知道建筑物网格图块是由几个建筑物的 THREE.BufferGeometry 制成的(从 geojson 数据的特征中提取),然后使用该 BufferGeometry 创建了一个网格,然后应用该材料。
在所附图像上,您可以看到红色是错误的纹理映射,绿色是我想看到的。
希望你能帮我解决这个问题!或者,也许您知道使用 maptalks 获取具有纹理的建筑物的代码。
解决方案
推荐阅读
- python - 为什么从 np.datetime64 到 float 和 back 的转换会导致时差?
- c++ - 对 vtable 的未定义引用(类)
- python - 获取机器人的状态 discord.py
- c# - 更改 Excel 互操作的区域设置
- javascript - 无法从 api 控制器 js 文件获取数据以使用 Vue.js 应用程序在 Sails js 中查看 ejs 文件
- reactjs - 在react中设置ajax的结果
- jenkins - 如何使用 parallel[:] 步骤并行运行具有不同参数的相同作业
- android - 向下滚动所有项目后在 RecyclerView 下方显示视图
- java - 如何解析 UDP 跟踪器响应消息的 leecchers/seeders 部分?
- asp.net-mvc - 在 MVC 中提交时获取下拉列表选定的文本和选定的值?