Hunter-Unity
5 年前
当前提交
e891d9b5
共有 18 个文件被更改,包括 3180 次插入 和 0 次删除
-
297Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/OrientationCube.prefab
-
7Project/Assets/ML-Agents/Examples/SharedAssets/Prefabs/OrientationCube.prefab.meta
-
295Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/AvgCenterOfMass.cs
-
11Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/AvgCenterOfMass.cs.meta
-
28Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/RagdollHelpers.cs
-
3Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/RagdollHelpers.cs.meta
-
26Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/TransformExtensions.cs
-
3Project/Assets/ML-Agents/Examples/SharedAssets/Scripts/TransformExtensions.cs.meta
-
1001Project/Assets/ML-Agents/Examples/Walker/Prefabs/WalkerPairDynamic.prefab
-
7Project/Assets/ML-Agents/Examples/Walker/Prefabs/WalkerPairDynamic.prefab.meta
-
865Project/Assets/ML-Agents/Examples/Walker/Scenes/WalkerDynamic.unity
-
9Project/Assets/ML-Agents/Examples/Walker/Scenes/WalkerDynamic.unity.meta
-
249Project/Assets/ML-Agents/Examples/Walker/Scripts/WalkerAgentDynamic.cs
-
12Project/Assets/ML-Agents/Examples/Walker/Scripts/WalkerAgentDynamic.cs.meta
-
8Project/Assets/Puppo.meta
-
351config/trainer_config.yaml
-
8Project/Assets/Puppo/Race Day.meta
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!1 &2591864625898824423 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 2591864625898824440} |
|||
- component: {fileID: 2591864625898824442} |
|||
- component: {fileID: 2591864625898824441} |
|||
m_Layer: 0 |
|||
m_Name: Cube |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!4 &2591864625898824440 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 2591864625898824423} |
|||
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: 2591864627374185741} |
|||
m_Father: {fileID: 2591864627249999504} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!33 &2591864625898824442 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 2591864625898824423} |
|||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!23 &2591864625898824441 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 2591864625898824423} |
|||
m_Enabled: 1 |
|||
m_CastShadows: 1 |
|||
m_ReceiveShadows: 1 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 1 |
|||
m_LightProbeUsage: 1 |
|||
m_ReflectionProbeUsage: 1 |
|||
m_RenderingLayerMask: 1 |
|||
m_RendererPriority: 0 |
|||
m_Materials: |
|||
- {fileID: 2100000, guid: 5c59bd36def9a4684be49a21cf201a2d, type: 2} |
|||
m_StaticBatchInfo: |
|||
firstSubMesh: 0 |
|||
subMeshCount: 0 |
|||
m_StaticBatchRoot: {fileID: 0} |
|||
m_ProbeAnchor: {fileID: 0} |
|||
m_LightProbeVolumeOverride: {fileID: 0} |
|||
m_ScaleInLightmap: 1 |
|||
m_PreserveUVs: 0 |
|||
m_IgnoreNormalsForChartDetection: 0 |
|||
m_ImportantGI: 0 |
|||
m_StitchLightmapSeams: 0 |
|||
m_SelectedEditorRenderState: 3 |
|||
m_MinimumChartSize: 4 |
|||
m_AutoUVMaxDistance: 0.5 |
|||
m_AutoUVMaxAngle: 89 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_SortingLayerID: 0 |
|||
m_SortingLayer: 0 |
|||
m_SortingOrder: 0 |
|||
--- !u!1 &2591864627249999519 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 2591864627249999504} |
|||
m_Layer: 0 |
|||
m_Name: OrientationCube |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!4 &2591864627249999504 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 2591864627249999519} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: -498.349, y: -0.45, z: -250.09256} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: |
|||
- {fileID: 2591864625898824440} |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &2591864627374185740 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 2591864627374185741} |
|||
m_Layer: 0 |
|||
m_Name: Arrow |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!4 &2591864627374185741 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 2591864627374185740} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0.012, y: 0.10131, z: 0} |
|||
m_LocalScale: {x: 0.7764428, y: 0.7764428, z: 0.7764428} |
|||
m_Children: |
|||
- {fileID: 3256674261123397973} |
|||
- {fileID: 3257148088533667597} |
|||
m_Father: {fileID: 2591864625898824440} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &3258603775602446353 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 3256674261123397973} |
|||
- component: {fileID: 3263562959519547143} |
|||
- component: {fileID: 3273629389920486807} |
|||
m_Layer: 0 |
|||
m_Name: symbol_tri |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!4 &3256674261123397973 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 3258603775602446353} |
|||
m_LocalRotation: {x: -0.5000024, y: -0.49999765, z: 0.4999684, w: -0.5000316} |
|||
m_LocalPosition: {x: 0.22598267, y: 0.5, z: 0} |
|||
m_LocalScale: {x: 0.39859864, y: 0.4054339, z: 0.25} |
|||
m_Children: [] |
|||
m_Father: {fileID: 2591864627374185741} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!33 &3263562959519547143 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 3258603775602446353} |
|||
m_Mesh: {fileID: 4300000, guid: 09e2da39770c24cc9a71e5dbf05a1e85, type: 3} |
|||
--- !u!23 &3273629389920486807 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 3258603775602446353} |
|||
m_Enabled: 1 |
|||
m_CastShadows: 1 |
|||
m_ReceiveShadows: 1 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 1 |
|||
m_LightProbeUsage: 1 |
|||
m_ReflectionProbeUsage: 1 |
|||
m_RenderingLayerMask: 1 |
|||
m_RendererPriority: 0 |
|||
m_Materials: |
|||
- {fileID: 2100000, guid: 69fefdd39d2b34b169e921910bed9c0d, type: 2} |
|||
m_StaticBatchInfo: |
|||
firstSubMesh: 0 |
|||
subMeshCount: 0 |
|||
m_StaticBatchRoot: {fileID: 0} |
|||
m_ProbeAnchor: {fileID: 0} |
|||
m_LightProbeVolumeOverride: {fileID: 0} |
|||
m_ScaleInLightmap: 1 |
|||
m_PreserveUVs: 0 |
|||
m_IgnoreNormalsForChartDetection: 0 |
|||
m_ImportantGI: 0 |
|||
m_StitchLightmapSeams: 0 |
|||
m_SelectedEditorRenderState: 3 |
|||
m_MinimumChartSize: 4 |
|||
m_AutoUVMaxDistance: 0.5 |
|||
m_AutoUVMaxAngle: 89 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_SortingLayerID: 0 |
|||
m_SortingLayer: 0 |
|||
m_SortingOrder: 0 |
|||
--- !u!1 &3259145720179606813 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 3257148088533667597} |
|||
- component: {fileID: 3263743565359806181} |
|||
- component: {fileID: 3272323263339836425} |
|||
m_Layer: 0 |
|||
m_Name: Symbol_Triangle |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!4 &3257148088533667597 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 3259145720179606813} |
|||
m_LocalRotation: {x: -0.5000024, y: -0.49999765, z: 0.4999684, w: -0.5000316} |
|||
m_LocalPosition: {x: -0.20300293, y: 0.5, z: 0} |
|||
m_LocalScale: {x: 0.31112, y: 0.4054339, z: 0.085725} |
|||
m_Children: [] |
|||
m_Father: {fileID: 2591864627374185741} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 90.00001, y: 0, z: 270.007} |
|||
--- !u!33 &3263743565359806181 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 3259145720179606813} |
|||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!23 &3272323263339836425 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 3259145720179606813} |
|||
m_Enabled: 1 |
|||
m_CastShadows: 1 |
|||
m_ReceiveShadows: 1 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 1 |
|||
m_LightProbeUsage: 1 |
|||
m_ReflectionProbeUsage: 1 |
|||
m_RenderingLayerMask: 1 |
|||
m_RendererPriority: 0 |
|||
m_Materials: |
|||
- {fileID: 2100000, guid: 69fefdd39d2b34b169e921910bed9c0d, 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_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 |
|
|||
fileFormatVersion: 2 |
|||
guid: 41960beaa3d8041e19d82b5160042e55 |
|||
PrefabImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System.Collections.Generic; |
|||
using UnityEngine; |
|||
|
|||
/// <summary>
|
|||
/// Used for visualizing the average center of mass of a ragdoll
|
|||
/// </summary>
|
|||
[DisallowMultipleComponent] |
|||
[ExecuteInEditMode] |
|||
public class AvgCenterOfMass : MonoBehaviour |
|||
{ |
|||
/// <summary>
|
|||
/// Enable to show a green spehere at the current center of mass.
|
|||
/// </summary>
|
|||
[Tooltip("Enable to show a green spehere at the current center of mass.")] |
|||
public bool showCOMGizmos = true; |
|||
public Vector3 avgCOMWorldSpace; |
|||
public Color avgCOMColor = Color.green; |
|||
public Color bodyPartCOMColor = Color.yellow; |
|||
List<Rigidbody> rbList = new List<Rigidbody>(); |
|||
public float totalMass; |
|||
[Tooltip("Visualize Relative Pos")] |
|||
public bool showBPPosRelToBody; |
|||
public bool useTransformPoint = true; |
|||
public bool useTransformVector; |
|||
public bool useTransformDir; |
|||
public bool showRBPos; |
|||
public bool showRelPosVectorOnly; |
|||
public bool showInverseTransformPointUnscaledRelToBody; |
|||
public bool showInverseTransformPointRelToBody; |
|||
public bool showInverseTransformVectorRelToBody; |
|||
public bool showInverseTransformDirRelToBody; |
|||
public Transform body_T; |
|||
void Start() |
|||
{ |
|||
SetUpRigidbodies(); |
|||
} |
|||
|
|||
void SetUpRigidbodies() |
|||
{ |
|||
rbList.Clear(); |
|||
totalMass = 0; |
|||
foreach(var item in GetComponentsInChildren<Rigidbody>()) |
|||
{ |
|||
rbList.Add(item); |
|||
totalMass += item.mass; |
|||
} |
|||
} |
|||
|
|||
// void FixedUpdate()
|
|||
// {
|
|||
// if(Application.isPlaying)
|
|||
// {
|
|||
// avgCOMWorldSpace = Vector3.zero;
|
|||
|
|||
// foreach(var item in rbList)
|
|||
// {
|
|||
// if (item)
|
|||
// {
|
|||
// avgCOMWorldSpace += item.worldCenterOfMass;
|
|||
// }
|
|||
// }
|
|||
|
|||
// //DRAW AVG GIZMOS
|
|||
// avgCOMWorldSpace /= rbList.Count; //divide by num of rb's to get avg in WORLD space
|
|||
// }
|
|||
// }
|
|||
void FixedUpdate() |
|||
{ |
|||
if(Application.isPlaying) |
|||
{ |
|||
// avgCOMWorldSpace = Vector3.zero;
|
|||
// foreach(var item in rbList)
|
|||
// {
|
|||
// if (item)
|
|||
// {
|
|||
// avgCOMWorldSpace += item.worldCenterOfMass;
|
|||
// }
|
|||
// }
|
|||
// //DRAW AVG GIZMOS
|
|||
// avgCOMWorldSpace /= rbList.Count; //divide by num of rb's to get avg in WORLD space
|
|||
|
|||
|
|||
Vector3 CoM = Vector3.zero; |
|||
float c = 0f; |
|||
|
|||
foreach(var item in rbList) |
|||
{ |
|||
CoM += item.worldCenterOfMass * item.mass; |
|||
c += item.mass; |
|||
} |
|||
avgCOMWorldSpace = CoM/c; |
|||
// CoM /= c;
|
|||
|
|||
|
|||
if (showBPPosRelToBody) |
|||
{ |
|||
var pos = body_T.position; |
|||
Matrix4x4 bodyMatrix = body_T.localToWorldMatrix; |
|||
// get position from the last column
|
|||
var bodyPos = new Vector3(bodyMatrix[0,3], bodyMatrix[1,3], bodyMatrix[2,3]); |
|||
Debug.DrawRay(bodyPos, Vector3.up, Color.yellow,Time.fixedDeltaTime); |
|||
foreach (var rb in rbList) |
|||
{ |
|||
if (showRBPos) |
|||
{ |
|||
Debug.DrawRay(rb.position, Vector3.up, Color.green,Time.fixedDeltaTime); |
|||
} |
|||
if (rb.transform != body_T) |
|||
{ |
|||
if (showRelPosVectorOnly) |
|||
{ |
|||
var relPosVector = rb.position - body_T.position; |
|||
// Debug.DrawRay(body_T.position + body_T.InverseTransformPoint(rb.position), Vector3.up, Color.red,Time.fixedDeltaTime);
|
|||
Debug.DrawRay(body_T.position + relPosVector, Vector3.up, Color.red,Time.fixedDeltaTime); |
|||
// Vector3 currentLocalPosRelToMatrix = bodyMatrix.inverse.MultiplyPoint(rb.position);
|
|||
Vector3 currentLocalPosRelToMatrix = bodyMatrix.inverse.MultiplyVector(rb.position - bodyPos); |
|||
|
|||
Debug.DrawRay(body_T.position + currentLocalPosRelToMatrix, Vector3.up, Color.green,Time.fixedDeltaTime); |
|||
} |
|||
if (showInverseTransformPointUnscaledRelToBody) |
|||
{ |
|||
// Debug.DrawRay(body_T.position + body_T.InverseTransformPoint(rb.position), Vector3.up, Color.red,Time.fixedDeltaTime);
|
|||
Debug.DrawRay(body_T.position + body_T.InverseTransformPointUnscaled(rb.position), Vector3.up, Color.red,Time.fixedDeltaTime); |
|||
} |
|||
if (showInverseTransformPointRelToBody) |
|||
{ |
|||
// Debug.DrawRay(body_T.position + body_T.InverseTransformPoint(rb.position), Vector3.up, Color.red,Time.fixedDeltaTime);
|
|||
Debug.DrawRay(body_T.position + body_T.InverseTransformPoint(rb.position), Vector3.up, Color.red,Time.fixedDeltaTime); |
|||
} |
|||
if (showInverseTransformDirRelToBody) |
|||
{ |
|||
Debug.DrawRay(body_T.InverseTransformDirection(rb.position), Vector3.up, Color.red,Time.fixedDeltaTime); |
|||
} |
|||
if (showInverseTransformVectorRelToBody) |
|||
{ |
|||
Debug.DrawRay(body_T.position + body_T.InverseTransformVector(rb.position - body_T.position), Vector3.up, Color.red,Time.fixedDeltaTime); |
|||
} |
|||
// var localPosRelToBody = body.InverseTransformPoint(rb.position);
|
|||
// Debug.DrawRay(body_T.position + body_T.InverseTransformPoint(rb.position), Vector3.up, Color.red,Time.fixedDeltaTime);
|
|||
// Debug.DrawRay(body_T.position + rb.transform.TransformVector(rb.transform.localPosition), Vector3.up, Color.cyan,Time.fixedDeltaTime);
|
|||
// Debug.DrawRay(rb.transform.TransformPoint(rb.position), Vector3.up, Color.green,Time.fixedDeltaTime);
|
|||
|
|||
|
|||
// Debug.DrawRay(body_T.position + body_T.InverseTransformVector(rb.transform.position), Vector3.up, Color.red,Time.fixedDeltaTime);
|
|||
// Debug.DrawRay(body_T.position + body_T.InverseTransformDirection(rb.transform.position), Vector3.up, Color.red,Time.fixedDeltaTime);
|
|||
// Debug.DrawRay(body_T.position + body_T.TransformPoint(rb.transform.localPosition), Vector3.up, Color.red,Time.fixedDeltaTime);
|
|||
|
|||
if (useTransformPoint) |
|||
{ |
|||
|
|||
} |
|||
else if (useTransformVector) |
|||
{ |
|||
|
|||
} |
|||
else if (useTransformDir) |
|||
{ |
|||
|
|||
} |
|||
|
|||
} |
|||
} |
|||
|
|||
} |
|||
} |
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
private void OnDrawGizmosSelected() |
|||
{ |
|||
if(!Application.isPlaying) |
|||
{ |
|||
if (showCOMGizmos) |
|||
{ |
|||
Vector3 CoM = Vector3.zero; |
|||
float c = 0f; |
|||
// avgCOMWorldSpace = Vector3.zero;
|
|||
//SHOW BODY PART GIZMOS
|
|||
foreach(var item in rbList) |
|||
{ |
|||
// if (item)
|
|||
// {
|
|||
Gizmos.color = bodyPartCOMColor; |
|||
float drawCOMRadius = item.mass/totalMass; |
|||
Gizmos.DrawSphere(item.worldCenterOfMass, drawCOMRadius); |
|||
// Gizmos.DrawWireSphere(item.worldCenterOfMass, drawCOMRadius);
|
|||
CoM += item.worldCenterOfMass * item.mass; |
|||
c += item.mass; |
|||
// avgCOMWorldSpace += item.worldCenterOfMass;
|
|||
// }
|
|||
} |
|||
|
|||
//DRAW AVG GIZMOS
|
|||
avgCOMWorldSpace = CoM/c; |
|||
// avgCOMWorldSpace /= rbList.Count; //divide by num of rb's to get avg in WORLD space
|
|||
float avgCOMRadius = 0.1f; //radius of gizmo
|
|||
Gizmos.color = avgCOMColor; |
|||
Gizmos.DrawSphere(avgCOMWorldSpace, avgCOMRadius); |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
if (showCOMGizmos) |
|||
{ |
|||
// avgCOMWorldSpace = Vector3.zero;
|
|||
|
|||
//SHOW BODY PART GIZMOS
|
|||
foreach(var item in rbList) |
|||
{ |
|||
// if (item)
|
|||
// {
|
|||
Gizmos.color = bodyPartCOMColor; |
|||
float drawCOMRadius = item.mass/totalMass; |
|||
Gizmos.DrawSphere(item.worldCenterOfMass, drawCOMRadius); |
|||
// Gizmos.DrawWireSphere(item.worldCenterOfMass, drawCOMRadius);
|
|||
// avgCOMWorldSpace += item.worldCenterOfMass;
|
|||
// }
|
|||
} |
|||
|
|||
//DRAW AVG GIZMOS
|
|||
// avgCOMWorldSpace /= rbList.Count; //divide by num of rb's to get avg in WORLD space
|
|||
float avgCOMGizmoRadius = 0.1f; //radius of gizmo
|
|||
Gizmos.color = avgCOMColor; |
|||
Gizmos.DrawSphere(avgCOMWorldSpace, avgCOMGizmoRadius); |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
} |
|||
} |
|||
// {
|
|||
// if(!Application.isPlaying)
|
|||
// {
|
|||
// if (showCOMGizmos)
|
|||
// {
|
|||
// avgCOMWorldSpace = Vector3.zero;
|
|||
|
|||
// //SHOW BODY PART GIZMOS
|
|||
// foreach(var item in rbList)
|
|||
// {
|
|||
// if (item)
|
|||
// {
|
|||
// Gizmos.color = bodyPartCOMColor;
|
|||
// float drawCOMRadius = item.mass/totalMass;
|
|||
// Gizmos.DrawWireSphere(item.worldCenterOfMass, drawCOMRadius);
|
|||
// avgCOMWorldSpace += item.worldCenterOfMass;
|
|||
// }
|
|||
// }
|
|||
|
|||
// //DRAW AVG GIZMOS
|
|||
// avgCOMWorldSpace /= rbList.Count; //divide by num of rb's to get avg in WORLD space
|
|||
// float avgCOMRadius = 0.1f; //radius of gizmo
|
|||
// Gizmos.color = avgCOMColor;
|
|||
// Gizmos.DrawSphere(avgCOMWorldSpace, avgCOMRadius);
|
|||
// }
|
|||
// }
|
|||
// else
|
|||
// {
|
|||
// if (showCOMGizmos)
|
|||
// {
|
|||
// // avgCOMWorldSpace = Vector3.zero;
|
|||
|
|||
// //SHOW BODY PART GIZMOS
|
|||
// foreach(var item in rbList)
|
|||
// {
|
|||
// if (item)
|
|||
// {
|
|||
// Gizmos.color = bodyPartCOMColor;
|
|||
// float drawCOMRadius = item.mass/totalMass;
|
|||
// Gizmos.DrawWireSphere(item.worldCenterOfMass, drawCOMRadius);
|
|||
// // avgCOMWorldSpace += item.worldCenterOfMass;
|
|||
// }
|
|||
// }
|
|||
|
|||
// //DRAW AVG GIZMOS
|
|||
// // avgCOMWorldSpace /= rbList.Count; //divide by num of rb's to get avg in WORLD space
|
|||
// float avgCOMGizmoRadius = 0.1f; //radius of gizmo
|
|||
// Gizmos.color = avgCOMColor;
|
|||
// Gizmos.DrawSphere(avgCOMWorldSpace, avgCOMGizmoRadius);
|
|||
// }
|
|||
|
|||
// }
|
|||
// }
|
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 35bd0d2facf4149ad86cde561dcedd64 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using UnityEngine; |
|||
|
|||
namespace MLAgentsExamples |
|||
{ |
|||
/// <summary>
|
|||
/// This class contains logic for common ragdoll operations & helper methods.
|
|||
/// </summary>
|
|||
public static class RagdollHelpers |
|||
{ |
|||
/// <summary>
|
|||
//Get Joint Rotation Relative to the Connected Rigidbody
|
|||
//We want to collect this info because it is the actual rotation, not the "target rotation"
|
|||
//..because when the joint is weak, the target rotation will be much different than the actual rotation
|
|||
/// </summary>
|
|||
public static Quaternion GetJointRotation(ConfigurableJoint joint) |
|||
{ |
|||
Quaternion rotDiff = Quaternion.Inverse(joint.connectedBody.transform.rotation) * joint.transform.rotation; |
|||
return(rotDiff); |
|||
// return(Quaternion.FromToRotation(joint.axis, joint.connectedBody.transform.rotation.eulerAngles));
|
|||
} |
|||
|
|||
public static Quaternion GetRotationDelta(Quaternion r1, Quaternion r2) |
|||
{ |
|||
Quaternion rotDiff = Quaternion.Inverse(r1) * r2; |
|||
return(rotDiff); |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 2b8c368466f64b5d8b4dca532c0a7b3c |
|||
timeCreated: 1588782867 |
|
|||
using UnityEngine; |
|||
|
|||
/// <summary>
|
|||
/// A Transform Extension that ignores scale for TransformPoint operations.
|
|||
/// </summary>
|
|||
public static class TransformExtensions |
|||
{ |
|||
|
|||
/// <summary>
|
|||
/// Transform position from world space to local space unscaled.
|
|||
/// </summary>
|
|||
public static Vector3 TransformPointUnscaled(this Transform transform, Vector3 position) |
|||
{ |
|||
var localToWorldMatrix = Matrix4x4.TRS(transform.position, transform.rotation, Vector3.one); |
|||
return localToWorldMatrix.MultiplyPoint3x4(position); |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Transform position from local space to world space unscaled.
|
|||
/// </summary>
|
|||
public static Vector3 InverseTransformPointUnscaled(this Transform transform, Vector3 position) |
|||
{ |
|||
var worldToLocalMatrix = Matrix4x4.TRS(transform.position, transform.rotation, Vector3.one).inverse; |
|||
return worldToLocalMatrix.MultiplyPoint3x4(position); |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: cda45d40e2b1444597790f6a956db9a3 |
|||
timeCreated: 1588782389 |
1001
Project/Assets/ML-Agents/Examples/Walker/Prefabs/WalkerPairDynamic.prefab
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: 012997b9fa39c4058978e9bd7c81f51d |
|||
PrefabImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!29 &1 |
|||
OcclusionCullingSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_OcclusionBakeSettings: |
|||
smallestOccluder: 5 |
|||
smallestHole: 0.25 |
|||
backfaceThreshold: 100 |
|||
m_SceneGUID: 00000000000000000000000000000000 |
|||
m_OcclusionCullingData: {fileID: 0} |
|||
--- !u!104 &2 |
|||
RenderSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 9 |
|||
m_Fog: 0 |
|||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} |
|||
m_FogMode: 3 |
|||
m_FogDensity: 0.01 |
|||
m_LinearFogStart: 0 |
|||
m_LinearFogEnd: 300 |
|||
m_AmbientSkyColor: {r: 0.8, g: 0.8, b: 0.8, a: 1} |
|||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} |
|||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} |
|||
m_AmbientIntensity: 1.5 |
|||
m_AmbientMode: 3 |
|||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} |
|||
m_SkyboxMaterial: {fileID: 2100000, guid: aa8aeca77e027ed40b33552c4f2f7337, type: 2} |
|||
m_HaloStrength: 0.5 |
|||
m_FlareStrength: 1 |
|||
m_FlareFadeSpeed: 3 |
|||
m_HaloTexture: {fileID: 0} |
|||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} |
|||
m_DefaultReflectionMode: 0 |
|||
m_DefaultReflectionResolution: 128 |
|||
m_ReflectionBounces: 1 |
|||
m_ReflectionIntensity: 1 |
|||
m_CustomReflection: {fileID: 0} |
|||
m_Sun: {fileID: 0} |
|||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} |
|||
m_UseRadianceAmbientProbe: 0 |
|||
--- !u!157 &3 |
|||
LightmapSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 11 |
|||
m_GIWorkflowMode: 1 |
|||
m_GISettings: |
|||
serializedVersion: 2 |
|||
m_BounceScale: 1 |
|||
m_IndirectOutputScale: 1 |
|||
m_AlbedoBoost: 1 |
|||
m_EnvironmentLightingMode: 0 |
|||
m_EnableBakedLightmaps: 1 |
|||
m_EnableRealtimeLightmaps: 1 |
|||
m_LightmapEditorSettings: |
|||
serializedVersion: 10 |
|||
m_Resolution: 2 |
|||
m_BakeResolution: 40 |
|||
m_AtlasSize: 1024 |
|||
m_AO: 0 |
|||
m_AOMaxDistance: 1 |
|||
m_CompAOExponent: 1 |
|||
m_CompAOExponentDirect: 0 |
|||
m_Padding: 2 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_LightmapsBakeMode: 1 |
|||
m_TextureCompression: 1 |
|||
m_FinalGather: 0 |
|||
m_FinalGatherFiltering: 1 |
|||
m_FinalGatherRayCount: 256 |
|||
m_ReflectionCompression: 2 |
|||
m_MixedBakeMode: 2 |
|||
m_BakeBackend: 1 |
|||
m_PVRSampling: 1 |
|||
m_PVRDirectSampleCount: 32 |
|||
m_PVRSampleCount: 500 |
|||
m_PVRBounces: 2 |
|||
m_PVRFilterTypeDirect: 0 |
|||
m_PVRFilterTypeIndirect: 0 |
|||
m_PVRFilterTypeAO: 0 |
|||
m_PVRFilteringMode: 1 |
|||
m_PVRCulling: 1 |
|||
m_PVRFilteringGaussRadiusDirect: 1 |
|||
m_PVRFilteringGaussRadiusIndirect: 5 |
|||
m_PVRFilteringGaussRadiusAO: 2 |
|||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5 |
|||
m_PVRFilteringAtrousPositionSigmaIndirect: 2 |
|||
m_PVRFilteringAtrousPositionSigmaAO: 1 |
|||
m_ShowResolutionOverlay: 1 |
|||
m_LightingDataAsset: {fileID: 112000002, guid: 54ef04e276b2b414ca9a558df0ef647a, |
|||
type: 2} |
|||
m_UseShadowmask: 1 |
|||
--- !u!196 &4 |
|||
NavMeshSettings: |
|||
serializedVersion: 2 |
|||
m_ObjectHideFlags: 0 |
|||
m_BuildSettings: |
|||
serializedVersion: 2 |
|||
agentTypeID: 0 |
|||
agentRadius: 0.5 |
|||
agentHeight: 2 |
|||
agentSlope: 45 |
|||
agentClimb: 0.4 |
|||
ledgeDropHeight: 0 |
|||
maxJumpAcrossDistance: 0 |
|||
minRegionArea: 2 |
|||
manualCellSize: 0 |
|||
cellSize: 0.16666667 |
|||
manualTileSize: 0 |
|||
tileSize: 256 |
|||
accuratePlacement: 0 |
|||
debug: |
|||
m_Flags: 0 |
|||
m_NavMeshData: {fileID: 0} |
|||
--- !u!1001 &41273264 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 100000, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
propertyPath: m_TagString |
|||
value: ground |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 100000, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
propertyPath: m_StaticEditorFlags |
|||
value: 4294967295 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 100002, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
propertyPath: m_StaticEditorFlags |
|||
value: 4294967295 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 100004, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
propertyPath: m_StaticEditorFlags |
|||
value: 4294967295 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 400002, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 400 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 400002, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 400002, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 400002, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 400002, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 400002, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 400002, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 400002, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 3 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 2300000, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
propertyPath: m_Materials.Array.data[0] |
|||
value: |
|||
objectReference: {fileID: 2100000, guid: acba6bf2a290a496bb8989b42bf8698d, type: 2} |
|||
- target: {fileID: 2300002, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
propertyPath: m_Materials.Array.data[0] |
|||
value: |
|||
objectReference: {fileID: 2100000, guid: 66163cf35956a4be08e801b750c26f33, type: 2} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: 123ce272c1899fe4cb9494514640e29e, type: 3} |
|||
--- !u!1001 &60886982 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 106.38621 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: 38.840767 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 34.72934 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0.31598538 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: -0.3596048 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0.13088542 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 0.8681629 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 4943719350691982, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 2 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: 5889392e3f05b448a8a06c5def6c2dec, type: 3} |
|||
--- !u!1 &459314944 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 459314948} |
|||
- component: {fileID: 459314947} |
|||
- component: {fileID: 459314945} |
|||
m_Layer: 0 |
|||
m_Name: Main Camera |
|||
m_TagString: MainCamera |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &459314945 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 459314944} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: ec40c70d5160b47cd8deaab79e24892c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
target: {fileID: 4333478024843770} |
|||
--- !u!20 &459314947 |
|||
Camera: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 459314944} |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_ClearFlags: 2 |
|||
m_BackGroundColor: {r: 0.46666667, g: 0.5647059, b: 0.60784316, a: 1} |
|||
m_projectionMatrixMode: 1 |
|||
m_SensorSize: {x: 36, y: 24} |
|||
m_LensShift: {x: 0, y: 0} |
|||
m_GateFitMode: 2 |
|||
m_FocalLength: 50 |
|||
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: 19.41 |
|||
m_Depth: -1 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967293 |
|||
m_RenderingPath: -1 |
|||
m_TargetTexture: {fileID: 0} |
|||
m_TargetDisplay: 0 |
|||
m_TargetEye: 3 |
|||
m_HDR: 1 |
|||
m_AllowMSAA: 1 |
|||
m_AllowDynamicResolution: 0 |
|||
m_ForceIntoRT: 0 |
|||
m_OcclusionCulling: 1 |
|||
m_StereoConvergence: 10 |
|||
m_StereoSeparation: 0.022 |
|||
--- !u!4 &459314948 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 459314944} |
|||
m_LocalRotation: {x: 0.1131026, y: -0.41461477, z: 0.05200237, w: 0.9014422} |
|||
m_LocalPosition: {x: -474.12155, y: 10.422336, z: -262.80988} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 14.302001, y: -49.4, z: -0.002} |
|||
--- !u!1 &1321968714 stripped |
|||
GameObject: |
|||
m_CorrespondingSourceObject: {fileID: 100004, guid: 123ce272c1899fe4cb9494514640e29e, |
|||
type: 3} |
|||
m_PrefabInstance: {fileID: 41273264} |
|||
m_PrefabAsset: {fileID: 0} |
|||
--- !u!65 &1321968715 |
|||
BoxCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1321968714} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_Size: {x: 50, y: 1100, z: 72100} |
|||
m_Center: {x: 198929, y: 500, z: 35000} |
|||
--- !u!65 &1321968716 |
|||
BoxCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1321968714} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_Size: {x: 50, y: 1100, z: 72100} |
|||
m_Center: {x: -1015, y: 500, z: 35000} |
|||
--- !u!65 &1321968717 |
|||
BoxCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1321968714} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_Size: {x: 200000, y: 1100, z: 50} |
|||
m_Center: {x: 98950, y: 500, z: -1015} |
|||
--- !u!65 &1321968718 |
|||
BoxCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1321968714} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_Size: {x: 200000, y: 1100, z: 50} |
|||
m_Center: {x: 98950, y: 500, z: 71025} |
|||
--- !u!1 &1409355320 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1409355322} |
|||
- component: {fileID: 1409355323} |
|||
- component: {fileID: 1409355321} |
|||
m_Layer: 0 |
|||
m_Name: WalkerSettings |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &1409355321 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1409355320} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: ec51f47c5ed0478080c449c74fd9c154, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
gravityMultiplier: 1.5 |
|||
fixedDeltaTime: 0.01333 |
|||
maximumDeltaTime: 0.15 |
|||
solverIterations: 12 |
|||
solverVelocityIterations: 12 |
|||
--- !u!4 &1409355322 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1409355320} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: -5.2424088, y: 0.8, z: -10.498967} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!114 &1409355323 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1409355320} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 3d6f3eab3776b4fb79724ac4216dfd7b, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
--- !u!1 &1878074381 stripped |
|||
GameObject: |
|||
m_CorrespondingSourceObject: {fileID: 100000, guid: 123ce272c1899fe4cb9494514640e29e, |
|||
type: 3} |
|||
m_PrefabInstance: {fileID: 41273264} |
|||
m_PrefabAsset: {fileID: 0} |
|||
--- !u!65 &1878074383 |
|||
BoxCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1878074381} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_Size: {x: 199900, y: 100, z: 72000} |
|||
m_Center: {x: 99950, y: -50, z: 36000} |
|||
--- !u!1001 &1988882706 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 4 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_AnchoredPosition.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_AnchoredPosition.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_SizeDelta.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_SizeDelta.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_AnchorMin.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_AnchorMin.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_AnchorMax.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_AnchorMax.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_Pivot.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224194346362733190, guid: 3ce107b4a79bc4eef83afde434932a68, |
|||
type: 3} |
|||
propertyPath: m_Pivot.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: 3ce107b4a79bc4eef83afde434932a68, type: 3} |
|||
--- !u!4 &4333478024843770 stripped |
|||
Transform: |
|||
m_CorrespondingSourceObject: {fileID: 8916244711290644222, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
m_PrefabInstance: {fileID: 8913670489453311748} |
|||
m_PrefabAsset: {fileID: 0} |
|||
--- !u!1001 &8913670489453311748 |
|||
PrefabInstance: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 8908943361521729982, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_LocalPosition.x |
|||
value: -500 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8908943361521729982, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_LocalPosition.y |
|||
value: 2.45 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8908943361521729982, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_LocalPosition.z |
|||
value: -250 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8908943361521729982, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_LocalRotation.x |
|||
value: -0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8908943361521729982, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0.7071068 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8908943361521729982, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_LocalRotation.z |
|||
value: -0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8908943361521729982, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 0.7071068 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8908943361521729982, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_RootOrder |
|||
value: 5 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8908943361521729982, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8908943361521729982, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8908943361521729982, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_LocalEulerAnglesHint.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488009607198, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488009607198, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488103258781, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488103258781, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488103258783, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488106135386, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488106135387, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488106135387, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488141971377, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488141971378, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488141971378, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488215205497, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488215205503, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488215205503, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488674934060, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488674934061, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488674934061, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488904676208, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Materials.Array.data[0] |
|||
value: |
|||
objectReference: {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, type: 2} |
|||
- target: {fileID: 8913670488974397832, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488974397838, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670488974397838, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489135890562, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489135890562, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489135890572, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489222467606, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489222467607, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489222467607, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489331594706, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489331594706, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489331594716, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489348644705, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489348644705, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489348644707, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489459620681, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489459620681, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489459620683, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489832487162, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489832487163, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489832487163, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489835536933, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489835536933, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489835536935, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489902738864, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489902738864, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489902738866, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489932920736, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_EnablePreprocessing |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489932920742, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_AngularDrag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8913670489932920742, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Drag |
|||
value: 0.05 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8914216747803489280, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Name |
|||
value: WalkerPairDynamic |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 8928008596961116030, guid: 012997b9fa39c4058978e9bd7c81f51d, |
|||
type: 3} |
|||
propertyPath: m_Materials.Array.data[0] |
|||
value: |
|||
objectReference: {fileID: 2100000, guid: 866f7a84824d141dbbe50dd1893207d9, type: 2} |
|||
m_RemovedComponents: [] |
|||
m_SourcePrefab: {fileID: 100100000, guid: 012997b9fa39c4058978e9bd7c81f51d, type: 3} |
|
|||
fileFormatVersion: 2 |
|||
guid: 4619cf9f250c14e9c9af102bc16c1323 |
|||
timeCreated: 1520420566 |
|||
licenseType: Free |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using MLAgentsExamples; |
|||
using UnityEngine; |
|||
using Unity.MLAgents; |
|||
using Unity.MLAgentsExamples; |
|||
using Unity.MLAgents.Sensors; |
|||
|
|||
public class WalkerAgentDynamic : Agent |
|||
{ |
|||
[Header("Specific to Walker")] |
|||
[Header("Target To Walk Towards")] |
|||
[Space(10)] |
|||
public Transform target; |
|||
|
|||
|
|||
//ORIENTATION
|
|||
Vector3 m_WalkDir; |
|||
Quaternion m_WalkDirLookRot; |
|||
Matrix4x4 m_worldPosMatrix; |
|||
|
|||
public Transform hips; |
|||
public Transform chest; |
|||
public Transform spine; |
|||
public Transform head; |
|||
public Transform thighL; |
|||
public Transform shinL; |
|||
public Transform footL; |
|||
public Transform thighR; |
|||
public Transform shinR; |
|||
public Transform footR; |
|||
public Transform armL; |
|||
public Transform forearmL; |
|||
public Transform handL; |
|||
public Transform armR; |
|||
public Transform forearmR; |
|||
public Transform handR; |
|||
JointDriveController m_JdController; |
|||
|
|||
Rigidbody m_HipsRb; |
|||
Rigidbody m_ChestRb; |
|||
Rigidbody m_SpineRb; |
|||
|
|||
EnvironmentParameters m_ResetParams; |
|||
|
|||
public override void Initialize() |
|||
{ |
|||
m_JdController = GetComponent<JointDriveController>(); |
|||
m_JdController.SetupBodyPart(hips); |
|||
m_JdController.SetupBodyPart(chest); |
|||
m_JdController.SetupBodyPart(spine); |
|||
m_JdController.SetupBodyPart(head); |
|||
m_JdController.SetupBodyPart(thighL); |
|||
m_JdController.SetupBodyPart(shinL); |
|||
m_JdController.SetupBodyPart(footL); |
|||
m_JdController.SetupBodyPart(thighR); |
|||
m_JdController.SetupBodyPart(shinR); |
|||
m_JdController.SetupBodyPart(footR); |
|||
m_JdController.SetupBodyPart(armL); |
|||
m_JdController.SetupBodyPart(forearmL); |
|||
m_JdController.SetupBodyPart(handL); |
|||
m_JdController.SetupBodyPart(armR); |
|||
m_JdController.SetupBodyPart(forearmR); |
|||
m_JdController.SetupBodyPart(handR); |
|||
|
|||
m_HipsRb = hips.GetComponent<Rigidbody>(); |
|||
m_ChestRb = chest.GetComponent<Rigidbody>(); |
|||
m_SpineRb = spine.GetComponent<Rigidbody>(); |
|||
|
|||
m_ResetParams = Academy.Instance.EnvironmentParameters; |
|||
|
|||
SetResetParameters(); |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Add relevant information on each body part to observations.
|
|||
/// </summary>
|
|||
public void CollectObservationBodyPart(BodyPart bp, VectorSensor sensor) |
|||
{ |
|||
//GROUND CHECK
|
|||
sensor.AddObservation(bp.groundContact.touchingGround ? 1 : 0); // Is this bp touching the ground
|
|||
|
|||
//RELATIVE RB VELOCITY
|
|||
var velocityRelativeToLookRotationToTarget = m_worldPosMatrix.inverse.MultiplyVector(bp.rb.velocity); |
|||
sensor.AddObservation(velocityRelativeToLookRotationToTarget); |
|||
|
|||
//RELATIVE RB ANGULAR VELOCITY
|
|||
var angularVelocityRelativeToLookRotationToTarget = m_worldPosMatrix.inverse.MultiplyVector(bp.rb.angularVelocity); |
|||
sensor.AddObservation(angularVelocityRelativeToLookRotationToTarget); |
|||
|
|||
// sensor.AddObservation(rb.velocity);
|
|||
// sensor.AddObservation(rb.angularVelocity);
|
|||
// var localPosRelToHips = hips.InverseTransformPoint(rb.position);
|
|||
// sensor.AddObservation(localPosRelToHips);
|
|||
sensor.AddObservation(hips.InverseTransformPointUnscaled(bp.rb.position)); |
|||
|
|||
|
|||
// if (bp.rb.transform != hips && bp.rb.transform != handL && bp.rb.transform != handR &&
|
|||
// bp.rb.transform != footL && bp.rb.transform != footR && bp.rb.transform != head)
|
|||
if (bp.rb.transform != hips && bp.rb.transform != handL && bp.rb.transform != handR && |
|||
bp.rb.transform != footL && bp.rb.transform != footR) |
|||
{ |
|||
sensor.AddObservation(RagdollHelpers.GetJointRotation(bp.joint)); |
|||
// sensor.AddObservation(bp.currentXNormalizedRot);
|
|||
// sensor.AddObservation(bp.currentYNormalizedRot);
|
|||
// sensor.AddObservation(bp.currentZNormalizedRot);
|
|||
sensor.AddObservation(bp.currentStrength / m_JdController.maxJointForceLimit); |
|||
} |
|||
} |
|||
|
|||
// /// <summary>
|
|||
// /// Add relevant information on each body part to observations.
|
|||
// /// </summary>
|
|||
// public void CollectObservationBodyPart(BodyPart bp, VectorSensor sensor)
|
|||
// {
|
|||
// var rb = bp.rb;
|
|||
// sensor.AddObservation(bp.groundContact.touchingGround ? 1 : 0); // Is this bp touching the ground
|
|||
// sensor.AddObservation(rb.velocity);
|
|||
// sensor.AddObservation(rb.angularVelocity);
|
|||
// var localPosRelToHips = hips.InverseTransformPoint(rb.position);
|
|||
// sensor.AddObservation(localPosRelToHips);
|
|||
//
|
|||
// if (bp.rb.transform != hips && bp.rb.transform != handL && bp.rb.transform != handR &&
|
|||
// bp.rb.transform != footL && bp.rb.transform != footR && bp.rb.transform != head)
|
|||
// {
|
|||
// sensor.AddObservation(bp.currentXNormalizedRot);
|
|||
// sensor.AddObservation(bp.currentYNormalizedRot);
|
|||
// sensor.AddObservation(bp.currentZNormalizedRot);
|
|||
// sensor.AddObservation(bp.currentStrength / m_JdController.maxJointForceLimit);
|
|||
// }
|
|||
// }
|
|||
|
|||
/// <summary>
|
|||
/// Loop over body parts to add them to observation.
|
|||
/// </summary>
|
|||
public override void CollectObservations(VectorSensor sensor) |
|||
{ |
|||
m_JdController.GetCurrentJointForces(); |
|||
|
|||
// Update pos to target
|
|||
m_WalkDir = target.position - hips.position; |
|||
|
|||
//FACING DIR
|
|||
m_WalkDirLookRot = Quaternion.LookRotation(m_WalkDir); |
|||
sensor.AddObservation(RagdollHelpers.GetRotationDelta(m_WalkDirLookRot, hips.rotation)); |
|||
// m_TargetDirMatrix = Matrix4x4.TRS(Vector3.zero, m_LookRotation, Vector3.one);
|
|||
|
|||
//ORIENTATION MATRIX
|
|||
Vector3 worldPosMatrixPos = hips.position; |
|||
worldPosMatrixPos.y = .5f; |
|||
m_worldPosMatrix = Matrix4x4.TRS(worldPosMatrixPos, Quaternion.identity, Vector3.one); |
|||
|
|||
// sensor.AddObservation(m_WalkDir.normalized);
|
|||
|
|||
//HIP POS REL TO MATRIX
|
|||
sensor.AddObservation(hips.position - worldPosMatrixPos); |
|||
// sensor.AddObservation(m_JdController.bodyPartsDict[hips].rb.position);
|
|||
|
|||
// sensor.AddObservation(hips.forward);
|
|||
// sensor.AddObservation(hips.up);
|
|||
|
|||
foreach (var bodyPart in m_JdController.bodyPartsDict.Values) |
|||
{ |
|||
CollectObservationBodyPart(bodyPart, sensor); |
|||
} |
|||
} |
|||
|
|||
public override void OnActionReceived(float[] vectorAction) |
|||
{ |
|||
var bpDict = m_JdController.bodyPartsDict; |
|||
var i = -1; |
|||
|
|||
bpDict[chest].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], vectorAction[++i]); |
|||
bpDict[spine].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], vectorAction[++i]); |
|||
|
|||
bpDict[thighL].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0); |
|||
bpDict[thighR].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0); |
|||
bpDict[shinL].SetJointTargetRotation(vectorAction[++i], 0, 0); |
|||
bpDict[shinR].SetJointTargetRotation(vectorAction[++i], 0, 0); |
|||
bpDict[footR].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], vectorAction[++i]); |
|||
bpDict[footL].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], vectorAction[++i]); |
|||
|
|||
|
|||
bpDict[armL].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0); |
|||
bpDict[armR].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0); |
|||
bpDict[forearmL].SetJointTargetRotation(vectorAction[++i], 0, 0); |
|||
bpDict[forearmR].SetJointTargetRotation(vectorAction[++i], 0, 0); |
|||
bpDict[head].SetJointTargetRotation(vectorAction[++i], vectorAction[++i], 0); |
|||
|
|||
//update joint strength settings
|
|||
bpDict[chest].SetJointStrength(vectorAction[++i]); |
|||
bpDict[spine].SetJointStrength(vectorAction[++i]); |
|||
bpDict[head].SetJointStrength(vectorAction[++i]); |
|||
bpDict[thighL].SetJointStrength(vectorAction[++i]); |
|||
bpDict[shinL].SetJointStrength(vectorAction[++i]); |
|||
bpDict[footL].SetJointStrength(vectorAction[++i]); |
|||
bpDict[thighR].SetJointStrength(vectorAction[++i]); |
|||
bpDict[shinR].SetJointStrength(vectorAction[++i]); |
|||
bpDict[footR].SetJointStrength(vectorAction[++i]); |
|||
bpDict[armL].SetJointStrength(vectorAction[++i]); |
|||
bpDict[forearmL].SetJointStrength(vectorAction[++i]); |
|||
bpDict[armR].SetJointStrength(vectorAction[++i]); |
|||
bpDict[forearmR].SetJointStrength(vectorAction[++i]); |
|||
} |
|||
|
|||
void FixedUpdate() |
|||
{ |
|||
// Set reward for this step according to mixture of the following elements.
|
|||
// a. Velocity alignment with goal direction.
|
|||
// b. Rotation alignment with goal direction.
|
|||
// c. Encourage head height.
|
|||
// d. Discourage head movement.
|
|||
m_WalkDir = target.position - m_JdController.bodyPartsDict[hips].rb.position; |
|||
AddReward( |
|||
+0.03f * Vector3.Dot(m_WalkDir.normalized, m_JdController.bodyPartsDict[hips].rb.velocity) |
|||
+ 0.01f * Vector3.Dot(m_WalkDir.normalized, hips.forward) |
|||
+ 0.02f * (head.position.y - hips.position.y) |
|||
- 0.01f * Vector3.Distance(m_JdController.bodyPartsDict[head].rb.velocity, |
|||
m_JdController.bodyPartsDict[hips].rb.velocity) |
|||
); |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Loop over body parts and reset them to initial conditions.
|
|||
/// </summary>
|
|||
public override void OnEpisodeBegin() |
|||
{ |
|||
foreach (var bodyPart in m_JdController.bodyPartsDict.Values) |
|||
{ |
|||
bodyPart.Reset(bodyPart); |
|||
} |
|||
if (m_WalkDir != Vector3.zero) |
|||
{ |
|||
transform.rotation = Quaternion.LookRotation(m_WalkDir); |
|||
} |
|||
|
|||
SetResetParameters(); |
|||
} |
|||
|
|||
public void SetTorsoMass() |
|||
{ |
|||
m_ChestRb.mass = m_ResetParams.GetWithDefault("chest_mass", 8); |
|||
m_SpineRb.mass = m_ResetParams.GetWithDefault("spine_mass", 10); |
|||
m_HipsRb.mass = m_ResetParams.GetWithDefault("hip_mass", 15); |
|||
} |
|||
|
|||
public void SetResetParameters() |
|||
{ |
|||
SetTorsoMass(); |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 21bcc2d3e08144151a0df9fa506dbbe7 |
|||
timeCreated: 1507411991 |
|||
licenseType: Free |
|||
MonoImporter: |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 8fe7964b5935448bbb5ea7625e228d8e |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
default: |
|||
trainer: ppo |
|||
batch_size: 1024 |
|||
beta: 5.0e-3 |
|||
buffer_size: 10240 |
|||
epsilon: 0.2 |
|||
hidden_units: 128 |
|||
lambd: 0.95 |
|||
learning_rate: 3.0e-4 |
|||
learning_rate_schedule: linear |
|||
max_steps: 5.0e5 |
|||
memory_size: 128 |
|||
normalize: false |
|||
num_epoch: 3 |
|||
num_layers: 2 |
|||
time_horizon: 64 |
|||
sequence_length: 64 |
|||
summary_freq: 10000 |
|||
use_recurrent: false |
|||
vis_encode_type: simple |
|||
reward_signals: |
|||
extrinsic: |
|||
strength: 1.0 |
|||
gamma: 0.99 |
|||
|
|||
FoodCollector: |
|||
normalize: false |
|||
beta: 5.0e-3 |
|||
batch_size: 1024 |
|||
buffer_size: 10240 |
|||
max_steps: 2.0e6 |
|||
|
|||
Bouncer: |
|||
normalize: true |
|||
max_steps: 4.0e6 |
|||
num_layers: 2 |
|||
hidden_units: 64 |
|||
|
|||
PushBlock: |
|||
max_steps: 2.0e6 |
|||
batch_size: 128 |
|||
buffer_size: 2048 |
|||
beta: 1.0e-2 |
|||
hidden_units: 256 |
|||
summary_freq: 60000 |
|||
time_horizon: 64 |
|||
num_layers: 2 |
|||
|
|||
SmallWallJump: |
|||
max_steps: 5e6 |
|||
batch_size: 128 |
|||
buffer_size: 2048 |
|||
beta: 5.0e-3 |
|||
hidden_units: 256 |
|||
summary_freq: 20000 |
|||
time_horizon: 128 |
|||
num_layers: 2 |
|||
normalize: false |
|||
|
|||
BigWallJump: |
|||
max_steps: 2e7 |
|||
batch_size: 128 |
|||
buffer_size: 2048 |
|||
beta: 5.0e-3 |
|||
hidden_units: 256 |
|||
summary_freq: 20000 |
|||
time_horizon: 128 |
|||
num_layers: 2 |
|||
normalize: false |
|||
|
|||
Pyramids: |
|||
summary_freq: 30000 |
|||
time_horizon: 128 |
|||
batch_size: 128 |
|||
buffer_size: 2048 |
|||
hidden_units: 512 |
|||
num_layers: 2 |
|||
beta: 1.0e-2 |
|||
max_steps: 1.0e7 |
|||
num_epoch: 3 |
|||
reward_signals: |
|||
extrinsic: |
|||
strength: 1.0 |
|||
gamma: 0.99 |
|||
curiosity: |
|||
strength: 0.02 |
|||
gamma: 0.99 |
|||
encoding_size: 256 |
|||
|
|||
VisualPyramids: |
|||
time_horizon: 128 |
|||
batch_size: 64 |
|||
buffer_size: 2024 |
|||
hidden_units: 256 |
|||
num_layers: 1 |
|||
beta: 1.0e-2 |
|||
max_steps: 1.0e7 |
|||
num_epoch: 3 |
|||
reward_signals: |
|||
extrinsic: |
|||
strength: 1.0 |
|||
gamma: 0.99 |
|||
curiosity: |
|||
strength: 0.01 |
|||
gamma: 0.99 |
|||
encoding_size: 256 |
|||
|
|||
3DBall: |
|||
normalize: true |
|||
batch_size: 64 |
|||
buffer_size: 12000 |
|||
summary_freq: 12000 |
|||
time_horizon: 1000 |
|||
lambd: 0.99 |
|||
beta: 0.001 |
|||
|
|||
3DBallHard: |
|||
normalize: true |
|||
batch_size: 1200 |
|||
buffer_size: 12000 |
|||
summary_freq: 12000 |
|||
time_horizon: 1000 |
|||
max_steps: 5.0e6 |
|||
beta: 0.001 |
|||
reward_signals: |
|||
extrinsic: |
|||
strength: 1.0 |
|||
gamma: 0.995 |
|||
|
|||
Tennis: |
|||
normalize: true |
|||
max_steps: 5.0e7 |
|||
learning_rate_schedule: constant |
|||
batch_size: 1024 |
|||
buffer_size: 10240 |
|||
hidden_units: 256 |
|||
time_horizon: 1000 |
|||
self_play: |
|||
window: 10 |
|||
play_against_latest_model_ratio: 0.5 |
|||
save_steps: 50000 |
|||
swap_steps: 50000 |
|||
team_change: 100000 |
|||
|
|||
Soccer: |
|||
normalize: false |
|||
max_steps: 5.0e7 |
|||
learning_rate_schedule: constant |
|||
batch_size: 2048 |
|||
buffer_size: 20480 |
|||
hidden_units: 512 |
|||
time_horizon: 1000 |
|||
num_layers: 2 |
|||
self_play: |
|||
window: 10 |
|||
play_against_latest_model_ratio: 0.5 |
|||
save_steps: 50000 |
|||
swap_steps: 50000 |
|||
team_change: 100000 |
|||
|
|||
CrawlerStatic: |
|||
normalize: true |
|||
num_epoch: 3 |
|||
time_horizon: 1000 |
|||
batch_size: 2024 |
|||
buffer_size: 20240 |
|||
max_steps: 1e7 |
|||
summary_freq: 30000 |
|||
num_layers: 3 |
|||
hidden_units: 512 |
|||
reward_signals: |
|||
extrinsic: |
|||
strength: 1.0 |
|||
gamma: 0.995 |
|||
|
|||
CrawlerDynamic: |
|||
normalize: true |
|||
num_epoch: 3 |
|||
time_horizon: 1000 |
|||
batch_size: 2024 |
|||
buffer_size: 20240 |
|||
max_steps: 3.5e6 |
|||
# max_steps: 1e7 |
|||
summary_freq: 30000 |
|||
num_layers: 3 |
|||
hidden_units: 512 |
|||
reward_signals: |
|||
extrinsic: |
|||
strength: 1.0 |
|||
gamma: 0.995 |
|||
|
|||
CrawlerBalanced: |
|||
normalize: true |
|||
num_epoch: 3 |
|||
time_horizon: 1000 |
|||
batch_size: 2024 |
|||
buffer_size: 20240 |
|||
# max_steps: 3.5e6 |
|||
max_steps: 1e8 |
|||
summary_freq: 30000 |
|||
num_layers: 3 |
|||
hidden_units: 512 |
|||
reward_signals: |
|||
extrinsic: |
|||
strength: 1.0 |
|||
gamma: 0.995 |
|||
|
|||
WormDynamic: |
|||
normalize: true |
|||
num_epoch: 3 |
|||
time_horizon: 1000 |
|||
batch_size: 2024 |
|||
buffer_size: 20240 |
|||
max_steps: 3.5e6 |
|||
summary_freq: 30000 |
|||
num_layers: 3 |
|||
hidden_units: 512 |
|||
reward_signals: |
|||
extrinsic: |
|||
strength: 1.0 |
|||
gamma: 0.995 |
|||
|
|||
WormStatic: |
|||
normalize: true |
|||
num_epoch: 3 |
|||
time_horizon: 1000 |
|||
batch_size: 2024 |
|||
buffer_size: 20240 |
|||
max_steps: 3.5e6 |
|||
summary_freq: 30000 |
|||
num_layers: 3 |
|||
hidden_units: 512 |
|||
reward_signals: |
|||
extrinsic: |
|||
strength: 1.0 |
|||
gamma: 0.995 |
|||
|
|||
WalkerDynamic: |
|||
normalize: true |
|||
num_epoch: 3 |
|||
time_horizon: 1000 |
|||
batch_size: 2048 |
|||
buffer_size: 20480 |
|||
max_steps: 2e7 |
|||
summary_freq: 30000 |
|||
num_layers: 3 |
|||
hidden_units: 512 |
|||
reward_signals: |
|||
extrinsic: |
|||
strength: 1.0 |
|||
gamma: 0.995 |
|||
|
|||
Walker: |
|||
normalize: true |
|||
num_epoch: 3 |
|||
time_horizon: 1000 |
|||
batch_size: 2048 |
|||
buffer_size: 20480 |
|||
max_steps: 2e7 |
|||
summary_freq: 30000 |
|||
num_layers: 3 |
|||
hidden_units: 512 |
|||
reward_signals: |
|||
extrinsic: |
|||
strength: 1.0 |
|||
gamma: 0.995 |
|||
|
|||
Reacher: |
|||
normalize: true |
|||
num_epoch: 3 |
|||
time_horizon: 1000 |
|||
batch_size: 2024 |
|||
buffer_size: 20240 |
|||
max_steps: 2e7 |
|||
summary_freq: 60000 |
|||
reward_signals: |
|||
extrinsic: |
|||
strength: 1.0 |
|||
gamma: 0.995 |
|||
|
|||
Hallway: |
|||
use_recurrent: true |
|||
sequence_length: 64 |
|||
num_layers: 2 |
|||
hidden_units: 128 |
|||
memory_size: 128 |
|||
beta: 1.0e-2 |
|||
num_epoch: 3 |
|||
buffer_size: 1024 |
|||
batch_size: 128 |
|||
max_steps: 1.0e7 |
|||
summary_freq: 10000 |
|||
time_horizon: 64 |
|||
|
|||
VisualHallway: |
|||
use_recurrent: true |
|||
sequence_length: 64 |
|||
num_layers: 1 |
|||
hidden_units: 128 |
|||
memory_size: 128 |
|||
beta: 1.0e-2 |
|||
num_epoch: 3 |
|||
buffer_size: 1024 |
|||
batch_size: 64 |
|||
max_steps: 1.0e7 |
|||
summary_freq: 10000 |
|||
time_horizon: 64 |
|||
|
|||
VisualPushBlock: |
|||
use_recurrent: true |
|||
sequence_length: 32 |
|||
num_layers: 1 |
|||
hidden_units: 128 |
|||
memory_size: 128 |
|||
beta: 1.0e-2 |
|||
num_epoch: 3 |
|||
buffer_size: 1024 |
|||
batch_size: 64 |
|||
max_steps: 3.0e6 |
|||
summary_freq: 60000 |
|||
time_horizon: 64 |
|||
|
|||
GridWorld: |
|||
batch_size: 32 |
|||
normalize: false |
|||
num_layers: 1 |
|||
hidden_units: 256 |
|||
beta: 5.0e-3 |
|||
buffer_size: 256 |
|||
max_steps: 500000 |
|||
summary_freq: 20000 |
|||
time_horizon: 5 |
|||
reward_signals: |
|||
extrinsic: |
|||
strength: 1.0 |
|||
gamma: 0.9 |
|||
|
|||
Basic: |
|||
batch_size: 32 |
|||
normalize: false |
|||
num_layers: 1 |
|||
hidden_units: 20 |
|||
beta: 5.0e-3 |
|||
buffer_size: 256 |
|||
max_steps: 5.0e5 |
|||
summary_freq: 2000 |
|||
time_horizon: 3 |
|||
reward_signals: |
|||
extrinsic: |
|||
strength: 1.0 |
|||
gamma: 0.9 |
|
|||
fileFormatVersion: 2 |
|||
guid: dfe3aac5576d64ce7aa71a124324c028 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
撰写
预览
正在加载...
取消
保存
Reference in new issue