Unity – Studiennotizen zum URP- und HDRP-Rendering-Modus

Inhaltsverzeichnis

HDRP und UPR sind zwei völlig unterschiedliche Rendering-Modi und können nicht gemischt werden. Sie können nur einen davon auswählen. Am besten entscheiden Sie sich zu Beginn des Projekts. Andernfalls wird es später sehr mühsam, die Materialien aller Modelle zu ändern.

So ändern Sie den Rendering-Modus:

Der Unterschied zwischen HDRP, URP und BRP

Anmerkung


HDRP und UPR sind zwei völlig unterschiedliche Rendering-Modi und können nicht gemischt werden. Sie können nur einen davon auswählen. Am besten entscheiden Sie sich zu Beginn des Projekts. Andernfalls wird es später sehr mühsam, die Materialien aller Modelle zu ändern.

So ändern Sie den Rendering-Modus:

Projekteinstellungen:
1. Die Einstellungen der Grafik->Skriptfähigen Renderpipeline müssen geändert werden. Wenn Sie von hdrp zu upr wechseln, erstellen Sie zunächst ein upr-Rendering-Asset im Asset (mit Universal-Renderer) und fügen Sie es dann hinzu.

2. Andere Einstellungen Gamma\linear im Player->WebGL-Format müssen geändert werden. Linear entspricht HDRP, Gamma entspricht URP, HDRP kann Gamma nicht verwenden; Veröffentlichungseinstellungen->Dekomprimierungs-Fallback verwendet Render-Streaming, was für die Anzeige im praktisch ist Browser.

3. Die Render-Pipeline-Assets in Quality müssen geändert werden. Dieser Vorgang dauert lange. Dies scheint die Hauptmethode zum Ändern der Rendering-Pipeline zu sein.


4. Beim Erstellen von Materialien müssen Sie verschiedene Shader für verschiedene Rendering-Modi auswählen. Für HDRP können Sie nur HDRP/Lit auswählen. Normalerweise können Sie Standard auswählen.

Der Unterschied zwischen HDRP, URP und BRP

Beim Erstellen eines Unity-Projekts können Sie verschiedene Rendering-Pipelines verwenden, z. B. HDRP (High Definition Render Pipeline), URP (Universal Render Pipeline) oder ein normales Projekt (bezieht sich normalerweise auf die Verwendung der integrierten Rendering-Pipeline).

Es gibt einige Unterschiede zwischen diesen Rendering-Pipelines, die sich hauptsächlich auf die Rendering-Qualität, Leistung, Funktionalität und Kompatibilität beziehen. Hier sind einige ihrer Hauptunterschiede:

HDRP (High Definition Render Pipeline):

Rendering-Qualität: HDRP konzentriert sich auf die Bereitstellung hochwertiger Rendering-Effekte, einschließlich realistischer Beleuchtung, Schatten, Reflexionen und globaler Beleuchtung usw., geeignet für Projekte, die äußerst realistische visuelle Effekte erfordern.
Funktionen: HDRP bietet erweiterte Grafik-Spezialeffekte und Rendering-Funktionen wie volumetrischen Nebel, Transparenz-Antialiasing, Übertragung, echte Materialien usw.
Leistung: Da HDRP Rendering-Effekte mit höherer Qualität bietet, ist die Leistung möglicherweise relativ hoch und erfordert eine leistungsfähigere Hardwareunterstützung.
URP (Universal Render Pipeline):

Rendering-Qualität: URP gleicht Rendering-Qualität und Leistung aus, sodass es für Geräte mit mittlerer und niedrigerer Leistung geeignet ist und ein gewisses Maß an grafischer Wirkung bietet.
Funktion: URP bietet einige häufig verwendete Rendering-Effekte und ist bis zu einem gewissen Grad auch anpassbar. Entwickler können sie an die Projektanforderungen anpassen.
Leistung: URP ist hinsichtlich der Leistung leichter als HDRP und eignet sich für mobile Geräte und Plattformen mit eingeschränkter Leistung.
Gewöhnliches Projekt (integrierte Render-Pipeline):

Rendering-Qualität: Die integrierte Rendering-Pipeline bietet grundlegende Rendering-Funktionen und eignet sich für einfache Projekte oder Projekte, die keine hohe Rendering-Qualität erfordern.
Funktionen: Die integrierte Rendering-Pipeline verfügt über relativ wenige Funktionen, kann aber für einige einfache Projekte ausreichen.
Leistung: Integrierte Rendering-Pipelines sind im Allgemeinen leichtgewichtig und für Geräte und Plattformen mit geringerer Leistung geeignet.
Die Auswahl der richtigen Rendering-Pipeline hängt von Ihren Projektanforderungen, Ihrer Zielplattform und dem Kompromiss ab, den Sie zwischen Rendering-Qualität und Leistung eingehen möchten. Wenn Sie möchten, dass Ihr Projekt eine realistische Optik hat und bereit sind, einen gewissen Preis für die Leistung zu zahlen, sollten Sie die Verwendung von HDRP in Betracht ziehen. Wenn Sie eine gute Leistung auf verschiedenen Plattformen benötigen, sollten Sie die Verwendung von URP in Betracht ziehen. Für einfachere Projekte oder Projekte mit geringeren Leistungsanforderungen ist auch die integrierte Rendering-Pipeline eine Option.

Anmerkung

Nach der Änderung des benutzerdefinierten Ereignissystems

So installieren Sie das Eingabesystempaket

Und in Projekteinstellungen->Player->

Der Inhalt des Skripts „ Benutzerdefiniertes

Ereignissystem“ lautet wie folgt:
 

using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.LowLevel;

public class CustomEventSystem : EventSystem
{
    protected override void Awake()
    {
        base.Awake();
        unsafe
        {
            InputSystem.onDeviceCommand += InputSystemOnDeviceCommand;
        }
    }

    private static unsafe long? InputSystemOnDeviceCommand(InputDevice device, InputDeviceCommand* command)
    {
        if (command->type != QueryCanRunInBackground.Type)
        {
            // return null is skip this evaluation
            return null;
        }

        ((QueryCanRunInBackground*)command)->canRunInBackground = true;
        return InputDeviceCommand.GenericSuccess;
    }

    protected override void OnApplicationFocus(bool hasFocus)
    {
        //Do not change focus flag on eventsystem
    }
}

Guess you like

Origin blog.csdn.net/weixin_46149667/article/details/132411734