Merge pull request 'feature/implement-a3dcombineaction' (#353) from feature/implement-a3dcombineaction into develop
Reviewed-on: https://git.pthub.vn/Unity/perfect-world-unity/pulls/353
This commit is contained in:
@@ -5802,6 +5802,7 @@ GameObject:
|
||||
- component: {fileID: 951485137070164928}
|
||||
- component: {fileID: 9219383120328021403}
|
||||
- component: {fileID: 1518080651347164297}
|
||||
- component: {fileID: 7529290832392690387}
|
||||
m_Layer: 0
|
||||
m_Name: "\u767D\u864E"
|
||||
m_TagString: Untagged
|
||||
@@ -6507,6 +6508,19 @@ MonoBehaviour:
|
||||
- {fileID: 7400000, guid: 62aafa98ffa920b4d9e284790c841e32, type: 2}
|
||||
- {fileID: 7400000, guid: 766ba769c8bc5b04aa57515965db8032, type: 2}
|
||||
- {fileID: 7400000, guid: 3a66446861064bc43935ccbcae3086a1, type: 2}
|
||||
--- !u!114 &7529290832392690387
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6482371892830010618}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 472c24b873524423f95454131fd11da6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
combinedActionSO: {fileID: 11400000, guid: 25d808d1c15469e4894091fbadfd23f3, type: 2}
|
||||
--- !u!1 &6577539202937869231
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
+9557
File diff suppressed because it is too large
Load Diff
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 25d808d1c15469e4894091fbadfd23f3
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -721,6 +721,31 @@ namespace BrewMonster
|
||||
}
|
||||
m_pPlayerCECModel.SetSkeletonBuilder(changeModel.GetComponentInChildren<SkeletonBuilder>());
|
||||
m_pPlayerCECModel.SetTransform(changeModel.transform);
|
||||
// Keep action map in sync with the currently active model (major/dummy).
|
||||
// 让动作映射与当前激活模型(主模型/变身模型)保持一致。
|
||||
CombineActHolder combineActHolder = changeModel.GetComponentInChildren<CombineActHolder>();
|
||||
if (combineActHolder != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (combineActHolder.ActionSO != null)
|
||||
{
|
||||
m_pPlayerCECModel.SetCombinedAction(combineActHolder.ActionSO);
|
||||
}
|
||||
else
|
||||
{
|
||||
BMLogger.LogWarning($"[CECPlayer] RefreshCECModel: CombineActHolder.ActionSO is null on '{changeModel.name}'.");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
BMLogger.LogWarning($"[CECPlayer] RefreshCECModel: Failed to read CombineActHolder.ActionSO on '{changeModel.name}': {ex.Message}");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
BMLogger.LogWarning($"[CECPlayer] RefreshCECModel: CombineActHolder not found on '{changeModel.name}'.");
|
||||
}
|
||||
m_pPlayerCECModel.InitializeSkeletonBuilder();
|
||||
}
|
||||
/// <summary>
|
||||
@@ -3791,7 +3816,6 @@ namespace BrewMonster
|
||||
// back to major model is a synchronous operation
|
||||
ApplyShapeModelChange(GetMajorModel());
|
||||
}
|
||||
OnModelChange(GetMajorModel());
|
||||
}
|
||||
void SetShape(byte iShape)
|
||||
{
|
||||
|
||||
@@ -235,6 +235,10 @@ namespace BrewMonster
|
||||
/// <param name="modelRoot">The root GameObject of the model to search for NamedAnimancerComponent / 要搜索NamedAnimancerComponent的模型根GameObject</param>
|
||||
public void RefreshNamedAnimancer(GameObject modelRoot = null)
|
||||
{
|
||||
// Reset old runtime state when swapping model roots to avoid stale AnimancerState references.
|
||||
// 切换模型根节点时重置旧运行时状态,避免持有过期的AnimancerState引用。
|
||||
_currentState = null;
|
||||
_currentAnimationName = null;
|
||||
if (modelRoot != null)
|
||||
{
|
||||
// Search specifically within the model GameObject's hierarchy
|
||||
|
||||
Reference in New Issue
Block a user