mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Fix effect ruleset + fix fog sphere size (shared material bad)
This commit is contained in:
parent
aec10970cd
commit
e916471e19
@ -210,15 +210,7 @@ namespace NewHorizons.Builder.Props
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set up screen fog effect
|
// Set up screen fog effect
|
||||||
// (in the base game, any sector that contains a bramble node needs an EffectRuleset with type FogWarp)
|
var fogEffectRuleset = sector.gameObject.GetAddComponent<EffectRuleset>();
|
||||||
// (this isn't jank I swear, this is how it's supposed to work)
|
|
||||||
var sectorHasFogEffectRuleset = sector
|
|
||||||
.GetComponents<EffectRuleset>()
|
|
||||||
.Any(effectRuleset => effectRuleset._type == EffectRuleset.BubbleType.FogWarp);
|
|
||||||
|
|
||||||
if (!sectorHasFogEffectRuleset)
|
|
||||||
{
|
|
||||||
var fogEffectRuleset = sector.gameObject.AddComponent<EffectRuleset>();
|
|
||||||
fogEffectRuleset._attachedBody = sector.GetAttachedOWRigidbody();
|
fogEffectRuleset._attachedBody = sector.GetAttachedOWRigidbody();
|
||||||
fogEffectRuleset._triggerVolume = sector.GetTriggerVolume();
|
fogEffectRuleset._triggerVolume = sector.GetTriggerVolume();
|
||||||
fogEffectRuleset._type = EffectRuleset.BubbleType.FogWarp;
|
fogEffectRuleset._type = EffectRuleset.BubbleType.FogWarp;
|
||||||
@ -226,7 +218,6 @@ namespace NewHorizons.Builder.Props
|
|||||||
fogEffectRuleset._underwaterMaxDistort = 0.1f;
|
fogEffectRuleset._underwaterMaxDistort = 0.1f;
|
||||||
fogEffectRuleset._underwaterMinDistort = 0.005f;
|
fogEffectRuleset._underwaterMinDistort = 0.005f;
|
||||||
fogEffectRuleset._material = GameObject.Find("DB_PioneerDimension_Body/Sector_PioneerDimension").GetComponent<EffectRuleset>()._material;
|
fogEffectRuleset._material = GameObject.Find("DB_PioneerDimension_Body/Sector_PioneerDimension").GetComponent<EffectRuleset>()._material;
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: replace InnerFogWarpVolume with NHInnerFogWarpVolume, which overrides GetFogDensity to
|
// TODO: replace InnerFogWarpVolume with NHInnerFogWarpVolume, which overrides GetFogDensity to
|
||||||
// account for scale (this will fix the issue with screen fog caused by scaled down nodes)
|
// account for scale (this will fix the issue with screen fog caused by scaled down nodes)
|
||||||
@ -241,7 +232,9 @@ namespace NewHorizons.Builder.Props
|
|||||||
if (!config.isSeed)
|
if (!config.isSeed)
|
||||||
{
|
{
|
||||||
var fog = brambleNode.FindChild("Effects/InnerWarpFogSphere");
|
var fog = brambleNode.FindChild("Effects/InnerWarpFogSphere");
|
||||||
var fogMaterial = fog.GetComponent<MeshRenderer>().sharedMaterial;
|
var fogMR = fog.GetComponent<MeshRenderer>();
|
||||||
|
var fogMaterial = new Material(fogMR.sharedMaterial);
|
||||||
|
fogMR.material = fogMaterial;
|
||||||
fog.transform.localScale /= config.scale;
|
fog.transform.localScale /= config.scale;
|
||||||
fogMaterial.SetFloat("_Radius", fogMaterial.GetFloat("_Radius") * config.scale);
|
fogMaterial.SetFloat("_Radius", fogMaterial.GetFloat("_Radius") * config.scale);
|
||||||
fogMaterial.SetFloat("_Density", fogMaterial.GetFloat("_Density") / config.scale);
|
fogMaterial.SetFloat("_Density", fogMaterial.GetFloat("_Density") / config.scale);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user