【发布时间】:2014-08-05 05:13:30
【问题描述】:
是否可以在材质周围添加边框,如图所示,
我可以通过以下代码设置材质颜色
object.traverse( function ( child )
{
if ( child instanceof THREE.Mesh )
child.material.color.setRGB (1, 0, 0);
});
object 是我加载的 3d 模型,所以我假设应该有一种方法来绘制边框,three.js.中是否有任何选项@
根据@shiva 的评论,我已经尝试使用以下代码来绘制发光效果
if(childObject.material.name=="material4046")
{
mesh = new THREE.Mesh( globalGeomtry, material );
// mesh.visible = false
scene.add( mesh );
console.log(mesh);
// create a glowMesh
var glowMesh = new THREEx.GeometricGlowMesh(mesh);
mesh.add(glowMesh.object3d);
// example of customization of the default glowMesh
var insideUniforms = glowMesh.insideMesh.material.uniforms;
insideUniforms.coeficient.value = 2;
insideUniforms.power.value = 1.4;
insideUniforms.glowColor.value.set('red');
var outsideUniforms = glowMesh.outsideMesh.material.uniforms;
outsideUniforms.coeficient.value = 2;
outsideUniforms.power.value = 1.4;
outsideUniforms.glowColor.value.set('red');
}
现在输出看起来像第二张图片, 我想要这种发光效果作为该材料周围的边框,有可能吗
【问题讨论】:
-
嗨@Shiva 在使用这些功能时遇到了一些未定义的错误
-
嗨@Shiva 检查更新代码,你能帮我吗
-
@JothiKannan: 你能把你的完整代码制作成一个 JSfiddle,如果你在加载模型 JS 文件时遇到任何问题,只需将它们上传到 Dropbox 的
public files文件夹,然后对它们进行 AJAX 调用,因为我不太确定答案,将不得不使用代码。
标签: three.js