1. 首页
  2. three.js

three.js材质实例和世界空间偏移纹理

基本上,我有一个相当大的木制面板阵列,我通过代码(从一个基本文件)生成,我想偏移纹理,这样每个面板上的木材纹理都不同。但是,在纹理上使用偏移参数会将其应用于每个模型,就像对我的问题没有任何作用一样。如何将纹理的不同部分应用于模型,而不必制作一组单独的模型?n由Mugen87在第4篇文章中解决,研究如何实现以下示例可能会有所帮助:https://threejs.org/examples/webgl\\u buffergeometry\\u instanceing引入表示纹理偏移的InstancedBufferAttribute的新实例可以实现这一点。n实例化渲染意味着所有实例化网格共享相同的材质,因此使用相同的材质纹理坐标变换。因此,使用默认的three.js的uvTransform在这里不起作用。n但是,您可以尝试使用一个单独的实例化属性,并使用它保存每个实例的纹理偏移数据(类似于位置偏移)。n如果可以的话,我甚至可以使用位置作为参数,这样我可以保证它是不同的。您是否有任何我可以阅读的示例/文档,这些示例/文档可以指出我想要的效果?nTorben_Van_Assche:n您是否有任何示例/文档可供我阅读,以指出所需的效果?n好吧,研究以下示例是如何实现的可能会有所帮助:nhttps://threejs.org/examples/webgl\\u buffergeometry\\u instanceing8n引入一个表示纹理偏移的InstancedBufferAttribute的新实例就可以做到这一点n Material instancing and world-space offset texturesn

three.js材质实例和世界空间偏移纹理 为WP2原创文章,链接:https://www.wp2.cn/three-js/three-js%e6%9d%90%e8%b4%a8%e5%ae%9e%e4%be%8b%e5%92%8c%e4%b8%96%e7%95%8c%e7%a9%ba%e9%97%b4%e5%81%8f%e7%a7%bb%e7%ba%b9%e7%90%86/