GameObject上的材质中使用的移位/偏移纹理?

Posted

技术标签:

【中文标题】GameObject上的材质中使用的移位/偏移纹理?【英文标题】:Shift/offset texture used in material on GameObject? 【发布时间】:2016-07-05 11:23:48 【问题描述】:

我的程序中有一个代表地球的 GameObject 球体。

所以我像这样对它应用一种材料:

使用数据和定位脚本,我在地球上定位表示位置的标记(按经度和纬度)。

一切似乎都正常,除了纹理与绘制的点不对齐。

如何移动纹理以使我的数据点位于实际位置之上?

您可以在下图中看到这一点,其中南美洲点以错误的方向清晰地绘制在南极洲和南美洲之间的海洋上。

编辑:

玩了很多,发现X偏移可以,但是Y偏移不行。该组合将帮助我完成任务,但包装不正确...

【问题讨论】:

也可能是非洲,但重点仍然存在。 :P 【参考方案1】:

要创建新材质,请使用主菜单或项目视图上下文菜单中的 Assets->Create->Material。

将您的纹理拖入检查器字段并更改偏移变量,直到获得所需的偏移结果。

【讨论】:

我在您发布此内容后进行了编辑。偏移量肯定是答案,但为什么 Y 偏移量会如上所示? 很简单,因为您创建纹理的方式。看看上面材质检查器中显示的方形纹理。南极洲只能很好地包裹,因为它位于球体的底部,导致它呈球形包裹。现在您要在 y 轴上垂直移动纹理,这会导致赤道呈球形包裹。我怀疑在数据点分配期间以编程方式分配偏移量会更容易。【参考方案2】:

您应该考虑使用 Blender 等建模程序来创建带纹理的模型或圆形,但请记住,如果您有带纹理的模型,则它需要采用 .fbx 格式。

【讨论】:

以上是关于GameObject上的材质中使用的移位/偏移纹理?的主要内容,如果未能解决你的问题,请参考以下文章

three.js 改变材质上的纹理

贴图纹理材质的区别是什么? 还有shader

材质,着色器,纹理

Three.js 在通过 OBJMTLLoader 加载的对象上的多种材质

使用vue学习three.js之加载和使用纹理-使用canvas画布上的绘画作为纹理渲染到方块上,使用动态绘画纹理

OpenGL纹理覆盖材质颜色