diff --git a/Assets/ModelRenderer/Art/Models/models/weapons/人物/刀剑/双手双剑/子母剑/子母剑_右.prefab b/Assets/ModelRenderer/Art/Models/models/weapons/人物/刀剑/双手双剑/子母剑/子母剑_右.prefab index a714c71c4e..66da39859d 100644 --- a/Assets/ModelRenderer/Art/Models/models/weapons/人物/刀剑/双手双剑/子母剑/子母剑_右.prefab +++ b/Assets/ModelRenderer/Art/Models/models/weapons/人物/刀剑/双手双剑/子母剑/子母剑_右.prefab @@ -26,13 +26,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7683706845393114874} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0.365, y: -0.002, z: -0.002} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} --- !u!33 &2133889840078759797 MeshFilter: m_ObjectHideFlags: 0 diff --git a/Assets/ModelRenderer/Art/Models/models/weapons/人物/刀剑/双手双剑/子母剑/子母剑_左.prefab b/Assets/ModelRenderer/Art/Models/models/weapons/人物/刀剑/双手双剑/子母剑/子母剑_左.prefab index 6a2822b6ee..6954966b5d 100644 --- a/Assets/ModelRenderer/Art/Models/models/weapons/人物/刀剑/双手双剑/子母剑/子母剑_左.prefab +++ b/Assets/ModelRenderer/Art/Models/models/weapons/人物/刀剑/双手双剑/子母剑/子母剑_左.prefab @@ -26,13 +26,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1062321236472470772} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0.365, y: -0.002, z: -0.002} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} --- !u!33 &3655013707296471465 MeshFilter: m_ObjectHideFlags: 0 diff --git a/Assets/ModelRenderer/Art/Models/models/weapons/人物/斧锤/双手双斧/闪华斧/闪华斧.prefab b/Assets/ModelRenderer/Art/Models/models/weapons/人物/斧锤/双手双斧/闪华斧/闪华斧.prefab index 29ca14ed5c..adb24198a2 100644 --- a/Assets/ModelRenderer/Art/Models/models/weapons/人物/斧锤/双手双斧/闪华斧/闪华斧.prefab +++ b/Assets/ModelRenderer/Art/Models/models/weapons/人物/斧锤/双手双斧/闪华斧/闪华斧.prefab @@ -26,13 +26,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3330708356810309571} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0.388, y: -0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} --- !u!33 &666975227472843166 MeshFilter: m_ObjectHideFlags: 0 diff --git a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs index edd0d403d5..70942446f6 100644 --- a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs @@ -36,6 +36,11 @@ namespace BrewMonster [SerializeField] internal INFO m_PlayerInfo; public CECModel m_pPlayerCECModel; protected GameObject m_pPlayerModel => m_pPlayerCECModel.m_pPlayerModel; + public bool IsPlayerModelReady + { + get; + protected set; + } protected float rotationSpeed = 5; internal int m_iMoveMode; // Player's move mode [SerializeField] internal int m_idSelTarget; @@ -331,6 +336,9 @@ namespace BrewMonster m_pModels[(int)PLAYERMODEL_TYPE.PLAYERMODEL_MAJOR] = m_pPlayerModel; m_iShape = 0; + // Set the player model ready flag + IsPlayerModelReady = true; + // Update visual components after model is set (with delay to ensure NamedAnimancerComponent is available) // 设置模型后更新视觉组件(延迟以确保NamedAnimancerComponent可用) StartCoroutine(UpdateVisualComponentsDelayed()); diff --git a/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs b/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs index a71761b689..f9878ddd59 100644 --- a/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs +++ b/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs @@ -533,7 +533,7 @@ namespace BrewMonster } } - public void OnMsgPlayerEquipData(ECMSG Msg) + public async void OnMsgPlayerEquipData(ECMSG Msg) { // using namespace S2C; @@ -567,7 +567,17 @@ namespace BrewMonster } // // Change equipment - ChangeEquipments(bReset, crc, iAddMask, iDelMask, aAdded); + // ChangeEquipments(bReset, crc, iAddMask, iDelMask, aAdded); + await QueueChangeEquipments(bReset, crc, iAddMask, iDelMask, aAdded); + } + + private async UniTask QueueChangeEquipments(bool bReset, int crc, long iAddMask, long iDelMask, int[] aAddedEquip) + { + while (!IsPlayerModelReady) + { + await UniTask.DelayFrame(1); + } + ChangeEquipments(bReset, crc, iAddMask, iDelMask, aAddedEquip); } ///