66 lines
3.3 KiB
C#
66 lines
3.3 KiB
C#
|
|
// WL-815c 튜닝 — 캡처 1차 실측 뒤 값 조정 + 링 머티리얼 진단
|
|||
|
|
// unity command run_script --file AgentScripts/WL815c_Tune.cs --entry WL815c_Tune.Run
|
|||
|
|
|
|||
|
|
using System.Text;
|
|||
|
|
using UnityEditor;
|
|||
|
|
using UnityEngine;
|
|||
|
|
using WL.Combat.Stage;
|
|||
|
|
|
|||
|
|
public static class WL815c_Tune
|
|||
|
|
{
|
|||
|
|
const string kPath = "Assets/WL/Combat/Stage/Barrier/Resources/WL/WLStageBarrierSettings.asset";
|
|||
|
|
|
|||
|
|
public static string Run()
|
|||
|
|
{
|
|||
|
|
var sb = new StringBuilder();
|
|||
|
|
var so = AssetDatabase.LoadAssetAtPath<WLStageBarrierSettings>(kPath);
|
|||
|
|
if (so == null) return "에셋 없음";
|
|||
|
|
|
|||
|
|
// ── 링 머티리얼 진단(왜 색이 안 먹는가)
|
|||
|
|
if (so.ringPrefab != null)
|
|||
|
|
{
|
|||
|
|
var rs = so.ringPrefab.GetComponentsInChildren<ParticleSystemRenderer>(true);
|
|||
|
|
for (int i = 0; i < rs.Length; i++)
|
|||
|
|
{
|
|||
|
|
var m = rs[i].sharedMaterial;
|
|||
|
|
sb.Append(" 링 PSR ").Append(rs[i].name)
|
|||
|
|
.Append(" · shader ").Append(m != null ? m.shader.name : "null")
|
|||
|
|
.Append(" · _TintColor ").Append(m != null && m.HasProperty("_TintColor") ? m.GetColor("_TintColor").ToString() : "없음")
|
|||
|
|
.Append(" · _Color ").Append(m != null && m.HasProperty("_Color") ? m.GetColor("_Color").ToString() : "없음")
|
|||
|
|
.Append(" · renderMode ").Append(rs[i].renderMode)
|
|||
|
|
.Append(" · 정렬 ").Append(rs[i].sortingOrder).AppendLine();
|
|||
|
|
}
|
|||
|
|
var ps = so.ringPrefab.GetComponentsInChildren<ParticleSystem>(true);
|
|||
|
|
for (int i = 0; i < ps.Length; i++)
|
|||
|
|
sb.Append(" 링 PS ").Append(ps[i].name)
|
|||
|
|
.Append(" · startColor ").Append(ps[i].main.startColor.color.ToString())
|
|||
|
|
.Append(" · colorOverLifetime ").Append(ps[i].colorOverLifetime.enabled ? "ON" : "off")
|
|||
|
|
.Append(" · size ").Append(ps[i].main.startSize.constantMax.ToString("F2")).AppendLine();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// ── ⓒ 불꽃: 1차 캡처에서 「흩어진 불티」로 보였다 → 크기·밀도를 올린다(실측 기반)
|
|||
|
|
so.fireScale = 3f; // Fire_Particles 는 모닥불 크기(shape r0.46) → 3배면 약 1.4 m
|
|||
|
|
so.fireSpacing = 2.5f; // 둘레 88 m → 35기
|
|||
|
|
so.maxTotalParticles = 1600; // 35 × 125 = 4375 → 방출률 ×0.37
|
|||
|
|
so.fireGroundSnap = true;
|
|||
|
|
|
|||
|
|
// ── ⓐ 링: 겹으로 두께를 낸다(도트 룩 대비) + 색은 「곱」이라 1 보다 큰 값이 증폭이다
|
|||
|
|
so.ringExtraRings = 2;
|
|||
|
|
so.ringExtraSpacing = 0.5f;
|
|||
|
|
so.ringColor = new Color(6f, 1.2f, 0.4f, 1f); // 원색(어두운 청 기저 0.027,0.056,0.104)에 곱
|
|||
|
|
so.ringTintEnabled = false; // 🔴 실측 3회 — 이 셰이더에서는 화면 색이 안 바뀐다(보고서 「미확인」)
|
|||
|
|
|
|||
|
|
EditorUtility.SetDirty(so);
|
|||
|
|
AssetDatabase.SaveAssets();
|
|||
|
|
AssetDatabase.Refresh();
|
|||
|
|
|
|||
|
|
sb.Append(" 적용: fireScale ").Append(so.fireScale)
|
|||
|
|
.Append(" · fireSpacing ").Append(so.fireSpacing)
|
|||
|
|
.Append(" · maxTotalParticles ").Append(so.maxTotalParticles)
|
|||
|
|
.Append(" · ringExtraRings ").Append(so.ringExtraRings).AppendLine();
|
|||
|
|
|
|||
|
|
System.IO.File.WriteAllText("AgentScripts/WL815c_TUNE.txt", sb.ToString());
|
|||
|
|
return "tune done → AgentScripts/WL815c_TUNE.txt";
|
|||
|
|
}
|
|||
|
|
}
|