gpt4 book ai didi

javascript - 如何在 Three.js 形状几何中添加正面和背面纹理?

转载 作者:行者123 更新时间:2023-11-29 19:12:10 24 4
gpt4 key购买 nike

我正在创建一个带有圆 Angular 的平面几何体。这是我的代码的一部分。

    var geometry = new THREE.ShapeGeometry(shape);
var front_material = new THREE.MeshPhongMaterial({ map: frontTexture, side: THREE.FrontSide });
var back_material = new THREE.MeshPhongMaterial({ map: backTexture, side: THREE.BackSide });
var materials = [front_material, back_material];
mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials));

此代码仅加载正面并在背面呈现不可见。经过几个小时的谷歌搜索,我找不到如何在当前 Three.js 版本 r78 上添加 materialIndex。

我怀疑我只需要在这个问题上添加 Material 索引。

最佳答案

如果你想创建一个正面和背面有不同 Material 的扁平形状,你可以使用这种模式:

var geometry = new THREE.ShapeGeometry( shape );

var frontMaterial = new THREE.MeshPhongMaterial( { map: frontTexture, side: THREE.FrontSide } );
var backMaterial = new THREE.MeshPhongMaterial( { map: backTexture, side: THREE.BackSide } );

var materials = [ frontMaterial, backMaterial ];

var object = THREE.SceneUtils.createMultiMaterialObject( geometry, materials );

scene.add( object );

研究 SceneUtils 的源代码,以便了解它在做什么。

three.js r.78

关于javascript - 如何在 Three.js 形状几何中添加正面和背面纹理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38026826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com