33 lines
1.9 KiB
C#
33 lines
1.9 KiB
C#
// WL-816k — 데모 물 셰이더의 **숨김 포함 전체 속성** 실측 (깊이·불투명도 제어가 있는지)
|
|
using UnityEngine;
|
|
using System.Text;
|
|
|
|
public static class WL816k_Props
|
|
{
|
|
public static void Run()
|
|
{
|
|
var sb = new StringBuilder();
|
|
var m = UnityEditor.AssetDatabase.LoadAssetAtPath<Material>("Assets/WL/Look/Farm/Materials/Farm_Water_Demo.mat");
|
|
var sh = m != null ? m.shader : null;
|
|
if (sh == null) { Debug.Log("[816k props] 🔴 없음"); return; }
|
|
sb.AppendLine("=== " + sh.name + " 전체 속성 " + sh.GetPropertyCount() + "개 (숨김 포함) ===");
|
|
for (int i = 0; i < sh.GetPropertyCount(); i++)
|
|
{
|
|
string n = sh.GetPropertyName(i);
|
|
var t = sh.GetPropertyType(i);
|
|
var fl = sh.GetPropertyFlags(i);
|
|
string v = "?";
|
|
if (t == UnityEngine.Rendering.ShaderPropertyType.Color) v = m.GetColor(n).ToString("F3");
|
|
else if (t == UnityEngine.Rendering.ShaderPropertyType.Vector) v = m.GetVector(n).ToString("F3");
|
|
else if (t == UnityEngine.Rendering.ShaderPropertyType.Float || t == UnityEngine.Rendering.ShaderPropertyType.Range) v = m.GetFloat(n).ToString("F4");
|
|
else if (t == UnityEngine.Rendering.ShaderPropertyType.Texture) { var tx = m.GetTexture(n); v = tx == null ? "(없음)" : tx.name; }
|
|
sb.AppendLine(" " + n + " [" + t + "]" + (fl == UnityEngine.Rendering.ShaderPropertyFlags.None ? "" : " {" + fl + "}") + " = " + v);
|
|
}
|
|
sb.AppendLine("");
|
|
sb.AppendLine("renderQueue=" + m.renderQueue + " · passes=" + m.passCount + " · keywords=" + string.Join(",", m.shaderKeywords));
|
|
for (int p = 0; p < m.passCount; p++) sb.AppendLine(" pass " + p + " = " + m.GetPassName(p) + " enabled=" + m.GetShaderPassEnabled(m.GetPassName(p)));
|
|
System.IO.File.WriteAllText("AgentScripts/WL816k_PROPS.txt", sb.ToString());
|
|
Debug.Log("[816k props]\n" + sb);
|
|
}
|
|
}
|