threejs 精灵材质(SpriteMaterial)与pointMaterial的学习

Sprite精灵 Sprite叫精灵,计算机图形学中,精灵指包含于场景中的二维图像或动画(wiki)。

在threejs中,这样说明Sprtite(doc) : A sprite is a plane that always faces towards the camera , generally with a partially transparent texture applied.Sprites do not cast shadows. 即Sprite是一个永远面向相机的平面,通常用来加载纹理,并且,sprite不接受阴影。

SpriteMaterial 材质链接

threejs 精灵材质(SpriteMaterial)与pointMaterial的学习_第1张图片

在threejsr101版本源码里面的Sprite:

threejs 精灵材质(SpriteMaterial)与pointMaterial的学习_第2张图片

一个Sprite是由4个点组成一个geometry。而且SpriteMaterial里面没有size这个属性,所以改变Sprite的大小有两种方法。

1.sprite.scale.set(x,y,z);

2.sprite.position.set(x,y,z);这种方法可能造成sprite被模型遮挡。

PointMaterial 材质链接

threejs 精灵材质(SpriteMaterial)与pointMaterial的学习_第3张图片

它的geometry里面只有一个点,这个材质可以通过size属性改变点精灵大小,相当于改变了gl_PointSize。

备注:我暂时没有找到SpriteMaterial与PointMaterial效果有什么不同,如果知道的同学可以留言告诉我一下。

你可能感兴趣的:(threejs,SpriteMaterial,PointMaterial)