core/lighting/AlphaZeroDepthFloor.cs
public class AlphaZeroDepthFloor : Component {
[Property, ReadOnly] public GameObject ShadowCatcher {get; set;}
[Property, ReadOnly] public GameObject SunLight {get; set;}
protected override void OnAwake() {
Tags.Add("alpha_zero_depth_floor");
GameObject.Name = "A0_DEPTH_FLOOR";
GameObject.Enabled = false;
ShadowCatcher = Scene.CreateObject();
ShadowCatcher.SetParent(GameObject);
ShadowCatcher.Name = "plane";
var model = ShadowCatcher.Components.Create<ModelRenderer>();
model.Model = Model.Load("models/dev/plane.vmdl");
model.MaterialOverride = Material.Load("materials/depth_alpha_zero.vmat");
ShadowCatcher.WorldScale = 100f;
base.OnAwake();
}
}