Files
beyond/Assets/Scripts/Effects/SpiritWorldEffectAnimator.cs
2024-11-20 15:21:28 +01:00

46 lines
1.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using Sirenix.OdinInspector;
using UnityEngine;
using DG;
using DG.Tweening;
public class SpiritWorldEffectAnimator : MonoBehaviour
{
[SerializeField] MeshRenderer m_mesh;
Material m_material;
public float m_dissolveTime = 3f;
public float m_cutoutThMaxValue = 0.9f;
private void Awake()
{
if (m_mesh == null)
m_mesh = GetComponent<MeshRenderer>();
if (m_mesh == null)
{
Debug.LogError("No mesh renderer found!");
return;
}
m_material = m_mesh.material;
}
[Button]
void Uncreate()
{
DOTween.Kill(m_material);
m_material.SetFloat("_CutoutTh", m_cutoutThMaxValue);
m_material.DOFloat(0f, "_CutoutTh", m_dissolveTime);
}
[Button]
void Create()
{
DOTween.Kill(m_material);
m_material.SetFloat("_CutoutTh", 0f);
m_material.DOFloat(m_cutoutThMaxValue, "_CutoutTh", m_dissolveTime);
}
}