当前位置:   article > 正文

Spine进行动画同时播放(动画叠加)_spine如何让多个动画同时播放

spine如何让多个动画同时播放

```csharp
using Sirenix.OdinInspector;
using Spine.Unity;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MixTest1 : MonoBehaviour
{
	[SerializeField]
	[SpineAnimation]
	private string _beforeAnim;



	[SerializeField]
	[SpineAnimation]
	private string _animationName;
	
	//播放通道序号
	public int TrackIndex = 1;
	public float AttachmentThreshold = 1;
	public float MixDuration = 0;
	public float mixDuration = 5;
	public float delay = 0.1f;

	public SkeletonAnimation skeletonAnimation;


	[Button("Test0")]
	public void Play1()
	{
	
		// 默认前面动画在0播放,可自行修改
		var track = skeletonAnimation.AnimationState.SetAnimation(0, _beforeAnim, true);

	}

	[Button("Test1")]
	public void PlayShoot()
	{
		// 叠加动画 在 通道1播放
		var track = skeletonAnimation.AnimationState.SetAnimation(TrackIndex, _animationName, false);
		track.AttachmentThreshold = AttachmentThreshold;
		track.MixDuration = MixDuration;
		var empty = skeletonAnimation.state.AddEmptyAnimation(TrackIndex, mixDuration, delay);
		empty.AttachmentThreshold = 1f;
	}
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51

在做动画叠加的时候,部分融化直接的 骨骼冲突导致 某些时候只能A融合B而不能B融合A,所以在制作动画的时候,需要考虑好动画之间的关系,哪些是基础动画,哪些是叠加动画

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号