Files
2026-03-04 09:37:33 +08:00

62 lines
1.2 KiB
C#

using System.Collections.Generic;
using KINEMATION.KAnimationCore.Runtime.Attributes;
using KINEMATION.KAnimationCore.Runtime.Rig;
using UnityEngine;
namespace KINEMATION.MagicBlend.Runtime
{
public class MagicBlendAsset : ScriptableObject, IRigUser
{
[Header("Rig")]
public KRig rigAsset;
[Header("Blending")]
[Min(0f)]
public float blendTime = 0.15f;
public AnimationCurve blendCurve = AnimationCurve.EaseInOut(0f, 0f, 1f, 1f);
[Header("Poses")]
public AnimationClip basePose;
public AnimationClip overlayPose;
public List<OverrideOverlay> overrideOverlays = new List<OverrideOverlay>();
[Min(0f)]
public float overlaySpeed = 1f;
[Tooltip("If Overlay is static or not.")]
public bool isAnimation;
public MagicBlendOutType blendOutType;
[Unfold]
public List<LayeredBlend> layeredBlends = new List<LayeredBlend>();
[Range(0f, 1f)]
public float globalWeight = 1f;
public KRig GetRigAsset()
{
return rigAsset;
}
public bool HasOverrides()
{
if (overrideOverlays.Count == 0)
{
return false;
}
foreach (OverrideOverlay overrideOverlay in overrideOverlays)
{
if (overrideOverlay.overlay == null)
{
return false;
}
}
return true;
}
}
}