我一直在四处寻找,但还没有找到任何真正好的答案来回答我的问题。
问题是我有这个球体..只是一个基本球体,我想翻转法线,所以
球体获得某种“空心/雕刻效果”,然后将我的纹理应用到球体的“内部”。关于如何翻转法线有什么想法吗?
另外..如果不可能在 Three.js 中执行此操作..是否可以导入法线已翻转的模型并获得我正在寻找的效果?
此答案仅适用于 r.125 之前的 Three.js 版本。
遗产Geometry
类已被删除。
您可以通过反转面的缠绕顺序来翻转几何体中的法线。然后你必须修复 UV。
for ( var i = 0; i < geometry.faces.length; i ++ ) {
var face = geometry.faces[ i ];
var temp = face.a;
face.a = face.c;
face.c = temp;
}
geometry.computeFaceNormals();
geometry.computeVertexNormals();
var faceVertexUvs = geometry.faceVertexUvs[ 0 ];
for ( var i = 0; i < faceVertexUvs.length; i ++ ) {
var temp = faceVertexUvs[ i ][ 0 ];
faceVertexUvs[ i ][ 0 ] = faceVertexUvs[ i ][ 2 ];
faceVertexUvs[ i ][ 2 ] = temp;
}
但是,您只需设置即可获得相同的效果Material.side = THREE.BackSide
, or Material.side = THREE.DoubleSide
.
无论哪种情况,您的纹理都会被翻转渲染。您可以预先翻转纹理,或者在 Three.js 之外构建模型并导入它。
三.js r.124
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)