46 lines
1.3 KiB
C#
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());
|
|
}
|
|
}
|
|
} |