From 82b1a4703f069cd58ab9e412bf309d766e3994d1 Mon Sep 17 00:00:00 2001 From: Noah Zemlin Date: Tue, 3 Mar 2020 19:09:01 -0600 Subject: [PATCH] Add Lane Maze level and IGVC cam bot --- Assets/Levels/Lane Maze.asset | 16 + Assets/Levels/Lane Maze.asset.meta | 8 + Assets/Materials/lane_transparent.mat | 77 ++ Assets/Materials/lane_transparent.mat.meta | 8 + Assets/Materials/lane_transparent.png | Bin 0 -> 57016 bytes Assets/Materials/lane_transparent.png.meta | 91 ++ Assets/MenuScripts/RobotOptions.cs | 5 + Assets/Robots/IGVC_Robot.asset | 2 - Assets/Robots/IGVC_Robot.prefab | 4 +- Assets/Robots/IGVC_Robot_w_Camera.asset | 34 + Assets/Robots/IGVC_Robot_w_Camera.asset.meta | 8 + Assets/Robots/IGVC_Robot_w_Camera.prefab | 1097 +++++++++++++++++ Assets/Robots/IGVC_Robot_w_Camera.prefab.meta | 7 + Assets/Scenes/Lane_Maze.unity | 677 ++++++++++ Assets/Scenes/Lane_Maze.unity.meta | 7 + Assets/Scenes/Menu.unity | 2 + Assets/Scripts/IGVCConfigLoader.cs | 5 +- Assets/StreamingAssets/build_info | 2 +- ProjectSettings/EditorBuildSettings.asset | 3 + ProjectSettings/ProjectSettings.asset | 2 +- 20 files changed, 2048 insertions(+), 7 deletions(-) create mode 100644 Assets/Levels/Lane Maze.asset create mode 100644 Assets/Levels/Lane Maze.asset.meta create mode 100644 Assets/Materials/lane_transparent.mat create mode 100644 Assets/Materials/lane_transparent.mat.meta create mode 100644 Assets/Materials/lane_transparent.png create mode 100644 Assets/Materials/lane_transparent.png.meta create mode 100644 Assets/Robots/IGVC_Robot_w_Camera.asset create mode 100644 Assets/Robots/IGVC_Robot_w_Camera.asset.meta create mode 100644 Assets/Robots/IGVC_Robot_w_Camera.prefab create mode 100644 Assets/Robots/IGVC_Robot_w_Camera.prefab.meta create mode 100644 Assets/Scenes/Lane_Maze.unity create mode 100644 Assets/Scenes/Lane_Maze.unity.meta diff --git a/Assets/Levels/Lane Maze.asset b/Assets/Levels/Lane Maze.asset new file mode 100644 index 0000000..53d6d4b --- /dev/null +++ b/Assets/Levels/Lane Maze.asset @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 79d992af8d293a346ade7e1113139280, type: 3} + m_Name: Lane Maze + m_EditorClassIdentifier: + levelName: Lane Maze + levelId: 4 diff --git a/Assets/Levels/Lane Maze.asset.meta b/Assets/Levels/Lane Maze.asset.meta new file mode 100644 index 0000000..6229d22 --- /dev/null +++ b/Assets/Levels/Lane Maze.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 131184c045fde904a881be9109c3bd19 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/lane_transparent.mat b/Assets/Materials/lane_transparent.mat new file mode 100644 index 0000000..144e435 --- /dev/null +++ b/Assets/Materials/lane_transparent.mat @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: lane_transparent + m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _ALPHAPREMULTIPLY_ON _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 58ecdd3890f7ffe4b95a4c6e858d18e1, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 10 + - _GlossMapScale: 0 + - _Glossiness: 0.146 + - _GlossyReflections: 0 + - _Metallic: 0 + - _Mode: 3 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 0 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Materials/lane_transparent.mat.meta b/Assets/Materials/lane_transparent.mat.meta new file mode 100644 index 0000000..c6bc182 --- /dev/null +++ b/Assets/Materials/lane_transparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 40073e624da3dcc4cab80610d2df4237 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/lane_transparent.png b/Assets/Materials/lane_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..ef2ff7736fab3d42e57e8975e191ef2ef8dad191 GIT binary patch literal 57016 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 literal 0 HcmV?d00001 diff --git a/Assets/Materials/lane_transparent.png.meta b/Assets/Materials/lane_transparent.png.meta new file mode 100644 index 0000000..e3a5833 --- /dev/null +++ b/Assets/Materials/lane_transparent.png.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 58ecdd3890f7ffe4b95a4c6e858d18e1 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/MenuScripts/RobotOptions.cs b/Assets/MenuScripts/RobotOptions.cs index 84a9161..6e01160 100644 --- a/Assets/MenuScripts/RobotOptions.cs +++ b/Assets/MenuScripts/RobotOptions.cs @@ -41,6 +41,11 @@ public static void SetValue(string key, string value) dict[key] = value; } + public static bool Exists(string key) + { + return dict.ContainsKey(key); + } + public static void Save() { foreach (string key in dict.Keys) diff --git a/Assets/Robots/IGVC_Robot.asset b/Assets/Robots/IGVC_Robot.asset index e675d1e..0b34ce1 100644 --- a/Assets/Robots/IGVC_Robot.asset +++ b/Assets/Robots/IGVC_Robot.asset @@ -16,8 +16,6 @@ MonoBehaviour: robotPrefab: {fileID: 6116572216260438465, guid: fc16d9ea6156982428568ec5678e576b, type: 3} options: - - name: Camera Topic - defaultValue: /igvc/camera/compressed - name: IMU Topic defaultValue: /igvc/imu - name: Velocity Topic diff --git a/Assets/Robots/IGVC_Robot.prefab b/Assets/Robots/IGVC_Robot.prefab index ab55d19..52aa9f1 100644 --- a/Assets/Robots/IGVC_Robot.prefab +++ b/Assets/Robots/IGVC_Robot.prefab @@ -25,14 +25,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6116572215990976585} - m_LocalRotation: {x: 0.23307991, y: -0, z: -0, w: 0.97245765} + m_LocalRotation: {x: 0.38268343, y: 0, z: 0, w: 0.92387956} m_LocalPosition: {x: 0, y: 0.86099994, z: -0.04400015} m_LocalScale: {x: 0.10562, y: 0.048891686, z: 0.08247501} m_Children: - {fileID: 6116572218028855840} m_Father: {fileID: 6116572216260438476} m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 26.957, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} --- !u!33 &6116572215990976596 MeshFilter: m_ObjectHideFlags: 0 diff --git a/Assets/Robots/IGVC_Robot_w_Camera.asset b/Assets/Robots/IGVC_Robot_w_Camera.asset new file mode 100644 index 0000000..a7515ef --- /dev/null +++ b/Assets/Robots/IGVC_Robot_w_Camera.asset @@ -0,0 +1,34 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 91daf2032ec7cbc47a4ecbed071e8d2c, type: 3} + m_Name: IGVC_Robot_w_Camera + m_EditorClassIdentifier: + robotName: IGVC w/ Cam + robotPrefab: {fileID: 6116572216260438465, guid: 6e1912bd5bf627749881f13614c02c35, + type: 3} + options: + - name: Camera Topic + defaultValue: /igvc/camera/compressed + - name: IMU Topic + defaultValue: /igvc/imu + - name: Velocity Topic + defaultValue: /igvc/velocity + - name: GPS Topic + defaultValue: /igvc/gps + - name: Laser Scan Topic + defaultValue: /scan + - name: Motors Topic + defaultValue: /igvc/motors_raw + - name: ROS Bridge IP + defaultValue: localhost:9090 + - name: Autonomous + defaultValue: True diff --git a/Assets/Robots/IGVC_Robot_w_Camera.asset.meta b/Assets/Robots/IGVC_Robot_w_Camera.asset.meta new file mode 100644 index 0000000..41fb8e0 --- /dev/null +++ b/Assets/Robots/IGVC_Robot_w_Camera.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 67eb80711f1066548986effe380548fe +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Robots/IGVC_Robot_w_Camera.prefab b/Assets/Robots/IGVC_Robot_w_Camera.prefab new file mode 100644 index 0000000..1780116 --- /dev/null +++ b/Assets/Robots/IGVC_Robot_w_Camera.prefab @@ -0,0 +1,1097 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6116572215990976585 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6116572215990976586} + - component: {fileID: 6116572215990976596} + - component: {fileID: 6116572215990976587} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6116572215990976586 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572215990976585} + m_LocalRotation: {x: 0.38268343, y: 0, z: 0, w: 0.92387956} + m_LocalPosition: {x: 0, y: 0.86099994, z: -0.04400015} + m_LocalScale: {x: 0.10562, y: 0.048891686, z: 0.08247501} + m_Children: + - {fileID: 6116572218028855840} + m_Father: {fileID: 6116572216260438476} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!33 &6116572215990976596 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572215990976585} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6116572215990976587 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572215990976585} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + 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_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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 &6116572216019989485 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6116572216019989481} + - component: {fileID: 6116572216019989480} + - component: {fileID: 6116572216019989487} + - component: {fileID: 6116572216019989486} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6116572216019989481 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216019989485} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.3524, z: -0.751} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_Children: [] + m_Father: {fileID: 6116572216260438476} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6116572216019989480 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216019989485} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6116572216019989487 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216019989485} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + 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_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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!135 &6116572216019989486 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216019989485} + m_Material: {fileID: 13400000, guid: 3b1259014d53c16469b7ae0533ac6e6b, type: 2} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &6116572216260438465 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6116572216260438476} + - component: {fileID: 6116572216260438467} + - component: {fileID: 6116572216260438466} + - component: {fileID: 6116572216260438477} + - component: {fileID: 6116572216260438479} + - component: {fileID: 6116572216260438478} + - component: {fileID: 6116572216260438473} + - component: {fileID: 6116572216260438474} + - component: {fileID: 6116572216260438475} + - component: {fileID: 6116572216260438484} + - component: {fileID: 185712431425618641} + - component: {fileID: 6116572216260438472} + m_Layer: 0 + m_Name: IGVC_Robot_w_Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6116572216260438476 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216260438465} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.365, z: 0.04} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6116572216309536752} + - {fileID: 6116572217653478590} + - {fileID: 6116572216334250670} + - {fileID: 6116572216873300087} + - {fileID: 6116572216841258427} + - {fileID: 6116572216897894780} + - {fileID: 6116572215990976586} + - {fileID: 6116572216019989481} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &6116572216260438467 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216260438465} + serializedVersion: 2 + m_Mass: 5000 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &6116572216260438466 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216260438465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a1d2050cf1070714a80b8fc8266743d7, type: 3} + m_Name: + m_EditorClassIdentifier: + speedMod: 2.2727273 + turnMod: 1 + wheelRadius: 0.127 + L: 0.6096 + drag: 0.85 + vl: 0 + vr: 0 + leftControl: 0 + rightControl: 0 + useController: 1 +--- !u!114 &6116572216260438477 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216260438465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ff98778ae051cfd40a6e4effdf851ebd, type: 3} + m_Name: + m_EditorClassIdentifier: + SecondsTimeout: 10 + Serializer: 0 + protocol: 0 + RosBridgeServerUrl: ws://localhost:9090 +--- !u!114 &6116572216260438479 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216260438465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a908e83b1e7ce9e428caae2838615cc3, type: 3} + m_Name: + m_EditorClassIdentifier: + Topic: /igvc/camera/compressed + ImageCamera: {fileID: 6116572218028855846} + FrameId: Camera + resolutionWidth: 640 + resolutionHeight: 480 + qualityLevel: 50 +--- !u!114 &6116572216260438478 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216260438465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 938611d5f671cfe4f9be87c66d865ae1, type: 3} + m_Name: + m_EditorClassIdentifier: + Topic: /scan + laserScanReader: {fileID: 6116572216897894781} + FrameId: Unity +--- !u!114 &6116572216260438473 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216260438465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: afe39e33efbd8e44692f63c6c203967e, type: 3} + m_Name: + m_EditorClassIdentifier: + Topic: /igvc/imu + tf: {fileID: 6116572216260438476} + accelNoiseStdDev: 0.15 + headingNoiseStdDev: 1 +--- !u!114 &6116572216260438474 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216260438465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 81657e5bea1760e46a9dc99654ff306a, type: 3} + m_Name: + m_EditorClassIdentifier: + Topic: /igvc/velocity + rb: {fileID: 6116572216260438467} + velocityNoiseStdDev: 0.05 +--- !u!114 &6116572216260438475 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216260438465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1a5f2ccb7e6b9a6489d4ceb9e4d4265d, type: 3} + m_Name: + m_EditorClassIdentifier: + Topic: /igvc/gps + tf: {fileID: 6116572216260438476} + latNoiseStdDev: 1.843 + lonNoiseStdDev: 2.138 + lat0Pos: 35.19488 + lon0Pos: -97.43862 +--- !u!114 &6116572216260438484 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216260438465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f0fe44209a15904b976a01dbd6e2a36, type: 3} + m_Name: + m_EditorClassIdentifier: + Topic: /igvc/motors_raw + TimeStep: 0 +--- !u!114 &185712431425618641 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216260438465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8097d13f534045449982a13cdd51f787, type: 3} + m_Name: + m_EditorClassIdentifier: + Topic: /sim/true_pose + tf: {fileID: 6116572216260438476} +--- !u!114 &6116572216260438472 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216260438465} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 805b868d5fd588441988892328e67723, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &6116572216309536757 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6116572216309536752} + - component: {fileID: 6116572216309536759} + - component: {fileID: 6116572216309536758} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6116572216309536752 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216309536757} + m_LocalRotation: {x: 0.1666775, y: -0.10017266, z: 0.018704036, w: 0.9807315} + m_LocalPosition: {x: 0.5, y: 0.59, z: -1.024} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6116572216260438476} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 19.31, y: -11.63, z: 0.2} +--- !u!20 &6116572216309536759 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216309536757} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 17.624361 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 79.8 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + 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_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!81 &6116572216309536758 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216309536757} + m_Enabled: 1 +--- !u!1 &6116572216334250669 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6116572216334250670} + m_Layer: 0 + m_Name: wheels + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6116572216334250670 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216334250669} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.3680001} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6116572217397061391} + - {fileID: 6116572217700496738} + m_Father: {fileID: 6116572216260438476} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6116572216841258426 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6116572216841258427} + - component: {fileID: 6116572216841258438} + - component: {fileID: 6116572216841258437} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6116572216841258427 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216841258426} + m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 0.4, y: -0.25699994, z: -0.022400111} + m_LocalScale: {x: 0.25400037, y: 0.020000022, z: 0.254} + m_Children: [] + m_Father: {fileID: 6116572216260438476} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} +--- !u!33 &6116572216841258438 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216841258426} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6116572216841258437 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216841258426} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + 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_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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 &6116572216873300086 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6116572216873300087} + - component: {fileID: 6116572216873300082} + - component: {fileID: 6116572216873300081} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6116572216873300087 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216873300086} + m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.4, y: -0.25699997, z: -0.022400111} + m_LocalScale: {x: 0.25400013, y: 0.020000007, z: 0.254} + m_Children: [] + m_Father: {fileID: 6116572216260438476} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} +--- !u!33 &6116572216873300082 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216873300086} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6116572216873300081 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216873300086} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + 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_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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 &6116572216897894771 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6116572216897894780} + - component: {fileID: 6116572216897894781} + m_Layer: 0 + m_Name: Lidar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6116572216897894780 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216897894771} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.268, z: 0.0039999187} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6116572217639720015} + m_Father: {fileID: 6116572216260438476} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6116572216897894781 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572216897894771} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c87b3c7b7739511498b2993d8daf6c51, type: 3} + m_Name: + m_EditorClassIdentifier: + samples: 360 + update_rate: 1800 + angle_min: 0 + angle_max: 6.28 + angle_increment: 0.0174533 + time_increment: 0 + scan_time: 0 + range_min: 0.12 + range_max: 10 + ranges: [] + intensities: [] + noiseStdDev: 0.1 +--- !u!1 &6116572217397061390 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6116572217397061391} + - component: {fileID: 6116572217397061384} + m_Layer: 0 + m_Name: frontLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6116572217397061391 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572217397061390} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.4, y: -0.258, z: 0.3436} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6116572216334250670} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!146 &6116572217397061384 +WheelCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572217397061390} + m_Center: {x: 0, y: 0, z: 0} + m_Radius: 0.127 + m_SuspensionSpring: + spring: 90000 + damper: 9000 + targetPosition: 1 + m_SuspensionDistance: 0.01 + m_ForceAppPointDistance: 0 + m_Mass: 50 + m_WheelDampingRate: 0.25 + m_ForwardFriction: + m_ExtremumSlip: 0.4 + m_ExtremumValue: 1 + m_AsymptoteSlip: 0.8 + m_AsymptoteValue: 0.5 + m_Stiffness: 1 + m_SidewaysFriction: + m_ExtremumSlip: 0.2 + m_ExtremumValue: 1 + m_AsymptoteSlip: 0.5 + m_AsymptoteValue: 0.75 + m_Stiffness: 1 + m_Enabled: 1 +--- !u!1 &6116572217639720003 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6116572217639720015} + - component: {fileID: 6116572217639720014} + - component: {fileID: 6116572217639720013} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6116572217639720015 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572217639720003} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.1, y: 0.05, z: 0.1} + m_Children: [] + m_Father: {fileID: 6116572216897894780} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6116572217639720014 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572217639720003} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6116572217639720013 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572217639720003} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + 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_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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 &6116572217653478589 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6116572217653478590} + - component: {fileID: 6116572217653478585} + - component: {fileID: 6116572217653478584} + - component: {fileID: 6116572217653478591} + m_Layer: 0 + m_Name: chassis + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6116572217653478590 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572217653478589} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.3680001} + m_LocalScale: {x: 0.762, y: 0.381, z: 0.991} + m_Children: [] + m_Father: {fileID: 6116572216260438476} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6116572217653478585 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572217653478589} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6116572217653478584 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572217653478589} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 7c476d3d161b1eb41aaa5cbb61f6b188, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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!65 &6116572217653478591 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572217653478589} + 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!1 &6116572217700496737 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6116572217700496738} + - component: {fileID: 6116572217700496739} + m_Layer: 0 + m_Name: frontRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6116572217700496738 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572217700496737} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.4, y: -0.25799996, z: 0.3436} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6116572216334250670} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!146 &6116572217700496739 +WheelCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572217700496737} + m_Center: {x: 0, y: 0, z: 0} + m_Radius: 0.127 + m_SuspensionSpring: + spring: 90000 + damper: 9000 + targetPosition: 1 + m_SuspensionDistance: 0.01 + m_ForceAppPointDistance: 0 + m_Mass: 50 + m_WheelDampingRate: 0.25 + m_ForwardFriction: + m_ExtremumSlip: 0.4 + m_ExtremumValue: 1 + m_AsymptoteSlip: 0.8 + m_AsymptoteValue: 0.5 + m_Stiffness: 1 + m_SidewaysFriction: + m_ExtremumSlip: 0.2 + m_ExtremumValue: 1 + m_AsymptoteSlip: 0.5 + m_AsymptoteValue: 0.75 + m_Stiffness: 1 + m_Enabled: 1 +--- !u!1 &6116572218028855845 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6116572218028855840} + - component: {fileID: 6116572218028855846} + m_Layer: 0 + m_Name: Robot Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6116572218028855840 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572218028855845} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -3.11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6116572215990976586} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &6116572218028855846 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6116572218028855845} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 17.460108 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 69 + orthographic: 0 + orthographic size: 5 + m_Depth: -2 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 1 + 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 diff --git a/Assets/Robots/IGVC_Robot_w_Camera.prefab.meta b/Assets/Robots/IGVC_Robot_w_Camera.prefab.meta new file mode 100644 index 0000000..31df28f --- /dev/null +++ b/Assets/Robots/IGVC_Robot_w_Camera.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6e1912bd5bf627749881f13614c02c35 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Lane_Maze.unity b/Assets/Scenes/Lane_Maze.unity new file mode 100644 index 0000000..16a0786 --- /dev/null +++ b/Assets/Scenes/Lane_Maze.unity @@ -0,0 +1,677 @@ +%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.212, g: 0.227, b: 0.259, 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 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + 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: 705507994} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + 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: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 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_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + 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!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1039410775 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1039410779} + - component: {fileID: 1039410778} + - component: {fileID: 1039410777} + - component: {fileID: 1039410776} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &1039410776 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039410775} + m_Material: {fileID: 13400000, guid: 35cc324c838d7bf45b97cea5d6b5c4fa, type: 2} + 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!23 &1039410777 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039410775} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: deb4746edafba8242896aeaa33931d15, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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 &1039410778 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039410775} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1039410779 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039410775} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 0.4, z: 100} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1381127163 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1316671983950991985, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: spawnLocation + value: + objectReference: {fileID: 1690793139} + - target: {fileID: 7490659993213235937, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_textInfo.characterCount + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993213235937, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_textInfo.spaceCount + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993213235937, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_textInfo.wordCount + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993213235937, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_textInfo.lineCount + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993213235937, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_textInfo.pageCount + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479126, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_Pivot.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7490659993866479129, guid: fcce1d4317d5a2847b55085d008f27f3, + type: 3} + propertyPath: m_Name + value: UICanvas + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: fcce1d4317d5a2847b55085d008f27f3, type: 3} +--- !u!1 &1505439989 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1505439993} + - component: {fileID: 1505439992} + - component: {fileID: 1505439991} + m_Layer: 0 + m_Name: Map + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1505439991 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1505439989} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 40073e624da3dcc4cab80610d2df4237, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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 &1505439992 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1505439989} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1505439993 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1505439989} + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: -7.78, y: 0.21, z: 14.3} + m_LocalScale: {x: 30.48, y: 0.01, z: 30.48} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!1001 &1690793138 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 5505192759355031429, guid: 6e612e70fcdde7f4c86a43ef45eb1e22, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5505192759355031429, guid: 6e612e70fcdde7f4c86a43ef45eb1e22, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.45 + objectReference: {fileID: 0} + - target: {fileID: 5505192759355031429, guid: 6e612e70fcdde7f4c86a43ef45eb1e22, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5505192759355031429, guid: 6e612e70fcdde7f4c86a43ef45eb1e22, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5505192759355031429, guid: 6e612e70fcdde7f4c86a43ef45eb1e22, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5505192759355031429, guid: 6e612e70fcdde7f4c86a43ef45eb1e22, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5505192759355031429, guid: 6e612e70fcdde7f4c86a43ef45eb1e22, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5505192759355031429, guid: 6e612e70fcdde7f4c86a43ef45eb1e22, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5505192759355031429, guid: 6e612e70fcdde7f4c86a43ef45eb1e22, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5505192759355031429, guid: 6e612e70fcdde7f4c86a43ef45eb1e22, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5505192759355031429, guid: 6e612e70fcdde7f4c86a43ef45eb1e22, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6691475873061941781, guid: 6e612e70fcdde7f4c86a43ef45eb1e22, + type: 3} + propertyPath: m_Name + value: Robot Spawn + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 6e612e70fcdde7f4c86a43ef45eb1e22, type: 3} +--- !u!1 &1690793139 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 6691475873061941781, guid: 6e612e70fcdde7f4c86a43ef45eb1e22, + type: 3} + m_PrefabInstance: {fileID: 1690793138} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1869727630 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1869727633} + - component: {fileID: 1869727632} + - component: {fileID: 1869727631} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1869727631 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1869727630} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1869727632 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1869727630} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1869727633 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1869727630} + 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: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scenes/Lane_Maze.unity.meta b/Assets/Scenes/Lane_Maze.unity.meta new file mode 100644 index 0000000..4b23c0e --- /dev/null +++ b/Assets/Scenes/Lane_Maze.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 174bd6999884e864bb2aa51fb30a9f53 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Menu.unity b/Assets/Scenes/Menu.unity index a888a62..ed6ab18 100644 --- a/Assets/Scenes/Menu.unity +++ b/Assets/Scenes/Menu.unity @@ -1938,10 +1938,12 @@ MonoBehaviour: - {fileID: 11400000, guid: c2411721f85370247a3d41fbb8f7cf78, type: 2} - {fileID: 11400000, guid: d86587b471cabf042b28b90a088721ae, type: 2} - {fileID: 11400000, guid: 55cf02cc4436c14479446a1cdb55bf13, type: 2} + - {fileID: 11400000, guid: 131184c045fde904a881be9109c3bd19, type: 2} togglesGroup: {fileID: 2062170973} togglesParent: {fileID: 1817359497} robots: - {fileID: 11400000, guid: 2398f1b0e5f31f24eb9ace0fa90d71b8, type: 2} + - {fileID: 11400000, guid: 67eb80711f1066548986effe380548fe, type: 2} - {fileID: 11400000, guid: c07e59656dc503c4cb7e233388bd37ac, type: 2} robotsGroup: {fileID: 454510292} robotsParent: {fileID: 521857490} diff --git a/Assets/Scripts/IGVCConfigLoader.cs b/Assets/Scripts/IGVCConfigLoader.cs index 9395155..0f79688 100644 --- a/Assets/Scripts/IGVCConfigLoader.cs +++ b/Assets/Scripts/IGVCConfigLoader.cs @@ -32,7 +32,10 @@ void Awake() simpleCarController.useController = !RobotOptions.GetValue(robotName + "Autonomous").Equals("True"); rosConnector.RosBridgeServerUrl = "ws://" + RobotOptions.GetValue(robotName + "ROS Bridge IP"); - imagePublisher.Topic = RobotOptions.GetValue(robotName + "Camera Topic"); + if (RobotOptions.Exists(robotName + "Camera Topic")) + { + imagePublisher.Topic = RobotOptions.GetValue(robotName + "Camera Topic"); + } laserScanPublisher.Topic = RobotOptions.GetValue(robotName + "Laser Scan Topic"); iMUPublisher.Topic = RobotOptions.GetValue(robotName + "IMU Topic"); velocityPublisher.Topic = RobotOptions.GetValue(robotName + "Velocity Topic"); diff --git a/Assets/StreamingAssets/build_info b/Assets/StreamingAssets/build_info index 20e83f9..6035cf7 100644 --- a/Assets/StreamingAssets/build_info +++ b/Assets/StreamingAssets/build_info @@ -1 +1 @@ -Build from DESKTOP-QVE6E0N at 2/27/2020 5:57:13 PM \ No newline at end of file +Build from DESKTOP-QVE6E0N at 3/3/2020 7:06:02 PM \ No newline at end of file diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index fe90428..812e050 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -17,4 +17,7 @@ EditorBuildSettings: - enabled: 1 path: Assets/Scenes/NRC_Land.unity guid: 93ff5cf7b2427cd4cbc86d09b60fddb7 + - enabled: 1 + path: Assets/Scenes/Lane_Maze.unity + guid: 174bd6999884e864bb2aa51fb30a9f53 m_configObjects: {} diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index ae246da..44bac53 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -121,7 +121,7 @@ PlayerSettings: 16:10: 1 16:9: 1 Others: 1 - bundleVersion: 18 + bundleVersion: 19 preloadedAssets: [] metroInputSource: 0 wsaTransparentSwapchain: 0