diff --git a/.gitignore b/.gitignore
index 89d2f6f..e89f993 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,7 +8,10 @@
/[Bb]uild/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
-
+**/AssetBundles
+ig/
+.vscode
+*.blob
# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..ce37ad9
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,9 @@
+image: ${NEXUS_IMAGES_PRIVATE_URL}/devops-tools-base:latest
+
+stages:
+ - success
+
+substitute:
+ stage: success
+ script:
+ - echo "dummy pipeline only needed for repos that have no pipeline configured. this is used to trigger a successful pipeline and meet the requirements to merge"
\ No newline at end of file
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..1398d4c
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "Packages/com.cesium.unity"]
+ path = Packages/com.cesium.unity
+ url = ../cesium-unity.git
diff --git a/Assets/FFmpegOut/Runtime/CameraCapture.cs b/Assets/FFmpegOut/Runtime/CameraCapture.cs
index 52c6e88..6df34ed 100644
--- a/Assets/FFmpegOut/Runtime/CameraCapture.cs
+++ b/Assets/FFmpegOut/Runtime/CameraCapture.cs
@@ -3,6 +3,7 @@
using UnityEngine;
using System.Collections;
+using System.Threading.Tasks;
namespace FFmpegOut
{
@@ -61,7 +62,7 @@ int GetAntiAliasingLevel(Camera camera)
#region Public members
- protected virtual FFmpegSession GetSession( int texWidth, int texHeight )
+ protected virtual FFmpegSession GetSession(int texWidth, int texHeight)
{
return FFmpegSession.Create(
gameObject.name,
@@ -88,7 +89,7 @@ void WarnFrameDrop()
if (++_frameDropCount != 10) return;
Debug.LogWarning(
- "Significant frame droppping was detected. This may introduce " +
+ "Significant frame dropping was detected. This may introduce " +
"time instability into output video. Decreasing the recording " +
"frame rate is recommended."
);
@@ -133,10 +134,35 @@ void OnDisable()
IEnumerator Start()
{
// Sync with FFmpeg pipe thread at the end of every frame.
- for (var eof = new WaitForEndOfFrame();;)
+ for (var eof = new WaitForEndOfFrame(); ;)
{
yield return eof;
- _session?.CompletePushFrames();
+ if (_session != null)
+ {
+ // Asynchronously complete push frames
+ yield return CompletePushFramesCoroutine();
+ }
+ }
+ }
+
+ IEnumerator CompletePushFramesCoroutine()
+ {
+ var task = CompletePushFramesAsync();
+ while (!task.IsCompleted)
+ {
+ yield return null;
+ }
+ if (task.Exception != null)
+ {
+ Debug.LogError(task.Exception);
+ }
+ }
+
+ async Task CompletePushFramesAsync()
+ {
+ if (_session != null)
+ {
+ await _session.CompletePushFramesAsync();
}
}
@@ -190,12 +216,14 @@ void Update()
// Push the current frame twice to FFmpeg. Actually this is not
// an efficient way to catch up. We should think about
// implementing frame duplication in a more proper way. #fixme
+ // TODO: clean this up
+ // _session.PushFrame(camera.targetTexture); removing I would rather drop a frame than have the same frame show twice
_session.PushFrame(camera.targetTexture);
- _session.PushFrame(camera.targetTexture);
- _frameCount += 2;
+ _frameCount++;
}
else
{
+ Debug.Log("Dropping Frame");
// Show a warning message about the situation.
WarnFrameDrop();
diff --git a/Assets/FFmpegOut/Runtime/FFmpegPreset.cs b/Assets/FFmpegOut/Runtime/FFmpegPreset.cs
index 83b6067..9774ecb 100644
--- a/Assets/FFmpegOut/Runtime/FFmpegPreset.cs
+++ b/Assets/FFmpegOut/Runtime/FFmpegPreset.cs
@@ -5,6 +5,7 @@ namespace FFmpegOut
{
public enum FFmpegPreset
{
+ MJPEG,
H264Default,
H264Nvidia,
H264Lossless420,
@@ -26,6 +27,7 @@ public static string GetDisplayName(this FFmpegPreset preset)
{
switch (preset)
{
+ case FFmpegPreset.MJPEG: return "MJPEG";
case FFmpegPreset.H264Default: return "H.264 Default (MP4)";
case FFmpegPreset.H264Nvidia: return "H.264 NVIDIA (MP4)";
case FFmpegPreset.H264Lossless420: return "H.264 Lossless 420 (MP4)";
@@ -47,6 +49,7 @@ public static string GetSuffix(this FFmpegPreset preset)
{
switch (preset)
{
+ case FFmpegPreset.MJPEG:
case FFmpegPreset.H264Default:
case FFmpegPreset.H264Nvidia:
case FFmpegPreset.H264Lossless420:
@@ -69,8 +72,9 @@ public static string GetOptions(this FFmpegPreset preset)
switch (preset)
{
// case FFmpegPreset.H264Default: return "-pix_fmt yuv420p";
- case FFmpegPreset.H264Default: return "-c:v libx264 -preset fast -tune zerolatency -b:v 10M";
- case FFmpegPreset.H264Nvidia: return "-c:v h264_nvenc -preset fast -b:v 10M";
+ case FFmpegPreset.MJPEG: return "-flush_packets 0 -max_delay 100000";
+ case FFmpegPreset.H264Default: return "-c:v libx264 -preset fast -b:v 10M";
+ case FFmpegPreset.H264Nvidia: return "-c:v h264_nvenc -preset fast -b:v 10M";
case FFmpegPreset.H264Lossless420: return "-pix_fmt yuv420p -preset ultrafast -crf 0";
case FFmpegPreset.H264Lossless444: return "-pix_fmt yuv444p -preset ultrafast -crf 0";
case FFmpegPreset.HevcDefault: return "-c:v libx265 -pix_fmt yuv420p";
diff --git a/Assets/FFmpegOut/Runtime/FFmpegSession.cs b/Assets/FFmpegOut/Runtime/FFmpegSession.cs
index d2ac6b7..7f5b147 100644
--- a/Assets/FFmpegOut/Runtime/FFmpegSession.cs
+++ b/Assets/FFmpegOut/Runtime/FFmpegSession.cs
@@ -4,6 +4,7 @@
using UnityEngine;
using UnityEngine.Rendering;
using System.Collections.Generic;
+using System.Threading.Tasks;
namespace FFmpegOut
{
@@ -39,7 +40,6 @@ FFmpegPreset preset
+ " -b:v 2M" // Bitrate
+ " " + outputPath
);
-
}
public static FFmpegSession CreateWithArguments(string arguments)
@@ -65,6 +65,11 @@ public void CompletePushFrames()
_pipe?.SyncFrameData();
}
+ public async Task CompletePushFramesAsync()
+ {
+ await Task.Run(() => CompletePushFrames());
+ }
+
public void Close()
{
if (_pipe != null)
diff --git a/Assets/FFmpegOut/Runtime/LiveStream/StreamCameraCapture.cs b/Assets/FFmpegOut/Runtime/LiveStream/StreamCameraCapture.cs
index d61b920..9b0fac4 100644
--- a/Assets/FFmpegOut/Runtime/LiveStream/StreamCameraCapture.cs
+++ b/Assets/FFmpegOut/Runtime/LiveStream/StreamCameraCapture.cs
@@ -4,8 +4,9 @@ namespace FFmpegOut.LiveStream
{
public class StreamCameraCapture : CameraCapture
{
- [SerializeField] protected StreamPreset _streamPreset;
+ [SerializeField] public StreamPreset _streamPreset;
[SerializeField] public string streamAddress;
+ [SerializeField] public bool isGreyScale;
protected override FFmpegSession GetSession(int texWidth, int texHeight)
{
@@ -15,7 +16,7 @@ protected override FFmpegSession GetSession(int texWidth, int texHeight)
frameRate,
preset,
_streamPreset,
- streamAddress);
+ streamAddress, isGreyScale);
}
}
}
diff --git a/Assets/FFmpegOut/Runtime/LiveStream/StreamFFmpegSession.cs b/Assets/FFmpegOut/Runtime/LiveStream/StreamFFmpegSession.cs
index 0aa90d6..629bdfd 100644
--- a/Assets/FFmpegOut/Runtime/LiveStream/StreamFFmpegSession.cs
+++ b/Assets/FFmpegOut/Runtime/LiveStream/StreamFFmpegSession.cs
@@ -1,51 +1,92 @@
-using System;
+using System;
+using System.Threading;
+using System.Diagnostics;
using UnityEngine;
namespace FFmpegOut.LiveStream
{
- ///
- /// Represents a session for streaming video from Unity to an RTP endpoint using FFmpeg.
- ///
public sealed class StreamFFmpegSession : FFmpegSession
{
- // Defines the format and codec for the raw video data from Unity.
+ private Thread ffmpegThread;
+ private Process ffmpegProcess;
+ private string ffmpegArguments;
+
private const string UNITY_CAM_TEX_BYTE_FORMAT =
"-pixel_format rgba -colorspace bt709 -f rawvideo -vcodec rawvideo";
- // private const string UNITY_CAM_TEX_BYTE_FORMAT =
- // "-pixel_format rgba";
-
- // Sets the FFmpeg logging level to warning.
private const string FFMPEG_LOGLEVEL = "-loglevel warning";
- // Private constructor to enforce the use of the static Create method.
- private StreamFFmpegSession(string arguments) : base(arguments) { }
-
- ///
- /// Creates a new FFmpeg session for streaming.
- ///
- /// The width of the video.
- /// The height of the video.
- /// The frame rate of the video.
- /// The encoding preset to use.
- /// The streaming preset to use.
- /// The address to stream to.
- /// A new instance of StreamFFmpegSession.
+ private StreamFFmpegSession(string arguments) : base(arguments)
+ {
+ this.ffmpegArguments = arguments;
+ }
+
public static StreamFFmpegSession Create(
int width, int height, float frameRate,
FFmpegPreset encodingPreset, StreamPreset streamPreset,
- string address)
+ string address, bool isGreyScale)
{
- // Constructs the FFmpeg command-line arguments for streaming.
+ string colorConversion = "";
+ if (isGreyScale)
+ {
+ colorConversion = "-vf format=gray -pix_fmt gray ";
+ }
+
string ffmpegArguments =
$"{UNITY_CAM_TEX_BYTE_FORMAT} {FFMPEG_LOGLEVEL} -framerate {frameRate} -video_size {width}x{height} "
- + $"-re -i pipe:0 {encodingPreset.GetOptions()} "
+ + $"-re -i pipe:0 {encodingPreset.GetOptions()} {colorConversion}"
+ $"{streamPreset.GetOptions()} {address}";
+ UnityEngine.Debug.Log($"FFmpeg Arguments: {ffmpegArguments}");
+ return new StreamFFmpegSession(ffmpegArguments);
+ }
- // Logs the constructed FFmpeg arguments for debugging purposes.
- Debug.Log($"FFmpeg Arguments: {ffmpegArguments}");
+ public void Start()
+ {
+ if (ffmpegThread == null || !ffmpegThread.IsAlive)
+ {
+ ffmpegThread = new Thread(ExecuteFFmpeg);
+ ffmpegThread.IsBackground = true;
+ ffmpegThread.Start();
+ }
+ }
- // Returns a new FFmpeg session with the constructed arguments.
- return new StreamFFmpegSession(ffmpegArguments);
+ private void ExecuteFFmpeg()
+ {
+ ProcessStartInfo startInfo = new ProcessStartInfo("ffmpeg", ffmpegArguments)
+ {
+ UseShellExecute = false,
+ RedirectStandardInput = true,
+ RedirectStandardOutput = true,
+ RedirectStandardError = true,
+ CreateNoWindow = true
+ };
+
+ ffmpegProcess = new Process { StartInfo = startInfo };
+ ffmpegProcess.Start();
+
+ ffmpegProcess.BeginOutputReadLine();
+ ffmpegProcess.BeginErrorReadLine();
+ ffmpegProcess.OutputDataReceived += (sender, args) => UnityEngine.Debug.Log("FFmpeg output: " + args.Data);
+ ffmpegProcess.ErrorDataReceived += (sender, args) => UnityEngine.Debug.Log("FFmpeg error: " + args.Data);
+ }
+
+ public void Stop()
+ {
+ if (ffmpegProcess != null)
+ {
+ if (!ffmpegProcess.HasExited)
+ {
+ ffmpegProcess.Kill();
+ }
+ ffmpegProcess.Dispose();
+ }
+ if (ffmpegThread != null)
+ {
+ if (ffmpegThread.IsAlive)
+ {
+ ffmpegThread.Join(); // Wait for the thread to finish
+ }
+ ffmpegThread = null;
+ }
}
}
-}
+}
\ No newline at end of file
diff --git a/Assets/FFmpegOut/Runtime/LiveStream/StreamPreset.cs b/Assets/FFmpegOut/Runtime/LiveStream/StreamPreset.cs
index 3966c2a..dd8d60b 100644
--- a/Assets/FFmpegOut/Runtime/LiveStream/StreamPreset.cs
+++ b/Assets/FFmpegOut/Runtime/LiveStream/StreamPreset.cs
@@ -3,6 +3,7 @@
public enum StreamPreset
{
Udp,
+ UdpMJPEG,
Rtp,
Rtsp,
Hls,
@@ -18,6 +19,8 @@ public static string GetOptions(this StreamPreset preset)
{
case StreamPreset.Udp:
return "-f rtp";
+ case StreamPreset.UdpMJPEG:
+ return "-vcodec mjpeg -q:v 2 -f mjpeg";
case StreamPreset.Rtp:
return "-f rtp_mpegts";
case StreamPreset.Rtsp:
diff --git a/Assets/Scenes/ImageGenerator.unity b/Assets/Scenes/ImageGenerator.unity
index 6ee0b3b..1e870e8 100644
--- a/Assets/Scenes/ImageGenerator.unity
+++ b/Assets/Scenes/ImageGenerator.unity
@@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
- m_IndirectSpecularColor: {r: 0.7302272, g: 0.7889773, b: 0.84986025, a: 1}
+ m_IndirectSpecularColor: {r: 0.7302399, g: 0.7889819, b: 0.8498601, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@@ -138,7 +138,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
- m_IsActive: 1
+ m_IsActive: 0
--- !u!4 &8230523
Transform:
m_ObjectHideFlags: 0
@@ -170,6 +170,8 @@ GameObject:
- component: {fileID: 110319848}
- component: {fileID: 110319849}
- component: {fileID: 110319850}
+ - component: {fileID: 110319851}
+ - component: {fileID: 110319852}
m_Layer: 0
m_Name: IGcontroller
m_TagString: Untagged
@@ -10972,7 +10974,9 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 4673d8961a019f443b0446f7e1609caf, type: 3}
m_Name:
m_EditorClassIdentifier:
+ gameObjectGeoReference: {fileID: 1628688805}
georeference: {fileID: 1628688806}
+ defaultModel: {fileID: 603810081}
isDynamicCameraSpawned: 0
droneTemplate: {fileID: 200453354}
mavlinkMessageProcessor: {fileID: 110319845}
@@ -10983,6 +10987,7 @@ MonoBehaviour:
cameraController: {fileID: 110319850}
cameraListController: {fileID: 1898266971}
configLoader: {fileID: 110319848}
+ assetBundleLoader: {fileID: 110319852}
--- !u!114 &110319847
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -11004,7 +11009,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 110319842}
- m_Enabled: 1
+ m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 419e949239c9fd3459a2a470b8bc2181, type: 3}
m_Name:
@@ -11015,6 +11020,7 @@ MonoBehaviour:
tileURL:
mavlink2RestURL:
vehicles: []
+ staticObjects: []
worldController: {fileID: 110319846}
--- !u!114 &110319849
MonoBehaviour:
@@ -11042,6 +11048,32 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
cameras: []
+ godModeObject: {fileID: 1911560257}
+--- !u!114 &110319851
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 110319842}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3226ca452d72608169495886eb7ecfce, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &110319852
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 110319842}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a63adf8bf458e8dfd9c3789e7ec16f65, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ configLoader: {fileID: 110319848}
--- !u!1 &134658867
GameObject:
m_ObjectHideFlags: 0
@@ -11088,7 +11120,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
- m_IsActive: 1
+ m_IsActive: 0
--- !u!4 &151374051
Transform:
m_ObjectHideFlags: 0
@@ -11103,9 +11135,110 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 297668319}
- - {fileID: 849303043}
m_Father: {fileID: 200453355}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &177404764
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 177404768}
+ - component: {fileID: 177404767}
+ - component: {fileID: 177404766}
+ - component: {fileID: 177404765}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &177404765
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 177404764}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &177404766
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 177404764}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 1
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!223 &177404767
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 177404764}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_VertexColorAlwaysGammaSpace: 0
+ m_AdditionalShaderChannelsFlag: 25
+ m_UpdateRectTransformForStandalone: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &177404768
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 177404764}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1843217137}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
--- !u!1 &200453354
GameObject:
m_ObjectHideFlags: 0
@@ -11138,6 +11271,8 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
+ - {fileID: 603810082}
+ - {fileID: 849303043}
- {fileID: 1828859171}
- {fileID: 397800946}
- {fileID: 8230523}
@@ -11163,7 +11298,7 @@ MonoBehaviour:
systemId: 1
latLonAlt: {x: 0, y: 0, z: 0}
alpha: 0.98
- positionAlpha: 0.99
+ positionAlpha: 0.93
--- !u!114 &200453358
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -11182,7 +11317,9 @@ MonoBehaviour:
systemId: 1
latLonAlt: {x: 0, y: 0, z: 0}
alpha: 0.98
- positionAlpha: 0.98
+ positionAlpha: 0.9
+ assetBundleLoader: {fileID: 110319852}
+ defaultModel: {fileID: 603810081}
--- !u!114 &200453359
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -11302,8 +11439,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 315.3333, y: -36.936462}
- m_SizeDelta: {x: 630.6666, y: 73.872925}
+ m_AnchoredPosition: {x: 754, y: -52.848755}
+ m_SizeDelta: {x: 500, y: 105.69751}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &266095939
MonoBehaviour:
@@ -11442,8 +11579,8 @@ MonoBehaviour:
m_Calls: []
m_text: CAMERA LIST
m_isRightToLeft: 0
- m_fontAsset: {fileID: 11400000, guid: 9d24e6b3ecd1d2b479a31d3d0e7b1f9e, type: 2}
- m_sharedMaterial: {fileID: 21148088844906328, guid: 9d24e6b3ecd1d2b479a31d3d0e7b1f9e, type: 2}
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
@@ -11724,7 +11861,7 @@ Camera:
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.49803925, g: 0.49803925, b: 0.49803925, a: 0}
- m_projectionMatrixMode: 1
+ m_projectionMatrixMode: 2
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
@@ -11776,12 +11913,13 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: b0595c30dce42144d9388cb40476e729, type: 3}
m_Name:
m_EditorClassIdentifier:
- _width: 1920
- _height: 1080
- _preset: 1
- _frameRate: 30
+ _width: 1280
+ _height: 720
+ _preset: 0
+ _frameRate: 15
_streamPreset: 0
streamAddress:
+ isGreyScale: 0
--- !u!1 &477251598
GameObject:
m_ObjectHideFlags: 0
@@ -11957,12 +12095,7 @@ MonoBehaviour:
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
---- !u!4 &754120972 stripped
-Transform:
- m_CorrespondingSourceObject: {fileID: 400022, guid: 29f96d9f927cf864db7fdfb707b89203, type: 3}
- m_PrefabInstance: {fileID: 254928480}
- m_PrefabAsset: {fileID: 0}
---- !u!1 &768794794
+--- !u!1 &560782656
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -11970,151 +12103,238 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 768794795}
- - component: {fileID: 768794798}
- - component: {fileID: 768794797}
- - component: {fileID: 768794796}
- - component: {fileID: 768794800}
- - component: {fileID: 768794799}
+ - component: {fileID: 560782657}
+ - component: {fileID: 560782659}
+ - component: {fileID: 560782658}
m_Layer: 5
- m_Name: Header
+ m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!224 &768794795
+--- !u!224 &560782657
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 768794794}
+ m_GameObject: {fileID: 560782656}
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_ConstrainProportionsScale: 0
- m_Children:
- - {fileID: 266095938}
- - {fileID: 1762790763}
- - {fileID: 1112245543}
- m_Father: {fileID: 483538299}
+ m_Children: []
+ m_Father: {fileID: 1697340511}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 1}
- m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 959.99994, y: -46.936462}
- m_SizeDelta: {x: 1899.9999, y: 73.872925}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &768794796
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 768794794}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreLayout: 0
- m_MinWidth: -1
- m_MinHeight: 70
- m_PreferredWidth: -1
- m_PreferredHeight: 75
- m_FlexibleWidth: -1
- m_FlexibleHeight: -1
- m_LayoutPriority: 1
---- !u!114 &768794797
+--- !u!114 &560782658
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 768794794}
+ m_GameObject: {fileID: 560782656}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
- m_Color: {r: 1, g: 1, b: 1, a: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_Sprite: {fileID: 0}
- m_Type: 0
- m_PreserveAspect: 0
- m_FillCenter: 1
- m_FillMethod: 4
- m_FillAmount: 1
- m_FillClockwise: 1
- m_FillOrigin: 0
- m_UseSpriteMesh: 0
- m_PixelsPerUnitMultiplier: 1
---- !u!222 &768794798
+ m_text: HELP
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &560782659
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 768794794}
+ m_GameObject: {fileID: 560782656}
m_CullTransparentMesh: 1
---- !u!114 &768794799
-MonoBehaviour:
+--- !u!1 &603810081
+GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 768794794}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 844659df7e8f6934780b51c239e5452f, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- tabButtons:
- - {fileID: 266095939}
- - {fileID: 1762790765}
- - {fileID: 1112245545}
- tabIdle: {r: 1, g: 1, b: 1, a: 0}
- tabHover: {r: 1, g: 1, b: 1, a: 0.23529412}
- tabActive: {r: 0.20392157, g: 0.59607846, b: 0.85882354, a: 1}
- selectedTab: {fileID: 0}
- objectsToSwap:
- - {fileID: 1898266965}
- - {fileID: 1148046114}
- - {fileID: 796723541}
- panelGroup: {fileID: 1001390874}
---- !u!114 &768794800
-MonoBehaviour:
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 603810082}
+ - component: {fileID: 603810085}
+ - component: {fileID: 603810084}
+ - component: {fileID: 603810083}
+ m_Layer: 0
+ m_Name: DefaultObject
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &603810082
+Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 768794794}
+ m_GameObject: {fileID: 603810081}
+ serializedVersion: 2
+ 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_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 200453355}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &603810083
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 603810081}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 0
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &603810084
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 603810081}
m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Padding:
- m_Left: 0
- m_Right: 0
- m_Top: 0
- m_Bottom: 0
- m_ChildAlignment: 0
- m_Spacing: 4
- m_ChildForceExpandWidth: 1
- m_ChildForceExpandHeight: 1
- m_ChildControlWidth: 1
- m_ChildControlHeight: 1
- m_ChildScaleWidth: 0
- m_ChildScaleHeight: 0
- m_ReverseArrangement: 0
---- !u!1 &796723541
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: fe5714ee8c3f0254da43240e17177424, 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
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!33 &603810085
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 603810081}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &697274746
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -12122,29 +12342,33 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 796723542}
- - component: {fileID: 796723545}
- - component: {fileID: 796723544}
- - component: {fileID: 796723543}
+ - component: {fileID: 697274747}
+ - component: {fileID: 697274752}
+ - component: {fileID: 697274751}
+ - component: {fileID: 697274750}
+ - component: {fileID: 697274749}
+ - component: {fileID: 697274748}
m_Layer: 5
- m_Name: Settings Body
+ m_Name: Help Body
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
- m_IsActive: 0
---- !u!224 &796723542
+ m_IsActive: 1
+--- !u!224 &697274747
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 796723541}
+ m_GameObject: {fileID: 697274746}
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_ConstrainProportionsScale: 0
- m_Children: []
+ m_Children:
+ - {fileID: 853470081}
+ - {fileID: 1997695496}
m_Father: {fileID: 1001390870}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@@ -12152,13 +12376,52 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &796723543
+--- !u!114 &697274748
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 796723541}
+ m_GameObject: {fileID: 697274746}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 85ca58d32182d06448d073a255558db0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ TextTempate: {fileID: 0}
+--- !u!114 &697274749
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 697274746}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 300
+ m_Right: 300
+ m_Top: 10
+ m_Bottom: 10
+ m_ChildAlignment: 1
+ m_Spacing: 10
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!114 &697274750
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 697274746}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
@@ -12172,20 +12435,20 @@ MonoBehaviour:
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
---- !u!114 &796723544
+--- !u!114 &697274751
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 796723541}
- m_Enabled: 1
+ m_GameObject: {fileID: 697274746}
+ m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
- m_Color: {r: 0.94509804, g: 0.76862746, b: 0.05882353, a: 1}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -12202,20 +12465,20 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
---- !u!222 &796723545
+--- !u!222 &697274752
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 796723541}
+ m_GameObject: {fileID: 697274746}
m_CullTransparentMesh: 1
---- !u!4 &849303043 stripped
+--- !u!4 &754120972 stripped
Transform:
- m_CorrespondingSourceObject: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
- m_PrefabInstance: {fileID: 1773161620}
+ m_CorrespondingSourceObject: {fileID: 400022, guid: 29f96d9f927cf864db7fdfb707b89203, type: 3}
+ m_PrefabInstance: {fileID: 254928480}
m_PrefabAsset: {fileID: 0}
---- !u!1 &990428984
+--- !u!1 &768794794
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -12223,108 +12486,154 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 990428985}
- - component: {fileID: 990428986}
- - component: {fileID: 990428987}
- m_Layer: 0
- m_Name: Directional Light
+ - component: {fileID: 768794795}
+ - component: {fileID: 768794798}
+ - component: {fileID: 768794797}
+ - component: {fileID: 768794796}
+ - component: {fileID: 768794800}
+ - component: {fileID: 768794799}
+ m_Layer: 5
+ m_Name: Header
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!4 &990428985
-Transform:
+--- !u!224 &768794795
+RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 990428984}
- serializedVersion: 2
- m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
- m_LocalPosition: {x: 0, y: 1000, z: 0}
+ m_GameObject: {fileID: 768794794}
+ 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_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
---- !u!108 &990428986
-Light:
+ m_Children:
+ - {fileID: 1697340511}
+ - {fileID: 266095938}
+ - {fileID: 1762790763}
+ - {fileID: 1112245543}
+ m_Father: {fileID: 483538299}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 1016, y: -62.848755}
+ m_SizeDelta: {x: 2012, y: 105.69751}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &768794796
+MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 990428984}
+ m_GameObject: {fileID: 768794794}
m_Enabled: 1
- serializedVersion: 10
- m_Type: 1
- m_Shape: 0
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_Intensity: 0.5
- m_Range: 10
- m_SpotAngle: 30
- m_InnerSpotAngle: 21.80208
- m_CookieSize: 10
- m_Shadows:
- m_Type: 0
- 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: 4
- 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_UseViewFrustumForShadowCasterCull: 1
- m_ShadowRadius: 0
- m_ShadowAngle: 0
---- !u!114 &990428987
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: 70
+ m_PreferredWidth: -1
+ m_PreferredHeight: 75
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!114 &768794797
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 990428984}
+ m_GameObject: {fileID: 768794794}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 4653d28923550ce4190a25901f9d66c4, type: 3}
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
- player: {fileID: 0}
- heightAbovePlayer: 1000
---- !u!1 &1001390869
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &768794798
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 768794794}
+ m_CullTransparentMesh: 1
+--- !u!114 &768794799
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 768794794}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 844659df7e8f6934780b51c239e5452f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ tabButtons:
+ - {fileID: 1697340514}
+ - {fileID: 266095939}
+ - {fileID: 1762790765}
+ - {fileID: 1112245545}
+ tabIdle: {r: 1, g: 1, b: 1, a: 0}
+ tabHover: {r: 1, g: 1, b: 1, a: 0.23529412}
+ tabActive: {r: 0.20392157, g: 0.59607846, b: 0.85882354, a: 1}
+ selectedTab: {fileID: 0}
+ objectsToSwap:
+ - {fileID: 697274746}
+ - {fileID: 1898266965}
+ - {fileID: 1148046114}
+ - {fileID: 796723541}
+ panelGroup: {fileID: 1001390874}
+--- !u!114 &768794800
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 768794794}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 4
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!1 &796723541
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -12332,47 +12641,43 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 1001390870}
- - component: {fileID: 1001390873}
- - component: {fileID: 1001390872}
- - component: {fileID: 1001390871}
- - component: {fileID: 1001390874}
+ - component: {fileID: 796723542}
+ - component: {fileID: 796723545}
+ - component: {fileID: 796723544}
+ - component: {fileID: 796723543}
m_Layer: 5
- m_Name: Body
+ m_Name: Settings Body
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &1001390870
+ m_IsActive: 0
+--- !u!224 &796723542
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1001390869}
+ m_GameObject: {fileID: 796723541}
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_ConstrainProportionsScale: 0
- m_Children:
- - {fileID: 1898266966}
- - {fileID: 1148046115}
- - {fileID: 796723542}
- m_Father: {fileID: 483538299}
+ m_Children: []
+ m_Father: {fileID: 1001390870}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 1}
- m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 959.99994, y: -486.43643}
- m_SizeDelta: {x: 1899.9999, y: 797.127}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &1001390871
+--- !u!114 &796723543
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1001390869}
+ m_GameObject: {fileID: 796723541}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
@@ -12380,26 +12685,26 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
- m_MinHeight: 100
+ m_MinHeight: -1
m_PreferredWidth: -1
- m_PreferredHeight: 1000
+ m_PreferredHeight: -1
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
---- !u!114 &1001390872
+--- !u!114 &796723544
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1001390869}
+ m_GameObject: {fileID: 796723541}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
- m_Color: {r: 1, g: 1, b: 1, a: 0}
+ m_Color: {r: 0.94509804, g: 0.76862746, b: 0.05882353, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -12416,33 +12721,20 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
---- !u!222 &1001390873
+--- !u!222 &796723545
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1001390869}
+ m_GameObject: {fileID: 796723541}
m_CullTransparentMesh: 1
---- !u!114 &1001390874
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
+--- !u!4 &849303043 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ m_PrefabInstance: {fileID: 1773161620}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1001390869}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 272adefb57f926c4fa1cb0cd849167cc, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- panels:
- - {fileID: 1898266965}
- - {fileID: 1148046114}
- - {fileID: 796723541}
- tabGroup: {fileID: 0}
- panelIndex: 0
---- !u!1 &1035564247
+--- !u!1 &853470080
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -12450,64 +12742,42 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 1035564248}
- - component: {fileID: 1035564251}
- - component: {fileID: 1035564250}
- - component: {fileID: 1035564249}
+ - component: {fileID: 853470081}
+ - component: {fileID: 853470083}
+ - component: {fileID: 853470082}
m_Layer: 5
- m_Name: Text List Template
+ m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
- m_IsActive: 0
---- !u!224 &1035564248
+ m_IsActive: 1
+--- !u!224 &853470081
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1035564247}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_GameObject: {fileID: 853470080}
+ 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_ConstrainProportionsScale: 0
- m_Children:
- - {fileID: 1123281423}
- m_Father: {fileID: 1898266966}
+ m_Children: []
+ m_Father: {fileID: 697274747}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 949.99994, y: -35}
- m_SizeDelta: {x: 1299.9999, y: 50}
+ m_AnchoredPosition: {x: 950, y: -30.11}
+ m_SizeDelta: {x: 1300, y: 40.22}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &1035564249
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1035564247}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreLayout: 0
- m_MinWidth: -1
- m_MinHeight: -1
- m_PreferredWidth: -1
- m_PreferredHeight: 50
- m_FlexibleWidth: -1
- m_FlexibleHeight: -1
- m_LayoutPriority: 1
---- !u!114 &1035564250
+--- !u!114 &853470082
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1035564247}
+ m_GameObject: {fileID: 853470080}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
@@ -12521,7 +12791,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_text: New Text
+ m_text: Game Controls
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
@@ -12590,15 +12860,15 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
---- !u!222 &1035564251
+--- !u!222 &853470083
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1035564247}
+ m_GameObject: {fileID: 853470080}
m_CullTransparentMesh: 1
---- !u!1 &1112245542
+--- !u!1 &990428984
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -12606,117 +12876,108 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 1112245543}
- - component: {fileID: 1112245544}
- - component: {fileID: 1112245547}
- - component: {fileID: 1112245546}
- - component: {fileID: 1112245545}
- m_Layer: 5
- m_Name: Settings
+ - component: {fileID: 990428985}
+ - component: {fileID: 990428986}
+ - component: {fileID: 990428987}
+ m_Layer: 0
+ m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!224 &1112245543
-RectTransform:
+--- !u!4 &990428985
+Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1112245542}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_GameObject: {fileID: 990428984}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
+ m_LocalPosition: {x: 0, y: 1000, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
- m_Children:
- - {fileID: 1814655268}
- m_Father: {fileID: 768794795}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 1}
- m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 1584.6665, y: -36.936462}
- m_SizeDelta: {x: 630.6666, y: 73.872925}
- m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &1112245544
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1112245542}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreLayout: 0
- m_MinWidth: 500
- m_MinHeight: -1
- m_PreferredWidth: -1
- m_PreferredHeight: -1
- m_FlexibleWidth: -1
- m_FlexibleHeight: -1
- m_LayoutPriority: 1
---- !u!114 &1112245545
-MonoBehaviour:
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!108 &990428986
+Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1112245542}
+ m_GameObject: {fileID: 990428984}
m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 6ba37d3a98b74aa4d9d3ec633f130827, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- tabGroup: {fileID: 768794799}
- background: {fileID: 0}
- onTabSelected:
- m_PersistentCalls:
- m_Calls: []
- onTabDeselected:
- m_PersistentCalls:
- m_Calls: []
---- !u!114 &1112245546
+ serializedVersion: 10
+ m_Type: 1
+ m_Shape: 0
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_Intensity: 0.5
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 0
+ 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: 4
+ 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_UseViewFrustumForShadowCasterCull: 1
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!114 &990428987
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1112245542}
+ m_GameObject: {fileID: 990428984}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Script: {fileID: 11500000, guid: 4653d28923550ce4190a25901f9d66c4, type: 3}
m_Name:
m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 0.58431375, g: 0.64705884, b: 0.6509804, a: 0.4627451}
- m_RaycastTarget: 1
- m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
- m_Maskable: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_Sprite: {fileID: 0}
- m_Type: 0
- m_PreserveAspect: 0
- m_FillCenter: 1
- m_FillMethod: 4
- m_FillAmount: 1
- m_FillClockwise: 1
- m_FillOrigin: 0
- m_UseSpriteMesh: 0
- m_PixelsPerUnitMultiplier: 1
---- !u!222 &1112245547
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1112245542}
- m_CullTransparentMesh: 1
---- !u!1 &1123281422
+ player: {fileID: 0}
+ heightAbovePlayer: 1000
+--- !u!1 &1001390869
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -12724,51 +12985,75 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 1123281423}
- - component: {fileID: 1123281426}
- - component: {fileID: 1123281425}
- - component: {fileID: 1123281427}
- - component: {fileID: 1123281428}
+ - component: {fileID: 1001390870}
+ - component: {fileID: 1001390873}
+ - component: {fileID: 1001390872}
+ - component: {fileID: 1001390871}
+ - component: {fileID: 1001390874}
m_Layer: 5
- m_Name: Image
+ m_Name: Body
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!224 &1123281423
+--- !u!224 &1001390870
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1123281422}
+ m_GameObject: {fileID: 1001390869}
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_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1035564248}
+ m_Children:
+ - {fileID: 697274747}
+ - {fileID: 1898266966}
+ - {fileID: 1148046115}
+ - {fileID: 796723542}
+ m_Father: {fileID: 483538299}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 0}
- m_AnchorMax: {x: 1, y: 1}
- m_AnchoredPosition: {x: 0, y: 0}
- m_SizeDelta: {x: 0, y: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 960, y: -619.6975}
+ m_SizeDelta: {x: 1900, y: 1000}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &1123281425
+--- !u!114 &1001390871
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1123281422}
+ m_GameObject: {fileID: 1001390869}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: 100
+ m_PreferredWidth: -1
+ m_PreferredHeight: 1000
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!114 &1001390872
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1001390869}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
- m_Color: {r: 0.58431375, g: 0.64705884, b: 0.6509804, a: 0.4627451}
+ m_Color: {r: 1, g: 1, b: 1, a: 0}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -12785,60 +13070,34 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
---- !u!222 &1123281426
+--- !u!222 &1001390873
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1123281422}
+ m_GameObject: {fileID: 1001390869}
m_CullTransparentMesh: 1
---- !u!114 &1123281427
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1123281422}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreLayout: 0
- m_MinWidth: -1
- m_MinHeight: -1
- m_PreferredWidth: -1
- m_PreferredHeight: -1
- m_FlexibleWidth: -1
- m_FlexibleHeight: -1
- m_LayoutPriority: 1
---- !u!114 &1123281428
+--- !u!114 &1001390874
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1123281422}
+ m_GameObject: {fileID: 1001390869}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 3f35ecd80a91d174cb2ad07ba21464f8, type: 3}
+ m_Script: {fileID: 11500000, guid: 272adefb57f926c4fa1cb0cd849167cc, type: 3}
m_Name:
m_EditorClassIdentifier:
- background: {fileID: 0}
- onButtonSelected:
- m_PersistentCalls:
- m_Calls: []
- onButtonClicked:
- m_PersistentCalls:
- m_Calls: []
- onButtonDeselected:
- m_PersistentCalls:
- m_Calls: []
- selectedColor: {r: 0.20392157, g: 0.59607846, b: 0.85882354, a: 0.28235295}
- deselectedColor: {r: 0.58431375, g: 0.64705884, b: 0.6509804, a: 0.4627451}
- clickedColor: {r: 1, g: 1, b: 1, a: 0.2509804}
---- !u!1 &1148046114
+ panels:
+ - {fileID: 697274746}
+ - {fileID: 1898266965}
+ - {fileID: 1148046114}
+ - {fileID: 796723541}
+ tabGroup: {fileID: 0}
+ panelIndex: 0
+--- !u!1 &1035564247
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -12846,43 +13105,44 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 1148046115}
- - component: {fileID: 1148046118}
- - component: {fileID: 1148046117}
- - component: {fileID: 1148046116}
+ - component: {fileID: 1035564248}
+ - component: {fileID: 1035564251}
+ - component: {fileID: 1035564250}
+ - component: {fileID: 1035564249}
m_Layer: 5
- m_Name: Camera Views Body
+ m_Name: Text List Template
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
---- !u!224 &1148046115
+--- !u!224 &1035564248
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1148046114}
+ m_GameObject: {fileID: 1035564247}
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_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1001390870}
+ m_Children:
+ - {fileID: 1123281423}
+ m_Father: {fileID: 1898266966}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 0}
- m_AnchorMax: {x: 1, y: 1}
- m_AnchoredPosition: {x: 0, y: 0}
- m_SizeDelta: {x: 0, y: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 949.99994, y: -35}
+ m_SizeDelta: {x: 1299.9999, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &1148046116
+--- !u!114 &1035564249
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1148046114}
+ m_GameObject: {fileID: 1035564247}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
@@ -12892,49 +13152,108 @@ MonoBehaviour:
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
- m_PreferredHeight: -1
+ m_PreferredHeight: 50
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
---- !u!114 &1148046117
+--- !u!114 &1035564250
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1148046114}
+ m_GameObject: {fileID: 1035564247}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
- m_Color: {r: 0.20392157, g: 0.59607846, b: 0.85882354, a: 1}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_Sprite: {fileID: 0}
- m_Type: 0
- m_PreserveAspect: 0
- m_FillCenter: 1
- m_FillMethod: 4
- m_FillAmount: 1
- m_FillClockwise: 1
- m_FillOrigin: 0
- m_UseSpriteMesh: 0
- m_PixelsPerUnitMultiplier: 1
---- !u!222 &1148046118
+ m_text: New Text
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1035564251
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1148046114}
+ m_GameObject: {fileID: 1035564247}
m_CullTransparentMesh: 1
---- !u!1 &1524864480
+--- !u!1 &1112245542
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -12942,284 +13261,1278 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 1524864481}
- - component: {fileID: 1524864487}
- - component: {fileID: 1524864486}
- - component: {fileID: 1524864485}
- - component: {fileID: 1524864484}
- - component: {fileID: 1524864483}
- - component: {fileID: 1524864482}
- m_Layer: 0
- m_Name: DynamicCamera
- m_TagString: MainCamera
+ - component: {fileID: 1112245543}
+ - component: {fileID: 1112245544}
+ - component: {fileID: 1112245547}
+ - component: {fileID: 1112245546}
+ - component: {fileID: 1112245545}
+ m_Layer: 5
+ m_Name: Settings
+ m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!4 &1524864481
-Transform:
+--- !u!224 &1112245543
+RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1524864480}
- serializedVersion: 2
- m_LocalRotation: {x: -1.3877783e-17, y: -3.469447e-18, z: -6.9388927e-18, w: 1}
+ m_GameObject: {fileID: 1112245542}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1.0000004, z: 1}
+ m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1628688807}
+ m_Children:
+ - {fileID: 1814655268}
+ m_Father: {fileID: 768794795}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &1524864482
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 1762, y: -52.848755}
+ m_SizeDelta: {x: 500, y: 105.69751}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1112245544
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1524864480}
- m_Enabled: 0
+ m_GameObject: {fileID: 1112245542}
+ m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 275ecd2d59d942d41bf31252981978e0, type: 3}
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
m_Name:
m_EditorClassIdentifier:
- _flyToAltitudeProfileCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 4.76524
- outSlope: 4.76524
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0.061909087
- - serializedVersion: 3
- time: 0.5
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 34
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 1
- value: 0
- inSlope: -4.821313
- outSlope: -4.821313
- tangentMode: 0
- weightedMode: 0
- inWeight: 0.0535717
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- _flyToProgressCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1
- value: 1
- inSlope: 0
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- _flyToMaximumAltitudeCurve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0.16666667
- outSlope: 0.16666667
- tangentMode: 34
- weightedMode: 0
- inWeight: 0
- outWeight: 0.33333334
- - serializedVersion: 3
- time: 12000000
- value: 2000000
- inSlope: 0.16666667
- outSlope: 0.16666667
- tangentMode: 34
- weightedMode: 0
- inWeight: 0.33333334
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- _flyToDuration: 5
---- !u!114 &1524864483
+ m_IgnoreLayout: 0
+ m_MinWidth: 500
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!114 &1112245545
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1524864480}
- m_Enabled: 0
+ m_GameObject: {fileID: 1112245542}
+ m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 3bef32f31a547984f88be1ab98b65f04, type: 3}
+ m_Script: {fileID: 11500000, guid: 6ba37d3a98b74aa4d9d3ec633f130827, type: 3}
m_Name:
m_EditorClassIdentifier:
- _distance: 0
---- !u!114 &1524864484
+ tabGroup: {fileID: 768794799}
+ background: {fileID: 0}
+ onTabSelected:
+ m_PersistentCalls:
+ m_Calls: []
+ onTabDeselected:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &1112245546
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1524864480}
- m_Enabled: 0
+ m_GameObject: {fileID: 1112245542}
+ m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 74f14e1eb550b9a4fb6c0a2f0456845b, type: 3}
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
- _adjustOrientationForGlobeWhenMoving: 1
- _detectTransformChanges: 1
- _localToGlobeFixedMatrix:
- c0:
- x: 0.9918705852660543
- y: -0.12725070563252222
- z: 0
- w: 0
- c1:
- x: -0.1070058283319761
- y: -0.834069509060469
- z: 0.5411825219040995
- w: 0
- c2:
- x: 0.06886583315994345
- y: 0.5367828327682781
- z: 0.840905278535252
- w: 0
- c3:
- x: -683181.8996028434
- y: -5325141.634649307
- z: 3432065.5429988545
- w: 1
- _localToGlobeFixedMatrixIsValid: 1
---- !u!114 &1524864485
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.58431375, g: 0.64705884, b: 0.6509804, a: 0.4627451}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1112245547
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1112245542}
+ m_CullTransparentMesh: 1
+--- !u!1 &1123281422
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1123281423}
+ - component: {fileID: 1123281426}
+ - component: {fileID: 1123281425}
+ - component: {fileID: 1123281427}
+ - component: {fileID: 1123281428}
+ m_Layer: 5
+ m_Name: Image
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1123281423
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1123281422}
+ 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_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1035564248}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1123281425
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1524864480}
- m_Enabled: 0
+ m_GameObject: {fileID: 1123281422}
+ m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 6b621ff6a9d4b8c4d85ac07de7f8b4b9, type: 3}
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
- _enableMovement: 1
- _enableRotation: 1
- _defaultMaximumSpeed: 100
- _enableDynamicSpeed: 1
- _dynamicSpeedMinHeight: 20
- _enableDynamicClippingPlanes: 1
- _dynamicClippingPlanesMinHeight: 10000
- _lookAction:
- m_UseReference: 0
- m_Action:
- m_Name:
- m_Type: 0
- m_ExpectedControlType:
- m_Id: a4e8637b-172e-4058-949c-de33e2a4c1c1
- m_Processors:
- m_Interactions:
- m_SingletonActionBindings: []
- m_Flags: 0
- m_Reference: {fileID: 0}
- _moveAction:
- m_UseReference: 0
- m_Action:
- m_Name:
- m_Type: 0
- m_ExpectedControlType:
- m_Id: bafe3a72-4cce-44bf-b30a-48bf2012f31f
- m_Processors:
- m_Interactions:
- m_SingletonActionBindings: []
- m_Flags: 0
- m_Reference: {fileID: 0}
- _moveUpAction:
- m_UseReference: 0
- m_Action:
- m_Name:
- m_Type: 0
- m_ExpectedControlType:
- m_Id: a37f9b19-1638-486d-8149-270152f200b0
- m_Processors:
- m_Interactions:
- m_SingletonActionBindings: []
- m_Flags: 0
- m_Reference: {fileID: 0}
- _speedChangeAction:
- m_UseReference: 0
- m_Action:
- m_Name:
- m_Type: 0
- m_ExpectedControlType:
- m_Id: bc64bab6-1f16-48ae-b1b9-b763dabd8a82
- m_Processors:
- m_Interactions:
- m_SingletonActionBindings: []
- m_Flags: 0
- m_Reference: {fileID: 0}
- _speedResetAction:
- m_UseReference: 0
- m_Action:
- m_Name:
- m_Type: 0
- m_ExpectedControlType:
- m_Id: f7e230a4-8873-4df0-8989-59360bcf0867
- m_Processors:
- m_Interactions:
- m_SingletonActionBindings: []
- m_Flags: 0
- m_Reference: {fileID: 0}
- _toggleDynamicSpeedAction:
- m_UseReference: 0
- m_Action:
- m_Name:
- m_Type: 0
- m_ExpectedControlType:
- m_Id: 3487f642-a136-4abc-afeb-6a5c8c20d723
- m_Processors:
- m_Interactions:
- m_SingletonActionBindings: []
- m_Flags: 0
- m_Reference: {fileID: 0}
---- !u!81 &1524864486
-AudioListener:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.58431375, g: 0.64705884, b: 0.6509804, a: 0.4627451}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1123281426
+CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1524864480}
+ m_GameObject: {fileID: 1123281422}
+ m_CullTransparentMesh: 1
+--- !u!114 &1123281427
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1123281422}
m_Enabled: 1
---- !u!20 &1524864487
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!114 &1123281428
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1123281422}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3f35ecd80a91d174cb2ad07ba21464f8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ background: {fileID: 0}
+ onButtonSelected:
+ m_PersistentCalls:
+ m_Calls: []
+ onButtonClicked:
+ m_PersistentCalls:
+ m_Calls: []
+ onButtonDeselected:
+ m_PersistentCalls:
+ m_Calls: []
+ selectedColor: {r: 0.20392157, g: 0.59607846, b: 0.85882354, a: 0.28235295}
+ deselectedColor: {r: 0.58431375, g: 0.64705884, b: 0.6509804, a: 0.4627451}
+ clickedColor: {r: 1, g: 1, b: 1, a: 0.2509804}
+--- !u!1 &1148046114
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1148046115}
+ - component: {fileID: 1148046118}
+ - component: {fileID: 1148046117}
+ - component: {fileID: 1148046116}
+ m_Layer: 5
+ m_Name: Camera Views Body
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &1148046115
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1148046114}
+ 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_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1001390870}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1148046116
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1148046114}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!114 &1148046117
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1148046114}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.20392157, g: 0.59607846, b: 0.85882354, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1148046118
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1148046114}
+ m_CullTransparentMesh: 1
+--- !u!1 &1524864480
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1524864481}
+ - component: {fileID: 1524864487}
+ - component: {fileID: 1524864486}
+ - component: {fileID: 1524864485}
+ - component: {fileID: 1524864484}
+ - component: {fileID: 1524864483}
+ - component: {fileID: 1524864482}
+ m_Layer: 0
+ m_Name: DynamicCamera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1524864481
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1524864480}
+ serializedVersion: 2
+ m_LocalRotation: {x: -1.3877783e-17, y: -3.469447e-18, z: -6.9388927e-18, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1.0000004, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1628688807}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1524864482
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1524864480}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 275ecd2d59d942d41bf31252981978e0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _flyToAltitudeProfileCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 4.76524
+ outSlope: 4.76524
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0.061909087
+ - serializedVersion: 3
+ time: 0.5
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 34
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: -4.821313
+ outSlope: -4.821313
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.0535717
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ _flyToProgressCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ _flyToMaximumAltitudeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0.16666667
+ outSlope: 0.16666667
+ tangentMode: 34
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 12000000
+ value: 2000000
+ inSlope: 0.16666667
+ outSlope: 0.16666667
+ tangentMode: 34
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ _flyToDuration: 5
+--- !u!114 &1524864483
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1524864480}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3bef32f31a547984f88be1ab98b65f04, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _distance: 0
+--- !u!114 &1524864484
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1524864480}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 74f14e1eb550b9a4fb6c0a2f0456845b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _adjustOrientationForGlobeWhenMoving: 1
+ _detectTransformChanges: 1
+ _localToGlobeFixedMatrix:
+ c0:
+ x: 0.9918705852660543
+ y: -0.12725070563252222
+ z: 0
+ w: 0
+ c1:
+ x: -0.1070058283319761
+ y: -0.834069509060469
+ z: 0.5411825219040995
+ w: 0
+ c2:
+ x: 0.06886583315994345
+ y: 0.5367828327682781
+ z: 0.840905278535252
+ w: 0
+ c3:
+ x: -683181.8996028434
+ y: -5325141.634649307
+ z: 3432065.5429988545
+ w: 1
+ _localToGlobeFixedMatrixIsValid: 1
+--- !u!114 &1524864485
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1524864480}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 6b621ff6a9d4b8c4d85ac07de7f8b4b9, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _enableMovement: 1
+ _enableRotation: 1
+ _defaultMaximumSpeed: 100
+ _enableDynamicSpeed: 1
+ _dynamicSpeedMinHeight: 20
+ _enableDynamicClippingPlanes: 1
+ _dynamicClippingPlanesMinHeight: 10000
+ _lookAction:
+ m_UseReference: 0
+ m_Action:
+ m_Name:
+ m_Type: 0
+ m_ExpectedControlType:
+ m_Id: a4e8637b-172e-4058-949c-de33e2a4c1c1
+ m_Processors:
+ m_Interactions:
+ m_SingletonActionBindings: []
+ m_Flags: 0
+ m_Reference: {fileID: 0}
+ _moveAction:
+ m_UseReference: 0
+ m_Action:
+ m_Name:
+ m_Type: 0
+ m_ExpectedControlType:
+ m_Id: bafe3a72-4cce-44bf-b30a-48bf2012f31f
+ m_Processors:
+ m_Interactions:
+ m_SingletonActionBindings: []
+ m_Flags: 0
+ m_Reference: {fileID: 0}
+ _moveUpAction:
+ m_UseReference: 0
+ m_Action:
+ m_Name:
+ m_Type: 0
+ m_ExpectedControlType:
+ m_Id: a37f9b19-1638-486d-8149-270152f200b0
+ m_Processors:
+ m_Interactions:
+ m_SingletonActionBindings: []
+ m_Flags: 0
+ m_Reference: {fileID: 0}
+ _speedChangeAction:
+ m_UseReference: 0
+ m_Action:
+ m_Name:
+ m_Type: 0
+ m_ExpectedControlType:
+ m_Id: bc64bab6-1f16-48ae-b1b9-b763dabd8a82
+ m_Processors:
+ m_Interactions:
+ m_SingletonActionBindings: []
+ m_Flags: 0
+ m_Reference: {fileID: 0}
+ _speedResetAction:
+ m_UseReference: 0
+ m_Action:
+ m_Name:
+ m_Type: 0
+ m_ExpectedControlType:
+ m_Id: f7e230a4-8873-4df0-8989-59360bcf0867
+ m_Processors:
+ m_Interactions:
+ m_SingletonActionBindings: []
+ m_Flags: 0
+ m_Reference: {fileID: 0}
+ _toggleDynamicSpeedAction:
+ m_UseReference: 0
+ m_Action:
+ m_Name:
+ m_Type: 0
+ m_ExpectedControlType:
+ m_Id: 3487f642-a136-4abc-afeb-6a5c8c20d723
+ m_Processors:
+ m_Interactions:
+ m_SingletonActionBindings: []
+ m_Flags: 0
+ m_Reference: {fileID: 0}
+--- !u!81 &1524864486
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1524864480}
+ m_Enabled: 1
+--- !u!20 &1524864487
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1524864480}
+ 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_Iso: 200
+ m_ShutterSpeed: 0.005
+ m_Aperture: 16
+ m_FocusDistance: 10
+ m_FocalLength: 50
+ m_BladeCount: 5
+ m_Curvature: {x: 2, y: 11}
+ m_BarrelClipping: 0.25
+ m_Anamorphism: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.5
+ far clip plane: 30000
+ field of view: 60
+ 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!1 &1628688805
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1628688807}
+ - component: {fileID: 1628688806}
+ m_Layer: 0
+ m_Name: CesiumGeoreference
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1628688806
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1628688805}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d1305e05d46db92498ce698a4c366a5a, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _ellipsoidOverride: {fileID: 0}
+ _originAuthority: 0
+ _latitude: 32.764157722071786
+ _longitude: -97.31074983607942
+ _height: 133
+ _ecefX: -683181.8996028434
+ _ecefY: -5325141.634649307
+ _ecefZ: 3432065.5429988545
+ _scale: 1
+--- !u!4 &1628688807
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1628688805}
+ serializedVersion: 2
+ 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_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 1814485188}
+ - {fileID: 200453355}
+ - {fileID: 1524864481}
+ - {fileID: 2056761953}
+ - {fileID: 1911560258}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1697340510
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1697340511}
+ - component: {fileID: 1697340515}
+ - component: {fileID: 1697340514}
+ - component: {fileID: 1697340513}
+ - component: {fileID: 1697340512}
+ m_Layer: 5
+ m_Name: Help
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1697340511
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1697340510}
+ 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_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 560782657}
+ m_Father: {fileID: 768794795}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 250, y: -52.848755}
+ m_SizeDelta: {x: 500, y: 105.69751}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1697340512
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1697340510}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.58431375, g: 0.64705884, b: 0.6509804, a: 0.4627451}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1697340513
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1697340510}
+ m_CullTransparentMesh: 1
+--- !u!114 &1697340514
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1697340510}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 6ba37d3a98b74aa4d9d3ec633f130827, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ tabGroup: {fileID: 768794799}
+ background: {fileID: 0}
+ onTabSelected:
+ m_PersistentCalls:
+ m_Calls: []
+ onTabDeselected:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &1697340515
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1697340510}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: 500
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!1 &1762790762
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1762790763}
+ - component: {fileID: 1762790764}
+ - component: {fileID: 1762790767}
+ - component: {fileID: 1762790766}
+ - component: {fileID: 1762790765}
+ m_Layer: 5
+ m_Name: Camera Views
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1762790763
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1762790762}
+ 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_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 2049820450}
+ m_Father: {fileID: 768794795}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 1258, y: -52.848755}
+ m_SizeDelta: {x: 500, y: 105.69751}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1762790764
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1762790762}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: 500
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!114 &1762790765
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1762790762}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 6ba37d3a98b74aa4d9d3ec633f130827, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ tabGroup: {fileID: 768794799}
+ background: {fileID: 0}
+ onTabSelected:
+ m_PersistentCalls:
+ m_Calls: []
+ onTabDeselected:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &1762790766
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1762790762}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.58431375, g: 0.64705884, b: 0.6509804, a: 0.4627451}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1762790767
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1762790762}
+ m_CullTransparentMesh: 1
+--- !u!1001 &1773161620
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 200453355}
+ m_Modifications:
+ - target: {fileID: 5054379811673952670, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_Name
+ value: drone red
+ objectReference: {fileID: 0}
+ - target: {fileID: 5054379811673952670, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.2
+ objectReference: {fileID: 0}
+ - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.2
+ objectReference: {fileID: 0}
+ - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.2
+ objectReference: {fileID: 0}
+ - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: e746f881748d3a147949e70e5c570880, type: 3}
+--- !u!1 &1814485187
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1814485188}
+ - component: {fileID: 1814485189}
+ m_Layer: 3
+ m_Name: Cesium3DTileset
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1814485188
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1814485187}
+ serializedVersion: 2
+ 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_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1628688807}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1814485189
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1814485187}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 844ac86b07dcfa3468f56da55d787510, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _showCreditsOnScreen: 1
+ _tilesetSource: 1
+ _url:
+ _ionAssetID: 0
+ _ionAccessToken:
+ _ionServer: {fileID: 11400000, guid: 814bf690df9afa843aec185d2975c51f, type: 2}
+ _maximumScreenSpaceError: 8
+ _preloadAncestors: 1
+ _preloadSiblings: 1
+ _forbidHoles: 1
+ _maximumSimultaneousTileLoads: 28
+ _maximumCachedBytes: 15368709120
+ _loadingDescendantLimit: 20
+ _enableFrustumCulling: 0
+ _enableFogCulling: 1
+ _enforceCulledScreenSpaceError: 1
+ _culledScreenSpaceError: 8
+ _opaqueMaterial: {fileID: 0}
+ _generateSmoothNormals: 0
+ _pointCloudShading:
+ _attenuation: 0
+ _geometricErrorScale: 1
+ _maximumAttenuation: 0
+ _baseResolution: 0
+ _suspendUpdate: 0
+ _showTilesInHierarchy: 0
+ _updateInEditor: 1
+ _logSelectionStats: 0
+ _createPhysicsMeshes: 1
+--- !u!1 &1814655267
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1814655268}
+ - component: {fileID: 1814655270}
+ - component: {fileID: 1814655269}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1814655268
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1814655267}
+ 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_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1112245543}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1814655269
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1814655267}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: SETTINGS
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1814655270
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1814655267}
+ m_CullTransparentMesh: 1
+--- !u!1 &1828859170
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1828859171}
+ - component: {fileID: 1828859174}
+ - component: {fileID: 1828859175}
+ m_Layer: 0
+ m_Name: FollowCam
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1828859171
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1828859170}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0.08715578, y: -0, z: -3.4826996e-18, w: 0.9961947}
+ m_LocalPosition: {x: 0, y: 3.937, z: -5.77}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 200453355}
+ m_LocalEulerAnglesHint: {x: 10, y: 0, z: 0}
+--- !u!20 &1828859174
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1524864480}
+ m_GameObject: {fileID: 1828859170}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
@@ -13244,12 +14557,12 @@ Camera:
y: 0
width: 1
height: 1
- near clip plane: 0.5
- far clip plane: 30000
+ near clip plane: 0.3
+ far clip plane: 50000
field of view: 60
orthographic: 0
orthographic size: 5
- m_Depth: -1
+ m_Depth: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
@@ -13261,65 +14574,26 @@ Camera:
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
- m_OcclusionCulling: 1
+ m_OcclusionCulling: 0
m_StereoConvergence: 10
m_StereoSeparation: 0.022
---- !u!1 &1628688805
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1628688807}
- - component: {fileID: 1628688806}
- m_Layer: 0
- m_Name: CesiumGeoreference
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &1628688806
+--- !u!114 &1828859175
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1628688805}
+ m_GameObject: {fileID: 1828859170}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: d1305e05d46db92498ce698a4c366a5a, type: 3}
+ m_Script: {fileID: 11500000, guid: df29aeb482902d34c8d4acc7b0e88871, type: 3}
m_Name:
m_EditorClassIdentifier:
- _originAuthority: 0
- _latitude: 32.764157722071786
- _longitude: -97.31074983607942
- _height: 133
- _ecefX: -683181.8996028434
- _ecefY: -5325141.634649307
- _ecefZ: 3432065.5429988545
- _scale: 1
---- !u!4 &1628688807
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1628688805}
- serializedVersion: 2
- 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_ConstrainProportionsScale: 0
- m_Children:
- - {fileID: 1814485188}
- - {fileID: 200453355}
- - {fileID: 1524864481}
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1762790762
+ shouldRotate: 1
+ target: {fileID: 200453355}
+ rotationSpeed: 70
+ zoomSpeed: 450
+--- !u!1 &1843217136
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -13327,259 +14601,96 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 1762790763}
- - component: {fileID: 1762790764}
- - component: {fileID: 1762790767}
- - component: {fileID: 1762790766}
- - component: {fileID: 1762790765}
+ - component: {fileID: 1843217137}
+ - component: {fileID: 1843217140}
+ - component: {fileID: 1843217139}
+ - component: {fileID: 1843217138}
m_Layer: 5
- m_Name: Camera Views
+ m_Name: FPS
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!224 &1762790763
+--- !u!224 &1843217137
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1762790762}
- 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_ConstrainProportionsScale: 0
- m_Children:
- - {fileID: 2049820450}
- m_Father: {fileID: 768794795}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 1}
- m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 949.99994, y: -36.936462}
- m_SizeDelta: {x: 630.6666, y: 73.872925}
- m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &1762790764
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1762790762}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreLayout: 0
- m_MinWidth: 500
- m_MinHeight: -1
- m_PreferredWidth: -1
- m_PreferredHeight: -1
- m_FlexibleWidth: -1
- m_FlexibleHeight: -1
- m_LayoutPriority: 1
---- !u!114 &1762790765
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1762790762}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 6ba37d3a98b74aa4d9d3ec633f130827, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- tabGroup: {fileID: 768794799}
- background: {fileID: 0}
- onTabSelected:
- m_PersistentCalls:
- m_Calls: []
- onTabDeselected:
- m_PersistentCalls:
- m_Calls: []
---- !u!114 &1762790766
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1762790762}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 0.58431375, g: 0.64705884, b: 0.6509804, a: 0.4627451}
- m_RaycastTarget: 1
- m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
- m_Maskable: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_Sprite: {fileID: 0}
- m_Type: 0
- m_PreserveAspect: 0
- m_FillCenter: 1
- m_FillMethod: 4
- m_FillAmount: 1
- m_FillClockwise: 1
- m_FillOrigin: 0
- m_UseSpriteMesh: 0
- m_PixelsPerUnitMultiplier: 1
---- !u!222 &1762790767
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1762790762}
- m_CullTransparentMesh: 1
---- !u!1001 &1773161620
-PrefabInstance:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Modification:
- serializedVersion: 3
- m_TransformParent: {fileID: 151374051}
- m_Modifications:
- - target: {fileID: 5054379811673952670, guid: e746f881748d3a147949e70e5c570880, type: 3}
- propertyPath: m_Name
- value: drone red
- objectReference: {fileID: 0}
- - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
- propertyPath: m_LocalScale.x
- value: 0.2
- objectReference: {fileID: 0}
- - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
- propertyPath: m_LocalScale.y
- value: 0.2
- objectReference: {fileID: 0}
- - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
- propertyPath: m_LocalScale.z
- value: 0.2
- objectReference: {fileID: 0}
- - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
- propertyPath: m_LocalPosition.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
- propertyPath: m_LocalPosition.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
- propertyPath: m_LocalPosition.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
- propertyPath: m_LocalRotation.w
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
- propertyPath: m_LocalRotation.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
- propertyPath: m_LocalRotation.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
- propertyPath: m_LocalRotation.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
- propertyPath: m_LocalEulerAnglesHint.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
- propertyPath: m_LocalEulerAnglesHint.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 5579699372444814116, guid: e746f881748d3a147949e70e5c570880, type: 3}
- propertyPath: m_LocalEulerAnglesHint.z
- value: 0
- objectReference: {fileID: 0}
- m_RemovedComponents: []
- m_RemovedGameObjects: []
- m_AddedGameObjects: []
- m_AddedComponents: []
- m_SourcePrefab: {fileID: 100100000, guid: e746f881748d3a147949e70e5c570880, type: 3}
---- !u!1 &1814485187
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1814485188}
- - component: {fileID: 1814485189}
- m_Layer: 0
- m_Name: Cesium3DTileset
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &1814485188
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1814485187}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_GameObject: {fileID: 1843217136}
+ 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_ConstrainProportionsScale: 0
m_Children: []
- m_Father: {fileID: 1628688807}
+ m_Father: {fileID: 177404768}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &1814485189
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 34, y: -50.5}
+ m_SizeDelta: {x: 68, y: 101}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1843217138
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1814485187}
+ m_GameObject: {fileID: 1843217136}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 844ac86b07dcfa3468f56da55d787510, type: 3}
+ m_Script: {fileID: 11500000, guid: 9050464c9d2fe78ba96e720016e03f51, type: 3}
m_Name:
m_EditorClassIdentifier:
- _showCreditsOnScreen: 1
- _tilesetSource: 1
- _url:
- _ionAssetID: 0
- _ionAccessToken:
- _ionServer: {fileID: 11400000, guid: 814bf690df9afa843aec185d2975c51f, type: 2}
- _maximumScreenSpaceError: 8
- _preloadAncestors: 1
- _preloadSiblings: 1
- _forbidHoles: 1
- _maximumSimultaneousTileLoads: 10000000
- _maximumCachedBytes: 15368709120
- _loadingDescendantLimit: 20
- _enableFrustumCulling: 0
- _enableFogCulling: 0
- _enforceCulledScreenSpaceError: 1
- _culledScreenSpaceError: 8
- _opaqueMaterial: {fileID: 0}
- _generateSmoothNormals: 0
- _pointCloudShading:
- _attenuation: 0
- _geometricErrorScale: 1
- _maximumAttenuation: 0
- _baseResolution: 0
- _suspendUpdate: 0
- _showTilesInHierarchy: 0
- _updateInEditor: 1
- _logSelectionStats: 0
- _createPhysicsMeshes: 1
---- !u!1 &1814655267
+ timer: 0
+ refresh: 0
+ avgFramerate: 0
+ display: '{0} FPS'
+ m_Text: {fileID: 1843217139}
+--- !u!114 &1843217139
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1843217136}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0.9452664, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 0
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: New Text
+--- !u!222 &1843217140
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1843217136}
+ m_CullTransparentMesh: 1
+--- !u!1 &1898266965
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -13587,45 +14698,69 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 1814655268}
- - component: {fileID: 1814655270}
- - component: {fileID: 1814655269}
+ - component: {fileID: 1898266966}
+ - component: {fileID: 1898266969}
+ - component: {fileID: 1898266968}
+ - component: {fileID: 1898266967}
+ - component: {fileID: 1898266970}
+ - component: {fileID: 1898266971}
m_Layer: 5
- m_Name: Text
+ m_Name: Camera List Body
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!224 &1814655268
+--- !u!224 &1898266966
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1814655267}
+ m_GameObject: {fileID: 1898266965}
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_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1112245543}
+ m_Children:
+ - {fileID: 1035564248}
+ m_Father: {fileID: 1001390870}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &1814655269
+--- !u!114 &1898266967
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1814655267}
+ m_GameObject: {fileID: 1898266965}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!114 &1898266968
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1898266965}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
@@ -13636,84 +14771,64 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_text: SETTINGS
- m_isRightToLeft: 0
- m_fontAsset: {fileID: 11400000, guid: 9d24e6b3ecd1d2b479a31d3d0e7b1f9e, type: 2}
- m_sharedMaterial: {fileID: 21148088844906328, guid: 9d24e6b3ecd1d2b479a31d3d0e7b1f9e, type: 2}
- m_fontSharedMaterials: []
- m_fontMaterial: {fileID: 0}
- m_fontMaterials: []
- m_fontColor32:
- serializedVersion: 2
- rgba: 4294967295
- m_fontColor: {r: 1, g: 1, b: 1, a: 1}
- m_enableVertexGradient: 0
- m_colorMode: 3
- m_fontColorGradient:
- topLeft: {r: 1, g: 1, b: 1, a: 1}
- topRight: {r: 1, g: 1, b: 1, a: 1}
- bottomLeft: {r: 1, g: 1, b: 1, a: 1}
- bottomRight: {r: 1, g: 1, b: 1, a: 1}
- m_fontColorGradientPreset: {fileID: 0}
- m_spriteAsset: {fileID: 0}
- m_tintAllSprites: 0
- m_StyleSheet: {fileID: 0}
- m_TextStyleHashCode: -1183493901
- m_overrideHtmlColors: 0
- m_faceColor:
- serializedVersion: 2
- rgba: 4294967295
- m_fontSize: 36
- m_fontSizeBase: 36
- m_fontWeight: 400
- m_enableAutoSizing: 0
- m_fontSizeMin: 18
- m_fontSizeMax: 72
- m_fontStyle: 0
- m_HorizontalAlignment: 2
- m_VerticalAlignment: 512
- m_textAlignment: 65535
- m_characterSpacing: 0
- m_wordSpacing: 0
- m_lineSpacing: 0
- m_lineSpacingMax: 0
- m_paragraphSpacing: 0
- m_charWidthMaxAdj: 0
- m_enableWordWrapping: 1
- m_wordWrappingRatios: 0.4
- m_overflowMode: 0
- m_linkedTextComponent: {fileID: 0}
- parentLinkedComponent: {fileID: 0}
- m_enableKerning: 1
- m_enableExtraPadding: 0
- checkPaddingRequired: 0
- m_isRichText: 1
- m_parseCtrlCharacters: 1
- m_isOrthographic: 1
- m_isCullingEnabled: 0
- m_horizontalMapping: 0
- m_verticalMapping: 0
- m_uvLineOffset: 0
- m_geometrySortingOrder: 0
- m_IsTextObjectScaleStatic: 0
- m_VertexBufferAutoSizeReduction: 0
- m_useMaxVisibleDescender: 1
- m_pageToDisplay: 1
- m_margin: {x: 0, y: 0, z: 0, w: 0}
- m_isUsingLegacyAnimationComponent: 0
- m_isVolumetricText: 0
- m_hasFontAssetChanged: 0
- m_baseMaterial: {fileID: 0}
- m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
---- !u!222 &1814655270
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1898266969
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1814655267}
+ m_GameObject: {fileID: 1898266965}
m_CullTransparentMesh: 1
---- !u!1 &1828859170
+--- !u!114 &1898266970
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1898266965}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 300
+ m_Right: 300
+ m_Top: 10
+ m_Bottom: 10
+ m_ChildAlignment: 1
+ m_Spacing: 10
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!114 &1898266971
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1898266965}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 85ca58d32182d06448d073a255558db0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ TextTempate: {fileID: 1035564247}
+--- !u!1 &1911560257
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -13721,38 +14836,64 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 1828859171}
- - component: {fileID: 1828859174}
- - component: {fileID: 1828859175}
+ - component: {fileID: 1911560258}
+ - component: {fileID: 1911560261}
+ - component: {fileID: 1911560260}
+ - component: {fileID: 1911560259}
m_Layer: 0
- m_Name: FollowCam
+ m_Name: godModeCamera
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!4 &1828859171
+--- !u!4 &1911560258
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1828859170}
+ m_GameObject: {fileID: 1911560257}
serializedVersion: 2
- m_LocalRotation: {x: 0.08715578, y: -0, z: -3.4826996e-18, w: 0.9961947}
- m_LocalPosition: {x: 0, y: 3.937, z: -5.77}
+ 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_ConstrainProportionsScale: 0
m_Children: []
- m_Father: {fileID: 200453355}
- m_LocalEulerAnglesHint: {x: 10, y: 0, z: 0}
---- !u!20 &1828859174
+ m_Father: {fileID: 1628688807}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1911560259
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1911560257}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 96096407dd524ee9d9d1541f8a267ce8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ movementSpeed: 10
+ fastMovementSpeed: 50
+ movementSmoothness: 0.1
+ lookSpeed: 2
+ lookSmoothness: 0.1
+--- !u!81 &1911560260
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1911560257}
+ m_Enabled: 0
+--- !u!20 &1911560261
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1828859170}
+ m_GameObject: {fileID: 1911560257}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
@@ -13778,7 +14919,7 @@ Camera:
width: 1
height: 1
near clip plane: 0.3
- far clip plane: 50000
+ far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
@@ -13794,26 +14935,10 @@ Camera:
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
- m_OcclusionCulling: 0
+ m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
---- !u!114 &1828859175
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1828859170}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: df29aeb482902d34c8d4acc7b0e88871, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- shouldRotate: 1
- target: {fileID: 200453355}
- rotationSpeed: 70
- zoomSpeed: 450
---- !u!1 &1898266965
+--- !u!1 &1997695495
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -13821,69 +14946,45 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 1898266966}
- - component: {fileID: 1898266969}
- - component: {fileID: 1898266968}
- - component: {fileID: 1898266967}
- - component: {fileID: 1898266970}
- - component: {fileID: 1898266971}
+ - component: {fileID: 1997695496}
+ - component: {fileID: 1997695498}
+ - component: {fileID: 1997695497}
m_Layer: 5
- m_Name: Camera List Body
+ m_Name: Text (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!224 &1898266966
+--- !u!224 &1997695496
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1898266965}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_GameObject: {fileID: 1997695495}
+ 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_ConstrainProportionsScale: 0
- m_Children:
- - {fileID: 1035564248}
- m_Father: {fileID: 1001390870}
+ m_Children: []
+ m_Father: {fileID: 697274747}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 0}
- m_AnchorMax: {x: 1, y: 1}
- m_AnchoredPosition: {x: 0, y: 0}
- m_SizeDelta: {x: 0, y: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 950, y: -163.125}
+ m_SizeDelta: {x: 1300, y: 205.81}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &1898266967
+--- !u!114 &1997695497
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1898266965}
+ m_GameObject: {fileID: 1997695495}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreLayout: 0
- m_MinWidth: -1
- m_MinHeight: -1
- m_PreferredWidth: -1
- m_PreferredHeight: -1
- m_FlexibleWidth: -1
- m_FlexibleHeight: -1
- m_LayoutPriority: 1
---- !u!114 &1898266968
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1898266965}
- m_Enabled: 0
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
@@ -13894,63 +14995,92 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_Sprite: {fileID: 0}
- m_Type: 0
- m_PreserveAspect: 0
- m_FillCenter: 1
- m_FillMethod: 4
- m_FillAmount: 1
- m_FillClockwise: 1
- m_FillOrigin: 0
- m_UseSpriteMesh: 0
- m_PixelsPerUnitMultiplier: 1
---- !u!222 &1898266969
+ m_text: 'Change Cmaras: c
+
+ Rotate Camera: w,a,s,d
+
+ Zoom Camera: scrollwheel
+
+ Zoom
+ Speed: shift (Hold)
+
+ Reset Camera: r'
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1997695498
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1898266965}
+ m_GameObject: {fileID: 1997695495}
m_CullTransparentMesh: 1
---- !u!114 &1898266970
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1898266965}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Padding:
- m_Left: 300
- m_Right: 300
- m_Top: 10
- m_Bottom: 10
- m_ChildAlignment: 1
- m_Spacing: 10
- m_ChildForceExpandWidth: 1
- m_ChildForceExpandHeight: 0
- m_ChildControlWidth: 1
- m_ChildControlHeight: 1
- m_ChildScaleWidth: 0
- m_ChildScaleHeight: 0
- m_ReverseArrangement: 0
---- !u!114 &1898266971
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1898266965}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 85ca58d32182d06448d073a255558db0, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- TextTempate: {fileID: 1035564247}
--- !u!1 &2021210379
GameObject:
m_ObjectHideFlags: 0
@@ -14078,8 +15208,8 @@ MonoBehaviour:
m_Calls: []
m_text: CAMERA VIEWS
m_isRightToLeft: 0
- m_fontAsset: {fileID: 11400000, guid: 9d24e6b3ecd1d2b479a31d3d0e7b1f9e, type: 2}
- m_sharedMaterial: {fileID: 21148088844906328, guid: 9d24e6b3ecd1d2b479a31d3d0e7b1f9e, type: 2}
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
@@ -14153,6 +15283,101 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2049820449}
m_CullTransparentMesh: 1
+--- !u!1 &2056761952
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2056761953}
+ - component: {fileID: 2056761955}
+ - component: {fileID: 2056761954}
+ m_Layer: 0
+ m_Name: Cesium World Terrain
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!4 &2056761953
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2056761952}
+ serializedVersion: 2
+ 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_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1628688807}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2056761954
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2056761952}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0bca0907bd759be4e8b4d7ca5f84131c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _materialKey: 0
+ _showCreditsOnScreen: 0
+ _maximumScreenSpaceError: 2
+ _maximumTextureSize: 2048
+ _maximumSimultaneousTileLoads: 20
+ _subTileCacheBytes: 16777216
+ _ionAssetID: 2
+ _ionAccessToken:
+ _ionServer: {fileID: 11400000, guid: 814bf690df9afa843aec185d2975c51f, type: 2}
+--- !u!114 &2056761955
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2056761952}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 844ac86b07dcfa3468f56da55d787510, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _showCreditsOnScreen: 0
+ _tilesetSource: 0
+ _url:
+ _ionAssetID: 1
+ _ionAccessToken:
+ _ionServer: {fileID: 11400000, guid: 814bf690df9afa843aec185d2975c51f, type: 2}
+ _maximumScreenSpaceError: 16
+ _preloadAncestors: 1
+ _preloadSiblings: 1
+ _forbidHoles: 0
+ _maximumSimultaneousTileLoads: 20
+ _maximumCachedBytes: 536870912
+ _loadingDescendantLimit: 20
+ _enableFrustumCulling: 0
+ _enableFogCulling: 1
+ _enforceCulledScreenSpaceError: 1
+ _culledScreenSpaceError: 64
+ _opaqueMaterial: {fileID: 0}
+ _generateSmoothNormals: 0
+ _pointCloudShading:
+ _attenuation: 0
+ _geometricErrorScale: 1
+ _maximumAttenuation: 0
+ _baseResolution: 0
+ _suspendUpdate: 0
+ _showTilesInHierarchy: 0
+ _updateInEditor: 1
+ _logSelectionStats: 0
+ _createPhysicsMeshes: 1
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
@@ -14162,3 +15387,4 @@ SceneRoots:
- {fileID: 990428985}
- {fileID: 477251603}
- {fileID: 2021210382}
+ - {fileID: 177404768}
diff --git a/Assets/Scripts/AssetBundleLoader.cs b/Assets/Scripts/AssetBundleLoader.cs
new file mode 100644
index 0000000..c584da8
--- /dev/null
+++ b/Assets/Scripts/AssetBundleLoader.cs
@@ -0,0 +1,93 @@
+using System.Collections;
+using System.Collections.Generic;
+using System.IO;
+using UnityEngine;
+
+public class AssetBundleLoader : MonoBehaviour
+{
+ public ConfigLoader configLoader;
+ public Dictionary loadedModels = new Dictionary();
+ private List loadedAssetBundles = new List(); // Track loaded AssetBundles
+ private string baseDirectory = Path.Combine(Application.streamingAssetsPath,"AssetBundles"); // Base directory where Asset Bundles are stored
+
+ IEnumerator Start()
+ {
+ bool hasError = false;
+
+ string[] tagDirectories = null;
+ try
+ {
+ tagDirectories = Directory.GetDirectories(baseDirectory);
+ }
+ catch (System.Exception ex)
+ {
+ Debug.LogError($"An error occurred while accessing directories: {ex.Message}");
+ hasError = true;
+ }
+
+ if (!hasError)
+ {
+ foreach (string tagDirectory in tagDirectories)
+ {
+ string[] bundleFiles = Directory.GetFiles(tagDirectory);
+
+ foreach (string bundleFile in bundleFiles)
+ {
+ if (Path.GetExtension(bundleFile) == "" && !bundleFile.EndsWith(".manifest"))
+ {
+ AssetBundleCreateRequest bundleRequest = AssetBundle.LoadFromFileAsync(bundleFile);
+ yield return bundleRequest;
+
+ AssetBundle bundle = bundleRequest.assetBundle;
+
+ if (bundle != null)
+ {
+ // Load all assets from the bundle
+ AssetBundleRequest assetRequest = bundle.LoadAllAssetsAsync();
+ yield return assetRequest;
+
+ if (assetRequest.allAssets == null)
+ {
+ Debug.LogWarning($"No assets found in AssetBundle '{bundleFile}'.");
+ continue;
+ }
+
+ foreach (Object asset in assetRequest.allAssets)
+ {
+ if (asset is GameObject model)
+ {
+ // Store the loaded model for later use
+ loadedModels[model.name] = model;
+ Debug.Log($"Successfully loaded model: {model.name}");
+ }
+ else
+ {
+ Debug.Log($"Asset '{asset.name}' is not a GameObject, skipping.");
+ }
+ }
+
+ loadedAssetBundles.Add(bundle); // Keep a reference to the loaded bundle
+ }
+ else
+ {
+ Debug.LogError($"Failed to load Asset Bundle from {bundleFile}!");
+ }
+ }
+ }
+ }
+ }
+
+ // Ensure configLoader.LoadConfig() is called regardless of errors
+ configLoader.LoadConfig();
+ }
+
+ private void OnDestroy()
+ {
+ // Unload all loaded AssetBundles when done
+ foreach (var bundle in loadedAssetBundles)
+ {
+ bundle.Unload(false); // Unload the bundle but keep loaded assets
+ }
+ loadedAssetBundles.Clear();
+ }
+}
diff --git a/Assets/Scripts/AssetBundleLoader.cs.meta b/Assets/Scripts/AssetBundleLoader.cs.meta
new file mode 100644
index 0000000..c74a813
--- /dev/null
+++ b/Assets/Scripts/AssetBundleLoader.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a63adf8bf458e8dfd9c3789e7ec16f65
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/CameraController.cs b/Assets/Scripts/CameraController.cs
index a1fb811..c030b00 100644
--- a/Assets/Scripts/CameraController.cs
+++ b/Assets/Scripts/CameraController.cs
@@ -4,7 +4,10 @@
public class CameraController : MonoBehaviour
{
public List cameras = new List();
+ public GameObject godModeObject;
private int currentCameraIndex;
+ private Vector3 lastCameraPosition;
+ private Quaternion lastCameraRotation;
void Start()
{
@@ -29,6 +32,12 @@ void Update()
{
if (Input.GetKeyDown(KeyCode.C))
{
+
+ DisableGodModeCamera();
+ // Unlock the cursor and make it visible
+ Cursor.lockState = CursorLockMode.None;
+ Cursor.visible = true;
+
// Disable the currently enabled camera
if (currentCameraIndex < cameras.Count && cameras[currentCameraIndex] != null)
{
@@ -49,6 +58,25 @@ void Update()
Debug.Log("Camera with name: " + cameras[currentCameraIndex].name + ", is now rendering.");
}
}
+
+ if (Input.GetKeyDown(KeyCode.G))
+ {
+ // Store the last position and rotation of the active camera
+ if (currentCameraIndex < cameras.Count && cameras[currentCameraIndex] != null)
+ {
+ lastCameraPosition = cameras[currentCameraIndex].transform.position;
+ lastCameraRotation = cameras[currentCameraIndex].transform.rotation;
+
+ // Disable the currently enabled camera
+ cameras[currentCameraIndex].enabled = false;
+ }
+
+ // Set god mode object position and rotation to match the last camera's position and rotation
+ godModeObject.transform.position = lastCameraPosition;
+ godModeObject.transform.rotation = lastCameraRotation;
+
+ EnableGodModeCamera();
+ }
}
public void AddCamera(Camera newCamera)
@@ -64,4 +92,23 @@ public void AddCamera(Camera newCamera)
Debug.LogError("Attempted to add a null camera to the CameraController.");
}
}
+ private void EnableGodModeCamera()
+ {
+ godModeObject.SetActive(true);
+ GodModeCamera godModeCamera = godModeObject.GetComponent();
+ if (godModeCamera != null)
+ {
+ godModeCamera.enabled = true; // Enable the script
+ }
+ }
+
+ private void DisableGodModeCamera()
+ {
+ godModeObject.SetActive(false);
+ GodModeCamera godModeCamera = godModeObject.GetComponent();
+ if (godModeCamera != null)
+ {
+ godModeCamera.enabled = false; // Disable the script
+ }
+ }
}
diff --git a/Assets/Scripts/ConfigLoader.cs b/Assets/Scripts/ConfigLoader.cs
index 651b650..780271e 100644
--- a/Assets/Scripts/ConfigLoader.cs
+++ b/Assets/Scripts/ConfigLoader.cs
@@ -7,6 +7,15 @@ public class Config
public string tileURL;
public string mavlink2RestURL;
public VehicleConfig[] vehicles;
+ public StaticObject[] staticObjects;
+}
+[System.Serializable]
+public class StaticObject
+{
+ public string model = "";
+ public double[] latlonalt = {0,0,0};
+ public bool clipToGround = true;
+ public float altOffset = 0;
}
[System.Serializable]
@@ -17,6 +26,7 @@ public class VehicleConfig
public int port = 12345;
public int id;
public CameraConfig[] cameras;
+ public string model = "red drone";
}
[System.Serializable]
@@ -25,6 +35,9 @@ public class CameraConfig
public int id;
public float[] position;
public float[] orientation;
+ public int[] resolution = {1280, 720};
+ public bool isGreyScale = false;
+ public float fps = 15;
public float vFOV;
public bool streamingEnabled;
public string encoding;
@@ -40,12 +53,7 @@ public class ConfigLoader : MonoBehaviour
public WorldController worldController;
- private void Start()
- {
- LoadConfig();
- }
-
- private void LoadConfig()
+ public void LoadConfig()
{
string filePath = Path.Combine(Application.streamingAssetsPath, "config.json");
if (File.Exists(filePath))
@@ -63,28 +71,6 @@ private void LoadConfig()
}
-// {
-// "tileURL": "https://tile.googleapis.com/v1/3dtiles/root.json?key=AIzaSyCLQrJ7iJvSyCcs5MCQwINWxLrtu9tlnfA",
-// "mavlink2RestURL" : "wss://sim.intelligentquads.com/60e8797ec8e541c2b50b191c4fda7d9c",
-// "vehicles" : [
-// {
-// "jsbsim" : false
-// "id" : 1,
-// "cameras" : [
-// {
-// "id": 1,
-// "position" : [3, 0, 0],
-// "orientation" : [0, 0, 0],
-// "vFOV" : 26,
-// "streamingEnabled" : "false",
-// "encoding" : "H264Nvidia",
-// "destination" : "udp://127.0.0.1:5600"
-// }
-// ]
-// }
-// ]
-
-// }
private void ApplySettings(Config config)
{
// Apply settings to tileset and mavlinkWS as before.
@@ -97,11 +83,19 @@ private void ApplySettings(Config config)
if (vehicleConfig.jsbsim)
{
Debug.Log("JSBSim vehicle detected. config: " + JsonUtility.ToJson(vehicleConfig, true));
- worldController.SpawnDrone(vehicleConfig.id, vehicleConfig.type, vehicleConfig.port);
+ worldController.SpawnDrone(vehicleConfig.id, vehicleConfig.model, vehicleConfig.port);
}
}
+
+ for (int i = 0; i < config.staticObjects.Length; i++)
+ {
+ StaticObject staticObject = config.staticObjects[i];
+
+ worldController.SpawnStaticObject(staticObject.model, staticObject.latlonalt, staticObject.clipToGround, staticObject.altOffset);
+
+ }
}
}
\ No newline at end of file
diff --git a/Assets/Scripts/CustomLogger.cs b/Assets/Scripts/CustomLogger.cs
new file mode 100644
index 0000000..debfa71
--- /dev/null
+++ b/Assets/Scripts/CustomLogger.cs
@@ -0,0 +1,31 @@
+using UnityEngine;
+using System.IO;
+
+public class CustomLogger : MonoBehaviour
+{
+ private string logFilePath;
+
+ void Awake()
+ {
+ // Define the log file path relative to the executable
+ string directoryPath = Path.Combine(Application.dataPath, "../logs");
+ Directory.CreateDirectory(directoryPath);
+ logFilePath = Path.Combine(directoryPath, "game_log.txt");
+
+ // Subscribe to the log message received event
+ Application.logMessageReceived += HandleLog;
+ }
+
+ void OnDestroy()
+ {
+ // Unsubscribe from the log message received event
+ Application.logMessageReceived -= HandleLog;
+ }
+
+ // Handle log messages
+ private void HandleLog(string logString, string stackTrace, LogType type)
+ {
+ string logEntry = $"{System.DateTime.Now} [{type}] {logString}\n{stackTrace}\n";
+ File.AppendAllText(logFilePath, logEntry);
+ }
+}
diff --git a/Assets/Scripts/CustomLogger.cs.meta b/Assets/Scripts/CustomLogger.cs.meta
new file mode 100644
index 0000000..b185373
--- /dev/null
+++ b/Assets/Scripts/CustomLogger.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3226ca452d72608169495886eb7ecfce
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/GodModeCamera.cs b/Assets/Scripts/GodModeCamera.cs
new file mode 100644
index 0000000..c8551fb
--- /dev/null
+++ b/Assets/Scripts/GodModeCamera.cs
@@ -0,0 +1,75 @@
+using UnityEngine;
+
+///
+/// GodModeCamera allows free-flying camera control.
+///
+public class GodModeCamera : MonoBehaviour
+{
+ [Header("Movement Settings")]
+ public float movementSpeed = 10.0f;
+ public float fastMovementSpeed = 50.0f;
+ public float movementSmoothness = 0.1f;
+
+ [Header("Rotation Settings")]
+ public float lookSpeed = 2.0f;
+ public float lookSmoothness = 0.1f;
+
+ private Vector3 currentVelocity;
+ private Vector3 targetVelocity;
+
+ private Vector2 rotation = Vector2.zero;
+ private Vector2 currentRotation;
+ private Vector2 rotationSmoothVelocity;
+
+ private void Start()
+ {
+ Cursor.lockState = CursorLockMode.Locked;
+ Cursor.visible = false;
+ }
+
+ private void Update()
+ {
+ Cursor.lockState = CursorLockMode.Locked;
+ Cursor.visible = false;
+ HandleMovementInput();
+ HandleMouseLook();
+ }
+
+ ///
+ /// Handles input for camera movement.
+ ///
+ private void HandleMovementInput()
+ {
+ float speed = Input.GetKey(KeyCode.LeftShift) ? fastMovementSpeed : movementSpeed;
+
+ Vector3 direction = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")).normalized;
+
+ // Vertical movement
+ if (Input.GetKey(KeyCode.LeftControl))
+ {
+ direction.y = -1;
+ }
+ else if (Input.GetKey(KeyCode.Space))
+ {
+ direction.y = 1;
+ }
+
+ Vector3 targetMovement = (transform.forward * direction.z + transform.right * direction.x + transform.up * direction.y) * speed;
+
+ targetVelocity = Vector3.Lerp(targetVelocity, targetMovement, movementSmoothness);
+ transform.position += targetVelocity * Time.deltaTime;
+ }
+
+ ///
+ /// Handles mouse look for camera rotation.
+ ///
+ private void HandleMouseLook()
+ {
+ rotation.y += Input.GetAxis("Mouse X") * lookSpeed;
+ rotation.x -= Input.GetAxis("Mouse Y") * lookSpeed;
+ rotation.x = Mathf.Clamp(rotation.x, -90, 90);
+
+ currentRotation = Vector2.SmoothDamp(currentRotation, rotation, ref rotationSmoothVelocity, lookSmoothness);
+ transform.eulerAngles = new Vector3(currentRotation.x, currentRotation.y, 0);
+ }
+}
diff --git a/Assets/Scripts/GroundClipping.cs b/Assets/Scripts/GroundClipping.cs
new file mode 100644
index 0000000..1318651
--- /dev/null
+++ b/Assets/Scripts/GroundClipping.cs
@@ -0,0 +1,51 @@
+using System.Collections;
+using UnityEngine;
+using Unity.Mathematics;
+using CesiumForUnity;
+
+public class GroundClipping : MonoBehaviour
+{
+ public CesiumGeoreference georeference;
+ public CesiumGlobeAnchor anchor;
+ public float altOffset = 0;
+ public float updateInterval = 5f; // Update every 5 seconds
+ public LayerMask groundLayer;
+
+ void Start()
+ {
+ // Assign groundLayer by layer name
+ groundLayer = LayerMask.GetMask("Ground"); // Replace "Ground" with your actual layer name
+
+ StartCoroutine(UpdatePositionRoutine());
+ }
+
+ private IEnumerator UpdatePositionRoutine()
+ {
+ while (true)
+ {
+ // Wait for the specified interval
+ yield return new WaitForSeconds(updateInterval);
+
+ // Check if georeference and anchor are set
+ if (georeference == null || anchor == null)
+ {
+ Debug.LogError("Georeference or Anchor not set!");
+ continue;
+ }
+
+ Ray ray = new Ray(transform.position, Vector3.down);
+ RaycastHit hit;
+
+
+ // Cast a ray downward and only consider objects in the groundLayer
+ if (Physics.Raycast(this.transform.position + Vector3.up * 10000f, Vector3.down, out hit, Mathf.Infinity, groundLayer))
+ {
+ // Process the hit if it is in the ground layer
+ double3 ecef = georeference.TransformUnityPositionToEarthCenteredEarthFixed(
+ new double3(this.transform.position.x, hit.point.y + altOffset, this.transform.position.z));
+ double3 lonLatHeight = CesiumWgs84Ellipsoid.EarthCenteredEarthFixedToLongitudeLatitudeHeight(ecef);
+ anchor.longitudeLatitudeHeight = lonLatHeight;
+ }
+ }
+ }
+}
diff --git a/Assets/Scripts/GroundClipping.cs.meta b/Assets/Scripts/GroundClipping.cs.meta
new file mode 100644
index 0000000..dea8a30
--- /dev/null
+++ b/Assets/Scripts/GroundClipping.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6289080817b612230b5bac22d1be0dd7
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/JSBSim/JSBSimDroneController.cs b/Assets/Scripts/JSBSim/JSBSimDroneController.cs
index 891ba7c..67d4708 100644
--- a/Assets/Scripts/JSBSim/JSBSimDroneController.cs
+++ b/Assets/Scripts/JSBSim/JSBSimDroneController.cs
@@ -6,7 +6,6 @@ public class JSBSimDroneController : MonoBehaviour
{
public CesiumForUnity.CesiumGeoreference georeference;
- private bool dynamicCameraController = false;
public JSBUDPReceiver jsbUDPReceiver;
public GameObject drone;
@@ -15,6 +14,12 @@ public class JSBSimDroneController : MonoBehaviour
public float alpha = 0.98f;
public float positionAlpha = 0.98f;
+ public AssetBundleLoader assetBundleLoader;
+ public GameObject defaultModel;
+
+
+
+ private bool dynamicCameraController = false;
private string aircraftType = "NONE";
private Vector3 nedPos = new Vector3(0, 0, 0);
@@ -23,6 +28,7 @@ public class JSBSimDroneController : MonoBehaviour
private double3 currentOriginECEF = new double3(0, 0, 0);
+
public void setUpJSBReceiver(JSBUDPReceiver rec, int connectionPort)
{
jsbUDPReceiver = rec;
@@ -68,29 +74,26 @@ private void calculateNedPos()
nedPos = ConvertGeoToUnityCoordinates(latLonAlt.y, latLonAlt.x, latLonAlt.z);
}
- // TODO: make the dynamic loading of the aircraft mesh better
- public void UpdateAircraftType(string type)
+ public void UpdateAircraftType(string modelName)
{
-
- // Show the right mesh
- Transform planeTransform = drone.transform.Find("plane");
- Transform copterTransform = drone.transform.Find("copter");
-
- if (planeTransform == null || copterTransform == null)
+ Debug.Log("Loading Model: " + modelName);
+ if (assetBundleLoader.loadedModels.TryGetValue(modelName, out GameObject modelPrefab))
{
- Debug.LogError("One of the required GameObjects (plane or copter) is missing in the children of " + drone.name);
- return;
- }
+ GameObject newModel = Instantiate(modelPrefab);
- if (type == "MAV_TYPE_FIXED_WING")
- {
- planeTransform.gameObject.SetActive(true);
- copterTransform.gameObject.SetActive(false);
+ if (drone != null)
+ {
+ newModel.transform.SetParent(drone.transform, false);
+ newModel.transform.localPosition = Vector3.zero;
+ newModel.transform.localRotation = Quaternion.identity;
+ defaultModel.SetActive(false);
+ }
+
+ Debug.Log($"Successfully instantiated model: {modelName}");
}
- else if (type == "MAV_TYPE_QUADROTOR")
+ else
{
- copterTransform.gameObject.SetActive(true);
- planeTransform.gameObject.SetActive(false);
+ Debug.LogError($"Model '{modelName}' not found in loaded models.");
}
}
@@ -110,25 +113,20 @@ private void FixedUpdate()
}
}
+ private float FEET2METERS = 0.3048f;
private void UpdatePosition(FGNetFDM aircraftState)
{
// Convert velocities from m/s to Unity units per second and integrate to get position
Vector3 velocityChange = new Vector3(
- aircraftState.v_east,
- -aircraftState.v_down,
- aircraftState.v_north
+ aircraftState.v_east * FEET2METERS,
+ -aircraftState.v_down * FEET2METERS,
+ aircraftState.v_north * FEET2METERS
) * Time.fixedDeltaTime;
-
Vector3 integratedPosition = drone.transform.position + velocityChange;
// Update NED position
- Vector3 nedPoslla = new Vector3(
- (float)aircraftState.longitude * Mathf.Rad2Deg,
- (float)aircraftState.latitude * Mathf.Rad2Deg,
- (float)aircraftState.altitude
- );
- nedPos = ConvertGeoToUnityCoordinates(nedPoslla.x, nedPoslla.y, nedPoslla.z);
+ nedPos = ConvertGeoToUnityCoordinates(aircraftState.longitude * (double)Mathf.Rad2Deg, aircraftState.latitude * (double)Mathf.Rad2Deg, aircraftState.altitude);
// Apply the complementary filter for position
Vector3 filteredPosition = Vector3.Lerp(integratedPosition, nedPos, 1 - positionAlpha);
diff --git a/Assets/Scripts/ShowFPS.cs b/Assets/Scripts/ShowFPS.cs
new file mode 100644
index 0000000..aa53f7e
--- /dev/null
+++ b/Assets/Scripts/ShowFPS.cs
@@ -0,0 +1,27 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class ShowFPS : MonoBehaviour
+{
+ public float timer, refresh, avgFramerate;
+ public string display = "{0} FPS";
+ public Text m_Text;
+
+ // Start is called before the first frame update
+ void Start()
+ {
+
+ }
+
+ // Update is called once per frame
+ void Update()
+ {
+ float timelapse = Time.smoothDeltaTime;
+ timer = timer <= 0 ? refresh : timer -= timelapse;
+
+ if(timer <= 0) avgFramerate = (int) (1f / timelapse);
+ m_Text.text = string.Format(display, avgFramerate.ToString());
+ }
+}
diff --git a/Assets/Scripts/ShowFPS.cs.meta b/Assets/Scripts/ShowFPS.cs.meta
new file mode 100644
index 0000000..b2a2df6
--- /dev/null
+++ b/Assets/Scripts/ShowFPS.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9050464c9d2fe78ba96e720016e03f51
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/WorldController.cs b/Assets/Scripts/WorldController.cs
index 667e9bc..f7ae8c9 100644
--- a/Assets/Scripts/WorldController.cs
+++ b/Assets/Scripts/WorldController.cs
@@ -2,10 +2,17 @@
using UnityEngine;
using Unity.Mathematics;
using System.Collections.Generic;
+using FFmpegOut.LiveStream;
+using FFmpegOut;
+using CesiumForUnity;
+
public class WorldController : MonoBehaviour
{
+ public GameObject gameObjectGeoReference;
public CesiumForUnity.CesiumGeoreference georeference;
+ public GameObject defaultModel;
+
public bool isDynamicCameraSpawned = false;
public GameObject droneTemplate;
@@ -17,12 +24,49 @@ public class WorldController : MonoBehaviour
public CameraListController cameraListController;
public ConfigLoader configLoader;
+ public AssetBundleLoader assetBundleLoader;
private void Start()
{
configLoader.worldController = this;
}
+ public void SpawnStaticObject(string objectName, double[] latlonalt, bool clipToGround, float altOffset)
+ {
+ GameObject objInstance = new GameObject();
+ if (assetBundleLoader.loadedModels.TryGetValue(objectName, out GameObject prefab))
+ {
+ // Instantiate the GameObject
+ objInstance = Instantiate(prefab);
+ }
+ else
+ {
+ Debug.LogWarning($"Object '{objectName}' not found in loaded models. Using default model.");
+ if (defaultModel != null)
+ {
+ objInstance = Instantiate(defaultModel);
+
+ }
+ else
+ {
+ Debug.LogError("Default model is not assigned.");
+ }
+ }
+ objInstance.transform.parent = gameObjectGeoReference.transform;
+
+ // Add Cesium Globe Anchor
+ CesiumGlobeAnchor anchor = objInstance.AddComponent();
+ anchor.longitudeLatitudeHeight = new double3(latlonalt[1], latlonalt[0], latlonalt[2]);
+
+ if (clipToGround)
+ {
+ GroundClipping groundClipping = objInstance.AddComponent();
+ groundClipping.georeference = georeference;
+ groundClipping.anchor = anchor;
+ groundClipping.altOffset = altOffset;
+ }
+ }
+
// mavlink spawning of drone
public void SpawnDrone(MavlinkMessages.Heartbeat heartbeat)
{
@@ -74,13 +118,8 @@ public void SpawnDrone(MavlinkMessages.Heartbeat heartbeat)
}
// JSB spawning code
- public void SpawnDrone(int id, string type, int port)
+ public void SpawnDrone(int id, string ModelName, int port)
{
- if (type != "MAV_TYPE_FIXED_WING" && type != "MAV_TYPE_QUADROTOR")
- {
- Debug.Log("Unsupported drone type. " + type);
- return;
- }
if (droneTemplate != null)
{
// Instantiate the drone at the position and rotation of the georeference
@@ -93,7 +132,7 @@ public void SpawnDrone(int id, string type, int port)
droneController.georeference = georeference;
droneController.drone = newDrone;
droneController.enabled = true;
- droneController.UpdateAircraftType(type);
+ droneController.UpdateAircraftType(ModelName);
Debug.Log("Setting up JSB receiver on port " + port);
droneController.setUpJSBReceiver( newDrone.GetComponent(), port);
if (id == 1)
@@ -182,8 +221,29 @@ public void setUpCameras(VehicleConfig vehicleConfig, GameObject newDrone)
camera.GetComponent().fieldOfView = cameraConfig.vFOV;
// streaming setup
- camera.GetComponent().enabled = cameraConfig.streamingEnabled;
+ camera.GetComponent().enabled = false;
+ if (Enum.TryParse(cameraConfig.encoding, out FFmpegOut.FFmpegPreset preset))
+ {
+ camera.GetComponent().preset = preset;
+ if( cameraConfig.encoding == "MJPEG")
+ {
+ Enum.TryParse("UdpMJPEG", out FFmpegOut.LiveStream.StreamPreset streamPreset);
+ camera.GetComponent()._streamPreset = streamPreset;
+ }
+ }
+ else
+ {
+ Debug.LogError("Invalid stream encoding value: " + cameraConfig.encoding);
+ }
+
+
+
camera.GetComponent().streamAddress = cameraConfig.destination;
+ camera.GetComponent().width = cameraConfig.resolution[0];
+ camera.GetComponent().height = cameraConfig.resolution[1];
+ camera.GetComponent().frameRate = cameraConfig.fps;
+ camera.GetComponent().isGreyScale = cameraConfig.isGreyScale;
+ camera.GetComponent().enabled = cameraConfig.streamingEnabled;
camera.GetComponent().enabled = true;
}
}
diff --git a/Assets/Scripts/input_output/FGNetFDM.cs b/Assets/Scripts/input_output/FGNetFDM.cs
index de282f4..8d5a300 100644
--- a/Assets/Scripts/input_output/FGNetFDM.cs
+++ b/Assets/Scripts/input_output/FGNetFDM.cs
@@ -190,6 +190,282 @@ public void SwapEndian()
spoilers = SwapBytes(spoilers);
}
+ public void ParseByteArray(byte[] bytes)
+ {
+
+ int offset = 0;
+
+ this.version = BitConverter.ToUInt32(bytes, offset);
+ offset += sizeof(uint);
+
+ this.padding = BitConverter.ToUInt32(bytes, offset);
+ offset += sizeof(uint);
+
+ this.longitude = BitConverter.ToDouble(bytes, offset);
+ offset += sizeof(double);
+
+ this.latitude = BitConverter.ToDouble(bytes, offset);
+ offset += sizeof(double);
+
+ this.altitude = BitConverter.ToDouble(bytes, offset);
+ offset += sizeof(double);
+
+ this.agl = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.phi = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.theta = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.psi = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.alpha = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.beta = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.phidot = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.thetadot = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.psidot = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.vcas = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.climb_rate = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.v_north = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.v_east = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.v_down = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.v_body_u = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.v_body_v = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.v_body_w = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.A_X_pilot = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.A_Y_pilot = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.A_Z_pilot = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.stall_warning = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.slip_deg = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.num_engines = BitConverter.ToUInt32(bytes, offset);
+ offset += sizeof(uint);
+
+ this.eng_state = new uint[this.num_engines];
+ for (int i = 0; i < this.num_engines; i++)
+ {
+ this.eng_state[i] = BitConverter.ToUInt32(bytes, offset);
+ offset += sizeof(uint);
+ }
+
+ this.rpm = new float[this.num_engines];
+ for (int i = 0; i < this.num_engines; i++)
+ {
+ this.rpm[i] = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+ }
+
+ this.fuel_flow = new float[this.num_engines];
+ for (int i = 0; i < this.num_engines; i++)
+ {
+ this.fuel_flow[i] = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+ }
+
+ this.fuel_px = new float[this.num_engines];
+ for (int i = 0; i < this.num_engines; i++)
+ {
+ this.fuel_px[i] = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+ }
+
+ this.egt = new float[this.num_engines];
+ for (int i = 0; i < this.num_engines; i++)
+ {
+ this.egt[i] = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+ }
+
+ this.cht = new float[this.num_engines];
+ for (int i = 0; i < this.num_engines; i++)
+ {
+ this.cht[i] = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+ }
+
+ this.mp_osi = new float[this.num_engines];
+ for (int i = 0; i < this.num_engines; i++)
+ {
+ this.mp_osi[i] = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+ }
+
+ this.tit = new float[this.num_engines];
+ for (int i = 0; i < this.num_engines; i++)
+ {
+ this.tit[i] = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+ }
+
+ this.oil_temp = new float[this.num_engines];
+ for (int i = 0; i < this.num_engines; i++)
+ {
+ this.oil_temp[i] = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+ }
+
+ this.oil_px = new float[this.num_engines];
+ for (int i = 0; i < this.num_engines; i++)
+ {
+ this.oil_px[i] = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+ }
+
+ this.num_tanks = BitConverter.ToUInt32(bytes, offset);
+ offset += sizeof(uint);
+
+ this.fuel_quantity = new float[this.num_tanks];
+ for (int i = 0; i < this.num_tanks; i++)
+ {
+ this.fuel_quantity[i] = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+ }
+
+ this.tank_selected = new uint[this.num_tanks];
+ for (int i = 0; i < this.num_tanks; i++)
+ {
+ this.tank_selected[i] = BitConverter.ToUInt32(bytes, offset);
+ offset += sizeof(uint);
+ }
+
+ this.capacity_m3 = new double[this.num_tanks];
+ for (int i = 0; i < this.num_tanks; i++)
+ {
+ this.capacity_m3[i] = BitConverter.ToDouble(bytes, offset);
+ offset += sizeof(double);
+ }
+
+ this.unusable_m3 = new double[this.num_tanks];
+ for (int i = 0; i < this.num_tanks; i++)
+ {
+ this.unusable_m3[i] = BitConverter.ToDouble(bytes, offset);
+ offset += sizeof(double);
+ }
+
+ this.density_kgpm3 = new double[this.num_tanks];
+ for (int i = 0; i < this.num_tanks; i++)
+ {
+ this.density_kgpm3[i] = BitConverter.ToDouble(bytes, offset);
+ offset += sizeof(double);
+ }
+
+ this.level_m3 = new double[this.num_tanks];
+ for (int i = 0; i < this.num_tanks; i++)
+ {
+ this.level_m3[i] = BitConverter.ToDouble(bytes, offset);
+ offset += sizeof(double);
+ }
+
+ this.num_wheels = BitConverter.ToUInt32(bytes, offset);
+ offset += sizeof(uint);
+
+ this.wow = new uint[this.num_wheels];
+ for (int i = 0; i < this.num_wheels; i++)
+ {
+ this.wow[i] = BitConverter.ToUInt32(bytes, offset);
+ offset += sizeof(uint);
+ }
+
+ this.gear_pos = new float[this.num_wheels];
+ for (int i = 0; i < this.num_wheels; i++)
+ {
+ this.gear_pos[i] = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+ }
+
+ this.gear_steer = new float[this.num_wheels];
+ for (int i = 0; i < this.num_wheels; i++)
+ {
+ this.gear_steer[i] = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+ }
+
+ this.gear_compression = new float[this.num_wheels];
+ for (int i = 0; i < this.num_wheels; i++)
+ {
+ this.gear_compression[i] = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+ }
+
+ this.cur_time = BitConverter.ToUInt32(bytes, offset);
+ offset += sizeof(uint);
+
+ this.warp = BitConverter.ToInt32(bytes, offset);
+ offset += sizeof(int);
+
+ this.visibility = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.elevator = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.elevator_trim_tab = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.left_flap = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.right_flap = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.left_aileron = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.right_aileron = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.rudder = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.nose_wheel = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.speedbrake = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ this.spoilers = BitConverter.ToSingle(bytes, offset);
+ offset += sizeof(float);
+
+ }
+
private uint SwapBytes(uint x)
{
return (x << 24) |
diff --git a/Assets/Scripts/input_output/JSBUDPReceiver.cs b/Assets/Scripts/input_output/JSBUDPReceiver.cs
index 9d609b5..6acb77e 100644
--- a/Assets/Scripts/input_output/JSBUDPReceiver.cs
+++ b/Assets/Scripts/input_output/JSBUDPReceiver.cs
@@ -3,8 +3,6 @@
using System.Net.Sockets;
using System.Runtime.InteropServices;
using UnityEngine;
-using Unity.Mathematics;
-// using Utilities;
public class JSBUDPReceiver : MonoBehaviour
{
@@ -12,6 +10,7 @@ public class JSBUDPReceiver : MonoBehaviour
public int port = 12345; // Adjust the port as needed
public FGNetFDM AircraftState = new FGNetFDM();
+ private FGNetFDM TempAircraftState = new FGNetFDM();
public void SetupConnection()
{
@@ -23,28 +22,76 @@ void ReceiveCallback(IAsyncResult ar)
{
IPEndPoint ip = new IPEndPoint(IPAddress.Any, port);
byte[] bytes = udpClient.EndReceive(ar, ref ip);
- AircraftState = ByteArrayToStructure(bytes);
- AircraftState.SwapEndian();
- Debug.Log($"Received: version = {AircraftState.version}, latitude = {AircraftState.latitude * Mathf.Rad2Deg} longitude = {AircraftState.longitude * Mathf.Rad2Deg}");
+
+ try
+ {
+
+ // Parse the byte array
+ TempAircraftState.ParseByteArray(bytes);
+
+ // Swap endianess
+ TempAircraftState.SwapEndian();
+
+ // Validate TempAircraftState
+ bool isValid = ValidateTempAircraftState(TempAircraftState, out string errorMessage);
+
+ if (!isValid)
+ {
+ Debug.LogError(errorMessage);
+ return;
+ }
+
+ // Assign to AircraftState if valid
+ AircraftState = TempAircraftState;
+
+ // Convert latitude and longitude to degrees
+ float latitudeInDegrees = (float)(AircraftState.latitude * Mathf.Rad2Deg);
+ float longitudeInDegrees = (float)(AircraftState.longitude * Mathf.Rad2Deg);
+
+ // Log the final values
+ // Debug.Log($"Received: version = {AircraftState.version}, latitude = {latitudeInDegrees}, longitude = {longitudeInDegrees}");
+ }
+ catch (Exception ex)
+ {
+ Debug.LogError($"Failed to convert data to FGNetFDM: {ex.Message}");
+ Debug.LogError($"Data received: {BitConverter.ToString(bytes)}");
+ }
udpClient.BeginReceive(new AsyncCallback(ReceiveCallback), null);
}
- T ByteArrayToStructure(byte[] bytes) where T : struct
+ private bool ValidateTempAircraftState(FGNetFDM tempAircraftState, out string errorMessage)
{
- GCHandle handle = GCHandle.Alloc(bytes, GCHandleType.Pinned);
- try
+ bool isValid = true;
+ errorMessage = "TempAircraftState validation failed: ";
+
+ // Validate individual fields
+ if (float.IsNaN((float)tempAircraftState.latitude) || float.IsInfinity((float)tempAircraftState.latitude))
+ {
+ isValid = false;
+ errorMessage += "Invalid latitude; ";
+ }
+ if (float.IsNaN((float)tempAircraftState.longitude) || float.IsInfinity((float)tempAircraftState.longitude))
{
- return (T)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(T));
+ isValid = false;
+ errorMessage += "Invalid longitude; ";
}
- finally
+ if (float.IsNaN((float)tempAircraftState.version) || float.IsInfinity((float)tempAircraftState.version))
{
- handle.Free();
+ isValid = false;
+ errorMessage += "Invalid version; ";
}
+
+ // Add more validation checks as needed
+
+ return isValid;
}
private void OnDestroy()
{
- udpClient.Close();
+ if (udpClient != null)
+ {
+ udpClient.Close();
+ }
}
}
diff --git a/Assets/Scripts/smoothfollow.cs b/Assets/Scripts/smoothfollow.cs
index 288d83f..f0aa2f1 100644
--- a/Assets/Scripts/smoothfollow.cs
+++ b/Assets/Scripts/smoothfollow.cs
@@ -21,7 +21,7 @@ public class SmoothFollow : MonoBehaviour
private void Start()
{
- offsetPosition = new Vector3(0, 5, -10);
+ offsetPosition = new Vector3(0, 0, -5);
}
private void LateUpdate()
@@ -66,7 +66,7 @@ private void LateUpdate()
{
yRotationOffset = 0;
xRotationOffset = 0;
- offsetPosition = new Vector3(0, 5, -10);
+ offsetPosition = new Vector3(0, 0, -5);
}
// Calculate the current rotation angles
@@ -81,6 +81,7 @@ private void LateUpdate()
// Set the position of the camera on the x-z plane to:
// distance meters behind the target
+ offsetPosition.z = Mathf.Clamp(offsetPosition.z, -5000f, -1f );
transform.position = target.position + (currentRotation * offsetPosition);
// Always look at the target
diff --git a/Assets/StreamingAssets/FFmpegOut/Linux/ffmpeg b/Assets/StreamingAssets/FFmpegOut/Linux/ffmpeg
old mode 100644
new mode 100755
index 64af12f..a138f80
Binary files a/Assets/StreamingAssets/FFmpegOut/Linux/ffmpeg and b/Assets/StreamingAssets/FFmpegOut/Linux/ffmpeg differ
diff --git a/Packages/com.cesium.unity b/Packages/com.cesium.unity
new file mode 160000
index 0000000..f9571ab
--- /dev/null
+++ b/Packages/com.cesium.unity
@@ -0,0 +1 @@
+Subproject commit f9571ab94933a16f655926786ae2579e0adb803e
diff --git a/Packages/manifest.json b/Packages/manifest.json
index 77d76fb..c9c6212 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -8,6 +8,7 @@
"com.unity.renderstreaming": "3.1.0-exp.7",
"com.unity.textmeshpro": "3.0.6",
"com.unity.timeline": "1.7.6",
+ "com.unity.toolchain.linux-x86_64": "2.0.9",
"com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.6",
"com.unity.ugui": "1.0.0",
"com.unity.visualscripting": "1.9.1",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index d1e347e..c0c6c47 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -1,16 +1,15 @@
{
"dependencies": {
"com.cesium.unity": {
- "version": "1.8.0",
+ "version": "file:com.cesium.unity",
"depth": 0,
- "source": "registry",
+ "source": "embedded",
"dependencies": {
"com.unity.mathematics": "1.2.0",
"com.unity.test-framework": "1.1.31",
"com.unity.shadergraph": "12.1.6",
"com.unity.inputsystem": "1.4.2"
- },
- "url": "https://unity.pkg.cesium.com"
+ }
},
"com.endel.nativewebsocket": {
"version": "https://github.com/endel/NativeWebSocket.git#upm",
@@ -158,18 +157,18 @@
}
},
"com.unity.sysroot": {
- "version": "2.0.7",
+ "version": "2.0.10",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.sysroot.linux-x86_64": {
- "version": "2.0.6",
+ "version": "2.0.9",
"depth": 1,
"source": "registry",
"dependencies": {
- "com.unity.sysroot": "2.0.7"
+ "com.unity.sysroot": "2.0.10"
},
"url": "https://packages.unity.com"
},
@@ -215,6 +214,16 @@
},
"url": "https://packages.unity.com"
},
+ "com.unity.toolchain.linux-x86_64": {
+ "version": "2.0.9",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.sysroot": "2.0.10",
+ "com.unity.sysroot.linux-x86_64": "2.0.9"
+ },
+ "url": "https://packages.unity.com"
+ },
"com.unity.toolchain.win-x86_64-linux-x86_64": {
"version": "2.0.6",
"depth": 0,
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
index 71e06c3..f6f0402 100644
--- a/ProjectSettings/ProjectSettings.asset
+++ b/ProjectSettings/ProjectSettings.asset
@@ -142,9 +142,7 @@ PlayerSettings:
visionOSBundleVersion: 1.0
tvOSBundleVersion: 1.0
bundleVersion: 0.1
- preloadedAssets:
- - {fileID: 11400000, guid: d7ba874e8cf855f4e93b01f95a92ccb7, type: 2}
- - {fileID: 11400000, guid: 71f0a1c93f9ae9a4aa9848f2e50396f7, type: 2}
+ preloadedAssets: []
metroInputSource: 0
wsaTransparentSwapchain: 0
m_HolographicPauseOnTrackingLoss: 1
diff --git a/ProjectSettings/RenderStreamingProjectSettings.asset b/ProjectSettings/RenderStreamingProjectSettings.asset
index 4705706..221e190 100644
--- a/ProjectSettings/RenderStreamingProjectSettings.asset
+++ b/ProjectSettings/RenderStreamingProjectSettings.asset
@@ -13,4 +13,4 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_WizardPopupAtStart: 1
- m_WizardPopupAlreadyShownOnce: 1
+ m_WizardPopupAlreadyShownOnce: 0
diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset
index 1c92a78..f06d1de 100644
--- a/ProjectSettings/TagManager.asset
+++ b/ProjectSettings/TagManager.asset
@@ -8,7 +8,7 @@ TagManager:
- Default
- TransparentFX
- Ignore Raycast
- -
+ - Ground
- Water
- UI
-
diff --git a/README.md b/README.md
index 6163304..dbaddab 100644
--- a/README.md
+++ b/README.md
@@ -136,6 +136,66 @@ Assuming you have run the `bun run dev --host` command, you can access the simul
**Note**: I usually run my simulator on a virtual machine with a bridged network adapter. This should work in WSL, but I have not tested it.
+## Developer Setup
+
+### Linux
+
+- clone unity project
+- run
+```bash
+git submodule update --init --recursive
+```
+
+**Install dependancies and build Cesium-unity**
+These instructions are based on this document
+https://github.com/CesiumGS/cesium-unity/blob/main/Documentation~/developer-setup.md
+
+I am using the following packages and versions for ubuntu 22.04
+- cmake 3.29.3
+- dotnet-sdk 8.0
+- nasm 2.15.05
+
+**Before you open the unity project for the first time** run the following
+```
+cd Packages/com.cesium.unity/
+dotnet publish Reinterop~ -o .
+```
+
+Then open the project in Unity. After the porject has been opened you should see this error
+```
+DllNotFoundException: CesiumForUnityNative assembly: type: member:(null)
+NotImplementedException: The native implementation is missing so OnValidate cannot be invoked.
+```
+
+Now we must build unity-native
+```
+cd Packages/com.cesium.unity/native~
+cmake -B build -S . -DCMAKE_BUILD_TYPE=Debug
+cmake --build build -j14 --target install --config Debug
+
+```
+The `-j14` tells CMake to build using 14 threads. A higher or lower number may be more suitable for your system.
+
+Once this build/install completes, Cesium for Unity should work the next time Unity loads Cesium for Unity. You can get it to do so by either restarting the Editor, or by making a small change to any Cesium for Unity script (.cs) file in `Packages/com.cesium.unity/Runtime`
+
+**Building and Running Game**
+
+When you build and run a standalone game (i.e. with File -> Build Settings... or File -> Build and Run in the Unity Editor), Unity will automatically compile Cesium for Unity for the target platform. Then, by hooking into Unity build events, Cesium for Unity will build the corresponding native code for that platform by running CMake on the command-line. This can take a few minutes, and during that time Unity's progress bar will display a message stating the location of the build log file.
+
+You can view progress by running the following
+
+Replace build-Standalone with the name of the log file from the progress window.
+
+Or on Linux or macOS:
+```
+cd cesium-unity-samples/Packages/com.cesium.unity
+tail -f native~/build-Standalone/build.log
+```
+
+## Windows
+
+
+
## FAQ
### Are you planning on making this image generator CIGI compliant?