Project_WL/AgentScripts/WL814c_KwProbe.cs

40 lines
2.1 KiB
C#

// WL-814c 임시 조사 — Critter Toon 셰이더의 키워드/프로퍼티 실측(게임 코드 아님 · 커밋 대상 아님)
using System.IO;
using System.Text;
using UnityEditor;
using UnityEngine;
using UnityEngine.Rendering;
public static class WL814c_KwProbe
{
public static void Run()
{
var sb = new StringBuilder();
var sh = AssetDatabase.LoadAssetAtPath<Shader>("Assets/3DPixelArtEnvironment/Shaders/Toon.shadergraph");
sb.AppendLine("shader = " + (sh != null ? sh.name : "null"));
if (sh != null)
{
var ks = sh.keywordSpace;
sb.AppendLine("keywordSpace " + ks.keywordCount + "개:");
foreach (var k in ks.keywords) sb.AppendLine(" - " + k.name + " (valid=" + k.isValid + " override=" + k.isOverridable + ")");
sb.AppendLine("properties " + sh.GetPropertyCount() + "개:");
for (int i = 0; i < sh.GetPropertyCount(); i++)
sb.AppendLine(" " + sh.GetPropertyName(i) + " : " + sh.GetPropertyType(i) + " flags=" + sh.GetPropertyFlags(i));
}
var demo = AssetDatabase.LoadAssetAtPath<Material>("Assets/3DPixelArtEnvironment/Materials/Stone.mat");
if (demo != null)
{
sb.AppendLine("데모 Stone.mat 활성 키워드: " + string.Join(" ", demo.shaderKeywords));
sb.AppendLine(" _Cloud_Density=" + demo.GetFloat("_Cloud_Density") + " _Cloud_Strength=" + demo.GetFloat("_Cloud_Strength") + " _Cloud_Cover=" + demo.GetFloat("_Cloud_Cover"));
}
var mine = AssetDatabase.LoadAssetAtPath<Material>("Assets/WL/Look/Env/Materials/CPT_Terrain_01_Toon.mat");
if (mine != null)
{
sb.AppendLine("생성 CPT_Terrain_01_Toon.mat 활성 키워드: " + string.Join(" ", mine.shaderKeywords));
sb.AppendLine(" _Cloud_Density=" + mine.GetFloat("_Cloud_Density") + " _Cloud_Strength=" + mine.GetFloat("_Cloud_Strength") + " _Shades=" + mine.GetFloat("_Shades"));
}
File.WriteAllText("AgentScripts/WL814c_KW.txt", sb.ToString(), new UTF8Encoding(false));
Debug.Log(sb.ToString());
}
}