浏览代码

start dynamic cleanup and more debug for NaNs

/active-variablespeed
HH 4 年前
当前提交
7c63197e
共有 7 个文件被更改,包括 1078 次插入1337 次删除
  1. 24
      Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/JointDriveController.cs
  2. 957
      Project/Assets/ML-Agents/Examples/Walker/Prefabs/DynamicPlatformWalker.prefab
  3. 375
      Project/Assets/ML-Agents/Examples/Walker/Scenes/WalkerDynamic.unity
  4. 45
      Project/Assets/ML-Agents/Examples/Walker/Scenes/WalkerStaticVariableSpeed.unity
  5. 2
      config/ppo/WalkerDynamic.yaml
  6. 1001
      Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerDynamic CL NoReset with HH.nn
  7. 11
      Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerDynamic CL NoReset with HH.nn.meta

24
Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/JointDriveController.cs


{
if (float.IsNaN(x) || float.IsNaN(y) || float.IsNaN(z))
{
joint.targetRotation = Quaternion.identity;
// return;
}
else
{
Debug.Log($"Action on {rb.name}: x:{x}, y:{y}, z:{z}, FrameCount:{Time.frameCount}");
return;
// else
// {
// Debug.Log($"Action on {rb.name}: x:{x}, y:{y}, z:{z}, FrameCount:{Time.frameCount}");
//
// }
x = (x + 1f) * 0.5f;
y = (y + 1f) * 0.5f;

var yRot = Mathf.Lerp(-joint.angularYLimit.limit, joint.angularYLimit.limit, y);
var zRot = Mathf.Lerp(-joint.angularZLimit.limit, joint.angularZLimit.limit, z);
currentXNormalizedRot =
Mathf.InverseLerp(joint.lowAngularXLimit.limit, joint.highAngularXLimit.limit, xRot);
currentYNormalizedRot = Mathf.InverseLerp(-joint.angularYLimit.limit, joint.angularYLimit.limit, yRot);
currentZNormalizedRot = Mathf.InverseLerp(-joint.angularZLimit.limit, joint.angularZLimit.limit, zRot);
// currentXNormalizedRot =
// Mathf.InverseLerp(joint.lowAngularXLimit.limit, joint.highAngularXLimit.limit, xRot);
// currentYNormalizedRot = Mathf.InverseLerp(-joint.angularYLimit.limit, joint.angularYLimit.limit, yRot);
// currentZNormalizedRot = Mathf.InverseLerp(-joint.angularZLimit.limit, joint.angularZLimit.limit, zRot);
currentEularJointRotation = new Vector3(xRot, yRot, zRot);
// currentEularJointRotation = new Vector3(xRot, yRot, zRot);
strength = float.IsNaN(strength)? thisJdController.maxJointForceLimit: Mathf.Clamp(strength, -1f, 1f);
var rawVal = (strength + 1f) * 0.5f * thisJdController.maxJointForceLimit;
// var remappedVal = Mathf.InverseLerp(1, 1, strength);
JointDrive jd = joint.slerpDrive;

957
Project/Assets/ML-Agents/Examples/Walker/Prefabs/DynamicPlatformWalker.prefab
文件差异内容过多而无法显示
查看文件

375
Project/Assets/ML-Agents/Examples/Walker/Scenes/WalkerDynamic.unity


type: 3}
m_PrefabInstance: {fileID: 758428434940870731}
m_PrefabAsset: {fileID: 0}
--- !u!114 &79411373 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 758428434940870733, guid: f51e8260728fd4c8fa87bcda9d0e2027,
type: 3}
m_PrefabInstance: {fileID: 1615064471}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2d2b3caecf069467ebf3a650d8ee401e, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &193531851
PrefabInstance:
m_ObjectHideFlags: 0

objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f51e8260728fd4c8fa87bcda9d0e2027, type: 3}
--- !u!1 &727557265 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 895268871377934275, guid: 765582efd9dda46ed98564603316353f,
type: 3}
m_PrefabInstance: {fileID: 1591796858}
m_PrefabAsset: {fileID: 0}
--- !u!114 &727557267
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 727557265}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2d2b3caecf069467ebf3a650d8ee401e, type: 3}
m_Name:
m_EditorClassIdentifier:
rewardsList:
- rewardKey: matchSpeed
rawVal: 0
rewardScalar: 0.03
rewardThisStep: 0
cumulativeThisEpisode: 0
cumulativeThisSession: 0
lastNaNStep: 0
- rewardKey: lookAtTarget
rawVal: 0
rewardScalar: 0.01
rewardThisStep: 0
cumulativeThisEpisode: 0
cumulativeThisSession: 0
lastNaNStep: 0
- rewardKey: headHeightOverFeet
rawVal: 0
rewardScalar: 0.001
rewardThisStep: 0
cumulativeThisEpisode: 0
cumulativeThisSession: 0
lastNaNStep: 0
- rewardKey: hurryUp
rawVal: 0
rewardScalar: 0
rewardThisStep: 0
cumulativeThisEpisode: 0
cumulativeThisSession: 0
lastNaNStep: 0
- rewardKey: bpVel
rawVal: 0
rewardScalar: -0.001
rewardThisStep: 0
cumulativeThisEpisode: 0
cumulativeThisSession: 0
lastNaNStep: 0
- rewardKey: productOfAllRewards
rawVal: 0
rewardScalar: 1
rewardThisStep: 0
cumulativeThisEpisode: 0
cumulativeThisSession: 0
lastNaNStep: 0
maxSteps: 0
--- !u!1 &781961355
GameObject:
m_ObjectHideFlags: 0

objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f51e8260728fd4c8fa87bcda9d0e2027, type: 3}
--- !u!1001 &1591796858
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 1719819289}
m_Modifications:
- target: {fileID: 693499830, guid: 765582efd9dda46ed98564603316353f, type: 3}
propertyPath: targetToLookAt
value:
objectReference: {fileID: 1983086663}
- target: {fileID: 895268871264836333, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: agentDoneOnGroundContact
value: 1
objectReference: {fileID: 0}
- target: {fileID: 895268871264836333, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: penalizeGroundContact
value: 1
objectReference: {fileID: 0}
- target: {fileID: 895268871377934275, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_Name
value: WalkerRagdoll (2)Approved (1)
objectReference: {fileID: 0}
- target: {fileID: 895268871377934275, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 895268871377934297, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_Model
value:
objectReference: {fileID: 11400000, guid: 9f3141fe97b8f4e46be22b653b41cc15,
type: 3}
- target: {fileID: 895268871377934297, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_BrainParameters.VectorObservationSize
value: 238
objectReference: {fileID: 0}
- target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_LocalPosition.x
value: 1.52
objectReference: {fileID: 0}
- target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_LocalPosition.y
value: 3.07
objectReference: {fileID: 0}
- target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_LocalRotation.y
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_RootOrder
value: 8
objectReference: {fileID: 0}
- target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 90
objectReference: {fileID: 0}
- target: {fileID: 895268871377934298, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 895268871377934303, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: jointDampen
value: 5000
objectReference: {fileID: 0}
- target: {fileID: 895268871377934303, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: maxJointForceLimit
value: 20000
objectReference: {fileID: 0}
- target: {fileID: 895268871635378176, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: ecd59def9213741058b969f699d10e8e, type: 2}
- target: {fileID: 895268872378336987, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: ecd59def9213741058b969f699d10e8e, type: 2}
- target: {fileID: 895268873051627260, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: ecd59def9213741058b969f699d10e8e, type: 2}
- target: {fileID: 7408209125961349353, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: target
value:
objectReference: {fileID: 1983086657}
- target: {fileID: 7408209125961349353, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: rewardManager
value:
objectReference: {fileID: 727557267}
- target: {fileID: 7408209125961349353, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: randomizeWalkSpeedEachEpisode
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7933235353030744119, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_Mass
value: 5
objectReference: {fileID: 0}
- target: {fileID: 7933235353030744139, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: -0.7000002
objectReference: {fileID: 0}
- target: {fileID: 7933235353041637844, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: agentDoneOnGroundContact
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7933235353041637844, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: penalizeGroundContact
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7933235353041637846, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_Mass
value: 3
objectReference: {fileID: 0}
- target: {fileID: 7933235353041637847, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: -0.70000064
objectReference: {fileID: 0}
- target: {fileID: 7933235353195701959, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_Mass
value: 4
objectReference: {fileID: 0}
- target: {fileID: 7933235353195701979, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: 0.5000005
objectReference: {fileID: 0}
- target: {fileID: 7933235353228551180, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: -0.39999408
objectReference: {fileID: 0}
- target: {fileID: 7933235353228551181, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: agentDoneOnGroundContact
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7933235353228551181, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: penalizeGroundContact
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7933235353240438150, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_Mass
value: 4
objectReference: {fileID: 0}
- target: {fileID: 7933235353240438170, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: -0.5000005
objectReference: {fileID: 0}
- target: {fileID: 7933235353272702555, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: -0.00000011920929
objectReference: {fileID: 0}
- target: {fileID: 7933235353655703554, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: 0.00000011920929
objectReference: {fileID: 0}
- target: {fileID: 7933235353711811619, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: 0.00000011920929
objectReference: {fileID: 0}
- target: {fileID: 7933235353713167636, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: 0.39999408
objectReference: {fileID: 0}
- target: {fileID: 7933235353713167637, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: agentDoneOnGroundContact
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7933235353713167637, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: penalizeGroundContact
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7933235354074184697, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_Mass
value: 6
objectReference: {fileID: 0}
- target: {fileID: 7933235354616748523, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: agentDoneOnGroundContact
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7933235354616748523, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: penalizeGroundContact
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7933235354616748525, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_Mass
value: 3
objectReference: {fileID: 0}
- target: {fileID: 7933235354882597209, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: -0.00000011920929
objectReference: {fileID: 0}
- target: {fileID: 7933235355057813909, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_Mass
value: 5
objectReference: {fileID: 0}
- target: {fileID: 7933235355057813929, guid: 765582efd9dda46ed98564603316353f,
type: 3}
propertyPath: m_ConnectedAnchor.x
value: 0.7000002
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 765582efd9dda46ed98564603316353f, type: 3}
--- !u!1001 &1615064471
PrefabInstance:
m_ObjectHideFlags: 0

type: 3}
propertyPath: rewardManager
value:
objectReference: {fileID: 79411373}
objectReference: {fileID: 0}
- target: {fileID: 4507520074116686519, guid: f51e8260728fd4c8fa87bcda9d0e2027,
type: 3}
propertyPath: walkingSpeed

objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f51e8260728fd4c8fa87bcda9d0e2027, type: 3}
--- !u!4 &1719819289 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4715983678655513245, guid: f51e8260728fd4c8fa87bcda9d0e2027,
type: 3}
m_PrefabInstance: {fileID: 758428434940870731}
m_PrefabAsset: {fileID: 0}
--- !u!114 &1983086657 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 5064725739247198300, guid: f51e8260728fd4c8fa87bcda9d0e2027,
type: 3}
m_PrefabInstance: {fileID: 758428434940870731}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3c8f113a8b8d94967b1b1782c549be81, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &1983086663 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4714470935848893865, guid: f51e8260728fd4c8fa87bcda9d0e2027,
type: 3}
m_PrefabInstance: {fileID: 758428434940870731}
m_PrefabAsset: {fileID: 0}
--- !u!1 &2095421678
GameObject:
m_ObjectHideFlags: 0

m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 4415586145491295473, guid: f51e8260728fd4c8fa87bcda9d0e2027,
type: 3}
propertyPath: m_Model
value:
objectReference: {fileID: 11400000, guid: f598eaeeef9f94691989a2cfaaafb565,
type: 3}
- target: {fileID: 4712600297668500197, guid: f51e8260728fd4c8fa87bcda9d0e2027,
type: 3}
propertyPath: m_Name

45
Project/Assets/ML-Agents/Examples/Walker/Scenes/WalkerStaticVariableSpeed.unity


propertyPath: m_Name
value: WalkerVariableSpeedPair (8)
objectReference: {fileID: 0}
- target: {fileID: 4281606851430919889, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4286325758371224431, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_LocalPosition.x

type: 3}
propertyPath: m_Name
value: WalkerVariableSpeedPair (9)
objectReference: {fileID: 0}
- target: {fileID: 4281606851430919889, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4286325758371224431, guid: 2cf62622451524665a92217adfa00e80,
type: 3}

propertyPath: m_Name
value: WalkerVariableSpeedPair (3)
objectReference: {fileID: 0}
- target: {fileID: 4281606851430919889, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4286325758371224431, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_LocalPosition.x

type: 3}
propertyPath: m_Name
value: WalkerVariableSpeedPair (5)
objectReference: {fileID: 0}
- target: {fileID: 4281606851430919889, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4286325758371224431, guid: 2cf62622451524665a92217adfa00e80,
type: 3}

propertyPath: m_Name
value: WalkerVariableSpeedPair (2)
objectReference: {fileID: 0}
- target: {fileID: 4281606851430919889, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4286325758371224431, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_LocalPosition.x

propertyPath: m_Name
value: WalkerVariableSpeedPair (6)
objectReference: {fileID: 0}
- target: {fileID: 4281606851430919889, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4286325758371224431, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_LocalPosition.x

propertyPath: m_Name
value: WalkerVariableSpeedPair (7)
objectReference: {fileID: 0}
- target: {fileID: 4281606851430919889, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4286325758371224431, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_LocalPosition.x

propertyPath: m_Name
value: WalkerVariableSpeedPair (1)
objectReference: {fileID: 0}
- target: {fileID: 4281606851430919889, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4286325758371224431, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_LocalPosition.x

type: 3}
propertyPath: m_Name
value: WalkerVariableSpeedPair (4)
objectReference: {fileID: 0}
- target: {fileID: 4281606851430919889, guid: 2cf62622451524665a92217adfa00e80,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4286325758371224431, guid: 2cf62622451524665a92217adfa00e80,
type: 3}

2
config/ppo/WalkerDynamic.yaml


gamma: 0.995
strength: 1.0
keep_checkpoints: 5
max_steps: 25000000
max_steps: 30000000
time_horizon: 1000
summary_freq: 30000
threaded: true

1001
Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerDynamic CL NoReset with HH.nn
文件差异内容过多而无法显示
查看文件

11
Project/Assets/ML-Agents/Examples/Walker/TFModels/WalkerDynamic CL NoReset with HH.nn.meta


fileFormatVersion: 2
guid: 47d5ea53002db4d49913e65302d87141
ScriptedImporter:
fileIDToRecycleName:
11400000: main obj
11400002: model data
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 19ed1486aa27d4903b34839f37b8f69f, type: 3}
正在加载...
取消
保存