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(); 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; } } }