Zum Hauptinhalt springen

Material

Beschreibung

Diese Komponente erzeugt ein Material auf einem Objekt mit Geometrie.

Eigenschaften

EigenschaftTypStandardBeschreibung
rNummer0Wert des roten Kanals des Materials [0...255]
gNummer0Grüner Kanalwert des Materials [0...255]
bNummer0Wert des blauen Kanals des Materials [0...255]
textureSrcString""Die Quelle der Farbkarte, moduliert nach Farbe (falls eingestellt)
RauheitNummer0Wie rau das Material erscheint [0...1]
roughnessMapString""Grüner Kanal dieser Texturkarte Ressource die Rauheit, multipliziert mit der Rauheitszahl.
MetallizitätNummer0Wie metallisch das Material erscheint [0...1]
metalnessMapString""Der blaue Kanal dieser Texturressource beeinflusst, wie metallisch das Material erscheint.
normalScaleNummer0Wie stark die Normal Map (falls eingestellt) das Material beeinflusst [0...1]
normalMapString""Quelle der Normal Map der Textur.
OpazitätNummer0Gesamt-Alpha/Transparenz des Materials [0...1]
opacityMapString""Alpha/Transparenz, die über eine Texturressource abgebildet wird.
emissiveIntensitätNummer0Gesamtintensität der emittierenden Karte [0...1]
emissiveMapString""Die Emissionsstärke wird als Texturressource abgebildet. Moduliert durch Farbe und Intensität der Emission.
emittierendRNummer0Rotkanal-Emissionsfarbe des Materials [0...255]
emittierendGNummer0Emissionsfarbe des grünen Kanals des Materials [0...255]
emittierendBNummer0Blaukanal-Emissionsfarbe des Materials [0...255]
SeiteString""Welche Seiten von Flächen gerendert werden. Wählen Sie zwischen Vorderseite, Rückseite oder doppelt.
MischenString""Überblendung, die bei der Anzeige von Objekten mit diesem Material verwendet werden soll. Wählen Sie aus: keine, normal, additiv, subtraktiv und multiplizieren.
WiederholungXNummer0Wie oft eine Textur auf der X-Achse in einem Material wiederholt wird.
WiederholungYNummer0Wie oft eine Textur auf der Y-Achse in einem Material wiederholt wird.
offsetXNummer0Wie stark eine Textur über ein Material auf der X-Achse versetzt ist.
offsetYNummer0Wie stark eine Textur über ein Material auf der Y-Achse versetzt ist.
depthTestbooleantrueob beim Rendern dieses Materials die Tiefe getestet werden soll
depthWritebooleantrueob sich das Rendern dieses Materials auf den Tiefenpuffer auswirkt
DrahtgitterbooleanfalseGeometrie als Drahtmodell rendern.

Funktionen

Get

Returns a read-only reference.

Example

ecs.Material.get(world, component.eid)

Set

Ensures the component exists on the entity, then assigns the (optional) data to the component.

Example

ecs.Material.set(world, component.eid, {
r: 255,
g: 0,
b: 0
})

Mutate

Perform an update to the component within a callback function. Return true to indicate no changes made.

Example

ecs.Material.mutate(world, component.eid, (cursor) => {
cursor.roughness = 0.8;
cursor.wireframe = true;
return false;
})

Remove

Removes the component from the entity.

Example

ecs.Material.remove(world, component.eid)

Has

Returns true if the component is present on the entity.

Example

ecs.Material.has(world, component.eid)

Reset

Adds, or resets the component to its default state.

Example

ecs.Material.reset(world, component.eid)

Advanced Functions

Cursor

Returns a mutable reference. Cursors are reused so only one cursor for each component can exist at a time.

Example
ecs.Material.cursor(world, component.eid)

Acquire

Same behavior as cursor, but commit must be called after the cursor is done being used.

Example
ecs.Material.acquire(world, component.eid)

Commit

Called after acquire. An optional third argument determines whether the cursor was mutated or not.

Example
ecs.Material.commit(world, component.eid)
ecs.Material.commit(world, component.eid, false)

Dirty

Mark the entity as having been mutated. Only needed in a specific case where systems are mutating data.

Example
ecs.Material.dirty(world, component.eid)