【问题标题】:Can I apply a normal map across an entire merged buffered geometry?我可以在整个合并的缓冲几何体上应用法线贴图吗?
【发布时间】:2019-04-10 03:07:45
【问题描述】:

我正在合并 PlaneBufferGeometry,以制作一个由正方形构成的更大平面。合并几何图形后,我可以应用添加到网格中每个单独几何图形的材质。

是否可以将材质应用于整个合并的几何体?我想要一个跨越整个平面的法线贴图,而不是在每个正方形上重复。

https://threejs.org/docs/#examples/utils/BufferGeometryUtils.mergeBufferGeometries

【问题讨论】:

    标签: three.js


    【解决方案1】:

    以这种方式合并几何图形也会合并每个平面几何图形的纹理坐标。如果您不希望这种行为,则必须丢弃最终的uv 缓冲区属性并生成一个新属性。假设您的最终平面几何图形位于 xy 平面中,您可以使用最小和最大 xy 值来为所有顶点生成范围 [0,1] 内的纹理坐标。

    【讨论】:

    • 感谢您的快速回复。通过设置 index 和 position/uv 属性,我能够获得纹理和法线贴图来覆盖整个合并的几何体。 (参考:stackoverflow.com/questions/19504337/…)虽然法线贴图分布在整个几何体中,但我希望将纹理平铺。我想我要做的是从原始图像创建一个平铺纹理并将其拉伸到合并的几何体上。除非可以使用两种材质,一种是平铺纹理,另一种是拉伸 uv 贴图?
    • 漫反射贴图和法线贴图始终共享同一组 uv 坐标。我不认为使用两种材质会起作用,因为您需要在同一个着色器程序中使用漫反射和法线贴图。
    猜你喜欢
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多