javascript - aoMap 仅适用于 THREE.BufferGeometry 吗?

标签 javascript three.js

我应该如何使 aoMap 适用于普通的 THREE.Geometry?有演示吗?

 var uvs = geometry.attributes.uv.array; 

 geometry.addAttribute('uv2', new THREE.BufferAttribute(uvs, 2));

以上代码适用于 BufferGeometry。

最佳答案

aoMap 需要第二组 UV。如果需要,您可以通过复制第一组 UV 来创建第二组 UV。

这是如何对Geometry执行此操作:

geometry.faceVertexUvs[ 1 ] = geometry.faceVertexUvs[ 0 ];

这就是 BufferGeometry 的操作方法:

var uvs = geometry.attributes.uv.array;
geometry.addAttribute( 'uv2', new THREE.BufferAttribute( uvs, 2 ) );

...或更简单地说:

geometry.attributes.uv2 = geometry.attributes.uv;

三.js r.88

关于javascript - aoMap 仅适用于 THREE.BufferGeometry 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43464106/

相关文章:

javascript - $(window).height() 在 IE9 上失败

javascript - 三.js点击对象

javascript - ThreeJS WebGLRenderTarget 有空白纹理

javascript - 为什么 parseInt 不是一个方法?

javascript - React 中未找到 Meteor 方法 (404)

javascript - 当我在 Three.js 中使用加载器时,变量未定义

javascript - Three.js模型平滑多边形

canvas - three.js:如何让多种 Material 为一个网格工作

javascript - 使用 lodash 转换集合

javascript - React - 设置状态并同时获取值