IRenderPipelineResources
Описание
Классы, реализующие этот интерфейс, содержат ресурсы, необходимые для работы ваших графических возможностей.
Классы, реализующие этот интерфейс, содержат все ресурсы, обязательные для работы вашего конвейера рендеринга. Есть механизм, который позволяет автоматически заполнить пустые поля на основе ResourcePathAttribute При создании ресурса вызывается механизм загрузки, чтобы убедиться, что ваши ресурсы не созданы с нулевыми значениями. Он вызывается автоматически только при создании.
См. также ResourceContainerAttribute.
using UnityEngine; using UnityEngine.Rendering; using System;
[Serializable] [SupportedOnRenderPipeline(typeof(DummyPipelineAsset))] class MyResourceForFeatureX : IRenderPipelineResources { enum Version { Initial, ChangedIcon1, ChangedShader, Count, Last = Count - 1 } [SerializeField, HideInInspector] Version m_version = Version.Last; public int version => (int)m_version;
[ResourcePath("ResourceAssets/resourceIcon1.png")] public Texture2D icon1; [ResourcePath("ResourceAssets/resourceIcon2.png")] public Texture2D icon2; [ResourcePath("My/Shader/Path", ResourcePathAttribute.SearchType.ShaderName)] public Shader shader; }
Здесь мы добавляем MyResourceForFeatureX, который содержит различные иконки и шейдер для функции рендеринга. С SupportedOn, мы добавляем его только для SRP Universal Render Pipeline. Не стесняйтесь заменить его на свой собственный конвейер или HDRenderPipelineAsset, если вы их используете.