Art/anim: EnemyRigTools + Grindylow + Bathynaut suit-frame builders

BuildGrindylow (SciFiSpace Alien, gloam-blue) = 2nd creature (A1 'twice'
repeatability); BuildBathynautFrame (armored+helmeted soldier, warm-neutral)
= suit-frame preview proving the suit body skins via Rukhanka.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-14 22:21:06 -07:00
parent ec0e3ce5dc
commit 4302687be4
@@ -98,6 +98,37 @@ namespace ProjectM.EditorTools
Debug.Log("[EnemyRigTools] Drowner built -> EnemyDrowner.prefab; add to WaveDirector.EnemyPrefabs[] to spawn it.");
}
/// <summary>LANTERN Grindylow (2nd creature = A1 repeatability): SciFiSpace Alien body, cold gloam-blue, same path.</summary>
[MenuItem("ProjectM/Animation/Enemy Rigs - Build Grindylow (LANTERN)")]
public static void BuildGrindylow()
{
const string atlas = "Assets/Synty/PolygonSciFiSpace/Textures/PolygonSciFiSpace_Texture_01_A.png";
const string mat = "Assets/_Project/Materials/M_Enemy_Grindylow_Animated.mat";
const string synty = "Assets/Synty/PolygonSciFiSpace/Prefabs/Characters/SM_Chr_Alien_01.prefab";
MakeMat(mat, atlas, new Color(0.30f, 0.62f, 0.72f, 1f)); // cold gloam-blue deep-thing
AssetDatabase.SaveAssets();
BuildOne(new Variant { Name = "Grindylow (SciFiSpace Alien)", Template = "Assets/_Project/Prefabs/Enemy.prefab", Synty = synty, Output = "Assets/_Project/Prefabs/EnemyGrindylow.prefab", Material = mat, RootY = -1.13f, Scale = 0f });
AssetDatabase.SaveAssets(); AssetDatabase.Refresh();
Debug.Log("[EnemyRigTools] Grindylow built -> EnemyGrindylow.prefab.");
}
/// <summary>Bathynaut suit-frame PREVIEW: armored+helmeted soldier body, warm-neutral (ours, not gloam). Built on the
/// enemy chassis to PROVE the suit body skins+animates via Rukhanka; player-frame integration (swap into Player.prefab)
/// is a separate step, and the custom brass diving kit is an A3 silhouette upgrade.</summary>
[MenuItem("ProjectM/Animation/Enemy Rigs - Build Bathynaut Suit-Frame (LANTERN)")]
public static void BuildBathynautFrame()
{
const string atlas = "Assets/Synty/PolygonSciFiSpace/Textures/PolygonSciFiSpace_Texture_01_A.png";
const string mat = "Assets/_Project/Materials/M_SuitFrame_Bathynaut_Animated.mat";
const string synty = "Assets/Synty/PolygonSciFiSpace/Prefabs/Characters/SM_Chr_SpaceSoldier_HelmetArmor_Male_01.prefab";
MakeMat(mat, atlas, new Color(0.95f, 0.90f, 0.82f, 1f)); // warm-neutral: our light, not gloam-tinted
AssetDatabase.SaveAssets();
BuildOne(new Variant { Name = "Bathynaut Suit-Frame", Template = "Assets/_Project/Prefabs/Enemy.prefab", Synty = synty, Output = "Assets/_Project/Prefabs/SuitFrame_Bathynaut.prefab", Material = mat, RootY = -1.13f, Scale = 0f });
AssetDatabase.SaveAssets(); AssetDatabase.Refresh();
Debug.Log("[EnemyRigTools] Bathynaut suit-frame preview built -> SuitFrame_Bathynaut.prefab (not wired to the player).");
}
// ---- 1. Materials ------------------------------------------------------------------------------------