如何在三个JS中添加Decals到一个对象

时间:2014-01-12 16:36:54

标签: javascript model three.js geometry webgl

我刚开始使用three.js库并且有关于贴花的问题:

我创建了一个带有纹理的球体。如何在其上添加另一个纹理而不重复它。简短的例子:如果我的球体被“击中”,我想在其上添加另一个看起来像一个bullethole的纹理 - 当然只在那个特定点上。我正在考虑一个透明的.png文件。

这是正确的方法吗?或者我必须为每个比原始球体略大的“冲击”制作另一个球体,然后给它一个透明的png的bullethole纹理,并找到一种只在新球体上显示一次的方法有一定的规模?

有人能指出我正确的方向吗?我是3D-Design / coding / threejs

的新手

这是一个关于youtube的视频,通过点击一个对象来实现它,但我不知道他是如何做到的:

http://www.youtube.com/watch?v=ckLghsutfmA

非常感谢!

1 个答案:

答案 0 :(得分:3)

似乎您链接的视频的作者在github上发布了它背后的代码:

https://github.com/benpurdy/threejs-decals

以下是对此的另一种看法:

https://github.com/spite/THREE.DecalGeometry

这两个都基于here描述的技术。