Net.Like.Xue.Tokyo/Assets/Arts/Rukha93/ModularAnimeCharacter/Samples/Customization/Scripts/Utils/LerpOnScroll.cs

31 lines
1.1 KiB
C#
Raw Normal View History

2025-02-24 23:03:39 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Rukha93.ModularAnimeCharacter.Customization.Utils
{
public class LerpOnScroll : MonoBehaviour
{
[SerializeField] private Transform m_Target;
[SerializeField] private Transform m_PositionA;
[SerializeField] private Transform m_PositionB;
[Space]
[SerializeField] private float m_Step = 0.15f;
[SerializeField] private float m_LerpSpeed = 4;
private float m_LerpAmount;
private float m_LerpTarget;
// Update is called once per frame
void Update()
{
if (Input.mouseScrollDelta.y < 0)
m_LerpTarget = Mathf.Max(m_LerpTarget - m_Step, 0);
else if (Input.mouseScrollDelta.y > 0)
m_LerpTarget = Mathf.Min(m_LerpTarget + m_Step, 1);
m_LerpAmount = Mathf.Lerp(m_LerpAmount, m_LerpTarget, Time.deltaTime * m_LerpSpeed);
m_Target.position = Vector3.Lerp(m_PositionA.position, m_PositionB.position, m_LerpAmount);
}
}
}