three.js - 如何在 Three.js 中绘制几何上的各种纹理
问题描述
我正在尝试创建的地图是等距的,并且绘制在 44x44 像素图块中。每个平铺材料都是一个加载的图像。
ID 为 1 的材质可以在视图中的不同 x/y 位置重复使用。ID 为 2 的材料只能使用一次。对于需要绘制的任何剩余图块也是如此。
我在文档中没有找到任何有用的东西,而且在网上找到的使用建议createMultiMaterialObject
似乎已经过时了。
解决方案
如果您只有一个几何图形并想在其上应用多种材料,则必须定义所谓的组数据。这些数据允许您使用不同的材料渲染几何的不同部分。定义组后,您可以像这样创建(多材质)网格:
const mesh = new THREE.Mesh( geometry, [ material1, material2, material3 ] );
three.js R111
推荐阅读
- svg - SVG 应用带阴影的过滤器
如果它是垂直或水平的,则隐藏该线 - python-3.x - 将两个模型保存在两个不同的文件夹中
- java - JPA(Hibernate)上的多个双向映射问题
- flutter - 在 BottomNavigationBarType.fixed 中的活动项目上设置颜色
- php - gedmo 可记录不保存在数据库中
- python - 在 Jupyter Notebook 中使用 Python 基于多个容差值对单个数据框单元格进行 Pandas 颜色编码
- java - JSON 字符串无法转换为数组/ArrayList
- javascript - 如何在角度上使用 formatDate 格式化日期
- xamarin.forms - 在 Xamarin.Forms Shell 中隐藏 tabbedPage 的标题
- flutter - 在 Flutter 中使用带有 WillPopScope 的嵌套导航器