精灵(Sprite)

优质
小牛编辑
154浏览
2023-12-01

精灵是一个总是面朝着摄像机的平面,通常含有使用一个半透明的纹理。

精灵不会投射任何阴影,即使设置了

castShadow = true
也将不会有任何效果。

代码示例

const map = new THREE.TextureLoader().load( "sprite.png" );
const material = new THREE.SpriteMaterial( { map: map } );
const sprite = new THREE.Sprite( material );
scene.add( sprite );

构造器

Sprite( material : Material )

material - (可选值)是SpriteMaterial的一个实例。 默认值是一个白色的SpriteMaterial

创建一个新的Sprite。

属性

共有属性请参见其基类Object3D

.material : SpriteMaterial

SpriteMaterial的一个实例,定义了这个对象的外观。默认值是一个白色的SpriteMaterial

.center : Vector2

这个精灵的锚点,也就是精灵旋转时,围绕着旋转的点。当值为(0.5,0.5)时,对应着这个精灵的中心点;当值为(0,0)时,对应着这个精灵左下角的点。
其默认值是(0.5,0.5)。

方法

共有方法请参见其基类Object3D

.clone () : Sprite

返回当前Sprite对象的一个克隆及其任何后代。

.copy ( sprite : Sprite ) : Sprite

将前一个Sprite对象的属性复制给当前的这个对象。

.raycast ( raycaster : Raycaster, intersects : Array ) : null

在投射的光线和精灵之前产生交互。Raycaster.intersectObject将会调用这个方法。 在对sprite进行射线投射之前,射线投射必须通过调用Raycaster.setFromCamera()来初始化。

源代码

src/objects/Sprite.js