From b1c0d3262972b8cc32441053e6183827cbb3fb7b Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 15 十月 2025 16:16:12 +0800
Subject: [PATCH] 125 战斗 角色身上的buff特效要绑人物中心点(hit挂载点上),否者人物跳跃动作时会特效会脱离,特效配置上有一个绑定骨骼字段,需支持hit点(Buff特效)
---
Main/System/Battle/Buff/BattleObjectBuffMgr.cs | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/Main/System/Battle/Buff/BattleObjectBuffMgr.cs b/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
index e221da3..104fbcf 100644
--- a/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
+++ b/Main/System/Battle/Buff/BattleObjectBuffMgr.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using Spine.Unity;
using UnityEngine;
@@ -31,6 +32,10 @@
BattleEffectPlayer effectPlayer = kv.Value.Key;
if (null != effectPlayer)
{
+ if (effectPlayer.isBindBone)
+ {
+ continue;
+ }
effectPlayer.transform.position = battleObject.heroRectTrans.position;
var effectPos = effectPlayer.effectConfig.effectPos;
if (null != effectPos && effectPos.Length >= 2)
@@ -113,14 +118,14 @@
return;
}
- bool isNew = false;
+ // bool isNew = false;
if (buffDataDict.ContainsKey(vNetData.BuffID))
{
buffDataDict[vNetData.BuffID] = vNetData;
}
else
{
- isNew = true;
+ // isNew = true;
buffDataDict.Add(vNetData.BuffID, vNetData);
}
@@ -138,6 +143,11 @@
else
{
BattleEffectPlayer effect = battleObject.battleField.battleEffectMgr.PlayEffect(battleObject, skillConfig.BuffEffect, battleObject.heroRectTrans, battleObject.Camp);
+
+ BoneFollower boneFollower = effect.AddMissingComponent<BoneFollower>();
+
+ effect.BindBone(battleObject.motionBase.skeletonAnim, "hit");
+
HashSet<uint> buffIdSet = new HashSet<uint>();
buffIdSet.Add(vNetData.BuffID);
buffEffectDict.Add(skillConfig.BuffEffect, new KeyValuePair<BattleEffectPlayer, HashSet<uint>>(effect, buffIdSet));
--
Gitblit v1.8.0