three.js PointsMaterial

2023-02-16 17:45 更新

Points使用的默認(rèn)材質(zhì)。

代碼示例

const vertices = [];

for ( let i = 0; i < 10000; i ++ ) {

	const x = THREE.MathUtils.randFloatSpread( 2000 );
	const y = THREE.MathUtils.randFloatSpread( 2000 );
	const z = THREE.MathUtils.randFloatSpread( 2000 );

	vertices.push( x, y, z );

}

const geometry = new THREE.BufferGeometry();
geometry.setAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) );

const material = new THREE.PointsMaterial( { color: 0x888888 } );

const points = new THREE.Points( geometry, material );

scene.add( points );

例子

misc / controls / fly
WebGL / BufferGeometry / drawrange
WebGL / BufferGeometry / points
WebGL / BufferGeometry / points / interleaved
WebGL / camera
WebGL / geometry / convex
WebGL / geometry / shapes
WebGL / interactive / raycasting / points
WebGL / multiple / elements / text
WebGL / points / billboards
WebGL / points / dynamic
WebGL / points / sprites
WebGL / trails

PointsMaterial( parameters : Object )

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

屬性color例外,其可以作為十六進(jìn)制字符串傳遞,默認(rèn)情況下為 0xffffff(白色),內(nèi)部調(diào)用Color.set(color)。

屬性(Properties)

共有屬性請(qǐng)參見(jiàn)其基類Material。

.alphaMap : Texture

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

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

.color : Color

材質(zhì)的顏色(Color),默認(rèn)值為白色 (0xffffff)。

.fog : Boolean

材質(zhì)是否受霧影響。默認(rèn)為true。

.map : Texture

使用來(lái)自Texture的數(shù)據(jù)設(shè)置點(diǎn)的顏色??梢赃x擇包括一個(gè)alpha通道,通常與 .transparent或.alphaTest。

.size : Number

設(shè)置點(diǎn)的大小。默認(rèn)值為1.0。

如果超過(guò)硬件相關(guān)參數(shù) gl.ALIASED_POINT_SIZE_RANGE,將被限制。

.sizeAttenuation : Boolean

指定點(diǎn)的大小是否因相機(jī)深度而衰減。(僅限透視攝像頭。)默認(rèn)為true。

源碼(Source)

src/materials/PointsMaterial.js


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)