Fester Simulationstakt und Ansichten, die nur lesen; Nachweis, dass die Partie bei jeder Bildrate dieselbe ist. - LuneClock: Akkumulator, ganze Schritte zu 0,05 s, Alpha zum Interpolieren. - LuneMatchRunner: Host-Ablauf einer Bot-Partie (Planung über die Befehlsschnittstelle, Kampf im festen Takt, Abrechnung, nächste Runde); LuneMatchDriver reicht in Update nur Bildzeit weiter. - LuneTrace: Fingerabdruck der Partie (jeder Schritt, jede Abrechnung) und der reine Kernlauf zum Vergleich. - Ansichten: LuneMatchView, LuneUnitView (interpolierte Position, Blickrichtung, Clips aus Kampfereignissen, Teamring, Lebensbalken), LuneBuildingView mit Einsturz und Ruine aus den autoritativen HP, Turmblitze, LuneCameraRig wie lune_camera.gd, vorläufige Debug-Anzeige (kein HUD; U3 portiert das G3-HUD). - Einheitenbibliothek: Kohlenbeißer aus 131 Teilen zu einem Mesh, Animator- Controller mit den Blender-Clips, Ring- und Balkenmeshes, Markermaterialien. - Tests: EditMode (30/60/120 fps, unbegrenzt, Ruckler, 8x Tempo; Seed 2 und Seed 9 ab Runde 21) und PlayMode in der Szene bei echten Bildraten 30, 60, 120 und unbegrenzt: überall derselbe Fingerabdruck wie der Kern. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
45 lines
1.7 KiB
Text
45 lines
1.7 KiB
Text
// Flat colour for markers (team rings, health bars, tower bolts): Godot's unshaded materials.
|
|
// _ZTest 8 (Always) draws on top like Godot's no_depth_test health bars.
|
|
Shader "Luneraria/Unlit"
|
|
{
|
|
Properties
|
|
{
|
|
[HDR] _Color("Colour", Color) = (1, 1, 1, 1)
|
|
[Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("Z Test", Float) = 4
|
|
[Enum(UnityEngine.Rendering.CullMode)] _Cull("Cull", Float) = 0
|
|
}
|
|
SubShader
|
|
{
|
|
Tags { "RenderType" = "Transparent" "RenderPipeline" = "UniversalPipeline" "Queue" = "Transparent+10" }
|
|
Pass
|
|
{
|
|
Name "Unlit"
|
|
Tags { "LightMode" = "UniversalForward" }
|
|
Blend SrcAlpha OneMinusSrcAlpha
|
|
ZWrite Off
|
|
ZTest [_ZTest]
|
|
Cull [_Cull]
|
|
HLSLPROGRAM
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
#pragma multi_compile_instancing
|
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
|
CBUFFER_START(UnityPerMaterial)
|
|
half4 _Color;
|
|
float _ZTest;
|
|
float _Cull;
|
|
CBUFFER_END
|
|
struct Attributes { float4 positionOS : POSITION; UNITY_VERTEX_INPUT_INSTANCE_ID };
|
|
struct Varyings { float4 positionCS : SV_POSITION; };
|
|
Varyings Vert(Attributes input)
|
|
{
|
|
UNITY_SETUP_INSTANCE_ID(input);
|
|
Varyings output;
|
|
output.positionCS = TransformObjectToHClip(input.positionOS.xyz);
|
|
return output;
|
|
}
|
|
half4 Frag(Varyings input) : SV_Target { return _Color; }
|
|
ENDHLSL
|
|
}
|
|
}
|
|
}
|