In Godot 4 gibt es zwei relevante Eigenschaften, um Layer zu filtern:
- cull_mask: Bitmask die bestimmt, welche Layer von der Kamera gerendert werden.
- layers: Bitmask die bestimmt auf welchem Layer ein Objekt gerendert wird.
Eine Bitmask ist eine Zahl, bei der jedes Bit (einzelne Position in der Binärdarstellung) für eine spezifische Eigenschaft oder einen Zustand steht. In Bezug auf Layers bedeutet das, dass jedes Bit angibt, ob ein bestimmter Layer aktiv ist (1) oder nicht (0).
- Layer 1 (Bit 0) aktiv: 0000 0000 0000 0000 0001 (dezimal: 1)
- Layer 2 (Bit 1) aktiv: 0000 0000 0000 0000 0010 (dezimal: 2)
- Layer 3 (Bit 2) aktiv: 0000 0000 0000 0000 0100 (dezimal: 4)
- Layer 4 (Bit 3) aktiv: 0000 0000 0000 0000 1000 (dezimal: 8)
Wenn du mehrere Layers aktivieren möchtest, kombinierst du sie mit einer bitweisen ODER (|) Operation.
mesh.layers = (1 << 0) | (1 << 3)
Um ein Layer zu deaktivieren, nutzt du eine bitweise UND Operation (&) mit der negierten Maske (~)
mesh_instance.layers &= ~(1 << 1)