Files
com.misaki.hdrp-toon/Runtime/HDRP/Models/UTSRenderPassSetting.cs
2024-10-23 20:15:07 +09:00

46 lines
1.3 KiB
C#

using System;
using UnityEditor;
using UnityEngine;
namespace Unity.Toonshader
{
[Serializable]
public struct UTSOutlineSetting
{
public bool enable;
public LayerMask layerMask;
}
[Serializable]
public struct UtsHairShadowSetting
{
public bool enable;
public LayerMask casterLayerMask;
}
[CreateAssetMenu(fileName = "UTSRenderSetting", menuName = "UTS/RenderSetting")]
public class UTSRenderPassSetting : ScriptableObject
{
public const string RENDERER_SETTING_ASSET_PATH = "Packages/com.misaki.hdrp-toon/Runtime/HDRP/Resources/UTSRenderSetting.asset";
public UTSOutlineSetting outlineSetting;
public UtsHairShadowSetting hairShadowSetting;
internal static UTSRenderPassSetting GetOrCreateSettings()
{
var settings = AssetDatabase.LoadAssetAtPath<UTSRenderPassSetting>(RENDERER_SETTING_ASSET_PATH);
if (settings == null)
{
settings = CreateInstance<UTSRenderPassSetting>();
AssetDatabase.CreateAsset(settings, RENDERER_SETTING_ASSET_PATH);
AssetDatabase.SaveAssets();
}
return settings;
}
public static SerializedObject GetSerializedSettings()
{
return new(GetOrCreateSettings());
}
}
}