浏览代码

RayPercpetion, Push Block, and misc environment changes (#432)

RayPerception moved to a component that is now used by Banana, Soccer, Hallway, and Push Block.
Converted Push Block to use RayPerception for local perception and retrained model.
Re-worked Hallway to be more extensible.
/develop-generalizationTraining-TrainerController
GitHub 7 年前
当前提交
4a7481a1
共有 101 个文件被更改,包括 7007 次插入8982 次删除
  1. 47
      python/trainer_config.yaml
  2. 942
      unity-environment/Assets/ML-Agents/Examples/Banana/BananaImitation.unity
  3. 964
      unity-environment/Assets/ML-Agents/Examples/Banana/BananaRL.unity
  4. 4
      unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/BANANA.prefab
  5. 36
      unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/StudentAgent.prefab
  6. 4
      unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/BADBANANA.prefab
  7. 40
      unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/TeacherAgent.prefab
  8. 74
      unity-environment/Assets/ML-Agents/Examples/Banana/Scripts/BananaAgent.cs
  9. 41
      unity-environment/Assets/ML-Agents/Examples/Hallway/Prefabs/HallwayArea.prefab
  10. 884
      unity-environment/Assets/ML-Agents/Examples/Hallway/Scenes/Hallway.unity
  11. 198
      unity-environment/Assets/ML-Agents/Examples/Hallway/Scripts/HallwayAgent.cs
  12. 927
      unity-environment/Assets/ML-Agents/Examples/Hallway/TFModels/Hallway.bytes
  13. 5
      unity-environment/Assets/ML-Agents/Examples/Hallway/TFModels/Hallway.bytes.meta
  14. 2
      unity-environment/Assets/ML-Agents/Examples/PushBlock/Materials/groundPushblock.mat
  15. 108
      unity-environment/Assets/ML-Agents/Examples/PushBlock/Prefabs/PushBlockArea.prefab
  16. 180
      unity-environment/Assets/ML-Agents/Examples/PushBlock/Scenes/PushBlock.unity
  17. 150
      unity-environment/Assets/ML-Agents/Examples/PushBlock/Scripts/PushAgentBasic.cs
  18. 994
      unity-environment/Assets/ML-Agents/Examples/PushBlock/TFModels/PushBlock.bytes
  19. 2
      unity-environment/Assets/ML-Agents/Examples/Reacher/Materials/Materials/checker1.mat
  20. 4
      unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Prefabs/SoccerBall.prefab
  21. 67
      unity-environment/Assets/ML-Agents/Examples/Soccer/Scenes/SoccerTwos.unity
  22. 147
      unity-environment/Assets/ML-Agents/Examples/Soccer/Scripts/AgentSoccer.cs
  23. 2
      unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Ball.mat
  24. 2
      unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Block.mat
  25. 2
      unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/FailGround.mat
  26. 2
      unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Goal.mat
  27. 2
      unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Obstacle.mat
  28. 2
      unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/SuccessGround.mat
  29. 2
      unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/agentMaterial.mat
  30. 2
      unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/goalMaterial.mat
  31. 2
      unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/pitMaterial.mat
  32. 2
      unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsBall/Materials/logo1.mat
  33. 2
      unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsBall/Materials/logo2.mat
  34. 2
      unity-environment/Assets/ML-Agents/Scripts/Brain.cs
  35. 6
      unity-environment/ProjectSettings/TagManager.asset
  36. 1001
      unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/RLAgent.prefab
  37. 1001
      unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/RLArea.prefab
  38. 8
      unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/RLArea.prefab.meta
  39. 1001
      unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/TeachingArea.prefab
  40. 1001
      unity-environment/Assets/ML-Agents/Examples/Banana/TFModels/BananaRL.bytes
  41. 7
      unity-environment/Assets/ML-Agents/Examples/Banana/TFModels/BananaRL.bytes.meta
  42. 80
      unity-environment/Assets/ML-Agents/Examples/SharedAssets/Scripts/RayPerception.cs
  43. 11
      unity-environment/Assets/ML-Agents/Examples/SharedAssets/Scripts/RayPerception.cs.meta
  44. 1001
      unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/ExpertAgentVisual.prefab
  45. 10
      unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/ExpertAgentVisual.prefab.meta
  46. 1001
      unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/StudentAgentVisual.prefab
  47. 10
      unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/StudentAgentVisual.prefab.meta
  48. 988
      unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/Agent 1.prefab
  49. 1001
      unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/AreaPB.prefab
  50. 1001
      unity-environment/Assets/ML-Agents/Examples/Banana/TFModels/Banana-fight.bytes
  51. 9
      unity-environment/Assets/ML-Agents/Examples/Banana/TFModels/Banana-fight.bytes.meta
  52. 1001
      unity-environment/Assets/ML-Agents/Examples/Hallway/TFModels/hallway-1.bytes
  53. 7
      unity-environment/Assets/ML-Agents/Examples/Hallway/TFModels/hallway-1.bytes.meta
  54. 0
      /unity-environment/Assets/ML-Agents/Examples/Banana/Materials/swatchMaster.psd
  55. 0
      /unity-environment/Assets/ML-Agents/Examples/Banana/Materials/swatchMaster.psd.meta
  56. 0
      /unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/RLAgent.prefab.meta
  57. 0
      /unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/TeachingArea.prefab.meta
  58. 0
      /unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/BADBANANA.prefab.meta
  59. 0
      /unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/TeacherAgent.prefab.meta
  60. 0
      /unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/BADBANANA.prefab
  61. 0
      /unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/TeacherAgent.prefab
  62. 0
      /unity-environment/Assets/ML-Agents/Examples/Banana/Models
  63. 0
      /unity-environment/Assets/ML-Agents/Examples/Banana/Models.meta
  64. 0
      /unity-environment/Assets/ML-Agents/Examples/PushBlock/Materials/groundPushblock.mat.meta
  65. 0
      /unity-environment/Assets/ML-Agents/Examples/PushBlock/Materials/groundPushblock.mat
  66. 0
      /unity-environment/Assets/ML-Agents/Examples/Reacher/Materials/Materials/checker1.mat.meta
  67. 0
      /unity-environment/Assets/ML-Agents/Examples/Reacher/Materials/Materials/checker1.mat
  68. 0
      /unity-environment/Assets/ML-Agents/Examples/Soccer/Materials/swatchMaster.psd
  69. 0
      /unity-environment/Assets/ML-Agents/Examples/Soccer/Materials/swatchMaster.psd.meta
  70. 0
      /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall.meta
  71. 0
      /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall
  72. 0
      /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Textures/SoccerBallNormalMap.png
  73. 0
      /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Textures/SoccerBallNormalMap.png.meta
  74. 0
      /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Prefabs/SoccerBall.prefab.meta
  75. 0
      /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Prefabs/SoccerBall.prefab
  76. 0
      /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Meshes/SoccerBallMesh.fbx
  77. 0
      /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Meshes/SoccerBallMesh.fbx.meta
  78. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets.meta
  79. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets
  80. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Ball.mat.meta
  81. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Block.mat.meta
  82. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/FailGround.mat.meta
  83. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Goal.mat.meta
  84. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Obstacle.mat.meta
  85. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/SuccessGround.mat.meta
  86. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Ball.mat
  87. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Block.mat
  88. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/FailGround.mat
  89. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Goal.mat
  90. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Obstacle.mat
  91. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/SuccessGround.mat
  92. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/agentMaterial.mat.meta
  93. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/goalMaterial.mat.meta
  94. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/pitMaterial.mat.meta
  95. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/agentMaterial.mat
  96. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/goalMaterial.mat
  97. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/pitMaterial.mat
  98. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsBall/Materials/logo1.mat.meta
  99. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsBall/Materials/logo2.mat.meta
  100. 0
      /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsBall/Materials/logo1.mat

47
python/trainer_config.yaml


summary_freq: 1000
use_recurrent: false
PushBlockBrain:
max_steps: 2.0e5
batch_size: 1048
BananaBrain:
normalize: false
batch_size: 1024
beta: 5.0e-3
PushBlockBrain:
max_steps: 5.0e4
batch_size: 128
buffer_size: 2048
hidden_units: 128
hidden_units: 256
summary_freq: 2000
time_horizon: 64
num_layers: 2

batch_size: 32
buffer_size: 320
HallwayBrainDC:
num_layers: 3
hidden_units: 256
beta: 1.0e-2
gamma: 0.99
num_epoch: 3
buffer_size: 512
batch_size: 64
max_steps: 5.0e5
summary_freq: 1000
time_horizon: 64
BrainWallJumpDC:
HallwayBrain:
memory_size: 256
buffer_size: 16
batch_size: 2
max_steps: 5.0e5
summary_freq: 1000
time_horizon: 64
HallwayBrainDCLSTM:
use_recurrent: true
sequence_length: 64
num_layers: 2
hidden_units: 128
beta: 1.0e-2
gamma: 0.99
num_epoch: 3
buffer_size: 16
batch_size: 2
buffer_size: 1024
batch_size: 128
max_steps: 5.0e5
summary_freq: 1000
time_horizon: 64

942
unity-environment/Assets/ML-Agents/Examples/Banana/BananaImitation.unity
文件差异内容过多而无法显示
查看文件

964
unity-environment/Assets/ML-Agents/Examples/Banana/BananaRL.unity
文件差异内容过多而无法显示
查看文件

4
unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/BANANA.prefab


- component: {fileID: 65445686293066652}
- component: {fileID: 114475702868436998}
m_Layer: 0
m_Name: BANANA
m_Name: Banana
m_TagString: banana
m_Icon: {fileID: 0}
m_NavMeshLayer: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 29857f71905e1484ba5cf296a5749a5f, type: 2}
m_StaticBatchInfo:

m_Name:
m_EditorClassIdentifier:
respawn: 0
myArea: {fileID: 0}

36
unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/StudentAgent.prefab


m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 262d8cbc02b104990841408098431457, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 9efa4522ab2a04af4bdbcf95ddef5711, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 260483cdfc6b14e26823a02f23bd8baa, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 262d8cbc02b104990841408098431457, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 88b9ae7af2c1748a0a1f63407587a601, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 9efa4522ab2a04af4bdbcf95ddef5711, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, type: 2}
m_StaticBatchInfo:

m_Name:
m_EditorClassIdentifier:
brain: {fileID: 0}
observations: []
maxStep: 0
resetOnDone: 1
state: []
stackedStates: []
reward: 0
done: 0
maxStepReached: 0
value: 0
CumulativeReward: 0
stepCounter: 0
agentStoredAction: []
memory: []
id: 0
agentParameters:
agentCameras: []
maxStep: 0
resetOnDone: 1
onDemandDecision: 0
numberOfActionsBetweenDecisions: 1
xForce: 100
yForce: 300
zForce: 100
moveSpeed: 2
myLazer: {fileID: 1711242980656446}
myLaser: {fileID: 0}
contribute: 1

4
unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/BADBANANA.prefab


- component: {fileID: 65156783716742152}
- component: {fileID: 114713238261374398}
m_Layer: 0
m_Name: BAD BANANA
m_Name: BadBanana
m_TagString: badBanana
m_Icon: {fileID: 0}
m_NavMeshLayer: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 2a6df5f4bffbc431bacfbd2c155375cb, type: 2}
m_StaticBatchInfo:

m_Name:
m_EditorClassIdentifier:
respawn: 0
myArea: {fileID: 0}

40
unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/TeacherAgent.prefab


- component: {fileID: 54684485300203016}
- component: {fileID: 114899212543667072}
m_Layer: 0
m_Name: ExpertAgent
m_Name: TeacherAgent
m_TagString: agent
m_Icon: {fileID: 0}
m_NavMeshLayer: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 260483cdfc6b14e26823a02f23bd8baa, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 9efa4522ab2a04af4bdbcf95ddef5711, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 262d8cbc02b104990841408098431457, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 88b9ae7af2c1748a0a1f63407587a601, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 9efa4522ab2a04af4bdbcf95ddef5711, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 262d8cbc02b104990841408098431457, type: 2}
m_StaticBatchInfo:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, type: 2}
m_StaticBatchInfo:

m_Name:
m_EditorClassIdentifier:
brain: {fileID: 0}
observations: []
maxStep: 0
resetOnDone: 1
state: []
stackedStates: []
reward: 0
done: 0
maxStepReached: 0
value: 0
CumulativeReward: 0
stepCounter: 0
agentStoredAction: []
memory: []
id: 0
agentParameters:
agentCameras: []
maxStep: 0
resetOnDone: 1
onDemandDecision: 0
numberOfActionsBetweenDecisions: 1
xForce: 100
yForce: 300
zForce: 100
moveSpeed: 2
myLazer: {fileID: 1194927375649470}
myLaser: {fileID: 0}
contribute: 0
--- !u!136 &136300867333360650
CapsuleCollider:

74
unity-environment/Assets/ML-Agents/Examples/Banana/Scripts/BananaAgent.cs


float frozenTime;
float effectTime;
Rigidbody agentRB;
public float turnSpeed;
public float xForce;
public float yForce;
public float zForce;
// Speed of agent rotation.
public float turnSpeed = 300;
// Speed of agent movement.
public float moveSpeed = 2;
public GameObject myLazer;
public GameObject myLaser;
RayPerception rayPer;
agentRB = GetComponent<Rigidbody>(); // cache the RB
agentRB = GetComponent<Rigidbody>();
rayPer = GetComponent<RayPerception>();
myAcademy = myAcademyObj.GetComponent<BananaAcademy>();
}

float[] rayAngles = { 20f, 90f, 160f, 45f, 135f, 70f, 110f };
string[] detectableObjects = { "banana", "agent", "wall", "badBanana", "frozenAgent" };
RayPerception(rayDistance, rayAngles, detectableObjects);
AddVectorObs(rayPer.Perceive(rayDistance, rayAngles, detectableObjects, 0f, 0f));
Vector3 localVelocity = transform.InverseTransformDirection(agentRB.velocity);
AddVectorObs(localVelocity.x);
AddVectorObs(localVelocity.z);

public void RayPerception(float rayDistance, float[] rayAngles, string[] detectableObjects) {
foreach (float angle in rayAngles)
{
float noise = 0f;
float noisyAngle = angle + Random.Range(-noise, noise);
Vector3 position = transform.TransformDirection(GiveCatersian(rayDistance, noisyAngle));
Debug.DrawRay(transform.position, position, Color.green, 0.0f, true);
RaycastHit hit;
float[] subList = new float[detectableObjects.Length + 2];
if (Physics.SphereCast(transform.position, 1.0f, position, out hit, rayDistance))
{
for (int i = 0; i < detectableObjects.Length; i++)
{
if (hit.collider.gameObject.CompareTag(detectableObjects[i]))
{
subList[i] = 1;
subList[detectableObjects.Length + 1] = hit.distance / rayDistance;
break;
}
}
}
else
{
subList[detectableObjects.Length] = 1f;
}
foreach (float f in subList)
AddVectorObs(f);
}
}
public Vector3 GiveCatersian(float radius, float angle)
{
float x = radius * Mathf.Cos(DegreeToRadian(angle));
float z = radius * Mathf.Sin(DegreeToRadian(angle));
return new Vector3(x, -0.1f, z);
}
public float DegreeToRadian(float degree)
{
return degree * Mathf.PI / 180f;
}
public Color32 ToColor(int HexVal)
{
byte R = (byte)((HexVal >> 16) & 0xFF);

dirToGo *= 0.5f;
agentRB.velocity *= 0.75f;
}
agentRB.AddForce(new Vector3(dirToGo.x * xForce, dirToGo.y * yForce, dirToGo.z * zForce),
ForceMode.Acceleration);
transform.Rotate(rotateDir, Time.deltaTime * turnSpeed);
agentRB.AddForce(dirToGo * moveSpeed, ForceMode.VelocityChange);
transform.Rotate(rotateDir, Time.fixedDeltaTime * turnSpeed);
}
if (agentRB.velocity.sqrMagnitude > 25f) // slow it down

if (shoot)
{
myLazer.transform.localScale = new Vector3(1f, 1f, 1f);
Vector3 position = transform.TransformDirection(GiveCatersian(25f, 90f));
myLaser.transform.localScale = new Vector3(1f, 1f, 1f);
Vector3 position = transform.TransformDirection(RayPerception.PolarToCartesian(25f, 90f));
Debug.DrawRay(transform.position, position, Color.red, 0f, true);
RaycastHit hit;
if (Physics.SphereCast(transform.position, 2f, position, out hit, 25f))

}
else
{
myLazer.transform.localScale = new Vector3(0f, 0f, 0f);
myLaser.transform.localScale = new Vector3(0f, 0f, 0f);
}

shoot = false;
agentRB.velocity = Vector3.zero;
bananas = 0;
myLazer.transform.localScale = new Vector3(0f, 0f, 0f);
myLaser.transform.localScale = new Vector3(0f, 0f, 0f);
transform.position = new Vector3(Random.Range(-myArea.range, myArea.range),
2f, Random.Range(-myArea.range, myArea.range))
+ area.transform.position;

41
unity-environment/Assets/ML-Agents/Examples/Hallway/Prefabs/HallwayArea.prefab


- component: {fileID: 65694772044352326}
- component: {fileID: 23564461918312698}
m_Layer: 0
m_Name: GoalB
m_TagString: goal
m_Name: redGoal
m_TagString: redGoal
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0

- component: {fileID: 65575186354124900}
- component: {fileID: 23052381252885230}
m_Layer: 0
m_Name: GoalA
m_TagString: goal
m_Name: orangeGoal
m_TagString: orangeGoal
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0

- component: {fileID: 23122298029829586}
- component: {fileID: 54112968250075710}
- component: {fileID: 114286701363010626}
- component: {fileID: 114569343444552314}
m_Layer: 0
m_Name: Agent
m_TagString: agent

m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1185286572034058}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 7, y: 0.5, z: 8.7}
m_LocalPosition: {x: 7, y: 0.5, z: 9}
m_LocalScale: {x: 5, y: 0.32738775, z: 5}
m_Children:
- {fileID: 4152465931272056}

m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1390180936769712}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -7, y: 0.5, z: 8.699999}
m_LocalPosition: {x: -7, y: 0.5, z: 9}
m_LocalScale: {x: 5, y: 0.32739, z: 5}
m_Children:
- {fileID: 4184627531154506}

m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1537906118403888}
m_Material: {fileID: 0}
m_Material: {fileID: 13400000, guid: 8c6374adc4d814c2eb5ecdfe810d813b, type: 2}
m_IsTrigger: 0
m_Enabled: 0
serializedVersion: 2

m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1699348701669618}
m_Material: {fileID: 0}
m_Material: {fileID: 13400000, guid: 8c6374adc4d814c2eb5ecdfe810d813b, type: 2}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2

m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1143687295388296}
m_Material: {fileID: 0}
m_Material: {fileID: 13400000, guid: 8c6374adc4d814c2eb5ecdfe810d813b, type: 2}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2

m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1931145547757896}
m_Material: {fileID: 0}
m_Material: {fileID: 13400000, guid: 8c6374adc4d814c2eb5ecdfe810d813b, type: 2}
m_IsTrigger: 0
m_Enabled: 0
serializedVersion: 2

m_Name:
m_EditorClassIdentifier:
brain: {fileID: 0}
stepCounter: 0
maxStep: 0
maxStep: 3000
goalA: {fileID: 1185286572034058}
goalB: {fileID: 1390180936769712}
orangeGoal: {fileID: 1390180936769712}
redGoal: {fileID: 1185286572034058}
violetBlock: {fileID: 1143687295388296}
redBlock: {fileID: 1143687295388296}
--- !u!114 &114569343444552314
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1471560210313468}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bb172294dbbcc408286b156a2c4b553c, type: 3}
m_Name:
m_EditorClassIdentifier:

884
unity-environment/Assets/ML-Agents/Examples/Hallway/Scenes/Hallway.unity
文件差异内容过多而无法显示
查看文件

198
unity-environment/Assets/ML-Agents/Examples/Hallway/Scripts/HallwayAgent.cs


// Put this script on your blue cube.
using System.Collections;
using System.Collections;
public GameObject ground; // ground game object. we will use the area bounds to spawn the blocks
public GameObject ground;
public GameObject goalA;
public GameObject goalB;
public GameObject orangeBlock; // the orange block we are going to be pushing
public GameObject violetBlock;
Rigidbody shortBlockRB; // cached on initialization
Rigidbody agentRB; // cached on initialization
Material groundMaterial; // cached on Awake()
public GameObject orangeGoal;
public GameObject redGoal;
public GameObject orangeBlock;
public GameObject redBlock;
RayPerception rayPer;
Rigidbody shortBlockRB;
Rigidbody agentRB;
Material groundMaterial;
int selection;
public override void InitializeAgent()

brain = FindObjectOfType<Brain>(); // only one brain in the scene so this should find our brain. BRAAAINS.
agentRB = GetComponent<Rigidbody>(); // cache the agent rigidbody
groundRenderer = ground.GetComponent<Renderer>(); // get the ground renderer so we can change the material when a goal is scored
groundMaterial = groundRenderer.material; // starting material
brain = FindObjectOfType<Brain>();
rayPer = GetComponent<RayPerception>();
agentRB = GetComponent<Rigidbody>();
groundRenderer = ground.GetComponent<Renderer>();
groundMaterial = groundRenderer.material;
public void RayPerception(float rayDistance,
float[] rayAngles, string[] detectableObjects, float height)
{
foreach (float angle in rayAngles)
{
float noise = 0f;
float noisyAngle = angle + Random.Range(-noise, noise);
Vector3 position = transform.TransformDirection(GiveCatersian(rayDistance, noisyAngle));
position.y = height;
Debug.DrawRay(transform.position, position, Color.red, 0.1f, true);
RaycastHit hit;
float[] subList = new float[detectableObjects.Length + 2];
if (Physics.SphereCast(transform.position, 1.0f, position, out hit, rayDistance))
{
for (int i = 0; i < detectableObjects.Length; i++)
{
if (hit.collider.gameObject.CompareTag(detectableObjects[i]))
{
subList[i] = 1;
subList[detectableObjects.Length + 1] = hit.distance / rayDistance;
break;
}
}
}
else
{
subList[detectableObjects.Length] = 1f;
}
foreach (float f in subList)
AddVectorObs(f);
}
}
public Vector3 GiveCatersian(float radius, float angle)
{
float x = radius * Mathf.Cos(DegreeToRadian(angle));
float z = radius * Mathf.Sin(DegreeToRadian(angle));
return new Vector3(x, 1f, z);
}
public float DegreeToRadian(float degree)
{
return degree * Mathf.PI / 180f;
}
float rayDistance = 8.5f;
float[] rayAngles = { 0f, 45f, 90f, 135f, 180f };
string[] detectableObjects = { "goal", "orangeBlock", "redBlock", "wall" };
RayPerception(rayDistance, rayAngles, detectableObjects, 0f);
float rayDistance = 12f;
float[] rayAngles = { 20f, 60f, 90f, 120f, 160f };
string[] detectableObjects = { "orangeGoal", "redGoal", "orangeBlock", "redBlock", "wall" };
AddVectorObs((float)GetStepCount() / (float)agentParameters.maxStep);
AddVectorObs(rayPer.Perceive(rayDistance, rayAngles, detectableObjects, 0f, 0f));
// swap ground material, wait time seconds, then swap back to the regular ground material.
yield return new WaitForSeconds(time); // wait for 2 sec
yield return new WaitForSeconds(time);
public void MoveAgent(float[] act)
{

// If we're using Continuous control you will need to change the Action
if (brain.brainParameters.vectorActionSpaceType == SpaceType.continuous)
{
dirToGo = transform.forward * Mathf.Clamp(act[0], -1f, 1f);

{
int action = Mathf.FloorToInt(act[0]);
if (action == 0)
{
dirToGo = transform.forward * 1f;
}
else if (action == 1)
switch (action)
dirToGo = transform.forward * -1f;
}
else if (action == 2)
{
rotateDir = transform.up * 1f;
}
else if (action == 3)
{
rotateDir = transform.up * -1f;
case 0:
dirToGo = transform.forward * 1f;
break;
case 1:
dirToGo = transform.forward * -1f;
break;
case 2:
rotateDir = transform.up * 1f;
break;
case 3:
rotateDir = transform.up * -1f;
break;
transform.Rotate(rotateDir, Time.deltaTime * 100f);
agentRB.AddForce(dirToGo * academy.agentRunSpeed, ForceMode.VelocityChange); // GO
transform.Rotate(rotateDir, Time.deltaTime * 150f);
agentRB.AddForce(dirToGo * academy.agentRunSpeed, ForceMode.VelocityChange);
AddReward(-0.0003f);
MoveAgent(vectorAction); //perform agent actions
bool fail = false; // did the agent or block get pushed off the edge?
if (!Physics.Raycast(agentRB.position, Vector3.down, 20)) // if the agent has gone over the edge, we done.
{
fail = true; // fell off bro
AddReward(-1f); // BAD AGENT
//transform.position = GetRandomSpawnPos(agentSpawnAreaBounds, agentSpawnArea);
Done(); // if we mark an agent as done it will be reset automatically. AgentReset() will be called.
}
if (fail)
{
StartCoroutine(GoalScoredSwapGroundMaterial(academy.failMaterial, .5f)); // swap ground material to indicate fail
}
AddReward(-1f / agentParameters.maxStep);
MoveAgent(vectorAction);
// detect when we touch the goal
if (col.gameObject.CompareTag("goal")) // touched goal
if (col.gameObject.CompareTag("orangeGoal") || col.gameObject.CompareTag("redGoal"))
if ((selection == 0 && col.gameObject.name == "GoalA") || (selection == 1 && col.gameObject.name == "GoalB"))
if ((selection == 0 && col.gameObject.CompareTag("orangeGoal")) ||
(selection == 1 && col.gameObject.CompareTag("redGoal")))
AddReward(1f); // you get 5 points
StartCoroutine(GoalScoredSwapGroundMaterial(academy.goalScoredMaterial, 2)); // swap ground material for a bit to indicate we scored.
SetReward(1f);
StartCoroutine(GoalScoredSwapGroundMaterial(academy.goalScoredMaterial, 0.5f));
AddReward(-0.1f); // you lose a point
StartCoroutine(GoalScoredSwapGroundMaterial(academy.failMaterial, .5f)); // swap ground material to indicate fail
SetReward(-0.1f);
StartCoroutine(GoalScoredSwapGroundMaterial(academy.failMaterial, 0.5f));
Done(); // if we mark an agent as done it will be reset automatically. AgentReset() will be called.
Done();
// In the editor, if "Reset On Done" is checked then AgentReset() will be called automatically anytime we mark done = true in an agent script.
float agentOffset = -15f;
float blockOffset = 0f;
orangeBlock.transform.position = new Vector3(0f + Random.Range(-3f, 3f), 2f, -15f + Random.Range(-5f, 5f)) + ground.transform.position;
violetBlock.transform.position = new Vector3(0f, -1000f, -15f + Random.Range(-5f, 5f)) + ground.transform.position;
orangeBlock.transform.position =
new Vector3(0f + Random.Range(-3f, 3f), 2f, blockOffset + Random.Range(-5f, 5f))
+ ground.transform.position;
redBlock.transform.position =
new Vector3(0f, -1000f, blockOffset + Random.Range(-5f, 5f))
+ ground.transform.position;
orangeBlock.transform.position = new Vector3(0f, -1000f, -15f + Random.Range(-5f, 5f)) + ground.transform.position;
violetBlock.transform.position = new Vector3(0f, 2f, -15f + Random.Range(-5f, 5f)) + ground.transform.position;
orangeBlock.transform.position =
new Vector3(0f, -1000f, blockOffset + Random.Range(-5f, 5f))
+ ground.transform.position;
redBlock.transform.position =
new Vector3(0f, 2f, blockOffset + Random.Range(-5f, 5f))
+ ground.transform.position;
transform.position = new Vector3(0f+ Random.Range(-3f, 3f), 1f, 0f + Random.Range(-5f, 5f)) + ground.transform.position;
transform.position = new Vector3(0f + Random.Range(-3f, 3f),
1f, agentOffset + Random.Range(-5f, 5f))
+ ground.transform.position;
int goalPos = Random.Range(0, 2);
if (goalPos == 0)
{
orangeGoal.transform.position = new Vector3(7f, 0.5f, 9f) + area.transform.position;
redGoal.transform.position = new Vector3(-7f, 0.5f, 9f) + area.transform.position;
}
else
{
redGoal.transform.position = new Vector3(7f, 0.5f, 9f) + area.transform.position;
orangeGoal.transform.position = new Vector3(-7f, 0.5f, 9f) + area.transform.position;
}

927
unity-environment/Assets/ML-Agents/Examples/Hallway/TFModels/Hallway.bytes
文件差异内容过多而无法显示
查看文件

5
unity-environment/Assets/ML-Agents/Examples/Hallway/TFModels/Hallway.bytes.meta


fileFormatVersion: 2
guid: 8aa65be485d2a408291f32ff56a9074e
guid: 207e5dbbeeca8431d8f57fd1c96280af
timeCreated: 1520904091
licenseType: Free
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

2
unity-environment/Assets/ML-Agents/Examples/PushBlock/Materials/groundPushblock.mat


m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: ground_pushblock
m_Name: groundPushblock
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4

108
unity-environment/Assets/ML-Agents/Examples/PushBlock/Prefabs/PushBlockArea.prefab


- component: {fileID: 23572363946664112}
- component: {fileID: 54817351390947638}
- component: {fileID: 114505490781873732}
- component: {fileID: 114421647563711602}
m_Layer: 0
m_Name: Agent
m_TagString: agent

- component: {fileID: 114098955560590180}
m_Layer: 5
m_Name: Reward Function
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1738131294272224
GameObject:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4469888496441150}
- component: {fileID: 33813720350873002}
- component: {fileID: 23919465149654940}
- component: {fileID: 65000028652760624}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0

m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -4.43}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Children:
- {fileID: 4469888496441150}
m_Father: {fileID: 4006990431719496}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

m_GameObject: {fileID: 1293433783856340}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 2, y: 1, z: -8}
m_LocalScale: {x: 3, y: 1, z: 3}
m_LocalScale: {x: 2, y: 0.75, z: 2}
m_Children: []
m_Father: {fileID: 4006990431719496}
m_RootOrder: 5

m_Father: {fileID: 4207862233523270}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
--- !u!4 &4469888496441150
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1738131294272224}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0.5}
m_LocalScale: {x: 0.2, y: 0.2, z: 0.2}
m_Children: []
m_Father: {fileID: 4188187884171146}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4643236529171504
Transform:
m_ObjectHideFlags: 1

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!23 &23919465149654940
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1738131294272224}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
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!33 &33062522536833656
MeshFilter:
m_ObjectHideFlags: 1

m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1942656630263630}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!33 &33813720350873002
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1738131294272224}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!33 &33817663761775486
MeshFilter:
m_ObjectHideFlags: 1

m_GameObject: {fileID: 1489716781518988}
serializedVersion: 2
m_Mass: 10
m_Drag: 2
m_Drag: 4
m_AngularDrag: 0.05
m_UseGravity: 1
m_IsKinematic: 0

--- !u!65 &65000028652760624
BoxCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1738131294272224}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!65 &65084077644419200
BoxCollider:
m_ObjectHideFlags: 1

m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 1, y: 10, z: 1}
m_Size: {x: 1, y: 20, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &114098955560590180
MonoBehaviour:

m_Name:
m_EditorClassIdentifier:
agent: {fileID: 0}
--- !u!114 &114421647563711602
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1489716781518988}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bb172294dbbcc408286b156a2c4b553c, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &114458416987814396
MonoBehaviour:
m_ObjectHideFlags: 1

m_Name:
m_EditorClassIdentifier:
brain: {fileID: 0}
stepCounter: 0
agentParameters:
agentCameras: []
maxStep: 5000

m_Extent: {x: 0, y: 0, z: 0}
goal: {fileID: 1441513772919942}
block: {fileID: 1293433783856340}
obstacle: {fileID: 0}
goalDetect: {fileID: 0}
--- !u!114 &114548077184658240
MonoBehaviour:

180
unity-environment/Assets/ML-Agents/Examples/PushBlock/Scenes/PushBlock.unity


m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: 03bcc81e249714a22bb411dddcc5d15e, type: 2}
m_IsPrefabParent: 0
--- !u!114 &116521526
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 41e9bda8f3cf1492fa74926a530f6f70, type: 3}
m_Name: (Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)
m_EditorClassIdentifier:
broadcast: 1
continuousPlayerActions:
- key: 97
index: 0
value: -1
- key: 100
index: 0
value: 1
- key: 119
index: 1
value: 1
- key: 115
index: 1
value: -1
discretePlayerActions:
- key: 97
value: 1
- key: 100
value: 0
- key: 119
value: 2
- key: 115
value: 3
defaultAction: -1
brain: {fileID: 226584073}
--- !u!1001 &117714360
Prefab:
m_ObjectHideFlags: 0

m_Name:
m_EditorClassIdentifier:
brainParameters:
vectorObservationSize: 18
numStackedVectorObservations: 1
vectorActionSize: 2
vectorObservationSize: 70
numStackedVectorObservations: 3
vectorActionSize: 6
vectorActionSpaceType: 1
-
-
-
-
vectorActionSpaceType: 0
brainType: 3
brainType: 0
- {fileID: 116521526}
- {fileID: 1745549652}
- {fileID: 1725896589}
- {fileID: 1000359790}
instanceID: 320464
- {fileID: 1774808999}
- {fileID: 966937467}
- {fileID: 1078689134}
- {fileID: 626804319}
instanceID: 23980
--- !u!1 &255077123
GameObject:
m_ObjectHideFlags: 0

m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &626804319
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8b23992c8eb17439887f5e944bf04a40, type: 3}
m_Name: (Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)
m_EditorClassIdentifier:
broadcast: 1
graphModel: {fileID: 4900000, guid: 2e1836ea047144568b39370292aa8a6e, type: 3}
graphScope:
graphPlaceholders: []
BatchSizePlaceholderName: batch_size
VectorObservationPlacholderName: vector_observation
RecurrentInPlaceholderName: recurrent_in
RecurrentOutPlaceholderName: recurrent_out
VisualObservationPlaceholderName: []
ActionPlaceholderName: action
PreviousActionPlaceholderName: prev_action
brain: {fileID: 226584073}
--- !u!1001 &756777950
Prefab:
m_ObjectHideFlags: 0

propertyPath: m_RootOrder
value: 5
objectReference: {fileID: 0}
- target: {fileID: 114505490781873732, guid: 03bcc81e249714a22bb411dddcc5d15e,
type: 2}
propertyPath: brain
value:
objectReference: {fileID: 226584073}
- target: {fileID: 223130197460698574, guid: 03bcc81e249714a22bb411dddcc5d15e,
type: 2}
propertyPath: m_Camera

propertyPath: m_Name
value: Area
objectReference: {fileID: 0}
- target: {fileID: 114505490781873732, guid: 03bcc81e249714a22bb411dddcc5d15e,
type: 2}
propertyPath: brain
value:
objectReference: {fileID: 226584073}
- target: {fileID: 114505490781873732, guid: 03bcc81e249714a22bb411dddcc5d15e,
type: 2}
propertyPath: obstacle
value:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: 03bcc81e249714a22bb411dddcc5d15e, type: 2}
m_IsPrefabParent: 0

m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: 03bcc81e249714a22bb411dddcc5d15e, type: 2}
m_IsPrefabParent: 0
--- !u!114 &1000359790
--- !u!114 &966937467
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}

m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8b23992c8eb17439887f5e944bf04a40, type: 3}
m_Name: (Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)
m_Script: {fileID: 11500000, guid: 943466ab374444748a364f9d6c3e2fe2, type: 3}
m_Name: (Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)
graphModel: {fileID: 4900000, guid: 2e1836ea047144568b39370292aa8a6e, type: 3}
graphScope:
graphPlaceholders: []
BatchSizePlaceholderName: batch_size
VectorObservationPlacholderName: vector_observation
RecurrentInPlaceholderName: recurrent_in
RecurrentOutPlaceholderName: recurrent_out
VisualObservationPlaceholderName: []
ActionPlaceholderName: action
PreviousActionPlaceholderName: prev_action
brain: {fileID: 226584073}
brain: {fileID: 0}
--- !u!1 &1009000883
GameObject:
m_ObjectHideFlags: 0

m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: 03bcc81e249714a22bb411dddcc5d15e, type: 2}
m_IsPrefabParent: 0
--- !u!114 &1078689134
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 35813a1be64e144f887d7d5f15b963fa, type: 3}
m_Name: (Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)
m_EditorClassIdentifier:
brain: {fileID: 226584073}
--- !u!1001 &1082394721
Prefab:
m_ObjectHideFlags: 0

m_Name:
m_EditorClassIdentifier:
maxSteps: 0
isInference: 1
trainingConfiguration:
width: 1280
height: 720

targetFrameRate: 60
resetParameters:
resetParameters: []
episodeCount: 1
stepsSinceReset: 0
agentRunSpeed: 1
agentRunSpeed: 2
agentRotationSpeed: 15
spawnAreaMarginMultiplier: 0.5
goalScoredMaterial: {fileID: 2100000, guid: 80ffa2c5b96364e4b80fbb2e42b0af3d, type: 2}

m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: 03bcc81e249714a22bb411dddcc5d15e, type: 2}
m_IsPrefabParent: 0
--- !u!114 &1725896589
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 35813a1be64e144f887d7d5f15b963fa, type: 3}
m_Name: (Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)
m_EditorClassIdentifier:
brain: {fileID: 226584073}
--- !u!114 &1745549652
--- !u!114 &1774808999
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}

m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 943466ab374444748a364f9d6c3e2fe2, type: 3}
m_Name: (Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)
m_Script: {fileID: 11500000, guid: 41e9bda8f3cf1492fa74926a530f6f70, type: 3}
m_Name: (Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)(Clone)
brain: {fileID: 0}
continuousPlayerActions:
- key: 97
index: 0
value: -1
- key: 100
index: 0
value: 1
- key: 119
index: 1
value: 1
- key: 115
index: 1
value: -1
discretePlayerActions:
- key: 97
value: 3
- key: 100
value: 2
- key: 119
value: 0
- key: 115
value: 1
- key: 113
value: 4
- key: 101
value: 5
defaultAction: -1
brain: {fileID: 226584073}
--- !u!1001 &1783815898
Prefab:
m_ObjectHideFlags: 0

150
unity-environment/Assets/ML-Agents/Examples/PushBlock/Scripts/PushAgentBasic.cs


Rigidbody blockRB; //cached on initialization
Rigidbody agentRB; //cached on initialization
Material groundMaterial; //cached on Awake()
RayPerception rayPer;
/// <summary>
/// We will be changing the ground material based on success/failue

base.InitializeAgent();
goalDetect = block.GetComponent<GoalDetect>();
goalDetect.agent = this;
rayPer = GetComponent<RayPerception>();
// Cache the agent rigidbody
agentRB = GetComponent<Rigidbody>();

public override void CollectObservations()
{
// Block position relative to goal.
Vector3 blockPosRelToGoal = blockRB.position - goal.transform.position;
// Block position relative to agent.
Vector3 blockPosRelToAgent = blockRB.position - agentRB.position;
// Obstacle position relative to agent.
// Agent position relative to ground.
Vector3 agentPos = agentRB.position - area.transform.position;
// Goal position relative to ground.
Vector3 goalPos = goal.transform.position - ground.transform.position;
AddVectorObs(agentPos);
AddVectorObs(goalPos);
AddVectorObs(blockPosRelToGoal);
AddVectorObs(blockPosRelToAgent);
// Add velocity of block and agent to observations.
AddVectorObs(blockRB.velocity);
AddVectorObs(agentRB.velocity);
float rayDistance = 12f;
float[] rayAngles = { 0f, 45f, 90f, 135f, 180f, 110f, 70f };
string[] detectableObjects;
detectableObjects = new string[] { "block", "goal", "wall" };
AddVectorObs(rayPer.Perceive(rayDistance, rayAngles, detectableObjects, 0f, 0f));
AddVectorObs(rayPer.Perceive(rayDistance, rayAngles, detectableObjects, 1.5f, 0f));
public Vector3 GetRandomSpawnPos(float spawnHeight)
public Vector3 GetRandomSpawnPos()
{
bool foundNewSpawnLocation = false;
Vector3 randomSpawnPos = Vector3.zero;

Done();
// Swap ground material for a bit to indicate we scored.
StartCoroutine(GoalScoredSwapGroundMaterial(academy.goalScoredMaterial, 1));
StartCoroutine(GoalScoredSwapGroundMaterial(academy.goalScoredMaterial, 0.5f));
}
/// <summary>

/// </summary>
public void MoveAgent(float[] act)
{
// AGENT ACTIONS
// Here we define the actions our agent can use, such as
// "go left", "go forward", "turn", etc.
// In the brain we define the number of axes we want to use here.
// In this example we need 2 axes to define:
// Right/left movement (act[0])
// Forward/back movement (act[1])
Vector3 dirToGo = Vector3.zero;
Vector3 rotateDir = Vector3.zero;
// Example: Right/Left Movement. It is defined in this line:
// Vector3 directionX = Vector3.right * Mathf.Clamp(act[0], -1f, 1f);
// The neural network is setting the act[0] value.
// If it chooses 1 then the agent will go right.
// If it chooses -1 the agent will go left.
// If it chooses .42 then it will go a little bit right
// If it chooses -.8 then it will go left (well...80% left)
// Energy Conservation Penalties
// Give penalties based on how fast the agent chooses to go.
// The agent should only exert as much energy as necessary.
// This is how animals work as well.
// i.e. You're probably not running in place at all times.
// Larger the value, the less the penalty is.
float energyConservPenaltyModifier = 10000;
// The larger the movement, the greater the penalty given.
AddReward(-Mathf.Abs(act[0]) / energyConservPenaltyModifier);
AddReward(-Mathf.Abs(act[1]) / energyConservPenaltyModifier);
Vector3 directionX = Vector3.zero;
Vector3 directionZ = Vector3.zero;
// Move left or right in world space.
directionX = Vector3.right * Mathf.Clamp(act[0], -1f, 1f);
// Move forward or back in world space.
directionZ = Vector3.forward * Mathf.Clamp(act[1], -1f, 1f);
// Add directions together. This is the direction we want the agent
// to move in.
Vector3 dirToGo = directionX + directionZ;
int action = Mathf.FloorToInt(act[0]);
// Apply movement force!
agentRB.AddForce(dirToGo * academy.agentRunSpeed, ForceMode.VelocityChange);
if (dirToGo != Vector3.zero)
// Goalies and Strikers have slightly different action spaces.
switch (action)
// Rotate the agent appropriately.
agentRB.rotation = Quaternion.Lerp(agentRB.rotation,
Quaternion.LookRotation(dirToGo),
Time.deltaTime * academy.agentRotationSpeed);
case 0:
dirToGo = transform.forward * 1f;
break;
case 1:
dirToGo = transform.forward * -1f;
break;
case 2:
rotateDir = transform.up * 1f;
break;
case 3:
rotateDir = transform.up * -1f;
break;
case 4:
dirToGo = transform.right * -0.75f;
break;
case 5:
dirToGo = transform.right * 0.75f;
break;
transform.Rotate(rotateDir, Time.fixedDeltaTime * 200f);
agentRB.AddForce(dirToGo * academy.agentRunSpeed,
ForceMode.VelocityChange);
}

MoveAgent(vectorAction);
// Penalty given each step to encourage agent to finish task quickly.
AddReward(-.00005f);
// Did the agent or block get pushed off the edge?
bool fail = false;
// If the agent has gone over the edge, end the episode.
if (!Physics.Raycast(agentRB.position, Vector3.down, 3))
{
// Fell off bro
fail = true;
// BAD AGENT
SetReward(-1f);
// If we mark an agent as done it will be reset automatically.
// AgentReset() will be called.
Done();
}
// If the block has gone over the edge, end the episode.
if (!Physics.Raycast(blockRB.position, Vector3.down, 3))
{
// Fell off bro
fail = true;
// BAD AGENT
SetReward(-1f);
// If we mark an agent as done it will be reset automatically.
// AgentReset() will be called.
Done();
}
if (fail)
{
// Swap ground material to indicate failure of the episode.
StartCoroutine(GoalScoredSwapGroundMaterial(academy.failMaterial, 1f));
}
AddReward(-1f / agentParameters.maxStep);
}
/// <summary>

{
// Get a random position for the block.
block.transform.position = GetRandomSpawnPos(1.5f);
block.transform.position = GetRandomSpawnPos();
// Reset block velocity back to zero.
blockRB.velocity = Vector3.zero;

area.transform.Rotate(new Vector3(0f, rotationAngle, 0f));
ResetBlock();
transform.position = GetRandomSpawnPos(1.5f);
transform.position = GetRandomSpawnPos();

994
unity-environment/Assets/ML-Agents/Examples/PushBlock/TFModels/PushBlock.bytes
文件差异内容过多而无法显示
查看文件

2
unity-environment/Assets/ML-Agents/Examples/Reacher/Materials/Materials/checker1.mat


m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: checker 1
m_Name: checker1
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4

4
unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Prefabs/SoccerBall.prefab


- component: {fileID: 114729878072981838}
- component: {fileID: 54501682632205078}
m_Layer: 0
m_Name: Soccer Ball
m_Name: SoccerBall
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: cff0f8a4e9c85a045be6d610d20b87b3, type: 2}
- {fileID: 2100000, guid: fb69c479c3cec624b96dfe20d305c1b9, type: 2}

m_EditorClassIdentifier:
area: {fileID: 0}
lastTouchedBy: {fileID: 0}
wallTag: wall
agentTag: agent
redGoalTag: redGoal
blueGoalTag: blueGoal

67
unity-environment/Assets/ML-Agents/Examples/Soccer/Scenes/SoccerTwos.unity


m_Name:
m_EditorClassIdentifier:
maxSteps: 0
isInference: 1
trainingConfiguration:
width: 800
height: 500

targetFrameRate: 60
resetParameters:
resetParameters: []
episodeCount: 0
stepsSinceReset: 0
brainStriker: {fileID: 1890643319}
brainGoalie: {fileID: 1379650626}
redMaterial: {fileID: 2100000, guid: 776dd8b57653342839c3fb5f46ce664e, type: 2}

m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: ab518b4d19ded4d9dbe6fec8239e88b8, type: 2}
m_IsPrefabParent: 0
--- !u!1 &1870405448 stripped
GameObject:
m_PrefabParentObject: {fileID: 1060120010984970, guid: ab518b4d19ded4d9dbe6fec8239e88b8,
type: 2}
m_PrefabInternal: {fileID: 1870405447}
--- !u!1 &1870405449 stripped
GameObject:
m_PrefabParentObject: {fileID: 1241552893761096, guid: ab518b4d19ded4d9dbe6fec8239e88b8,
type: 2}
m_PrefabInternal: {fileID: 1870405447}
--- !u!1 &1870405450 stripped
GameObject:
m_PrefabParentObject: {fileID: 1555791983229206, guid: ab518b4d19ded4d9dbe6fec8239e88b8,
type: 2}
m_PrefabInternal: {fileID: 1870405447}
--- !u!1 &1870405451 stripped
GameObject:
m_PrefabParentObject: {fileID: 1280263969241142, guid: ab518b4d19ded4d9dbe6fec8239e88b8,
type: 2}
m_PrefabInternal: {fileID: 1870405447}
--- !u!114 &1870405452
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1870405448}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bb172294dbbcc408286b156a2c4b553c, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &1870405453
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1870405449}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bb172294dbbcc408286b156a2c4b553c, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &1870405454
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1870405450}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bb172294dbbcc408286b156a2c4b553c, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &1870405455
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1870405451}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bb172294dbbcc408286b156a2c4b553c, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1890643317
GameObject:
m_ObjectHideFlags: 0

147
unity-environment/Assets/ML-Agents/Examples/Soccer/Scripts/AgentSoccer.cs


[HideInInspector]
public Rigidbody agentRB;
SoccerAcademy academy;
Renderer renderer;
Renderer agentRenderer;
RayPerception rayPer;
renderer.material = team == Team.red ? academy.redMaterial : academy.blueMaterial;
agentRenderer.material = team == Team.red ? academy.redMaterial : academy.blueMaterial;
}
public void JoinRedTeam(AgentRole role)

renderer.material = academy.redMaterial;
agentRenderer.material = academy.redMaterial;
}
public void JoinBlueTeam(AgentRole role)

renderer.material = academy.blueMaterial;
agentRenderer.material = academy.blueMaterial;
void Awake()
public override void InitializeAgent()
renderer = GetComponent<Renderer>();
base.InitializeAgent();
agentRenderer = GetComponent<Renderer>();
rayPer = GetComponent<RayPerception>();
academy = FindObjectOfType<SoccerAcademy>();
PlayerState playerState = new PlayerState();
playerState.agentRB = GetComponent<Rigidbody>();

playerState.playerIndex = playerIndex;
}
public override void InitializeAgent()
{
base.InitializeAgent();
}
public void RayPerception(float rayDistance,
float[] rayAngles, string[] detectableObjects,
float startHeight, float endHeight)
{
foreach (float angle in rayAngles)
{
float noise = 0f;
float noisyAngle = angle + Random.Range(-noise, noise);
Vector3 position = transform.TransformDirection(
GiveCatersian(rayDistance, noisyAngle));
position.y = endHeight;
Debug.DrawRay(transform.position + new Vector3(0f, startHeight, 0f),
position, Color.red, 0.1f, true);
RaycastHit hit;
float[] subList = new float[detectableObjects.Length + 2];
if (Physics.SphereCast(transform.position +
new Vector3(0f, startHeight, 0f), 1.0f,
position, out hit, rayDistance))
{
for (int i = 0; i < detectableObjects.Length; i++)
{
if (hit.collider.gameObject.CompareTag(detectableObjects[i]))
{
subList[i] = 1;
subList[detectableObjects.Length + 1] = hit.distance / rayDistance;
break;
}
}
}
else
{
subList[detectableObjects.Length] = 1f;
}
foreach (float f in subList)
AddVectorObs(f);
}
}
public Vector3 GiveCatersian(float radius, float angle)
{
float x = radius * Mathf.Cos(DegreeToRadian(angle));
float z = radius * Mathf.Sin(DegreeToRadian(angle));
return new Vector3(x, 1f, z);
}
public float DegreeToRadian(float degree)
{
return degree * Mathf.PI / 180f;
}
public override void CollectObservations()
{
float rayDistance = 20f;

detectableObjects = new string[] { "ball", "blueGoal", "redGoal",
"wall", "blueAgent", "redAgent" };
}
RayPerception(rayDistance, rayAngles, detectableObjects, 0f, 0f);
RayPerception(rayDistance, rayAngles, detectableObjects, 1f, 1f);
AddVectorObs(rayPer.Perceive(rayDistance, rayAngles, detectableObjects, 0f, 0f));
AddVectorObs(rayPer.Perceive(rayDistance, rayAngles, detectableObjects, 1f, 0f));
}
public void MoveAgent(float[] act)

if (agentRole == AgentRole.goalie)
{
kickPower = 0f;
if (action == 0)
switch (action)
dirToGo = transform.forward * 1f;
kickPower = 1f;
case 0:
dirToGo = transform.forward * 1f;
kickPower = 1f;
break;
case 1:
dirToGo = transform.forward * -1f;
break;
case 3:
dirToGo = transform.right * -1f;
break;
case 2:
dirToGo = transform.right * 1f;
break;
else if (action == 1)
{
dirToGo = transform.forward * -1f;
}
else if (action == 3)
{
dirToGo = transform.right * -1f;
}
else if (action == 2)
{
dirToGo = transform.right * 1f;
}
if (action == 0)
switch (action)
dirToGo = transform.forward * 1f;
kickPower = 1f;
}
else if (action == 1)
{
dirToGo = transform.forward * -1f;
}
else if (action == 2)
{
rotateDir = transform.up * 1f;
}
else if (action == 3)
{
rotateDir = transform.up * -1f;
}
else if (action == 4)
{
dirToGo = transform.right * -1f;
}
else if (action == 5)
{
dirToGo = transform.right * 1f;
case 0:
dirToGo = transform.forward * 1f;
kickPower = 1f;
break;
case 1:
dirToGo = transform.forward * -1f;
break;
case 2:
rotateDir = transform.up * 1f;
break;
case 3:
rotateDir = transform.up * -1f;
break;
case 4:
dirToGo = transform.right * -0.75f;
break;
case 5:
dirToGo = transform.right * 0.75f;
break;
}
}
transform.Rotate(rotateDir, Time.deltaTime * 100f);

2
unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Ball.mat


m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: ball
m_Name: Ball
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1

2
unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Block.mat


m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: block
m_Name: Block
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1

2
unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/FailGround.mat


m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: fail ground red
m_Name: FailGround
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1

2
unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Goal.mat


m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: goal
m_Name: Goal
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1

2
unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Obstacle.mat


m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: obstacle
m_Name: Obstacle
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1

2
unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/SuccessGround.mat


m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: success ground green
m_Name: SuccessGround
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1

2
unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/agentMaterial.mat


m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: agent_mat
m_Name: agentMaterial
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1

2
unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/goalMaterial.mat


m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: goal_mat
m_Name: goalMaterial
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1

2
unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/pitMaterial.mat


m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: pit_mat
m_Name: pitMaterial
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION
m_LightmapFlags: 1

2
unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsBall/Materials/logo1.mat


m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: logo 1
m_Name: logo1
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
m_LightmapFlags: 4

2
unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsBall/Materials/logo2.mat


m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: logo 2
m_Name: logo2
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4

2
unity-environment/Assets/ML-Agents/Scripts/Brain.cs


* the state
* <br> If discrete : The number of possible values the state can take*/
[Range(1, 10)]
[Range(1, 50)]
public int numStackedVectorObservations = 1;
public int vectorActionSize = 1;

6
unity-environment/ProjectSettings/TagManager.asset


- blueGoal
- blueAgent
- redAgent
- redBlock
- goal
- ground
- orangeBlock
- block
- orangeGoal
layers:
- Default
- TransparentFX

1001
unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/RLAgent.prefab
文件差异内容过多而无法显示
查看文件

1001
unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/RLArea.prefab
文件差异内容过多而无法显示
查看文件

8
unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/RLArea.prefab.meta


fileFormatVersion: 2
guid: 38400a68c4ea54b52998e34ee238d1a7
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

1001
unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/TeachingArea.prefab
文件差异内容过多而无法显示
查看文件

1001
unity-environment/Assets/ML-Agents/Examples/Banana/TFModels/BananaRL.bytes
文件差异内容过多而无法显示
查看文件

7
unity-environment/Assets/ML-Agents/Examples/Banana/TFModels/BananaRL.bytes.meta


fileFormatVersion: 2
guid: f60ba855bdc5f42689de283a9a572667
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

80
unity-environment/Assets/ML-Agents/Examples/SharedAssets/Scripts/RayPerception.cs


using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// Ray perception component. Attach this to agents to enable "local perception"
/// via the use of ray casts directed outward from the agent.
/// </summary>
public class RayPerception : MonoBehaviour
{
List<float> perceptionBuffer = new List<float>();
Vector3 endPosition;
RaycastHit hit;
/// <summary>
/// Creates perception vector to be used as part of an observation of an agent.
/// </summary>
/// <returns>The partial vector observation corresponding to the set of rays</returns>
/// <param name="rayDistance">Radius of rays</param>
/// <param name="rayAngles">Anlges of rays (starting from (1,0) on unit circle).</param>
/// <param name="detectableObjects">List of tags which correspond to object types agent can see</param>
/// <param name="startOffset">Starting heigh offset of ray from center of agent.</param>
/// <param name="endOffset">Ending height offset of ray from center of agent.</param>
public List<float> Perceive(float rayDistance,
float[] rayAngles, string[] detectableObjects,
float startOffset, float endOffset)
{
perceptionBuffer.Clear();
// For each ray sublist stores categorial information on detected object
// along with object distance.
foreach (float angle in rayAngles)
{
endPosition = transform.TransformDirection(
PolarToCartesian(rayDistance, angle));
endPosition.y = endOffset;
if (Application.isEditor)
{
Debug.DrawRay(transform.position + new Vector3(0f, startOffset, 0f),
endPosition, Color.black, 0.01f, true);
}
float[] subList = new float[detectableObjects.Length + 2];
if (Physics.SphereCast(transform.position +
new Vector3(0f, startOffset, 0f), 0.5f,
endPosition, out hit, rayDistance))
{
for (int i = 0; i < detectableObjects.Length; i++)
{
if (hit.collider.gameObject.CompareTag(detectableObjects[i]))
{
subList[i] = 1;
subList[detectableObjects.Length + 1] = hit.distance / rayDistance;
break;
}
}
}
else
{
subList[detectableObjects.Length] = 1f;
}
perceptionBuffer.AddRange(subList);
}
return perceptionBuffer;
}
/// <summary>
/// Converts polar coordinate to cartesian coordinate.
/// </summary>
public static Vector3 PolarToCartesian(float radius, float angle)
{
float x = radius * Mathf.Cos(DegreeToRadian(angle));
float z = radius * Mathf.Sin(DegreeToRadian(angle));
return new Vector3(x, 0f, z);
}
/// <summary>
/// Converts degrees to radians.
/// </summary>
public static float DegreeToRadian(float degree)
{
return degree * Mathf.PI / 180f;
}
}

11
unity-environment/Assets/ML-Agents/Examples/SharedAssets/Scripts/RayPerception.cs.meta


fileFormatVersion: 2
guid: bb172294dbbcc408286b156a2c4b553c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

1001
unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/ExpertAgentVisual.prefab
文件差异内容过多而无法显示
查看文件

10
unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/ExpertAgentVisual.prefab.meta


fileFormatVersion: 2
guid: e0c2f723f24fa42cbad86cf8e8e6f401
timeCreated: 1518230407
licenseType: Pro
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

1001
unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/StudentAgentVisual.prefab
文件差异内容过多而无法显示
查看文件

10
unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/StudentAgentVisual.prefab.meta


fileFormatVersion: 2
guid: c991009c529854b479276bdb1c5f962e
timeCreated: 1518228619
licenseType: Pro
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

988
unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/Agent 1.prefab


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 1302727675274720}
m_IsPrefabParent: 1
--- !u!1 &1070191672328438
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4739543024644864}
- component: {fileID: 33815662461085292}
- component: {fileID: 65712147298875542}
- component: {fileID: 23613623514170316}
m_Layer: 0
m_Name: Cube (5)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1110827849993120
GameObject:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4857419705842800}
- component: {fileID: 33125373043525422}
- component: {fileID: 65524337704683606}
- component: {fileID: 23395067205990802}
m_Layer: 0
m_Name: Cube (7)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1261624345158618
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4613061553866514}
- component: {fileID: 33384094996522660}
- component: {fileID: 65262580199396882}
- component: {fileID: 23340247739177724}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1284094992095002
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4374955212925988}
m_Layer: 0
m_Name: Laser
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1290732258523388
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4512126878741990}
- component: {fileID: 33305199267474358}
- component: {fileID: 65688366758734042}
- component: {fileID: 23770263273514420}
m_Layer: 0
m_Name: Cube (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1302727675274720
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4414523305831238}
- component: {fileID: 33817175223896232}
- component: {fileID: 65040142768565232}
- component: {fileID: 23921325574718668}
- component: {fileID: 54981857909711866}
- component: {fileID: 114179676407730186}
m_Layer: 0
m_Name: Agent 1
m_TagString: agent
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!1 &1383742658523140
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4886369796595982}
- component: {fileID: 33886490898776438}
- component: {fileID: 65267812909863174}
- component: {fileID: 23585664689172340}
m_Layer: 0
m_Name: Cube (6)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1441314371228640
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4830732749365184}
- component: {fileID: 33488757729144776}
- component: {fileID: 65943974942031564}
- component: {fileID: 23379414953507828}
m_Layer: 0
m_Name: Cube (3)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1591571741625594
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4508840079990288}
- component: {fileID: 33592253490936248}
- component: {fileID: 65021693995593104}
- component: {fileID: 23639097458388622}
m_Layer: 0
m_Name: Cube (4)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1668888810723470
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4493789070505452}
- component: {fileID: 20666402009771360}
- component: {fileID: 92383663012579776}
m_Layer: 0
m_Name: PlayerCam (1)
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1704394537339112
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4435319133461260}
- component: {fileID: 33285052123647170}
- component: {fileID: 65363590447273086}
- component: {fileID: 23897619365719540}
m_Layer: 0
m_Name: Cube (2)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!1 &1926522840387106
GameObject:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4406660025029332}
- component: {fileID: 33774217409687342}
- component: {fileID: 65019592536911304}
- component: {fileID: 23279293383186890}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4374955212925988
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1284094992095002}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 4406660025029332}
- {fileID: 4857419705842800}
m_Father: {fileID: 4414523305831238}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4406660025029332
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1926522840387106}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -0.060000002, z: 10}
m_LocalScale: {x: 0.35, y: 0.13, z: 20}
m_Children: []
m_Father: {fileID: 4374955212925988}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4414523305831238
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1302727675274720}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -42.213173, y: 2, z: -9.559753}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 4374955212925988}
- {fileID: 4613061553866514}
- {fileID: 4512126878741990}
- {fileID: 4435319133461260}
- {fileID: 4830732749365184}
- {fileID: 4508840079990288}
- {fileID: 4739543024644864}
- {fileID: 4886369796595982}
- {fileID: 4493789070505452}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4435319133461260
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1704394537339112}
m_LocalRotation: {x: -0, y: -0, z: -0.108555816, w: 0.9940904}
m_LocalPosition: {x: 0.25899982, y: 0.38600004, z: 0.4330001}
m_LocalScale: {x: 0.31509912, y: 0.102407925, z: 0.19999999}
m_Children: []
m_Father: {fileID: 4414523305831238}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -12.464001}
--- !u!4 &4493789070505452
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1668888810723470}
m_LocalRotation: {x: 0.13052616, y: 0, z: 0, w: 0.9914449}
m_LocalPosition: {x: 0, y: 5, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4414523305831238}
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 15, y: 0, z: 0}
--- !u!4 &4508840079990288
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1591571741625594}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -0.068, z: 0.439}
m_LocalScale: {x: 0.78507257, y: 0.29682198, z: 0.13609}
m_Children: []
m_Father: {fileID: 4414523305831238}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4512126878741990
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1290732258523388}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.259, y: 0.322, z: 0.468}
m_LocalScale: {x: 0.10276105, y: 0.10276093, z: 0.10276093}
m_Children: []
m_Father: {fileID: 4414523305831238}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4613061553866514
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1261624345158618}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.265, y: 0.292, z: 0.455}
m_LocalScale: {x: 0.116720855, y: 0.1167209, z: 0.1167209}
m_Children: []
m_Father: {fileID: 4414523305831238}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4739543024644864
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1070191672328438}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.196, y: 0.049718, z: 0.499}
m_LocalScale: {x: 0.15841636, y: 0.05989394, z: 0.027460756}
m_Children: []
m_Father: {fileID: 4414523305831238}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4830732749365184
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1441314371228640}
m_LocalRotation: {x: -0, y: -0, z: 0.108258076, w: 0.9941228}
m_LocalPosition: {x: -0.305, y: 0.386, z: 0.433}
m_LocalScale: {x: 0.31509912, y: 0.102407925, z: 0.19999999}
m_Children: []
m_Father: {fileID: 4414523305831238}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 12.43}
--- !u!4 &4857419705842800
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1110827849993120}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -0.060000002, z: 10}
m_LocalScale: {x: 0.77, y: 0.26, z: 20}
m_Children: []
m_Father: {fileID: 4374955212925988}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &4886369796595982
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1383742658523140}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.246, y: 0.049718, z: 0.49900007}
m_LocalScale: {x: 0.15840931, y: 0.0598909, z: 0.02746}
m_Children: []
m_Father: {fileID: 4414523305831238}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!20 &20666402009771360
Camera:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1668888810723470}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
m_BackGroundColor: {r: 0.83823526, g: 0.7266972, b: 0.585532, a: 0}
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 40
orthographic: 0
orthographic size: 4
m_Depth: 2
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_ForceIntoRT: 1
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
m_StereoMirrorMode: 0
--- !u!23 &23279293383186890
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1926522840387106}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 262d8cbc02b104990841408098431457, 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: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 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!23 &23340247739177724
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1261624345158618}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, 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: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 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!23 &23379414953507828
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1441314371228640}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, 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: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 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!23 &23395067205990802
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1110827849993120}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 262d8cbc02b104990841408098431457, 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: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 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!23 &23585664689172340
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1383742658523140}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 9efa4522ab2a04af4bdbcf95ddef5711, 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: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 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!23 &23613623514170316
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1070191672328438}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 9efa4522ab2a04af4bdbcf95ddef5711, 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: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 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!23 &23639097458388622
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1591571741625594}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 88b9ae7af2c1748a0a1f63407587a601, 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: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 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!23 &23770263273514420
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1290732258523388}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, 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: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 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!23 &23897619365719540
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1704394537339112}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, 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: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 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!23 &23921325574718668
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1302727675274720}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 260483cdfc6b14e26823a02f23bd8baa, 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: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 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!33 &33125373043525422
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1110827849993120}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!33 &33285052123647170
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1704394537339112}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!33 &33305199267474358
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1290732258523388}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!33 &33384094996522660
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1261624345158618}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!33 &33488757729144776
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1441314371228640}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!33 &33592253490936248
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1591571741625594}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!33 &33774217409687342
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1926522840387106}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!33 &33815662461085292
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1070191672328438}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!33 &33817175223896232
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1302727675274720}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!33 &33886490898776438
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1383742658523140}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!54 &54981857909711866
Rigidbody:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1302727675274720}
serializedVersion: 2
m_Mass: 10
m_Drag: 0.5
m_AngularDrag: 0.05
m_UseGravity: 1
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 112
m_CollisionDetection: 0
--- !u!65 &65019592536911304
BoxCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1926522840387106}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 0
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!65 &65021693995593104
BoxCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1591571741625594}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 0
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!65 &65040142768565232
BoxCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1302727675274720}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!65 &65262580199396882
BoxCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1261624345158618}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 0
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!65 &65267812909863174
BoxCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1383742658523140}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 0
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!65 &65363590447273086
BoxCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1704394537339112}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 0
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!65 &65524337704683606
BoxCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1110827849993120}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 0
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!65 &65688366758734042
BoxCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1290732258523388}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 0
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!65 &65712147298875542
BoxCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1070191672328438}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 0
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!65 &65943974942031564
BoxCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1441314371228640}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 0
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!92 &92383663012579776
Behaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1668888810723470}
m_Enabled: 1
--- !u!114 &114179676407730186
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1302727675274720}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 700720465a0104fa586fa4a412b044f8, type: 3}
m_Name:
m_EditorClassIdentifier:
brain: {fileID: 0}
agentParameters:
agentCameras: []
maxStep: 0
resetOnDone: 1
eventBased: 0
numberOfStepsBetweenActions: 1
numberOfActionsBetweenDecisions: 4
area: {fileID: 0}
turnSpeed: 150
xForce: 125
yForce: 300
zForce: 125
normalMaterial: {fileID: 2100000, guid: 7cc0e3ba03770412c98e9cca1eb132d0, type: 2}
myLazer: {fileID: 1284094992095002}

1001
unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/AreaPB.prefab
文件差异内容过多而无法显示
查看文件

1001
unity-environment/Assets/ML-Agents/Examples/Banana/TFModels/Banana-fight.bytes
文件差异内容过多而无法显示
查看文件

9
unity-environment/Assets/ML-Agents/Examples/Banana/TFModels/Banana-fight.bytes.meta


fileFormatVersion: 2
guid: 2671f35d7452742cb9f019fb5e30d682
timeCreated: 1515526677
licenseType: Pro
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1001
unity-environment/Assets/ML-Agents/Examples/Hallway/TFModels/hallway-1.bytes
文件差异内容过多而无法显示
查看文件

7
unity-environment/Assets/ML-Agents/Examples/Hallway/TFModels/hallway-1.bytes.meta


fileFormatVersion: 2
guid: 1b1bcb1bc80e84f0192f732cb0223525
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

/unity-environment/Assets/ML-Agents/Examples/Banana/Materials/swatch Master.psd → /unity-environment/Assets/ML-Agents/Examples/Banana/Materials/swatchMaster.psd

/unity-environment/Assets/ML-Agents/Examples/Banana/Materials/swatch Master.psd.meta → /unity-environment/Assets/ML-Agents/Examples/Banana/Materials/swatchMaster.psd.meta

/unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/Agent 1.prefab.meta → /unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/RLAgent.prefab.meta

/unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/AreaPB.prefab.meta → /unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/TeachingArea.prefab.meta

/unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/BAD BANANA.prefab.meta → /unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/BADBANANA.prefab.meta

/unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/ExpertAgent.prefab.meta → /unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/TeacherAgent.prefab.meta

/unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/BAD BANANA.prefab → /unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/BADBANANA.prefab

/unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/ExpertAgent.prefab → /unity-environment/Assets/ML-Agents/Examples/Banana/Prefabs/TeacherAgent.prefab

/unity-environment/Assets/ML-Agents/Examples/Banana/3D Models → /unity-environment/Assets/ML-Agents/Examples/Banana/Models

/unity-environment/Assets/ML-Agents/Examples/Banana/3D Models.meta → /unity-environment/Assets/ML-Agents/Examples/Banana/Models.meta

/unity-environment/Assets/ML-Agents/Examples/PushBlock/Materials/ground_pushblock.mat.meta → /unity-environment/Assets/ML-Agents/Examples/PushBlock/Materials/groundPushblock.mat.meta

/unity-environment/Assets/ML-Agents/Examples/PushBlock/Materials/ground_pushblock.mat → /unity-environment/Assets/ML-Agents/Examples/PushBlock/Materials/groundPushblock.mat

/unity-environment/Assets/ML-Agents/Examples/Reacher/Materials/Materials/checker 1.mat.meta → /unity-environment/Assets/ML-Agents/Examples/Reacher/Materials/Materials/checker1.mat.meta

/unity-environment/Assets/ML-Agents/Examples/Reacher/Materials/Materials/checker 1.mat → /unity-environment/Assets/ML-Agents/Examples/Reacher/Materials/Materials/checker1.mat

/unity-environment/Assets/ML-Agents/Examples/Soccer/Materials/swatch Master.psd → /unity-environment/Assets/ML-Agents/Examples/Soccer/Materials/swatchMaster.psd

/unity-environment/Assets/ML-Agents/Examples/Soccer/Materials/swatch Master.psd.meta → /unity-environment/Assets/ML-Agents/Examples/Soccer/Materials/swatchMaster.psd.meta

/unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/Soccer Ball.meta → /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall.meta

/unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/Soccer Ball → /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall

/unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Textures/Soccer Ball Normal Map.png → /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Textures/SoccerBallNormalMap.png

/unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Textures/Soccer Ball Normal Map.png.meta → /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Textures/SoccerBallNormalMap.png.meta

/unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Prefabs/Soccer Ball.prefab.meta → /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Prefabs/SoccerBall.prefab.meta

/unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Prefabs/Soccer Ball.prefab → /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Prefabs/SoccerBall.prefab

/unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Meshes/Soccer Ball Mesh.fbx → /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Meshes/SoccerBallMesh.fbx

/unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Meshes/Soccer Ball Mesh.fbx.meta → /unity-environment/Assets/ML-Agents/Examples/Soccer/Prefabs/SoccerBall/Meshes/SoccerBallMesh.fbx.meta

/unity-environment/Assets/ML-Agents/Examples/Shared Assets.meta → /unity-environment/Assets/ML-Agents/Examples/SharedAssets.meta

/unity-environment/Assets/ML-Agents/Examples/Shared Assets → /unity-environment/Assets/ML-Agents/Examples/SharedAssets

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/ball.mat.meta → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Ball.mat.meta

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/block.mat.meta → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Block.mat.meta

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/fail ground red.mat.meta → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/FailGround.mat.meta

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/goal.mat.meta → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Goal.mat.meta

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/obstacle.mat.meta → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Obstacle.mat.meta

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/success ground green.mat.meta → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/SuccessGround.mat.meta

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/ball.mat → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Ball.mat

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/block.mat → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Block.mat

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/fail ground red.mat → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/FailGround.mat

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/goal.mat → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Goal.mat

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/obstacle.mat → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/Obstacle.mat

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/success ground green.mat → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/SuccessGround.mat

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/agent_mat.mat.meta → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/agentMaterial.mat.meta

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/goal_mat.mat.meta → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/goalMaterial.mat.meta

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/pit_mat.mat.meta → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/pitMaterial.mat.meta

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/agent_mat.mat → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/agentMaterial.mat

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/goal_mat.mat → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/goalMaterial.mat

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/pit_mat.mat → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsGrid/pitMaterial.mat

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsBall/Materials/logo 1.mat.meta → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsBall/Materials/logo1.mat.meta

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsBall/Materials/logo 2.mat.meta → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsBall/Materials/logo2.mat.meta

/unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsBall/Materials/logo 1.mat → /unity-environment/Assets/ML-Agents/Examples/SharedAssets/Materials/MaterialsBall/Materials/logo1.mat

部分文件因为文件数量过多而无法显示

正在加载...
取消
保存