three.js SpriteMaterial

2023-02-16 17:45 更新

一種使用Sprite的材質。

代碼示例

const map = new THREE.TextureLoader().load( 'textures/sprite.png' );
const material = new THREE.SpriteMaterial( { map: map, color: 0xffffff } );

const sprite = new THREE.Sprite( material );
sprite.scale.set(200, 200, 1)
scene.add( sprite );

例子

WebGL / raycast / sprite
WebGL / sprites
SVG / sandbox

構造函數(Constructor)

SpriteMaterial( parameters : Object )

parameters - (可選)用于定義材質外觀的對象,具有一個或多個屬性。 材質的任何屬性都可以從此處傳入(包括從Material 和 ShaderMaterial繼承的任何屬性)。

屬性color例外,其可以作為十六進制字符串傳遞,默認情況下為 0xffffff(白色), 內部調用Color.set(color)。 SpriteMaterials不會被Material.clippingPlanes裁剪。

屬性(Properties)

共有屬性請參見其基類Material。

.alphaMap : Texture

alpha貼圖是一張灰度紋理,用于控制整個表面的不透明度。(黑色:完全透明;白色:完全不透明)。 默認值為null。

僅使用紋理的顏色,忽略alpha通道(如果存在)。 對于RGB和RGBA紋理,WebGL渲染器在采樣此紋理時將使用綠色通道, 因為在DXT壓縮和未壓縮RGB 565格式中為綠色提供了額外的精度。 Luminance-only以及l(fā)uminance/alpha紋理也仍然有效。

.color : Color

材質的顏色(Color),默認值為白色 (0xffffff)。 .map會和 color 相乘。

.fog : Boolean

材質是否受霧影響。默認為true。

.isSpriteMaterial : Boolean

只讀標志,用于檢查給定對象是否屬于 SpriteMaterial 類型。

.map : Texture

顏色貼圖??梢赃x擇包括一個alpha通道,通常與.transparent 或.alphaTest。默認為null。

.rotation : Radians

sprite的轉動,以弧度為單位。默認值為0。

.sizeAttenuation : Boolean

精靈的大小是否會被相機深度衰減。(僅限透視攝像頭。)默認為true。

.transparent : Boolean

定義此材質是否透明。默認值為 true。

方法(Methods)

共有方法請參見其基類Material。

源碼(Source)

src/materials/SpriteMaterial.js


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號