67 lines
1.3 KiB
C#
67 lines
1.3 KiB
C#
using Artngame.SKYMASTER;
|
|
using UnityEngine;
|
|
|
|
public class VolumetricVolcanoSM : MonoBehaviour
|
|
{
|
|
public FullVolumeCloudsSkyMaster volumeClouds;
|
|
|
|
public bool gui_on;
|
|
|
|
public bool growSmoke;
|
|
|
|
public float growWidthMax = 3.5f;
|
|
|
|
public float growHeightMax = 5200f;
|
|
|
|
public float growWidthMin;
|
|
|
|
public float growHeightMin;
|
|
|
|
private float lerp;
|
|
|
|
private float lerp2;
|
|
|
|
public float growthWidthDuration = 35f;
|
|
|
|
public float growthHeightDuration = 25f;
|
|
|
|
private void Start()
|
|
{
|
|
FullVolumeCloudsSkyMaster[] components = base.transform.GetComponents<FullVolumeCloudsSkyMaster>();
|
|
for (int i = 0; i < components.Length; i++)
|
|
{
|
|
if (components[i].enabled)
|
|
{
|
|
volumeClouds = components[i];
|
|
}
|
|
}
|
|
growWidthMin = volumeClouds._InteractTextureAtr.w;
|
|
growHeightMin = volumeClouds._Altitude1;
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (growSmoke && (bool)volumeClouds)
|
|
{
|
|
lerp += Time.deltaTime / growthWidthDuration;
|
|
lerp2 += Time.deltaTime / growthHeightDuration;
|
|
if (volumeClouds._InteractTextureAtr.w < growWidthMax)
|
|
{
|
|
volumeClouds._InteractTextureAtr.w = Mathf.Lerp(growWidthMin, growWidthMax, lerp);
|
|
}
|
|
if (volumeClouds._Altitude1 < growHeightMax)
|
|
{
|
|
volumeClouds._Altitude1 = Mathf.Lerp(growHeightMin, growHeightMax, lerp2);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void onGUI()
|
|
{
|
|
if (gui_on)
|
|
{
|
|
_ = (bool)volumeClouds;
|
|
}
|
|
}
|
|
}
|