diff --git a/Assets/AWSIM/Scenes/Composition/AWSIMSimulation.unity b/Assets/AWSIM/Scenes/Composition/AWSIMSimulation.unity index e648af688..fea0e9e27 100644 --- a/Assets/AWSIM/Scenes/Composition/AWSIMSimulation.unity +++ b/Assets/AWSIM/Scenes/Composition/AWSIMSimulation.unity @@ -316,6 +316,372 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1629786825 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1232284681626777291} + m_Modifications: + - target: {fileID: 135874443224238234, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 135874443224238234, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 135874443224238234, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 135874443224238234, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 135874443224238234, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 135874443224238234, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 813504477154702507, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 813504477154702507, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 813504477154702507, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 813504477154702507, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 813504477154702507, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 838270798419040025, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 838270798419040025, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 838270798419040025, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 838270798419040025, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 838270798419040025, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1144690517774322855, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1144690517774322855, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1144690517774322855, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1144690517774322855, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1144690517774322855, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1496322688108869354, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1496322688108869354, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1496322688108869354, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1496322688108869354, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1496322688108869354, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1496322688108869354, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1869793595656515350, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1869793595656515350, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1869793595656515350, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1869793595656515350, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1869793595656515350, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1869793595656515350, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2650986888461710015, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2650986888461710015, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2650986888461710015, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2650986888461710015, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2650986888461710015, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2650986888461710015, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3036250623443098356, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3036250623443098356, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3036250623443098356, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3036250623443098356, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3036250623443098356, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535382, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_Name + value: MainCameraView + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.x + value: -0.00012207031 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.y + value: -0.000061035156 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0.000061035156 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0.000061035156 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3380133496749388214, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3380133496749388214, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3380133496749388214, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3380133496749388214, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3380133496749388214, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3716035506356891144, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3716035506356891144, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3716035506356891144, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3716035506356891144, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3716035506356891144, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3716035506356891144, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5935739687071356000, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5935739687071356000, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5935739687071356000, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5935739687071356000, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5935739687071356000, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5935739687071356000, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6871489622822591332, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6871489622822591332, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6871489622822591332, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6871489622822591332, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6871489622822591332, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} +--- !u!224 &1629786826 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 3043956884125535385, guid: 63eeb9f4a11317a8bb3b96c957a18d45, type: 3} + m_PrefabInstance: {fileID: 1629786825} + m_PrefabAsset: {fileID: 0} --- !u!1 &1955430581 GameObject: m_ObjectHideFlags: 0 @@ -598,6 +964,7 @@ RectTransform: - {fileID: 1232284683236101185} - {fileID: 1232284682911262482} - {fileID: 1232284683089392890} + - {fileID: 1629786826} m_Father: {fileID: 120471358} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/AWSIM/Scenes/Composition/LoaderScene.unity b/Assets/AWSIM/Scenes/Composition/LoaderScene.unity index c811c9275..607e50d50 100644 --- a/Assets/AWSIM/Scenes/Composition/LoaderScene.unity +++ b/Assets/AWSIM/Scenes/Composition/LoaderScene.unity @@ -1441,7 +1441,7 @@ MonoBehaviour: m_HandleRect: {fileID: 1911219726} m_Direction: 0 m_Value: 0 - m_Size: 0.9981195 + m_Size: 0.9979867 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: @@ -2875,9 +2875,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: simulationSceneName: AWSIMSimulation - simulationConfiguration: - timeScale: 0 - useTraffic: 0 mapTrafficToggle: {fileID: 899049272} --- !u!1 &692632476 GameObject: @@ -6516,9 +6513,29 @@ MonoBehaviour: m_GameObject: {fileID: 1505419645} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 23c1ce4fb46143f46bc5cb5224c934f6, type: 3} + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} m_Name: m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 --- !u!20 &1505419648 Camera: m_ObjectHideFlags: 0 @@ -6840,7 +6857,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0.00030517578, y: -0.0007372491} + m_AnchoredPosition: {x: 0.00061035156, y: -0.0007372491} m_SizeDelta: {x: -12.2252, y: 0} m_Pivot: {x: 0.5, y: 1} --- !u!114 &1558658280 diff --git a/Assets/AWSIM/Scripts/Loader/AWSIMConfiguration.cs b/Assets/AWSIM/Scripts/Loader/AWSIMConfiguration.cs index f5a6197de..3d8721150 100644 --- a/Assets/AWSIM/Scripts/Loader/AWSIMConfiguration.cs +++ b/Assets/AWSIM/Scripts/Loader/AWSIMConfiguration.cs @@ -7,6 +7,7 @@ namespace AWSIM.Loader public class MapConfiguration { public string mapName; + public bool useShadows; } [Serializable] diff --git a/Assets/AWSIM/Scripts/Loader/EgosManager.cs b/Assets/AWSIM/Scripts/Loader/EgosManager.cs index 5dfba6574..3a973a33a 100644 --- a/Assets/AWSIM/Scripts/Loader/EgosManager.cs +++ b/Assets/AWSIM/Scripts/Loader/EgosManager.cs @@ -20,7 +20,7 @@ public class EgosManager : MonoBehaviour, IConfigurableManager private Vector3 egoEulerAngles; - private EgoConfiguration egoConfiguration; + public EgoConfiguration egoConfiguration {private set; get; } private GameObject egoModel; @@ -103,7 +103,7 @@ public Vector3 GetEulersFromUI() }; } - private void SpawnEgo(Transform hierarchyParent) + public GameObject SpawnEgo(Transform hierarchyParent) { if (egoModel) { @@ -117,21 +117,14 @@ private void SpawnEgo(Transform hierarchyParent) var egoInstance = Instantiate(egoModel, position, orientation); egoInstance.gameObject.transform.SetParent(hierarchyParent); + + return egoInstance; } else { Log(LogLevel.LOG_ERROR, $"No ego prefab set."); + return null; } } - - /// - /// Configure scene - /// Spawns an Ego. - /// - public void ConfigureScene(Transform rootTransform = null) - { - SpawnEgo(rootTransform); - } - /// /// Get available Ego vehicle names. /// diff --git a/Assets/AWSIM/Scripts/Loader/IConfigurableManager.cs b/Assets/AWSIM/Scripts/Loader/IConfigurableManager.cs index 782d71224..543161ba2 100644 --- a/Assets/AWSIM/Scripts/Loader/IConfigurableManager.cs +++ b/Assets/AWSIM/Scripts/Loader/IConfigurableManager.cs @@ -17,11 +17,6 @@ public interface IConfigurableManager /// public void LoadUI(); - /// - /// Configure the scene. - /// - public void ConfigureScene(Transform rootTransform); - /// /// Log callback. /// diff --git a/Assets/AWSIM/Scripts/Loader/Loader.cs b/Assets/AWSIM/Scripts/Loader/Loader.cs index 06317cb73..a4cceb6b2 100644 --- a/Assets/AWSIM/Scripts/Loader/Loader.cs +++ b/Assets/AWSIM/Scripts/Loader/Loader.cs @@ -124,10 +124,11 @@ IEnumerator LoadCoroutine() // Then load simulation components AsyncOperation simulationLoad = simulationManager.LoadSimulation(); + simulationLoad.allowSceneActivation = true; yield return new WaitUntil(() => simulationLoad.isDone); // Finally configure the scene - ConfigureScenes(); + SimConfiguration.Configure(egoManager, mapManager, simulationManager); // Hide loading screen and gui loadingScreen.SetActive(false); @@ -181,7 +182,7 @@ public void StartLoader() Log(LogLevel.LOG_INFO, "Configuration file loaded."); // Configure managers with configuration file. - if (ConfigureManagers(configuration)) + if (LoadManagersConfig(configuration)) { // Configuration went well. Load all scenes. Load(); @@ -208,7 +209,7 @@ public void OnLoadButtonPressed() { var configuration = LoadConfigFromGUI(); - if (ConfigureManagers(configuration)) + if (LoadManagersConfig(configuration)) { Load(); } @@ -220,6 +221,7 @@ AWSIMConfiguration LoadConfigFromGUI() { AWSIMConfiguration simulationConfig = new AWSIMConfiguration(); simulationConfig.mapConfiguration.mapName = mapManager.mapUISelecor.options[mapManager.mapUISelecor.value].text; + simulationConfig.mapConfiguration.useShadows = false; // Set shadows default to false. simulationConfig.simulationConfiguration.useTraffic = simulationManager.mapTrafficToggle.isOn; simulationConfig.simulationConfiguration.timeScale = 1.0f; //TODO: Time scale is not yet implemented on the GUI. simulationConfig.egoConfiguration.egoVehicleName = egoManager.egoUISelecor.options[egoManager.egoUISelecor.value].text; @@ -253,7 +255,7 @@ AWSIMConfiguration LoadConfigFromFile(string path) } } - bool ConfigureManagers(AWSIMConfiguration awsimConfig) + bool LoadManagersConfig(AWSIMConfiguration awsimConfig) { if (usingConfigFile && !configFileLoaded) { @@ -318,18 +320,6 @@ void Load() StartCoroutine(LoadCoroutine()); } - void ConfigureScenes() - { - Scene simulationScene = SceneManager.GetSceneByName(simulationManager.simulationSceneName); - Scene mapScene = SceneManager.GetSceneByName(mapManager.spawnedMapName); - - egoManager.ConfigureScene(simulationScene.GetRootGameObjects()[0].transform); - mapManager.ConfigureScene(mapScene.GetRootGameObjects()[0].transform); - simulationManager.ConfigureScene(); - - SceneManager.SetActiveScene(mapScene); - } - void Log(LogLevel level, string message) { switch (level) diff --git a/Assets/AWSIM/Scripts/Loader/MapManager.cs b/Assets/AWSIM/Scripts/Loader/MapManager.cs index 0601d37f0..c1ca8e5a4 100644 --- a/Assets/AWSIM/Scripts/Loader/MapManager.cs +++ b/Assets/AWSIM/Scripts/Loader/MapManager.cs @@ -23,7 +23,7 @@ public class MapManager : MonoBehaviour, IConfigurableManager [HideInInspector] public string loaderSceneName = "LoaderScene"; - private MapConfiguration mapConfiguration; + public MapConfiguration mapConfiguration {private set; get; } /// /// Map configuration. @@ -56,13 +56,6 @@ public AsyncOperation LoadMap() return SceneManager.LoadSceneAsync(mapConfiguration.mapName, LoadSceneMode.Additive); } - /// - /// Configure the scene - /// - public void ConfigureScene(Transform rootTransform = null) - { - } - /// /// Set up the UI for map configuration /// diff --git a/Assets/AWSIM/Scripts/Loader/SimConfiguration.cs b/Assets/AWSIM/Scripts/Loader/SimConfiguration.cs new file mode 100644 index 000000000..c60aea2f5 --- /dev/null +++ b/Assets/AWSIM/Scripts/Loader/SimConfiguration.cs @@ -0,0 +1,79 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System; +using UnityEngine.UI; +using UnityEngine.SceneManagement; +using System.Linq; + +namespace AWSIM.Loader +{ +static class SimConfiguration +{ + static public void Configure(EgosManager egoManager, MapManager mapManager, SimulationManager simulationManager) + { + ////////////////////// + // Levels load order: + // LoaderScene -> MapScene -> SimulationScene + // + // Code in this section activates after all "Start()" and "Awake()" from map and simulation scenes. + + ////////////////////// + // Configuration resources + + // Get our scene handles + Scene simulationScene = SceneManager.GetSceneByName(simulationManager.simulationSceneName); + Scene mapScene = SceneManager.GetSceneByName(mapManager.spawnedMapName); + + // We set the map scene to active to get its environment parameters (skybox and ambient lighting) + SceneManager.SetActiveScene(mapScene); + + // Get configurations + var simulationConfiguration = simulationManager.simulationConfiguration; + var mapConfiguration = mapManager.mapConfiguration; + var egoConfiguration = egoManager.egoConfiguration; + + ////////////////////// + // Ego Spawn + + // We want our ego to spawn under the Simulation scene root object + var ego = egoManager.SpawnEgo(egoManager.gameObject.transform); + + ////////////////////// + // Core initialization + + // Set camera GUI + FollowCamera followCamera = GameObject.FindObjectOfType(); + GameObject.FindObjectOfType().SetFollowCamera(followCamera); + + // Set Ego position manager + Scripts.UI.EgoVehiclePositionManager positionManager = GameObject.FindObjectOfType(); + positionManager.InitializeEgoTransform(ego.transform); + + // Set scene time scale + DemoUI demoUi = GameObject.FindObjectOfType(); + demoUi.SetTimeScale(simulationConfiguration.timeScale); + demoUi.TimeScaleSlider.value = simulationConfiguration.timeScale; + + // Set traffic on/off + var trafficSims = GameObject.FindObjectsOfType(); + foreach (var trafficSim in trafficSims) + { + trafficSim.gameObject.SetActive(simulationConfiguration.useTraffic); + } + + // Turn shadows for directional light + if (mapConfiguration.useShadows) + { + var lights = GameObject.FindObjectsOfType(); + foreach (Light light in lights) + { + if(light.type == LightType.Directional) + { + light.shadows = LightShadows.Hard; + } + } + } + } +} +} \ No newline at end of file diff --git a/Assets/AWSIM/Scripts/Loader/SimConfiguration.cs.meta b/Assets/AWSIM/Scripts/Loader/SimConfiguration.cs.meta new file mode 100644 index 000000000..1be13b1dd --- /dev/null +++ b/Assets/AWSIM/Scripts/Loader/SimConfiguration.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 99cc544380aba845badb4acf3a203f99 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AWSIM/Scripts/Loader/SimulationManager.cs b/Assets/AWSIM/Scripts/Loader/SimulationManager.cs index 54baab2d6..f590ca562 100644 --- a/Assets/AWSIM/Scripts/Loader/SimulationManager.cs +++ b/Assets/AWSIM/Scripts/Loader/SimulationManager.cs @@ -9,7 +9,7 @@ public class SimulationManager : MonoBehaviour, IConfigurableManager { public string simulationSceneName = "AWSIMSimulation"; [HideInInspector] - public SimulationConfiguration simulationConfiguration; + public SimulationConfiguration simulationConfiguration {private set; get; } public Toggle mapTrafficToggle; public Action Log { get; set; } @@ -24,25 +24,6 @@ public AsyncOperation LoadSimulation() return SceneManager.LoadSceneAsync(simulationSceneName, LoadSceneMode.Additive); } - public void ConfigureScene(Transform rootTransform = null) - { - // Set traffic on/off - var trafficSims = GameObject.FindObjectsOfType(); - foreach (var trafficSim in trafficSims) - { - trafficSim.gameObject.SetActive(simulationConfiguration.useTraffic); - } - - // Set Ego position manager - Scripts.UI.EgoVehiclePositionManager positionManager = GameObject.FindObjectOfType(); - positionManager.InitializeEgoTransform(GameObject.FindObjectOfType().transform); - - // Set scene time scale - DemoUI demoUi = GameObject.FindObjectOfType(); - demoUi.SetTimeScale(simulationConfiguration.timeScale); - demoUi.TimeScaleSlider.value = simulationConfiguration.timeScale; - } - public void LoadUI() { } diff --git a/Assets/AWSIM/Scripts/UI/MainCameraViewUI.cs b/Assets/AWSIM/Scripts/UI/MainCameraViewUI.cs index b3df450f0..2fbfa6604 100644 --- a/Assets/AWSIM/Scripts/UI/MainCameraViewUI.cs +++ b/Assets/AWSIM/Scripts/UI/MainCameraViewUI.cs @@ -18,6 +18,12 @@ private void Awake() canvasGroup.alpha = 0.0f; } + public void SetFollowCamera(FollowCamera camera) + { + followCamera = camera; + OnEnable(); + } + void OnEnable() { if(followCamera != null) diff --git a/Assets/config.json b/Assets/config.json index 94faea6a4..4c732bfb2 100644 --- a/Assets/config.json +++ b/Assets/config.json @@ -1,6 +1,7 @@ { "mapConfiguration": { - "mapName": "Shinjuku" + "mapName": "Shinjuku", + "useShadows": false }, "simulationConfiguration": { "useTraffic": true,