Unity Spine SkeletonGraphic 动画重复播放 过度残影透明渐变Bug 解决方案

Unity Spine SkeletonGraphic 动画重复播放 过度残影透明渐变Bug 解决方案

不推荐使用SetToSetupPose和Setup Pose相关,代码直接贴上

/// <summary>
/// Spine播放设置
/// </summary>
/// <param name="trackIndex">填写0</param>
/// <param name="animationName">动画名</param>
/// <param name="loop">是否循环播放</param>
public void SetAnimation(int trackIndex, string animationName, bool loop)
{
	state.ClearTracks();
	Animation animation = SkeletonData.FindAnimation(animationName);
	if (animation == null) throw new ArgumentNullException("animation", "animation cannot be null.");
	state.SetAnimation(trackIndex, animation, loop);
}

说下其它的,获取Spine信息

SkeletonGraphic spine = this.GetComponent<SkeletonGraphic>();
spine.AnimationState.Tracks.Items[0].TrackTime;//播放动画 当前时间(可读可写)
spine.AnimationState.Tracks.Items[0].AnimationTime;//播放动画 当前时间(只读)
spine.AnimationState.Tracks.Items[0].AnimationEnd;//动画 总长时间(可读可写)

判断Spine是否存在包含动画名

AnimationStateData data = spine.AnimationState.Data;
string getName = anim[Random.Range(0, anim.Length)];
Spine.Animation animation = data.SkeletonData.FindAnimation(getName);
//如果没有存在该动画名 内部会抛出异常
if (animation != null)
{
    SpineHelper.Play(obj, getName, true);
}

Spine设置

spine.freeze = true;//播放停止
spine.timeScale = 1;//播放速度

有什么问题可以找我 QQ1302404040
另外,不要问太简单的问题,我没空,最好自己百度

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值