浏览代码

cleanup & refactor

/develop/pushcollabonly
HH 3 年前
当前提交
4efe79dd
共有 9 个文件被更改,包括 1882 次插入1761 次删除
  1. 932
      Project/Assets/ML-Agents/Examples/PushBlock/Prefabs/DungeonEscapePlatform.prefab
  2. 916
      Project/Assets/ML-Agents/Examples/PushBlock/Scenes/DungeonEscape.unity
  3. 189
      Project/Assets/ML-Agents/Examples/PushBlock/Scripts/DungeonEscapeEnvController.cs
  4. 12
      Project/Assets/ML-Agents/Examples/PushBlock/Scripts/PushAgentEscape.cs
  5. 1
      Project/ProjectSettings/TagManager.asset
  6. 1001
      Project/Assets/ML-Agents/Examples/PushBlock/Prefabs/DungeonEscapeAgent.prefab
  7. 7
      Project/Assets/ML-Agents/Examples/PushBlock/Prefabs/DungeonEscapeAgent.prefab.meta
  8. 578
      Project/Assets/ML-Agents/Examples/PushBlock/Prefabs/Sword.prefab
  9. 7
      Project/Assets/ML-Agents/Examples/PushBlock/Prefabs/Sword.prefab.meta

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

916
Project/Assets/ML-Agents/Examples/PushBlock/Scenes/DungeonEscape.unity
文件差异内容过多而无法显示
查看文件

189
Project/Assets/ML-Agents/Examples/PushBlock/Scripts/DungeonEscapeEnvController.cs


}
[System.Serializable]
public class ZombieInfo
public class DragonInfo
{
public SimpleNPC Agent;
[HideInInspector]

public bool IsDead;
}
// [System.Serializable]
// public class BlockInfo
// {
// public Transform T;
// [HideInInspector]
// public Vector3 StartingPos;
// [HideInInspector]
// public Quaternion StartingRot;
// [HideInInspector]
// public Rigidbody Rb;
// public Transform LockedBlock;
// }
/// <summary>
/// Max Academy steps before this platform resets
/// </summary>

/// </summary>
public GameObject ground;
// public GameObject area;
Material m_GroundMaterial; //cached on Awake()
/// <summary>

public List<PlayerInfo> AgentsList = new List<PlayerInfo>();
public List<ZombieInfo> ZombiesList = new List<ZombieInfo>();
// public List<BlockInfo> BlocksList = new List<BlockInfo>();
public List<DragonInfo> DragonsList = new List<DragonInfo>();
// public bool UseRandomBlockRotation = true;
// public bool UseRandomBlockPosition = true;
public GameObject LockedBlock;
// public Rigidbody UnlockedBlock;
public Dictionary<Transform, ZombieInfo> m_ZombiesDict = new Dictionary<Transform, ZombieInfo>();
// public Dictionary<Transform, BlockInfo> m_BlocksDict = new Dictionary<Transform, BlockInfo>();
// public bool BlockIsLocked;
void Start()
{

m_GroundMaterial = m_GroundRenderer.material;
m_PushBlockSettings = FindObjectOfType<PushBlockSettings>();
// //Lock The Block
// LockTheBlock();
// foreach (var item in BlocksList)
// {
// item.StartingPos = item.T.transform.position;
// item.StartingRot = item.T.transform.rotation;
// item.Rb = item.T.GetComponent<Rigidbody>();
// m_BlocksDict.Add(item.T, item);
// }
// Initialize TeamManager
m_AgentGroup = new SimpleMultiAgentGroup();
foreach (var item in AgentsList)

// Add to team manager
m_AgentGroup.RegisterAgent(item.Agent);
}
foreach (var item in ZombiesList)
foreach (var item in DragonsList)
m_ZombiesDict.Add(item.T, item);
}
ResetScene();

m_AgentGroup.GroupEpisodeInterrupted();
ResetScene();
}
//Hurry Up Penalty
// m_AgentGroup.AddGroupReward(-0.5f / MaxEnvironmentSteps);
// // public Dictionary<Agent>
// //Kill/disable an agent
// public void KillAgent(Collision col, Transform t)
// {
// print($"zombie {t.name} ate {col.collider.name}");
// //Disable killed Agent
// foreach (var item in AgentsList)
// {
// if (item.Col == col.collider)
// {
// item.Agent.EndEpisode();
// item.Col.gameObject.SetActive(false);
// break;
// }
// }
//
// //End Episode
// foreach (var item in ZombiesList)
// {
// if (item.Agent.transform == t)
// {
// KillZombie(item);
// break;
// }
// }
// }
// LockedBlock.SetActive(false);
// UnlockedBlock.velocity = Vector3.zero;
// UnlockedBlock.angularVelocity = Vector3.zero;
// UnlockedBlock.transform.SetPositionAndRotation(blockT.position, blockT.rotation);
// UnlockedBlock.gameObject.SetActive(true);
// BlockIsLocked = false;
m_AgentGroup.AddGroupReward(1f);
StartCoroutine(GoalScoredSwapGroundMaterial(m_PushBlockSettings.goalScoredMaterial, 0.5f));

ResetScene();
}
// public void LockTheBlock()
// {
// LockedBlock.SetActive(true);
// // UnlockedBlock.velocity = Vector3.zero;
// // UnlockedBlock.angularVelocity = Vector3.zero;
// // UnlockedBlock.transform.SetPositionAndRotation(LockedBlock.transform.position, LockedBlock.transform.rotation);
// // UnlockedBlock.gameObject.SetActive(false);
// BlockIsLocked = true;
// }
public void KilledByZombie(PushAgentEscape agent, Collision zombCol)
public void KilledByBaddie(PushAgentEscape agent, Collision baddieCol)
zombCol.gameObject.SetActive(false);
baddieCol.gameObject.SetActive(false);
print($"zombie {zombCol.gameObject.name} ate {agent.transform.name}");
print($"{baddieCol.gameObject.name} ate {agent.transform.name}");
Key.transform.SetPositionAndRotation(zombCol.collider.transform.position, zombCol.collider.transform.rotation);
Key.transform.SetPositionAndRotation(baddieCol.collider.transform.position, baddieCol.collider.transform.rotation);
// Instantiate(KeyPrefab, zombCol.collider.transform.position, zombCol.collider.transform.rotation, transform);
}
/// <summary>

m_GroundRenderer.material = m_GroundMaterial;
}
/// <summary>
/// Called when the agent moves the block into the goal.
/// </summary>
public void ScoredAGoal(Collider col, float score)
{
print($"Scored {score} on {gameObject.name}");
//Give Agent Rewards
m_AgentGroup.AddGroupReward(score);
// m_AgentGroup.EndGroupEpisode();
// Swap ground material for a bit to indicate we scored.
StartCoroutine(GoalScoredSwapGroundMaterial(m_PushBlockSettings.goalScoredMaterial, 0.5f));
ResetScene();
}
public void ZombieTouchedBlock()
public void BaddieTouchedBlock()
//Give Agents Penalties
// m_AgentGroup.AddGroupReward(-1);
// Swap ground material for a bit to indicate we scored.
StartCoroutine(GoalScoredSwapGroundMaterial(m_PushBlockSettings.failMaterial, 0.5f));

m_AgentGroup.RegisterAgent(item.Agent);
}
//Reset Blocks
// LockedBlock.transform.position = GetRandomSpawnPos();
// LockedBlock.transform.rotation = GetRandomRot();
// LockTheBlock();
foreach (var item in ZombiesList)
foreach (var item in DragonsList)
// item.Agent.EndEpisode();
// void ResetScene()
// {
// m_ResetTimer = 0;
//
// //Random platform rot
// var rotation = Random.Range(0, 4);
// var rotationAngle = rotation * 90f;
// transform.Rotate(new Vector3(0f, rotationAngle, 0f));
//
// //End Episode
// foreach (var item in AgentsList)
// {
// if (!item.Agent)
// {
// return;
// }
// item.Agent.EndEpisode();
// }
// //Reset Agents
// foreach (var item in AgentsList)
// {
// var pos = UseRandomAgentPosition ? GetRandomSpawnPos() : item.StartingPos;
// var rot = UseRandomAgentRotation ? GetRandomRot() : item.StartingRot;
//
// item.Agent.transform.SetPositionAndRotation(pos, rot);
// item.Rb.velocity = Vector3.zero;
// item.Rb.angularVelocity = Vector3.zero;
// item.Agent.gameObject.SetActive(true);
// }
//
// //Reset Blocks
// foreach (var item in BlocksList)
// {
// var pos = UseRandomBlockPosition ? GetRandomSpawnPos() : item.StartingPos;
// var rot = UseRandomBlockRotation ? GetRandomRot() : item.StartingRot;
//
// item.T.transform.SetPositionAndRotation(pos, rot);
// item.Rb.velocity = Vector3.zero;
// item.Rb.angularVelocity = Vector3.zero;
// item.T.gameObject.SetActive(true);
// // BlockIsLocked(item, true);
// }
// //End Episode
// foreach (var item in ZombiesList)
// {
// if (!item.Agent)
// {
// return;
// }
// // item.Agent.EndEpisode();
// item.Agent.transform.SetPositionAndRotation(item.StartingPos, item.StartingRot);
// item.Agent.SetRandomWalkSpeed();
// item.Agent.gameObject.SetActive(true);
// }
//
// //Reset counter
// m_NumberOfRemainingBlocks = BlocksList.Count;
// // m_NumberOfRemainingBlocks = 2;
// }
}

12
Project/Assets/ML-Agents/Examples/PushBlock/Scripts/PushAgentEscape.cs


public override void CollectObservations(VectorSensor sensor)
{
// if (useVectorObs)
// {
// sensor.AddObservation(m_GameController.BlockIsLocked);
// sensor.AddObservation(m_GameController.PlayerDict[this].HoldingSwitch);
// sensor.AddObservation(m_GameController.PlayerDict[this].Scored);
// }
}
/// <summary>

m_GameController.UnlockBlock(col.transform);
}
}
if (col.transform.CompareTag("zombie"))
if (col.transform.CompareTag("dragon"))
m_GameController.KilledByZombie(this, col);
m_GameController.KilledByBaddie(this, col);
MyKey.SetActive(false);
IHaveAKey = false;
}

{
//if we find a key and it's parent is the main platform we can pick it up
// if (col.transform.CompareTag("key"))
if (col.transform.CompareTag("key") && col.transform.parent == transform.parent && gameObject.activeInHierarchy)
{
print("picked up key");

// DestroyImmediate(col.gameObject);
}
}

1
Project/ProjectSettings/TagManager.asset


- switch
- key
- lock
- dragon
layers:
- Default
- TransparentFX

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

7
Project/Assets/ML-Agents/Examples/PushBlock/Prefabs/DungeonEscapeAgent.prefab.meta


fileFormatVersion: 2
guid: f3c5280e4ae094a9a9b8b6702630c941
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

578
Project/Assets/ML-Agents/Examples/PushBlock/Prefabs/Sword.prefab


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &880523008701045142
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6336432208962364492}
- component: {fileID: 7171523569959246079}
- component: {fileID: 7979107975059020850}
m_Layer: 0
m_Name: Cube
m_TagString: key
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6336432208962364492
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 880523008701045142}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.16384082, y: 0.69100887, z: 0.04210779}
m_Children: []
m_Father: {fileID: 8772105788424992950}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &7171523569959246079
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 880523008701045142}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &7979107975059020850
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 880523008701045142}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 6fdf8e49597ff42648c9e99d7ecfc005, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &2981109370270338809
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3509013554597332474}
- component: {fileID: 5798697336692697841}
- component: {fileID: 7290655559508665360}
m_Layer: 0
m_Name: symbol_circle
m_TagString: key
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3509013554597332474
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2981109370270338809}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -0.378, z: 0}
m_LocalScale: {x: 0.12343061, y: 0.12343061, z: 0.32400537}
m_Children: []
m_Father: {fileID: 8772105788424992950}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &5798697336692697841
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2981109370270338809}
m_Mesh: {fileID: 4300000, guid: 809601725d53c41fb9c7a75071bfbf51, type: 3}
--- !u!23 &7290655559508665360
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2981109370270338809}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 66163cf35956a4be08e801b750c26f33, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &3926071613285613986
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8893163176571066595}
- component: {fileID: 5916335186314198833}
- component: {fileID: 3298868567831570272}
m_Layer: 0
m_Name: Cylinder (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8893163176571066595
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3926071613285613986}
m_LocalRotation: {x: -0.70710677, y: 2.8421706e-14, z: -0, w: 0.7071069}
m_LocalPosition: {x: 0, y: -0.38, z: 0}
m_LocalScale: {x: 0.1681245, y: 0.060624015, z: 0.1681245}
m_Children: []
m_Father: {fileID: 8772105788424992950}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: -90.00001, y: 0, z: 0}
--- !u!33 &5916335186314198833
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3926071613285613986}
m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &3298868567831570272
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3926071613285613986}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: c67450f290f3e4897bc40276a619e78d, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &4906921352773174966
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7831757270307252616}
- component: {fileID: 3220919968159847475}
- component: {fileID: 5435862911997543179}
m_Layer: 0
m_Name: symbol_tri (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7831757270307252616
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4906921352773174966}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0.413, z: 0}
m_LocalScale: {x: 0.090800464, y: 0.11799568, z: 0.11799568}
m_Children: []
m_Father: {fileID: 8772105788424992950}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &3220919968159847475
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4906921352773174966}
m_Mesh: {fileID: 4300000, guid: 09e2da39770c24cc9a71e5dbf05a1e85, type: 3}
--- !u!23 &5435862911997543179
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4906921352773174966}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 6fdf8e49597ff42648c9e99d7ecfc005, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &4997696087336533843
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5561100400066123843}
- component: {fileID: 895235124130169443}
- component: {fileID: 452513402949209409}
m_Layer: 0
m_Name: Cube (3)
m_TagString: key
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5561100400066123843
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4997696087336533843}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: -0.381, z: 0}
m_LocalScale: {x: 0.3745031, y: 0.094451435, z: 0.10686698}
m_Children: []
m_Father: {fileID: 8772105788424992950}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &895235124130169443
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4997696087336533843}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &452513402949209409
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4997696087336533843}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 52eab8ab5010f438fab93da85735ba1d, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &5531443850584416103
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2663616659132156189}
- component: {fileID: 6946795223150584703}
- component: {fileID: 4550853145762769995}
m_Layer: 0
m_Name: Cube (1)
m_TagString: key
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &2663616659132156189
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5531443850584416103}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: -0.559, z: 0}
m_LocalScale: {x: 0.15990455, y: 0.39524767, z: 0.08766782}
m_Children: []
m_Father: {fileID: 8772105788424992950}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &6946795223150584703
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5531443850584416103}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &4550853145762769995
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5531443850584416103}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: c9fa44c2c3f8ce74ca39a3355ea42631, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &6285520391000694526
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8772105788424992950}
m_Layer: 0
m_Name: Sword
m_TagString: key
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8772105788424992950
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6285520391000694526}
m_LocalRotation: {x: -0, y: -0.00000043213362, z: -0, w: 1}
m_LocalPosition: {x: -5.06, y: 5.33, z: -1.86}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 3496700650422646169}
- {fileID: 7831757270307252616}
- {fileID: 3509013554597332474}
- {fileID: 6336432208962364492}
- {fileID: 2663616659132156189}
- {fileID: 5561100400066123843}
- {fileID: 8893163176571066595}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &7618810706562414047
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3496700650422646169}
- component: {fileID: 2938354221899943890}
- component: {fileID: 4767159747164160553}
m_Layer: 0
m_Name: Cylinder
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3496700650422646169
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7618810706562414047}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: -0.595, z: 0}
m_LocalScale: {x: 0.15200818, y: 0.15200818, z: 0.10670974}
m_Children: []
m_Father: {fileID: 8772105788424992950}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &2938354221899943890
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7618810706562414047}
m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &4767159747164160553
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7618810706562414047}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: c9fa44c2c3f8ce74ca39a3355ea42631, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0

7
Project/Assets/ML-Agents/Examples/PushBlock/Prefabs/Sword.prefab.meta


fileFormatVersion: 2
guid: 2e7a35edaf71a428eb9473e1e0dd60d8
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
正在加载...
取消
保存