首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Three.js中的光图

Three.js中的光图
EN

Stack Overflow用户
提问于 2015-12-02 22:31:58
回答 1查看 3.8K关注 0票数 0

光地图是独立于其他纹理的,对吗?

所以我必须设置第二套无人机。

我已经用第二组UV导出了我的JSON对象,并添加了以下内容。

代码语言:javascript
运行
复制
geometry.faceVertexUvs[0] = geometry.faceVertexUvs[1];

我没有工作结果。我错过了什么?也许有人能给我一个方向。Three.js r.73号

代码语言:javascript
运行
复制
loader.load("model.js", function(geometry){
geometry.faceVertexUvs[0] = geometry.faceVertexUvs[1];

var mesh = new THREE.Mesh( geometry, new THREE.MeshPhongMaterial( {
  color: 0x777777,
  lightMap: THREE.ImageUtils.loadTexture( "lightmap.png" ),
  normalMap: THREE.ImageUtils.loadTexture( "normalmap.png" ),
  specularMap: THREE.ImageUtils.loadTexture( "specularmap.png" )
}));
scene.add(mesh );
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-02 23:03:29

three.js中的光能地图需要第二组UV。一种解决方案是通过复制第一组UV来添加第二组UV。

对于THREE.Geometry,您可以这样做:

代码语言:javascript
运行
复制
geometry.faceVertexUvs[ 1 ] = geometry.faceVertexUvs[ 0 ];

对于THREE.BufferGeometry,使用此模式;

代码语言:javascript
运行
复制
var uvs = geometry.attributes.uv.array;
geometry.addAttribute( 'uv2', new THREE.BufferAttribute( uvs, 2 ) );

three.js r.73号

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34054388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档