mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Implement proper scale height for lava spheres
This commit is contained in:
parent
5971f86d49
commit
076161d157
@ -14,6 +14,17 @@ namespace NewHorizons.Builder.Body
|
|||||||
{
|
{
|
||||||
public static void Make(GameObject body, Sector sector, OWRigidbody rb, LavaModule module)
|
public static void Make(GameObject body, Sector sector, OWRigidbody rb, LavaModule module)
|
||||||
{
|
{
|
||||||
|
var heightScale = module.Size;
|
||||||
|
if(module.Curve != null)
|
||||||
|
{
|
||||||
|
var modifier = 1f;
|
||||||
|
foreach(var pair in module.Curve)
|
||||||
|
{
|
||||||
|
if (pair.Value < modifier) modifier = pair.Value;
|
||||||
|
}
|
||||||
|
heightScale = Mathf.Max(0.1f, heightScale * modifier);
|
||||||
|
}
|
||||||
|
|
||||||
var moltenCore = new GameObject("MoltenCore");
|
var moltenCore = new GameObject("MoltenCore");
|
||||||
moltenCore.SetActive(false);
|
moltenCore.SetActive(false);
|
||||||
moltenCore.transform.parent = body.transform;
|
moltenCore.transform.parent = body.transform;
|
||||||
@ -23,7 +34,7 @@ namespace NewHorizons.Builder.Body
|
|||||||
var lavaSphere = GameObject.Instantiate(GameObject.Find("VolcanicMoon_Body/MoltenCore_VM/LavaSphere"), moltenCore.transform);
|
var lavaSphere = GameObject.Instantiate(GameObject.Find("VolcanicMoon_Body/MoltenCore_VM/LavaSphere"), moltenCore.transform);
|
||||||
lavaSphere.transform.localScale = Vector3.one;
|
lavaSphere.transform.localScale = Vector3.one;
|
||||||
lavaSphere.transform.name = "LavaSphere";
|
lavaSphere.transform.name = "LavaSphere";
|
||||||
lavaSphere.GetComponent<MeshRenderer>().material.SetFloat("_HeightScale", module.Size);
|
lavaSphere.GetComponent<MeshRenderer>().material.SetFloat("_HeightScale", heightScale);
|
||||||
if(module.Tint != null) lavaSphere.GetComponent<MeshRenderer>().material.SetColor("_EmissionColor", module.Tint.ToColor());
|
if(module.Tint != null) lavaSphere.GetComponent<MeshRenderer>().material.SetColor("_EmissionColor", module.Tint.ToColor());
|
||||||
|
|
||||||
var sectorCullGroup = lavaSphere.GetComponent<SectorCullGroup>();
|
var sectorCullGroup = lavaSphere.GetComponent<SectorCullGroup>();
|
||||||
@ -35,7 +46,7 @@ namespace NewHorizons.Builder.Body
|
|||||||
var proxyLavaSphere = moltenCoreProxy.transform.Find("LavaSphere (1)");
|
var proxyLavaSphere = moltenCoreProxy.transform.Find("LavaSphere (1)");
|
||||||
proxyLavaSphere.transform.localScale = Vector3.one;
|
proxyLavaSphere.transform.localScale = Vector3.one;
|
||||||
proxyLavaSphere.name = "LavaSphere_Proxy";
|
proxyLavaSphere.name = "LavaSphere_Proxy";
|
||||||
proxyLavaSphere.GetComponent<MeshRenderer>().material.SetFloat("_HeightScale", module.Size);
|
proxyLavaSphere.GetComponent<MeshRenderer>().material.SetFloat("_HeightScale", heightScale);
|
||||||
if (module.Tint != null) proxyLavaSphere.GetComponent<MeshRenderer>().material.SetColor("_EmissionColor", module.Tint.ToColor());
|
if (module.Tint != null) proxyLavaSphere.GetComponent<MeshRenderer>().material.SetColor("_EmissionColor", module.Tint.ToColor());
|
||||||
|
|
||||||
var sectorProxy = moltenCoreProxy.GetComponent<SectorProxy>();
|
var sectorProxy = moltenCoreProxy.GetComponent<SectorProxy>();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user