DBuffer Decals

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Eine kurze Anleitung, um die DBuffer Decal Shader zu aktiveren.
    Wenn man in der Unreal Engine 4 Decals erstellt, bemerkt man schnell, dass deren Transparenz oft durch das Licht gesteuert wird. Sie sind daher im Schatten fast vollkommen transparent und nur im Licht sichtbar.

    Links: Decal im Licht. Rechts: Decal im Schatten. (Wenn man genau hinschaut kann man ganz schwach das Decal erkennen)

    Oft möchte man aber, dass das Decal in beiden Situationen zu sehen ist, z.B. um die Wand einzufärben oder um gewisse Details anzubrigen. Dazu gibt es die DBuffer Decal Blend Modes in den Decal Materials. Diese sind jedoch erst richtig einsetzbar, wenn man in der Config folgende Einstellungen vornimmt:

    Quellcode: DefaultEngine.ini

    1. [/Script/Engine.RendererSettings]
    2. r.DBuffer=True
    3. r.EarlyZPass=2
    4. r.EarlyZPassMovable=True



    Nach einem Neustart der Engine sollten nun folgende zusätzlichen Blend Modes für Decals zur verfügung stehen. Höchstwahrscheinlich müssen alle Shader neu kompiliert werden, daher kann der erneute Engine-Start etwas Zeit in Anpruch nehmen.
    Danach kann man folgende Decal Blend Modes benutzen:


    Im folgenden Beispiel wurde der Blend Mode "DBuffer Translucent Color" genutzt. Wie man sehen kann verändert der Decal jetzt nur die Farbe der Wand und wird entsprechend beleuchtet.


    Links: DBuffer Decal im Licht. Rechts: DBuffer Decal im Schatten.

    DBuffer Decals können nicht nur die Farbe einer Fläche verändern sondern auch andere Eigenschaften. Im obigen Beispiel sieht man, dass die Wand noch ihre Normals behalten hat und entsprechend schattiert wird. Weiteres Beispiel: Über den Decal Blend Mode "DBuffer Translucent Color, Normal" kann man neben der Farbe die Normals verändern:

    705 mal gelesen

Kommentare 5

  • Monsterlutz -

    Danke. Was ist wenn ich eine Grafik (Textur) mit eigener normal Textur als Decal verwenden will und NICHT möchte, dass das Material von dem Asset durch scheint? Wie wenn man zum Beispiel ein Poster an eine Wand pappen will.

    • Darkentik -

      Dann mach es nicht transparent, das ist doch hier der grund wieso man die Steinstruktur durch das rote Viereck sieht. Oder nicht @Tomura ?

    • Tomura -

      Der Grund ist, dass das Decals in diesem Fall nur auf DBuffer Translucent Color gestellt ist. Es "überschreibt" also nur die Color-Eigentschaft, jedoch nicht die Normals. Daher wird es noch über die Normals der Wand Schattiert. Über einen DecalBlend Mode der auch normals verändert sollte man dies aber vollkommen ändern können, sicher bin ich mir da nicht, da DBuffer Decals gewisse limits haben.

    • Monsterlutz -

      Ha, vielen Dank. :)

    • Tomura -

      Habe ein weiteres Beispiel hinzugefügt. Leider können Emissive und Metalsness nicht beeinflusst werden. Hier ist eine Kombination aus zwei oder mehr Decals von verschiedenen Typen nötig.

Unreal®, Unreal Engine, the circle-U logo and the Powered by Unreal Engine logo are trademarks or registered trademarks of Epic Games, Inc. in the United States and elsewhere.