Unity 6.3
0 онлайн 7 гостей 3 в системе
Вход

AMDUnityPlugin

класс в UnityEngine.AMD

Выполнено в:UnityEngine.AMDModule

Описание

Предоставляет методы управления загрузкой и разгрузкой плагинов модуля AMD.

AMDUnityPlugin содержит реализацию для AMD's FidelityFX Super Resolution 2 (FSR2) временный upscaler.

Для доступа к этому API, выполните следующие действия:

  1. Откройте окно Package Manager
  2. Перейти к Встроенные пакеты.
  3. Включите пакет AMD.

После включения плагин автоматически загружается Unity и становится доступным для встроенных и пользовательских рабочих процессов интеграции FSR2.

Примечание: Вам не нужно использовать этот API, чтобы включить FSR2 в проекте Unity. Для получения дополнительной информации, см. HDRP Динамическое разрешение.

AMDUnityPlugin позволяет продвинутым пользователям получить доступ и интегрировать AMD FSR2 функциональные возможности непосредственно в пользовательские рабочие процессы рендеринга. Он предназначен в первую очередь для пользователей, которые хотят обойти встроенную интеграцию движка, доступную в High Definition Render Pipeline (HDRP) и реализовать свою собственную логику FSR2, например, через CustomPass или другие расширения Scriptable Render Pipeline (SRP).

При использовании этого API вручную, рекомендуется проверить, что плагин доступен с помощью AMDUnityPlugin.IsLoaded. В случае, если плагин не загружается автоматически (например, конечный пользователь не использует нативный пакет AMD), вы можете загрузить его вручную с помощью AMDUnityPlugin.Load.

Дополнительные ресурсы: FSR2Context, GraphicsDevice, CommandBuffer, ScriptableRenderContext.

using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.HighDefinition;
using UnityEngine.AMD;

// Example HDRP custom pass public class CustomFSRPass : CustomPass { public static bool EnsureAMDPluginLoaded() { if (!AMDUnityPlugin.IsLoaded()) { Debug.Log("AMDUnityPlugin is not loaded!"); if (!AMDUnityPlugin.Load()) { Debug.LogError("Unable to load AMDUnityPlugin"); return false; } }

Debug.Log("AMDUnityPlugin is successfully loaded!"); return true; }

void InitializeAMDDevice() { if (!EnsureAMDPluginLoaded()) return;

// device initialization code }

protected override void Setup(ScriptableRenderContext renderContext, CommandBuffer cmd) { if (amdDevice == null) { InitializeAMDDevice(); } // other pass setup code }

protected override void Execute(CustomPassContext ctx) { // pass execution code }

protected override void Cleanup() { // pass cleanup code }

private GraphicsDevice amdDevice = null; // other member variables }

Статические методы

Метод Описание
IsLoadedПроверяет, был ли загружен AMDUnityPlugin в основном модуле AMD или нет.
LoadПопытки динамической загрузки AMDUnityPlugin.