three.js MeshMatcapMaterial

2023-02-16 17:45 更新

MeshMatcapMaterial 由一個(gè)材質(zhì)捕捉(MatCap,或光照球(Lit Sphere))紋理所定義,其編碼了材質(zhì)的顏色與明暗。

由于mapcap圖像文件編碼了烘焙過的光照,因此MeshMatcapMaterial 不對(duì)燈光作出反應(yīng)。 它將會(huì)投射陰影到一個(gè)接受陰影的物體上(and shadow clipping works),但不會(huì)產(chǎn)生自身陰影或是接受陰影。

示例

構(gòu)造函數(shù)(Constructor)

MeshMatcapMaterial( 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)參見其基類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紋理也仍然有效。

.bumpMap : Texture

用于創(chuàng)建凹凸貼圖的紋理。黑色和白色值映射到與光照相關(guān)的感知深度。凹凸實(shí)際上不會(huì)影響對(duì)象的幾何形狀,只影響光照。如果定義了法線貼圖,則將忽略該貼圖。

.bumpScale : Float

凹凸貼圖會(huì)對(duì)材質(zhì)產(chǎn)生多大影響。典型范圍是0-1。默認(rèn)值為1。

.color : Color

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

.displacementMap : Texture

位移貼圖會(huì)影響網(wǎng)格頂點(diǎn)的位置,與僅影響材質(zhì)的光照和陰影的其他貼圖不同,移位的頂點(diǎn)可以投射陰影,阻擋其他對(duì)象, 以及充當(dāng)真實(shí)的幾何體。位移紋理是指:網(wǎng)格的所有頂點(diǎn)被映射為圖像中每個(gè)像素的值(白色是最高的),并且被重定位。

.displacementScale : Float

位移貼圖對(duì)網(wǎng)格的影響程度(黑色是無位移,白色是最大位移)。如果沒有設(shè)置位移貼圖,則不會(huì)應(yīng)用此值。默認(rèn)值為1。

.displacementBias : Float

位移貼圖在網(wǎng)格頂點(diǎn)上的偏移量。如果沒有設(shè)置位移貼圖,則不會(huì)應(yīng)用此值。默認(rèn)值為0。

.flatShading : Boolean

定義材質(zhì)是否使用平面著色進(jìn)行渲染。默認(rèn)值為false。

.fog : Boolean

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

.map : Texture

顏色貼圖??梢赃x擇包括一個(gè)alpha通道,通常與.transparent 或.alphaTest。默認(rèn)為null。 紋理貼圖顏色由漫反射顏色.color調(diào)節(jié)。

.matcap : Texture

matcap貼圖,默認(rèn)為null。

.normalMap : Texture

用于創(chuàng)建法線貼圖的紋理。RGB值會(huì)影響每個(gè)像素片段的曲面法線,并更改顏色照亮的方式。法線貼圖不會(huì)改變曲面的實(shí)際形狀,只會(huì)改變光照。 如果材質(zhì)具有使用左手慣例創(chuàng)作的法線貼圖,則應(yīng)取反 normalScale 的 y 分量以補(bǔ)償不同的手性。

.normalMapType : Integer

法線貼圖的類型。

選項(xiàng)為THREE.TangentSpaceNormalMap(默認(rèn))和THREE.ObjectSpaceNormalMap。

.normalScale : Vector2

法線貼圖對(duì)材質(zhì)的影響程度。典型范圍是0-1。默認(rèn)值是Vector2設(shè)置為(1,1)。

方法(Methods)

共有方法請(qǐng)參見其基類Material。

源碼(Source)

src/materials/MeshMatcapMaterial.js


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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)