Add EyeSunLightParamUpdater

This commit is contained in:
Noah Pilarski 2022-09-10 19:06:44 -04:00
parent 11a30e7204
commit a7e13a7f6d
2 changed files with 28 additions and 0 deletions

View File

@ -0,0 +1,26 @@
using NewHorizons.Builder.Atmosphere;
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace NewHorizons.Components
{
public class EyeSunLightParamUpdater : MonoBehaviour
{
public static readonly int SunPosition = Shader.PropertyToID("_SunPosition");
public static readonly int OWSunPositionRange = Shader.PropertyToID("_OWSunPositionRange");
public static readonly int OWSunColorIntensity = Shader.PropertyToID("_OWSunColorIntensity");
public static readonly Vector3 position = new Vector3(0, 1, -10) * 1000000;
public static readonly Vector4 color = new Vector4(0.3569f, 0.7843f, 1, 0.2f);
public static readonly float radius = 100;
public static readonly float range = 100000;
public void LateUpdate()
{
Shader.SetGlobalVector(SunPosition, new Vector4(position.x, position.y, position.z, radius));
Shader.SetGlobalVector(OWSunPositionRange, new Vector4(position.x, position.y, position.z, range * range));
Shader.SetGlobalVector(OWSunColorIntensity, color);
}
}
}

View File

@ -395,6 +395,8 @@ namespace NewHorizons
EyeState.ZoomOut EyeState.ZoomOut
}; };
solarSystemRoot.AddComponent<EyeSunLightParamUpdater>();
if (IsWarpingFromShip && _ship != null) if (IsWarpingFromShip && _ship != null)
{ {
var eyeShip = GameObject.Instantiate(_ship); var eyeShip = GameObject.Instantiate(_ship);