| | |
| | | |
| | | public EffectConfig effectConfig; |
| | | |
| | | public float speedRate = 1f; |
| | | public float speedRate = 1f; //初始化的时候用 修改使用SetSpeed |
| | | |
| | | [Header("是否循环播放spine特效")] |
| | | public bool isPlaySpineLoop = false; |
| | |
| | | // return; |
| | | // } |
| | | |
| | | |
| | | //越大越快 |
| | | public void SetSpeed(float speed) |
| | | { |
| | | speedRate = speed; |
| | | if (spineAnimationState == null) |
| | | { |
| | | Debug.LogError("spineAnimationState is null 可以先调用play"); |
| | | return; |
| | | } |
| | | spineAnimationState.TimeScale = speed; |
| | | } |
| | | |
| | | protected void PlaySpineEffect(bool closePMA = false) |
| | | { |
| | |
| | | spineComp.MeshGenerator.settings.pmaVertexColors = !closePMA; |
| | | spineComp.raycastTarget = false; |
| | | spineComp.Initialize(true); |
| | | spineComp.timeScale = speedRate; |
| | | // 检查动画是否有相加模式 |
| | | // bool hasAdditiveBlend = CheckForAdditiveBlend(spineComp.Skeleton); |
| | | // if (hasAdditiveBlend) |
| | |
| | | spineComp.material = ResManager.Instance.LoadAsset<Material>("Materials", "SkeletonGraphicDefault-Straight"); |
| | | |
| | | spineAnimationState = spineComp.AnimationState; |
| | | spineAnimationState.TimeScale = speedRate; |
| | | spineAnimationState.Data.DefaultMix = 0f; |
| | | spineAnimationState.Complete -= OnSpineAnimationComplete; |
| | | spineAnimationState.Complete += OnSpineAnimationComplete; |