26 lines
909 B
C#
26 lines
909 B
C#
using UnityEngine;
|
|
using Unity.Cinemachine;
|
|
|
|
namespace BaseGames.Camera
|
|
{
|
|
[CreateAssetMenu(menuName = "BaseGames/Camera/BlendProfile")]
|
|
public class CameraBlendProfileSO : ScriptableObject
|
|
{
|
|
public CinemachineBlendDefinition.Styles Style = CinemachineBlendDefinition.Styles.EaseInOut;
|
|
public float BlendTime = 0.5f;
|
|
[Tooltip("Style = Custom 时使用")]
|
|
public AnimationCurve CustomCurve = AnimationCurve.EaseInOut(0f, 0f, 1f, 1f);
|
|
|
|
/// <summary>转换为 Cinemachine 混合定义。</summary>
|
|
public CinemachineBlendDefinition ToBlendDefinition()
|
|
{
|
|
return new CinemachineBlendDefinition
|
|
{
|
|
Style = this.Style,
|
|
Time = this.BlendTime,
|
|
CustomCurve = this.Style == CinemachineBlendDefinition.Styles.Custom ? CustomCurve : null
|
|
};
|
|
}
|
|
}
|
|
}
|