diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 00000000..63f12c2c
Binary files /dev/null and b/.DS_Store differ
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..c6bb2931
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*.meta
diff --git a/Assembly-CSharp-Editor.csproj b/Assembly-CSharp-Editor.csproj
new file mode 100644
index 00000000..b720fb30
--- /dev/null
+++ b/Assembly-CSharp-Editor.csproj
@@ -0,0 +1,727 @@
+
+
+
+ latest
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Tools/RoslynScripts
+ unity_csc.sh
+
+
+ Debug
+ AnyCPU
+ 10.0.20506
+ 2.0
+
+ {F868CA98-9F69-986D-5B5F-6F8797AC238B}
+ Library
+ Properties
+ Assembly-CSharp-Editor
+ v4.7.1
+ 512
+ .
+
+
+ true
+ full
+ false
+ Temp\bin\Debug\
+ DEBUG;TRACE;UNITY_2019_2_2;UNITY_2019_2;UNITY_2019;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_INCLUDE_TESTS;UNITY_ANALYTICS;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;ENABLE_VIDEO;ENABLE_RUNTIME_GI;ENABLE_GAMECENTER;ENABLE_NETWORK;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_IOS_NATIVE_CRASH_REPORTING;ENABLE_IOS_ON_DEMAND_RESOURCES;ENABLE_IOS_APP_SLICING;PLAYERCONNECTION_LISTENS_FIXED_PORT;DEBUGGER_LISTENS_FIXED_PORT;PLATFORM_SUPPORTS_ADS_ID;SUPPORT_ENVIRONMENT_VARIABLES;PLATFORM_SUPPORTS_PROFILER;ENABLE_ENGINE_CODE_STRIPPING;PLATFORM_HAS_NO_SUPPORT_FOR_BUCKET_ALLOCATOR;STRICTCPP_NEW_DELETE_SIGNATURES;HAS_NEON_SKINNING;UNITY_GFX_USE_PLATFORM_VSYNC;UNITY_INPUT_SIMULATE_EVENTS;PLATFORM_ALWAYS_USES_STDOUT_FOR_LOG;ENABLE_CRUNCH_TEXTURE_COMPRESSION;UNITY_ASTC_ONLY_DECOMPRESS;ENABLE_ONSCREEN_KEYBOARD;SUPPORTS_GRANULAR_MODULE_REGISTRATION;ENABLE_UNITYADS_RUNTIME;UNITY_UNITYADS_API;PLATFORM_IOS;UNITY_IOS;PLATFORM_IPHONE;UNITY_IPHONE;UNITY_IPHONE_API;SUPPORT_MULTIPLE_DISPLAYS;ENABLE_VR;ENABLE_AR;UNITY_HAS_GOOGLEVR;ENABLE_SPATIALTRACKING;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_VSTU;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;UNITY_POST_PROCESSING_STACK_V2;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER
+ prompt
+ 4
+ 0169;CS0649;IDE0051
+ False
+
+
+ pdbonly
+ true
+ Temp\bin\Release\
+ prompt
+ 4
+ 0169;CS0649;IDE0051
+ False
+
+
+ true
+ true
+ false
+ false
+ false
+
+
+ {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Unity/VSTU
+ Editor:5
+ iOS:9
+ 2019.2.2f1
+
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEditor.dll
+
+
+
+
+
+
+
+
+
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/UnityEditor.TestRunner.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/UnityEngine.TestRunner.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.Timeline.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/com.unity.multiplayer-hlapi.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.VSCode.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.TextMeshPro.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/UnityEngine.UI.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.Timeline.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.CollabProxy.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/com.unity.multiplayer-weaver.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/UnityEngine.XR.LegacyInputHelpers.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.Rider.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.2D.Sprite.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.2D.Tilemap.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/UnityEditor.SpatialTracking.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/UnityEngine.SpatialTracking.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.TextMeshPro.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.Analytics.DataPrivacy.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/UnityEditor.XR.LegacyInputHelpers.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/UnityEditor.UI.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/com.unity.multiplayer-hlapi.Runtime.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.AIModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.ARModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.AccessibilityModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.AndroidJNIModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.AnimationModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.AssetBundleModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.AudioModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.ClothModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.ClusterInputModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.ClusterRendererModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.CoreModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.CrashReportingModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.DSPGraphModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.DirectorModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.FileSystemHttpModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.GameCenterModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.GridModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.HotReloadModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.IMGUIModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.ImageConversionModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.InputModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.InputLegacyModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.JSONSerializeModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.LocalizationModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.ParticleSystemModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.PerformanceReportingModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.PhysicsModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.Physics2DModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.ProfilerModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.ScreenCaptureModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.SharedInternalsModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.SpriteMaskModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.SpriteShapeModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.StreamingModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.SubstanceModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.TLSModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.TerrainModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.TerrainPhysicsModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.TextCoreModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.TextRenderingModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.TilemapModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UIModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UIElementsModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UNETModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UmbraModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityAnalyticsModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityConnectModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityTestProtocolModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityWebRequestModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityWebRequestAssetBundleModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityWebRequestAudioModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityWebRequestTextureModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityWebRequestWWWModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.VFXModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.VRModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.VehiclesModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.VideoModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.WindModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.XRModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/UnityExtensions/Unity/UnityVR/Editor/UnityEditor.VR.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEditor.Graphs.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/PlaybackEngines/MacStandaloneSupport/UnityEditor.OSXStandalone.Extensions.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/PlaybackEngines/AndroidPlayer/UnityEditor.Android.Extensions.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/PlaybackEngines/iOSSupport/UnityEditor.iOS.Extensions.dll
+
+
+ /Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/AddIns/MonoDevelop.Unity/Editor/SyntaxTree.VisualStudio.Unity.Bridge.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Assets/WanzyeeStudio/ThirdParty/SaladLab/Json.Net.Unity3D/Plugins/Newtonsoft.Json.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/PackageCache/com.unity.ads@2.0.8/Editor/UnityEditor.Advertisements.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/PackageCache/com.unity.analytics@3.3.2/Unity.Analytics.Tracker.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/PackageCache/com.unity.analytics@3.3.2/Unity.Analytics.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/PackageCache/com.unity.analytics@3.3.2/Unity.Analytics.StandardEvents.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/PackageCache/com.unity.purchasing@2.0.6/Editor/UnityEditor.Purchasing.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/PackageCache/com.unity.ext.nunit@1.0.0/net35/unity-custom/nunit.framework.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/PlaybackEngines/iOSSupport/UnityEditor.iOS.Extensions.Xcode.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/PlaybackEngines/iOSSupport/UnityEditor.iOS.Extensions.Common.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/mscorlib.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Core.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Runtime.Serialization.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Xml.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Xml.Linq.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Numerics.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Numerics.Vectors.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Net.Http.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Microsoft.CSharp.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Data.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/Microsoft.Win32.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.AppContext.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.Concurrent.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.NonGeneric.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.Specialized.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.Annotations.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.EventBasedAsync.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.TypeConverter.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Console.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Data.Common.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Contracts.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Debug.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.FileVersionInfo.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Process.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.StackTrace.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.TextWriterTraceListener.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Tools.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.TraceSource.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Drawing.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Dynamic.Runtime.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Globalization.Calendars.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Globalization.Extensions.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Globalization.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.Compression.ZipFile.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.DriveInfo.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.Watcher.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.IsolatedStorage.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.MemoryMappedFiles.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.Pipes.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.UnmanagedMemoryStream.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.Expressions.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.Parallel.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.Queryable.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Http.Rtc.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.NameResolution.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.NetworkInformation.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Ping.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Requests.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Security.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Sockets.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.WebHeaderCollection.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.WebSockets.Client.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.WebSockets.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ObjectModel.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.ILGeneration.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.Lightweight.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Extensions.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Resources.Reader.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Resources.ResourceManager.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Resources.Writer.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.CompilerServices.VisualC.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Extensions.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Handles.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.InteropServices.RuntimeInformation.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.InteropServices.WindowsRuntime.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.InteropServices.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Numerics.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Formatters.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Json.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Xml.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Claims.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Algorithms.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Csp.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Encoding.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.X509Certificates.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Principal.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.SecureString.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Duplex.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Http.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.NetTcp.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Security.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Text.Encoding.Extensions.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Text.Encoding.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Text.RegularExpressions.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Overlapped.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Tasks.Parallel.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Tasks.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Thread.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.ThreadPool.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Timer.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ValueTuple.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.ReaderWriter.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XDocument.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XPath.XDocument.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XPath.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XmlDocument.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XmlSerializer.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/netstandard.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/unityscript/UnityScript.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/unityscript/UnityScript.Lang.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/unityscript/Boo.Lang.dll
+
+
+
+
+ {2EC7CD6B-A59A-5B79-8AA6-8DF34BA5B3BC}
+ Assembly-CSharp
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assembly-CSharp.csproj b/Assembly-CSharp.csproj
new file mode 100644
index 00000000..dee84c3d
--- /dev/null
+++ b/Assembly-CSharp.csproj
@@ -0,0 +1,803 @@
+
+
+
+ latest
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Tools/RoslynScripts
+ unity_csc.sh
+
+
+ Debug
+ AnyCPU
+ 10.0.20506
+ 2.0
+
+ {2EC7CD6B-A59A-5B79-8AA6-8DF34BA5B3BC}
+ Library
+ Properties
+ Assembly-CSharp
+ v4.7.1
+ 512
+ .
+
+
+ true
+ full
+ false
+ Temp\bin\Debug\
+ DEBUG;TRACE;UNITY_2019_2_2;UNITY_2019_2;UNITY_2019;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_INCLUDE_TESTS;UNITY_ANALYTICS;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;ENABLE_VIDEO;ENABLE_RUNTIME_GI;ENABLE_GAMECENTER;ENABLE_NETWORK;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_IOS_NATIVE_CRASH_REPORTING;ENABLE_IOS_ON_DEMAND_RESOURCES;ENABLE_IOS_APP_SLICING;PLAYERCONNECTION_LISTENS_FIXED_PORT;DEBUGGER_LISTENS_FIXED_PORT;PLATFORM_SUPPORTS_ADS_ID;SUPPORT_ENVIRONMENT_VARIABLES;PLATFORM_SUPPORTS_PROFILER;ENABLE_ENGINE_CODE_STRIPPING;PLATFORM_HAS_NO_SUPPORT_FOR_BUCKET_ALLOCATOR;STRICTCPP_NEW_DELETE_SIGNATURES;HAS_NEON_SKINNING;UNITY_GFX_USE_PLATFORM_VSYNC;UNITY_INPUT_SIMULATE_EVENTS;PLATFORM_ALWAYS_USES_STDOUT_FOR_LOG;ENABLE_CRUNCH_TEXTURE_COMPRESSION;UNITY_ASTC_ONLY_DECOMPRESS;ENABLE_ONSCREEN_KEYBOARD;SUPPORTS_GRANULAR_MODULE_REGISTRATION;ENABLE_UNITYADS_RUNTIME;UNITY_UNITYADS_API;PLATFORM_IOS;UNITY_IOS;PLATFORM_IPHONE;UNITY_IPHONE;UNITY_IPHONE_API;SUPPORT_MULTIPLE_DISPLAYS;ENABLE_VR;ENABLE_AR;UNITY_HAS_GOOGLEVR;ENABLE_SPATIALTRACKING;ENABLE_MONO;NET_STANDARD_2_0;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_VSTU;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;UNITY_POST_PROCESSING_STACK_V2;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER
+ prompt
+ 4
+ 0169;CS0649;IDE0051
+ False
+
+
+ pdbonly
+ true
+ Temp\bin\Release\
+ prompt
+ 4
+ 0169;CS0649;IDE0051
+ False
+
+
+ true
+ true
+ false
+ false
+ false
+
+
+ {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Unity/VSTU
+ Game:1
+ iOS:9
+ 2019.2.2f1
+
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEditor.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.Timeline.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/com.unity.multiplayer-hlapi.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.VSCode.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.TextMeshPro.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/UnityEngine.UI.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.Timeline.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.CollabProxy.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/com.unity.multiplayer-weaver.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/UnityEngine.XR.LegacyInputHelpers.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.Rider.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.2D.Sprite.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.2D.Tilemap.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/UnityEditor.SpatialTracking.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/UnityEngine.SpatialTracking.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.TextMeshPro.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/Unity.Analytics.DataPrivacy.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/UnityEditor.XR.LegacyInputHelpers.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/UnityEditor.UI.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/ScriptAssemblies/com.unity.multiplayer-hlapi.Runtime.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.AIModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.ARModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.AccessibilityModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.AndroidJNIModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.AnimationModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.AssetBundleModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.AudioModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.ClothModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.CoreModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.CrashReportingModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.DSPGraphModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.DirectorModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.FileSystemHttpModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.GameCenterModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.GridModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.HotReloadModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.IMGUIModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.ImageConversionModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.InputModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.InputLegacyModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.JSONSerializeModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.LocalizationModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.ParticleSystemModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.PerformanceReportingModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.PhysicsModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.Physics2DModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.ProfilerModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.ScreenCaptureModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.SharedInternalsModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.SpriteMaskModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.SpriteShapeModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.StreamingModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.SubstanceModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.TLSModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.TerrainModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.TerrainPhysicsModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.TextCoreModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.TextRenderingModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.TilemapModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UIModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UIElementsModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UNETModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UmbraModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityAnalyticsModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityConnectModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityTestProtocolModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityWebRequestModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityWebRequestAssetBundleModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityWebRequestAudioModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityWebRequestTextureModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.UnityWebRequestWWWModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.VFXModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.VRModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.VehiclesModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.VideoModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.WindModule.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/Managed/UnityEngine/UnityEngine.XRModule.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Assets/WanzyeeStudio/ThirdParty/SaladLab/Json.Net.Unity3D/Plugins/Newtonsoft.Json.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/PackageCache/com.unity.analytics@3.3.2/Unity.Analytics.Tracker.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/PackageCache/com.unity.analytics@3.3.2/Unity.Analytics.Editor.dll
+
+
+ /Users/moscao_dev/Documents/IndoorNavPlaceNote/Library/PackageCache/com.unity.analytics@3.3.2/Unity.Analytics.StandardEvents.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/PlaybackEngines/iOSSupport/UnityEditor.iOS.Extensions.Xcode.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/PlaybackEngines/iOSSupport/UnityEditor.iOS.Extensions.Common.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/mscorlib.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Core.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Runtime.Serialization.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Xml.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Xml.Linq.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Numerics.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Numerics.Vectors.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Net.Http.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Microsoft.CSharp.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/System.Data.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/Microsoft.Win32.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.AppContext.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.Concurrent.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.NonGeneric.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.Specialized.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Collections.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.Annotations.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.EventBasedAsync.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.TypeConverter.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ComponentModel.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Console.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Data.Common.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Contracts.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Debug.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.FileVersionInfo.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Process.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.StackTrace.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.TextWriterTraceListener.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.Tools.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Diagnostics.TraceSource.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Drawing.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Dynamic.Runtime.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Globalization.Calendars.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Globalization.Extensions.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Globalization.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.Compression.ZipFile.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.DriveInfo.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.Watcher.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.FileSystem.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.IsolatedStorage.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.MemoryMappedFiles.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.Pipes.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.UnmanagedMemoryStream.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.IO.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.Expressions.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.Parallel.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.Queryable.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Linq.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Http.Rtc.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.NameResolution.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.NetworkInformation.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Ping.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Requests.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Security.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.Sockets.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.WebHeaderCollection.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.WebSockets.Client.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Net.WebSockets.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ObjectModel.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.ILGeneration.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.Lightweight.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Emit.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Extensions.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Reflection.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Resources.Reader.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Resources.ResourceManager.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Resources.Writer.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.CompilerServices.VisualC.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Extensions.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Handles.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.InteropServices.RuntimeInformation.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.InteropServices.WindowsRuntime.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.InteropServices.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Numerics.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Formatters.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Json.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.Serialization.Xml.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Runtime.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Claims.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Algorithms.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Csp.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Encoding.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Cryptography.X509Certificates.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.Principal.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Security.SecureString.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Duplex.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Http.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.NetTcp.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Primitives.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ServiceModel.Security.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Text.Encoding.Extensions.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Text.Encoding.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Text.RegularExpressions.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Overlapped.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Tasks.Parallel.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Tasks.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Thread.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.ThreadPool.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.Timer.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Threading.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.ValueTuple.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.ReaderWriter.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XDocument.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XPath.XDocument.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XPath.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XmlDocument.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/System.Xml.XmlSerializer.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/4.7.1-api/Facades/netstandard.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/unityscript/UnityScript.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/unityscript/UnityScript.Lang.dll
+
+
+ /Applications/Unity/Hub/Editor/2019.2.2f1/Unity.app/Contents/MonoBleedingEdge/lib/mono/unityscript/Boo.Lang.dll
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/.DS_Store b/Assets/.DS_Store
new file mode 100644
index 00000000..5df74b6f
Binary files /dev/null and b/Assets/.DS_Store differ
diff --git a/Assets/Images/homeIcon.png b/Assets/Images/homeIcon.png
new file mode 100755
index 00000000..8523f9c9
Binary files /dev/null and b/Assets/Images/homeIcon.png differ
diff --git a/Assets/Images/square copy.png b/Assets/Images/square copy.png
new file mode 100755
index 00000000..99cb2a2c
Binary files /dev/null and b/Assets/Images/square copy.png differ
diff --git a/Assets/Images/swirl.png b/Assets/Images/swirl.png
new file mode 100644
index 00000000..d4e6285b
Binary files /dev/null and b/Assets/Images/swirl.png differ
diff --git a/Assets/Materials/arrow.mat b/Assets/Materials/arrow.mat
new file mode 100644
index 00000000..04c7cc55
--- /dev/null
+++ b/Assets/Materials/arrow.mat
@@ -0,0 +1,95 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: arrow
+ m_Shader: {fileID: 4800000, guid: 0fc06dbae827e7646bd0850ff121daa5, type: 3}
+ m_ShaderKeywords: _EMISSION _SPECULAR_SETUP
+ m_LightmapFlags: 2
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MKGlowTex:
+ m_Texture: {fileID: 10904, guid: 0000000000000000f000000000000000, type: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: c99471d45f0e34bb7bccf00d8187701a, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _AlphaClip: 0
+ - _Blend: 0
+ - _BumpScale: 1
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _MKGlowPower: 0.82
+ - _MKGlowTexStrength: 10
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 1, g: 0.019583862, b: 0, a: 1}
+ - _EmissionColor: {r: 15.210199, g: 5.849327, b: 0.6457157, a: 1}
+ - _MKGlowColor: {r: 1, g: 0.033018887, b: 0.328641, a: 1}
+ - _MKGlowTexColor: {r: 1, g: 0, b: 0.15225315, a: 1}
+ - _SpecColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Materials/diamond.mat b/Assets/Materials/diamond.mat
new file mode 100644
index 00000000..55a5b478
--- /dev/null
+++ b/Assets/Materials/diamond.mat
@@ -0,0 +1,99 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: diamond
+ m_Shader: {fileID: 4800000, guid: 0fc06dbae827e7646bd0850ff121daa5, type: 3}
+ m_ShaderKeywords: _EMISSION _SPECULAR_SETUP
+ m_LightmapFlags: 2
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Illum:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MKGlowTex:
+ m_Texture: {fileID: 2800000, guid: c99471d45f0e34bb7bccf00d8187701a, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: c99471d45f0e34bb7bccf00d8187701a, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _AlphaClip: 0
+ - _Blend: 0
+ - _BumpScale: 1
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _EmissionLM: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _MKGlowPower: 0.71
+ - _MKGlowTexStrength: 1.33
+ - _Metallic: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.03676509, g: 0, b: 0.9137255, a: 1}
+ - _EmissionColor: {r: 0, g: 16.94838, b: 1.4197595, a: 1}
+ - _MKGlowColor: {r: 0, g: 0.5348084, b: 1, a: 1}
+ - _MKGlowTexColor: {r: 0.023529401, g: 0.083602294, b: 0.98039216, a: 1}
+ - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
diff --git a/Assets/Materials/particles.mat b/Assets/Materials/particles.mat
new file mode 100644
index 00000000..918da6a9
--- /dev/null
+++ b/Assets/Materials/particles.mat
@@ -0,0 +1,105 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: particles
+ m_Shader: {fileID: 4800000, guid: dadfcbf3fd9ab9e4ba80fe75af45f5a0, type: 3}
+ m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+ m_LightmapFlags: 0
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MKGlowTex:
+ m_Texture: {fileID: 2800000, guid: e2eca2b854827436c9de1b8a438559b9, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 10300, guid: 0000000000000000f000000000000000, type: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BlendOp: 0
+ - _BumpScale: 1
+ - _CameraFadingEnabled: 0
+ - _CameraFarFadeDistance: 2
+ - _CameraNearFadeDistance: 1
+ - _ColorMode: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DistortionBlend: 0.5
+ - _DistortionEnabled: 0
+ - _DistortionStrength: 1
+ - _DistortionStrengthScaled: 0
+ - _DstBlend: 10
+ - _EmissionEnabled: 0
+ - _FlipbookMode: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _InvFade: 3
+ - _LightingEnabled: 1
+ - _MKGlowPower: 0.24
+ - _MKGlowTexStrength: 2.37
+ - _Metallic: 0
+ - _Mode: 3
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SoftParticlesEnabled: 0
+ - _SoftParticlesFarFadeDistance: 1
+ - _SoftParticlesNearFadeDistance: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 0
+ m_Colors:
+ - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _MKGlowColor: {r: 0.972549, g: 0, b: 0.07499261, a: 1}
+ - _MKGlowTexColor: {r: 1, g: 1, b: 1, a: 1}
+ - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
diff --git a/Assets/Materials/waypoint.mat b/Assets/Materials/waypoint.mat
new file mode 100644
index 00000000..7c27890a
--- /dev/null
+++ b/Assets/Materials/waypoint.mat
@@ -0,0 +1,95 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: waypoint
+ m_Shader: {fileID: 4800000, guid: 0fc06dbae827e7646bd0850ff121daa5, type: 3}
+ m_ShaderKeywords: _EMISSION _SPECULAR_SETUP
+ m_LightmapFlags: 2
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MKGlowTex:
+ m_Texture: {fileID: 10904, guid: 0000000000000000f000000000000000, type: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: c99471d45f0e34bb7bccf00d8187701a, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _AlphaClip: 0
+ - _Blend: 0
+ - _BumpScale: 1
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _MKGlowPower: 0.56
+ - _MKGlowTexStrength: 10
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.5188679, g: 0.5188679, b: 0.5188679, a: 1}
+ - _EmissionColor: {r: 15.210199, g: 5.849327, b: 0.6457157, a: 1}
+ - _MKGlowColor: {r: 1, g: 0.9584457, b: 0, a: 1}
+ - _MKGlowTexColor: {r: 1, g: 0.83183765, b: 0, a: 1}
+ - _SpecColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Models/diamond.obj b/Assets/Models/diamond.obj
new file mode 100755
index 00000000..454c239d
--- /dev/null
+++ b/Assets/Models/diamond.obj
@@ -0,0 +1,4094 @@
+# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
+# File Created: 25.06.2012 00:08:05
+
+mtllib diamond.mtl
+
+#
+# object Plane01
+#
+
+v -134.6971 104.9744 351.7555
+v -134.1300 103.6682 351.7555
+v -134.1300 103.6682 319.2079
+v -134.6971 104.9744 319.2079
+v -134.0558 99.3828 351.7555
+v -134.0558 99.3828 319.2079
+v -132.6976 92.7782 351.7555
+v -132.6976 92.7782 319.2079
+v -130.8034 69.7408 351.7555
+v -130.8034 69.7408 319.2079
+v -129.4121 56.1454 351.7555
+v -129.4121 56.1454 319.2079
+v -126.5049 40.6680 351.7554
+v -126.5049 40.6680 319.2079
+v -118.6461 25.8670 351.7554
+v -118.6461 25.8670 319.2079
+v -104.9408 14.5762 351.7554
+v -104.9408 14.5762 319.2079
+v -92.8112 7.4073 351.7554
+v -92.8112 7.4073 319.2079
+v -80.6816 1.5296 351.7554
+v -80.6816 1.5296 319.2079
+v -68.5520 -1.3479 351.7554
+v -68.5520 -1.3479 319.2079
+v -56.4224 0.0000 351.7554
+v -56.4224 0.0000 319.2079
+v -44.2928 0.0000 351.7554
+v -44.2928 0.0000 319.2079
+v -32.1632 0.0000 351.7554
+v -32.1632 0.0000 319.2079
+v -20.0336 0.0000 351.7554
+v -20.0336 0.0000 319.2079
+v -7.9040 0.0000 351.7554
+v -7.9040 0.0000 319.2079
+v 4.2256 0.0000 351.7554
+v 4.2256 0.0000 319.2079
+v 16.3552 0.0000 351.7554
+v 16.3552 0.0000 319.2079
+v 28.4848 0.0000 351.7554
+v 28.4848 0.0000 319.2079
+v 40.6144 0.0000 351.7554
+v 40.6144 0.0000 319.2079
+v 52.7440 0.0000 351.7554
+v 52.7440 0.0000 319.2079
+v 64.8736 0.0000 351.7554
+v 64.8736 0.0000 319.2079
+v 77.0031 0.0000 351.7554
+v 77.0031 0.0000 319.2079
+v 89.1327 0.0000 351.7554
+v 89.1327 0.0000 319.2079
+v 101.2623 0.0000 351.7554
+v 101.2623 0.0000 319.2079
+v 113.3919 0.0000 351.7554
+v 113.3919 0.0000 319.2079
+v 125.5215 0.0000 351.7554
+v 125.5215 0.0000 319.2079
+v 137.6511 0.0000 351.7554
+v 137.6511 0.0000 319.2079
+v 149.7807 0.0000 351.7554
+v 149.7807 0.0000 319.2079
+v 161.9103 0.0000 351.7554
+v 161.9103 0.0000 319.2079
+v 174.0399 0.0000 351.7554
+v 174.0399 0.0000 319.2079
+v 186.1695 0.0000 351.7554
+v 186.1695 0.0000 319.2079
+v 198.2991 0.0000 351.7554
+v 198.2991 0.0000 319.2079
+v 210.4286 0.0000 351.7554
+v 210.4286 0.0000 319.2079
+v 222.5582 0.0000 351.7554
+v 222.5582 0.0000 319.2079
+v 234.6878 0.0000 351.7554
+v 234.6878 0.0000 319.2079
+v 246.8174 0.0000 351.7554
+v 246.8174 0.0000 319.2079
+v 258.9470 0.0000 351.7554
+v 258.9470 0.0000 319.2079
+v 271.0766 0.0000 351.7554
+v 271.0766 0.0000 319.2079
+v 283.2062 0.0000 351.7554
+v 283.2062 0.0000 319.2079
+v -134.1300 103.6683 286.6603
+v -134.6971 104.9744 286.6603
+v -134.0558 99.3828 286.6603
+v -132.6976 92.7782 286.6603
+v -130.8034 69.7408 286.6603
+v -129.4121 56.1454 286.6603
+v -126.5049 40.6680 286.6603
+v -118.6461 25.8670 286.6603
+v -104.9408 14.5762 286.6603
+v -92.8112 7.4073 286.6603
+v -80.6816 1.5296 286.6603
+v -68.5520 -1.3479 286.6603
+v -56.4224 0.0000 286.6603
+v -44.2928 0.0000 286.6603
+v -32.1632 0.0000 286.6603
+v -20.0336 0.0000 286.6603
+v -7.9040 0.0000 286.6603
+v 4.2256 0.0000 286.6603
+v 16.3552 0.0000 286.6603
+v 28.4848 0.0000 286.6603
+v 40.6144 0.0000 286.6603
+v 52.7440 0.0000 286.6603
+v 64.8736 0.0000 286.6603
+v 77.0031 0.0000 286.6603
+v 89.1327 0.0000 286.6603
+v 101.2623 0.0000 286.6603
+v 113.3919 0.0000 286.6603
+v 125.5215 0.0000 286.6603
+v 137.6511 0.0000 286.6603
+v 149.7807 0.0000 286.6603
+v 161.9103 0.0000 286.6603
+v 174.0399 0.0000 286.6603
+v 186.1695 0.0000 286.6603
+v 198.2991 0.0000 286.6603
+v 210.4286 0.0000 286.6603
+v 222.5582 0.0000 286.6603
+v 234.6878 0.0000 286.6603
+v 246.8174 0.0000 286.6603
+v 258.9470 0.0000 286.6603
+v 271.0766 0.0000 286.6603
+v 283.2062 0.0000 286.6603
+v -134.1300 103.6683 254.1127
+v -134.6971 104.9744 254.1127
+v -134.0558 99.3828 254.1127
+v -132.6976 92.7782 254.1127
+v -130.8034 69.7408 254.1127
+v -129.4121 56.1454 254.1127
+v -126.5049 40.6680 254.1127
+v -118.6461 25.8670 254.1127
+v -104.9408 14.5762 254.1127
+v -92.8112 7.4073 254.1127
+v -80.6816 1.5296 254.1127
+v -68.5520 -1.3479 254.1127
+v -56.4224 0.0000 254.1127
+v -44.2928 0.0000 254.1127
+v -32.1632 0.0000 254.1127
+v -20.0336 0.0000 254.1127
+v -7.9040 0.0000 254.1127
+v 4.2256 0.0000 254.1127
+v 16.3552 0.0000 254.1127
+v 28.4848 0.0000 254.1127
+v 40.6144 0.0000 254.1127
+v 52.7440 0.0000 254.1127
+v 64.8736 0.0000 254.1127
+v 77.0031 0.0000 254.1127
+v 89.1327 0.0000 254.1127
+v 101.2623 0.0000 254.1127
+v 113.3919 0.0000 254.1127
+v 125.5215 0.0000 254.1127
+v 137.6511 0.0000 254.1127
+v 149.7807 0.0000 254.1127
+v 161.9103 0.0000 254.1127
+v 174.0399 0.0000 254.1127
+v 186.1695 0.0000 254.1127
+v 198.2991 0.0000 254.1127
+v 210.4286 0.0000 254.1127
+v 222.5582 0.0000 254.1127
+v 234.6878 0.0000 254.1127
+v 246.8174 0.0000 254.1127
+v 258.9470 0.0000 254.1127
+v 271.0766 0.0000 254.1127
+v 283.2062 0.0000 254.1127
+v -134.1300 103.6682 221.5652
+v -134.6971 104.9744 221.5652
+v -134.0558 99.3828 221.5652
+v -132.6976 92.7782 221.5652
+v -130.8034 69.7408 221.5652
+v -129.4121 56.1454 221.5652
+v -126.5049 40.6680 221.5652
+v -118.6461 25.8670 221.5652
+v -104.9408 14.5762 221.5652
+v -92.8112 7.4073 221.5652
+v -80.6816 1.5296 221.5652
+v -68.5520 -1.3479 221.5652
+v -56.4224 0.0000 221.5652
+v -44.2928 0.0000 221.5652
+v -32.1632 0.0000 221.5652
+v -20.0336 0.0000 221.5652
+v -7.9040 0.0000 221.5652
+v 4.2256 0.0000 221.5652
+v 16.3552 0.0000 221.5652
+v 28.4848 0.0000 221.5652
+v 40.6144 0.0000 221.5652
+v 52.7440 0.0000 221.5652
+v 64.8736 0.0000 221.5652
+v 77.0031 0.0000 221.5652
+v 89.1327 0.0000 221.5652
+v 101.2623 0.0000 221.5652
+v 113.3919 0.0000 221.5652
+v 125.5215 0.0000 221.5652
+v 137.6511 0.0000 221.5652
+v 149.7807 0.0000 221.5652
+v 161.9103 0.0000 221.5652
+v 174.0399 0.0000 221.5652
+v 186.1695 0.0000 221.5652
+v 198.2991 0.0000 221.5652
+v 210.4286 0.0000 221.5652
+v 222.5582 0.0000 221.5652
+v 234.6878 0.0000 221.5652
+v 246.8174 0.0000 221.5652
+v 258.9470 0.0000 221.5652
+v 271.0766 0.0000 221.5652
+v 283.2062 0.0000 221.5652
+v -134.1300 103.6682 189.0176
+v -134.6971 104.9744 189.0176
+v -134.0558 99.3828 189.0176
+v -132.6976 92.7782 189.0176
+v -130.8034 69.7408 189.0176
+v -129.4121 56.1454 189.0176
+v -126.5049 40.6680 189.0176
+v -118.6461 25.8670 189.0176
+v -104.9408 14.5762 189.0176
+v -92.8112 7.4073 189.0176
+v -80.6816 1.5296 189.0176
+v -68.5520 -1.3479 189.0176
+v -56.4224 0.0000 189.0176
+v -44.2928 0.0000 189.0176
+v -32.1632 0.0000 189.0176
+v -20.0336 0.0000 189.0176
+v -7.9040 0.0000 189.0176
+v 4.2256 0.0000 189.0176
+v 16.3552 0.0000 189.0176
+v 28.4848 0.0000 189.0176
+v 40.6144 0.0000 189.0176
+v 52.7440 0.0000 189.0176
+v 64.8736 0.0000 189.0176
+v 77.0031 0.0000 189.0176
+v 89.1327 0.0000 189.0176
+v 101.2623 0.0000 189.0176
+v 113.3919 0.0000 189.0176
+v 125.5215 0.0000 189.0176
+v 137.6511 0.0000 189.0176
+v 149.7807 0.0000 189.0176
+v 161.9103 0.0000 189.0176
+v 174.0399 0.0000 189.0176
+v 186.1695 0.0000 189.0176
+v 198.2991 0.0000 189.0176
+v 210.4286 0.0000 189.0176
+v 222.5582 0.0000 189.0176
+v 234.6878 0.0000 189.0176
+v 246.8174 0.0000 189.0176
+v 258.9470 0.0000 189.0176
+v 271.0766 0.0000 189.0176
+v 283.2062 0.0000 189.0176
+v -134.1300 103.6682 156.4700
+v -134.6971 104.9744 156.4700
+v -134.0558 99.3828 156.4700
+v -132.6976 92.7782 156.4700
+v -130.8034 69.7408 156.4700
+v -129.4121 56.1454 156.4700
+v -126.5049 40.6680 156.4700
+v -118.6461 25.8670 156.4700
+v -104.9408 14.5762 156.4700
+v -92.8112 7.4073 156.4700
+v -80.6816 1.5296 156.4700
+v -68.5520 -1.3479 156.4700
+v -56.4224 0.0000 156.4700
+v -44.2928 0.0000 156.4700
+v -32.1632 0.0000 156.4700
+v -20.0336 0.0000 156.4700
+v -7.9040 0.0000 156.4700
+v 4.2256 0.0000 156.4700
+v 16.3552 0.0000 156.4700
+v 28.4848 0.0000 156.4700
+v 40.6144 0.0000 156.4700
+v 52.7440 0.0000 156.4700
+v 64.8736 0.0000 156.4700
+v 77.0031 0.0000 156.4700
+v 89.1327 0.0000 156.4700
+v 101.2623 0.0000 156.4700
+v 113.3919 0.0000 156.4700
+v 125.5215 0.0000 156.4700
+v 137.6511 0.0000 156.4700
+v 149.7807 0.0000 156.4700
+v 161.9103 0.0000 156.4700
+v 174.0399 0.0000 156.4700
+v 186.1695 0.0000 156.4700
+v 198.2991 0.0000 156.4700
+v 210.4286 0.0000 156.4700
+v 222.5582 0.0000 156.4700
+v 234.6878 0.0000 156.4700
+v 246.8174 0.0000 156.4700
+v 258.9470 0.0000 156.4700
+v 271.0766 0.0000 156.4700
+v 283.2062 0.0000 156.4700
+v -134.1300 103.6682 123.9225
+v -134.6971 104.9744 123.9225
+v -134.0558 99.3828 123.9225
+v -132.6976 92.7782 123.9225
+v -130.8034 69.7408 123.9225
+v -129.4121 56.1454 123.9225
+v -126.5049 40.6680 123.9225
+v -118.6461 25.8670 123.9225
+v -104.9408 14.5762 123.9225
+v -92.8112 7.4073 123.9225
+v -80.6816 1.5296 123.9225
+v -68.5520 -1.3479 123.9225
+v -56.4224 0.0000 123.9225
+v -44.2928 0.0000 123.9225
+v -32.1632 0.0000 123.9225
+v -20.0336 0.0000 123.9225
+v -7.9040 0.0000 123.9225
+v 4.2256 0.0000 123.9225
+v 16.3552 0.0000 123.9225
+v 28.4848 0.0000 123.9225
+v 40.6144 0.0000 123.9225
+v 52.7440 0.0000 123.9225
+v 64.8736 0.0000 123.9225
+v 77.0031 0.0000 123.9225
+v 89.1327 0.0000 123.9225
+v 101.2623 0.0000 123.9225
+v 113.3919 0.0000 123.9225
+v 125.5215 0.0000 123.9225
+v 137.6511 0.0000 123.9225
+v 149.7807 0.0000 123.9225
+v 161.9103 0.0000 123.9225
+v 174.0399 0.0000 123.9225
+v 186.1695 0.0000 123.9225
+v 198.2991 0.0000 123.9225
+v 210.4286 0.0000 123.9225
+v 222.5582 0.0000 123.9225
+v 234.6878 0.0000 123.9225
+v 246.8174 0.0000 123.9225
+v 258.9470 0.0000 123.9225
+v 271.0766 0.0000 123.9225
+v 283.2062 0.0000 123.9225
+v -134.1300 103.6682 91.3750
+v -134.6971 104.9744 91.3750
+v -134.0558 99.3828 91.3750
+v -132.6976 92.7782 91.3750
+v -130.8034 69.7408 91.3750
+v -129.4121 56.1454 91.3750
+v -126.5049 40.6680 91.3750
+v -118.6461 25.8670 91.3750
+v -104.9408 14.5762 91.3749
+v -92.8112 7.4073 91.3749
+v -80.6816 1.5296 91.3749
+v -68.5520 -1.3479 91.3749
+v -56.4224 0.0000 91.3749
+v -44.2928 0.0000 91.3749
+v -32.1632 0.0000 91.3749
+v -20.0336 0.0000 91.3749
+v -7.9040 0.0000 91.3749
+v 4.2256 0.0000 91.3749
+v 16.3552 0.0000 91.3749
+v 28.4848 0.0000 91.3749
+v 40.6144 0.0000 91.3749
+v 52.7440 0.0000 91.3749
+v 64.8736 0.0000 91.3749
+v 77.0031 0.0000 91.3749
+v 89.1327 0.0000 91.3749
+v 101.2623 0.0000 91.3749
+v 113.3919 0.0000 91.3749
+v 125.5215 0.0000 91.3749
+v 137.6511 0.0000 91.3749
+v 149.7807 0.0000 91.3749
+v 161.9103 0.0000 91.3749
+v 174.0399 0.0000 91.3749
+v 186.1695 0.0000 91.3749
+v 198.2991 0.0000 91.3749
+v 210.4286 0.0000 91.3749
+v 222.5582 0.0000 91.3749
+v 234.6878 0.0000 91.3749
+v 246.8174 0.0000 91.3749
+v 258.9470 0.0000 91.3749
+v 271.0766 0.0000 91.3749
+v 283.2062 0.0000 91.3749
+v -134.1300 103.6682 58.8274
+v -134.6971 104.9744 58.8274
+v -134.0558 99.3828 58.8274
+v -132.6976 92.7782 58.8274
+v -130.8034 69.7408 58.8274
+v -129.4121 56.1454 58.8274
+v -126.5049 40.6680 58.8274
+v -118.6461 25.8670 58.8274
+v -104.9408 14.5762 58.8274
+v -92.8112 7.4073 58.8274
+v -80.6816 1.5296 58.8274
+v -68.5520 -1.3479 58.8274
+v -56.4224 0.0000 58.8274
+v -44.2928 0.0000 58.8274
+v -32.1632 0.0000 58.8274
+v -20.0336 0.0000 58.8274
+v -7.9040 0.0000 58.8274
+v 4.2256 0.0000 58.8274
+v 16.3552 0.0000 58.8274
+v 28.4848 0.0000 58.8274
+v 40.6144 0.0000 58.8274
+v 52.7440 0.0000 58.8274
+v 64.8736 0.0000 58.8274
+v 77.0031 0.0000 58.8274
+v 89.1327 0.0000 58.8274
+v 101.2623 0.0000 58.8274
+v 113.3919 0.0000 58.8274
+v 125.5215 0.0000 58.8274
+v 137.6511 0.0000 58.8274
+v 149.7807 0.0000 58.8274
+v 161.9103 0.0000 58.8274
+v 174.0399 0.0000 58.8274
+v 186.1695 0.0000 58.8274
+v 198.2991 0.0000 58.8274
+v 210.4286 0.0000 58.8274
+v 222.5582 0.0000 58.8274
+v 234.6878 0.0000 58.8274
+v 246.8174 0.0000 58.8274
+v 258.9470 0.0000 58.8274
+v 271.0766 0.0000 58.8274
+v 283.2062 0.0000 58.8274
+v -134.1300 103.6682 26.2798
+v -134.6971 104.9744 26.2798
+v -134.0558 99.3828 26.2798
+v -132.6976 92.7782 26.2798
+v -130.8034 69.7408 26.2798
+v -129.4121 56.1454 26.2798
+v -126.5049 40.6680 26.2798
+v -118.6461 25.8670 26.2798
+v -104.9408 14.5762 26.2798
+v -92.8112 7.4073 26.2798
+v -80.6816 1.5296 26.2798
+v -68.5520 -1.3479 26.2798
+v -56.4224 0.0000 26.2798
+v -44.2928 0.0000 26.2798
+v -32.1632 0.0000 26.2798
+v -20.0336 0.0000 26.2798
+v -7.9040 0.0000 26.2798
+v 4.2256 0.0000 26.2798
+v 16.3552 0.0000 26.2798
+v 28.4848 0.0000 26.2798
+v 40.6144 0.0000 26.2798
+v 52.7440 0.0000 26.2798
+v 64.8736 0.0000 26.2798
+v 77.0031 0.0000 26.2798
+v 89.1327 0.0000 26.2798
+v 101.2623 0.0000 26.2798
+v 113.3919 0.0000 26.2798
+v 125.5215 0.0000 26.2798
+v 137.6511 0.0000 26.2798
+v 149.7807 0.0000 26.2798
+v 161.9103 0.0000 26.2798
+v 174.0399 0.0000 26.2798
+v 186.1695 0.0000 26.2798
+v 198.2991 0.0000 26.2798
+v 210.4286 0.0000 26.2798
+v 222.5582 0.0000 26.2798
+v 234.6878 0.0000 26.2798
+v 246.8174 0.0000 26.2798
+v 258.9470 0.0000 26.2798
+v 271.0766 0.0000 26.2798
+v 283.2062 0.0000 26.2798
+v -134.1300 103.6682 -6.2677
+v -134.6971 104.9744 -6.2677
+v -134.0558 99.3828 -6.2677
+v -132.6976 92.7782 -6.2677
+v -130.8034 69.7408 -6.2677
+v -129.4121 56.1454 -6.2677
+v -126.5049 40.6680 -6.2677
+v -118.6461 25.8670 -6.2677
+v -104.9408 14.5762 -6.2677
+v -92.8112 7.4073 -6.2677
+v -80.6816 1.5296 -6.2677
+v -68.5520 -1.3479 -6.2677
+v -56.4224 0.0000 -6.2677
+v -44.2928 0.0000 -6.2677
+v -32.1632 0.0000 -6.2677
+v -20.0336 0.0000 -6.2677
+v -7.9040 0.0000 -6.2677
+v 4.2256 0.0000 -6.2677
+v 16.3552 0.0000 -6.2677
+v 28.4848 0.0000 -6.2677
+v 40.6144 0.0000 -6.2677
+v 52.7440 0.0000 -6.2677
+v 64.8736 0.0000 -6.2677
+v 77.0031 0.0000 -6.2677
+v 89.1327 0.0000 -6.2677
+v 101.2623 0.0000 -6.2677
+v 113.3919 0.0000 -6.2677
+v 125.5215 0.0000 -6.2677
+v 137.6511 0.0000 -6.2677
+v 149.7807 0.0000 -6.2677
+v 161.9103 0.0000 -6.2677
+v 174.0399 0.0000 -6.2677
+v 186.1695 0.0000 -6.2677
+v 198.2991 0.0000 -6.2677
+v 210.4286 0.0000 -6.2677
+v 222.5582 0.0000 -6.2677
+v 234.6878 0.0000 -6.2677
+v 246.8174 0.0000 -6.2677
+v 258.9470 0.0000 -6.2677
+v 271.0766 0.0000 -6.2677
+v 283.2062 0.0000 -6.2677
+v -134.1300 103.6682 -38.8153
+v -134.6971 104.9744 -38.8153
+v -134.0558 99.3828 -38.8153
+v -132.6976 92.7782 -38.8153
+v -130.8034 69.7408 -38.8153
+v -129.4121 56.1454 -38.8153
+v -126.5049 40.6680 -38.8153
+v -118.6461 25.8670 -38.8153
+v -104.9408 14.5762 -38.8153
+v -92.8112 7.4073 -38.8153
+v -80.6816 1.5296 -38.8153
+v -68.5520 -1.3479 -38.8153
+v -56.4224 0.0000 -38.8153
+v -44.2928 0.0000 -38.8153
+v -32.1632 0.0000 -38.8153
+v -20.0336 0.0000 -38.8153
+v -7.9040 0.0000 -38.8153
+v 4.2256 0.0000 -38.8153
+v 16.3552 0.0000 -38.8153
+v 28.4848 0.0000 -38.8153
+v 40.6144 0.0000 -38.8153
+v 52.7440 0.0000 -38.8153
+v 64.8736 0.0000 -38.8153
+v 77.0031 0.0000 -38.8153
+v 89.1327 0.0000 -38.8153
+v 101.2623 0.0000 -38.8153
+v 113.3919 0.0000 -38.8153
+v 125.5215 0.0000 -38.8153
+v 137.6511 0.0000 -38.8153
+v 149.7807 0.0000 -38.8153
+v 161.9103 0.0000 -38.8153
+v 174.0399 0.0000 -38.8153
+v 186.1695 0.0000 -38.8153
+v 198.2991 0.0000 -38.8153
+v 210.4286 0.0000 -38.8153
+v 222.5582 0.0000 -38.8153
+v 234.6878 0.0000 -38.8153
+v 246.8174 0.0000 -38.8153
+v 258.9470 0.0000 -38.8153
+v 271.0766 0.0000 -38.8153
+v 283.2062 0.0000 -38.8153
+v -134.1300 103.6682 -71.3628
+v -134.6971 104.9744 -71.3628
+v -134.0558 99.3828 -71.3628
+v -132.6976 92.7782 -71.3628
+v -130.8034 69.7408 -71.3628
+v -129.4121 56.1454 -71.3628
+v -126.5049 40.6680 -71.3628
+v -118.6461 25.8670 -71.3628
+v -104.9408 14.5762 -71.3628
+v -92.8112 7.4073 -71.3628
+v -80.6816 1.5296 -71.3628
+v -68.5520 -1.3479 -71.3628
+v -56.4224 0.0000 -71.3628
+v -44.2928 0.0000 -71.3628
+v -32.1632 0.0000 -71.3628
+v -20.0336 0.0000 -71.3628
+v -7.9040 0.0000 -71.3628
+v 4.2256 0.0000 -71.3628
+v 16.3552 0.0000 -71.3628
+v 28.4848 0.0000 -71.3628
+v 40.6144 0.0000 -71.3628
+v 52.7440 0.0000 -71.3628
+v 64.8736 0.0000 -71.3628
+v 77.0031 0.0000 -71.3628
+v 89.1327 0.0000 -71.3628
+v 101.2623 0.0000 -71.3628
+v 113.3919 0.0000 -71.3628
+v 125.5215 0.0000 -71.3628
+v 137.6511 0.0000 -71.3628
+v 149.7807 0.0000 -71.3628
+v 161.9103 0.0000 -71.3628
+v 174.0399 0.0000 -71.3628
+v 186.1695 0.0000 -71.3628
+v 198.2991 0.0000 -71.3628
+v 210.4286 0.0000 -71.3628
+v 222.5582 0.0000 -71.3628
+v 234.6878 0.0000 -71.3628
+v 246.8174 0.0000 -71.3628
+v 258.9470 0.0000 -71.3628
+v 271.0766 0.0000 -71.3628
+v 283.2062 0.0000 -71.3628
+v -134.1300 103.6682 -103.9104
+v -134.6971 104.9744 -103.9104
+v -134.0558 99.3828 -103.9104
+v -132.6976 92.7782 -103.9104
+v -130.8034 69.7408 -103.9104
+v -129.4121 56.1454 -103.9104
+v -126.5049 40.6680 -103.9104
+v -118.6461 25.8670 -103.9104
+v -104.9408 14.5762 -103.9104
+v -92.8112 7.4073 -103.9104
+v -80.6816 1.5296 -103.9104
+v -68.5520 -1.3479 -103.9104
+v -56.4224 0.0000 -103.9104
+v -44.2928 0.0000 -103.9104
+v -32.1632 0.0000 -103.9104
+v -20.0336 0.0000 -103.9104
+v -7.9040 0.0000 -103.9104
+v 4.2256 0.0000 -103.9104
+v 16.3552 0.0000 -103.9104
+v 28.4848 0.0000 -103.9104
+v 40.6144 0.0000 -103.9104
+v 52.7440 0.0000 -103.9104
+v 64.8736 0.0000 -103.9104
+v 77.0031 0.0000 -103.9104
+v 89.1327 0.0000 -103.9104
+v 101.2623 0.0000 -103.9104
+v 113.3919 0.0000 -103.9104
+v 125.5215 0.0000 -103.9104
+v 137.6511 0.0000 -103.9104
+v 149.7807 0.0000 -103.9104
+v 161.9103 0.0000 -103.9104
+v 174.0399 0.0000 -103.9104
+v 186.1695 0.0000 -103.9104
+v 198.2991 0.0000 -103.9104
+v 210.4286 0.0000 -103.9104
+v 222.5582 0.0000 -103.9104
+v 234.6878 0.0000 -103.9104
+v 246.8174 0.0000 -103.9104
+v 258.9470 0.0000 -103.9104
+v 271.0766 0.0000 -103.9104
+v 283.2062 0.0000 -103.9104
+v -134.1300 103.6682 -136.4579
+v -134.6971 104.9744 -136.4579
+v -134.0558 99.3828 -136.4579
+v -132.6976 92.7782 -136.4579
+v -130.8034 69.7408 -136.4579
+v -129.4121 56.1454 -136.4579
+v -126.5049 40.6680 -136.4579
+v -118.6461 25.8670 -136.4579
+v -104.9408 14.5762 -136.4579
+v -92.8112 7.4073 -136.4579
+v -80.6816 1.5296 -136.4579
+v -68.5520 -1.3479 -136.4579
+v -56.4224 0.0000 -136.4579
+v -44.2928 0.0000 -136.4579
+v -32.1632 0.0000 -136.4579
+v -20.0336 0.0000 -136.4579
+v -7.9040 0.0000 -136.4579
+v 4.2256 0.0000 -136.4579
+v 16.3552 0.0000 -136.4579
+v 28.4848 0.0000 -136.4579
+v 40.6144 0.0000 -136.4579
+v 52.7440 0.0000 -136.4579
+v 64.8736 0.0000 -136.4579
+v 77.0031 0.0000 -136.4579
+v 89.1327 0.0000 -136.4579
+v 101.2623 0.0000 -136.4579
+v 113.3919 0.0000 -136.4579
+v 125.5215 0.0000 -136.4579
+v 137.6511 0.0000 -136.4579
+v 149.7807 0.0000 -136.4579
+v 161.9103 0.0000 -136.4579
+v 174.0399 0.0000 -136.4579
+v 186.1695 0.0000 -136.4579
+v 198.2991 0.0000 -136.4579
+v 210.4286 0.0000 -136.4579
+v 222.5582 0.0000 -136.4579
+v 234.6878 0.0000 -136.4579
+v 246.8174 0.0000 -136.4579
+v 258.9470 0.0000 -136.4579
+v 271.0766 0.0000 -136.4579
+v 283.2062 0.0000 -136.4579
+v -134.1300 103.6683 -169.0055
+v -134.6971 104.9744 -169.0055
+v -134.0558 99.3828 -169.0055
+v -132.6976 92.7782 -169.0055
+v -130.8034 69.7408 -169.0055
+v -129.4121 56.1454 -169.0055
+v -126.5049 40.6680 -169.0055
+v -118.6461 25.8670 -169.0055
+v -104.9408 14.5762 -169.0055
+v -92.8112 7.4073 -169.0055
+v -80.6816 1.5296 -169.0055
+v -68.5520 -1.3479 -169.0055
+v -56.4224 0.0000 -169.0055
+v -44.2928 0.0000 -169.0055
+v -32.1632 0.0000 -169.0055
+v -20.0336 0.0000 -169.0055
+v -7.9040 0.0000 -169.0055
+v 4.2256 0.0000 -169.0055
+v 16.3552 0.0000 -169.0055
+v 28.4848 0.0000 -169.0055
+v 40.6144 0.0000 -169.0055
+v 52.7440 0.0000 -169.0055
+v 64.8736 0.0000 -169.0055
+v 77.0031 0.0000 -169.0055
+v 89.1327 0.0000 -169.0055
+v 101.2623 0.0000 -169.0055
+v 113.3919 0.0000 -169.0055
+v 125.5215 0.0000 -169.0055
+v 137.6511 0.0000 -169.0055
+v 149.7807 0.0000 -169.0055
+v 161.9103 0.0000 -169.0055
+v 174.0399 0.0000 -169.0055
+v 186.1695 0.0000 -169.0055
+v 198.2991 0.0000 -169.0055
+v 210.4286 0.0000 -169.0055
+v 222.5582 0.0000 -169.0055
+v 234.6878 0.0000 -169.0055
+v 246.8174 0.0000 -169.0055
+v 258.9470 0.0000 -169.0055
+v 271.0766 0.0000 -169.0055
+v 283.2062 0.0000 -169.0055
+v -134.1300 103.6682 -201.5530
+v -134.6971 104.9744 -201.5530
+v -134.0558 99.3828 -201.5530
+v -132.6976 92.7782 -201.5530
+v -130.8034 69.7408 -201.5530
+v -129.4121 56.1454 -201.5530
+v -126.5049 40.6680 -201.5531
+v -118.6461 25.8670 -201.5531
+v -104.9408 14.5762 -201.5531
+v -92.8112 7.4073 -201.5531
+v -80.6816 1.5296 -201.5531
+v -68.5520 -1.3479 -201.5531
+v -56.4224 0.0000 -201.5531
+v -44.2928 0.0000 -201.5531
+v -32.1632 0.0000 -201.5531
+v -20.0336 0.0000 -201.5531
+v -7.9040 0.0000 -201.5531
+v 4.2256 0.0000 -201.5531
+v 16.3552 0.0000 -201.5531
+v 28.4848 0.0000 -201.5531
+v 40.6144 0.0000 -201.5531
+v 52.7440 0.0000 -201.5531
+v 64.8736 0.0000 -201.5531
+v 77.0031 0.0000 -201.5531
+v 89.1327 0.0000 -201.5531
+v 101.2623 0.0000 -201.5531
+v 113.3919 0.0000 -201.5531
+v 125.5215 0.0000 -201.5531
+v 137.6511 0.0000 -201.5531
+v 149.7807 0.0000 -201.5531
+v 161.9103 0.0000 -201.5531
+v 174.0399 0.0000 -201.5531
+v 186.1695 0.0000 -201.5531
+v 198.2991 0.0000 -201.5531
+v 210.4286 0.0000 -201.5531
+v 222.5582 0.0000 -201.5531
+v 234.6878 0.0000 -201.5531
+v 246.8174 0.0000 -201.5531
+v 258.9470 0.0000 -201.5531
+v 271.0766 0.0000 -201.5531
+v 283.2062 0.0000 -201.5531
+v -134.1300 103.6682 -234.1006
+v -134.6971 104.9744 -234.1006
+v -134.0558 99.3828 -234.1006
+v -132.6976 92.7782 -234.1006
+v -130.8034 69.7408 -234.1006
+v -129.4121 56.1454 -234.1006
+v -126.5049 40.6680 -234.1006
+v -118.6461 25.8670 -234.1006
+v -104.9408 14.5762 -234.1006
+v -92.8112 7.4073 -234.1006
+v -80.6816 1.5296 -234.1006
+v -68.5520 -1.3479 -234.1006
+v -56.4224 0.0000 -234.1006
+v -44.2928 0.0000 -234.1006
+v -32.1632 0.0000 -234.1006
+v -20.0336 0.0000 -234.1006
+v -7.9040 0.0000 -234.1006
+v 4.2256 0.0000 -234.1006
+v 16.3552 0.0000 -234.1006
+v 28.4848 0.0000 -234.1006
+v 40.6144 0.0000 -234.1006
+v 52.7440 0.0000 -234.1006
+v 64.8736 0.0000 -234.1006
+v 77.0031 0.0000 -234.1006
+v 89.1327 0.0000 -234.1006
+v 101.2623 0.0000 -234.1006
+v 113.3919 0.0000 -234.1006
+v 125.5215 0.0000 -234.1006
+v 137.6511 0.0000 -234.1006
+v 149.7807 0.0000 -234.1006
+v 161.9103 0.0000 -234.1006
+v 174.0399 0.0000 -234.1006
+v 186.1695 0.0000 -234.1006
+v 198.2991 0.0000 -234.1006
+v 210.4286 0.0000 -234.1006
+v 222.5582 0.0000 -234.1006
+v 234.6878 0.0000 -234.1006
+v 246.8174 0.0000 -234.1006
+v 258.9470 0.0000 -234.1006
+v 271.0766 0.0000 -234.1006
+v 283.2062 0.0000 -234.1006
+v -134.1300 103.6682 -266.6481
+v -134.6971 104.9744 -266.6481
+v -134.0558 99.3828 -266.6481
+v -132.6976 92.7782 -266.6481
+v -130.8034 69.7408 -266.6482
+v -129.4121 56.1454 -266.6482
+v -126.5049 40.6680 -266.6482
+v -118.6461 25.8670 -266.6482
+v -104.9408 14.5762 -266.6482
+v -92.8112 7.4073 -266.6482
+v -80.6816 1.5296 -266.6482
+v -68.5520 -1.3479 -266.6482
+v -56.4224 0.0000 -266.6482
+v -44.2928 0.0000 -266.6482
+v -32.1632 0.0000 -266.6482
+v -20.0336 0.0000 -266.6482
+v -7.9040 0.0000 -266.6482
+v 4.2256 0.0000 -266.6482
+v 16.3552 0.0000 -266.6482
+v 28.4848 0.0000 -266.6482
+v 40.6144 0.0000 -266.6482
+v 52.7440 0.0000 -266.6482
+v 64.8736 0.0000 -266.6482
+v 77.0031 0.0000 -266.6482
+v 89.1327 0.0000 -266.6482
+v 101.2623 0.0000 -266.6482
+v 113.3919 0.0000 -266.6482
+v 125.5215 0.0000 -266.6482
+v 137.6511 0.0000 -266.6482
+v 149.7807 0.0000 -266.6482
+v 161.9103 0.0000 -266.6482
+v 174.0399 0.0000 -266.6482
+v 186.1695 0.0000 -266.6482
+v 198.2991 0.0000 -266.6482
+v 210.4286 0.0000 -266.6482
+v 222.5582 0.0000 -266.6482
+v 234.6878 0.0000 -266.6482
+v 246.8174 0.0000 -266.6482
+v 258.9470 0.0000 -266.6482
+v 271.0766 0.0000 -266.6482
+v 283.2062 0.0000 -266.6482
+v -134.1300 103.6682 -299.1957
+v -134.6971 104.9744 -299.1957
+v -134.0558 99.3828 -299.1957
+v -132.6976 92.7782 -299.1957
+v -130.8034 69.7408 -299.1957
+v -129.4121 56.1454 -299.1957
+v -126.5049 40.6680 -299.1957
+v -118.6461 25.8670 -299.1957
+v -104.9408 14.5762 -299.1957
+v -92.8112 7.4073 -299.1957
+v -80.6816 1.5296 -299.1957
+v -68.5520 -1.3479 -299.1957
+v -56.4224 0.0000 -299.1957
+v -44.2928 0.0000 -299.1957
+v -32.1632 0.0000 -299.1957
+v -20.0336 0.0000 -299.1957
+v -7.9040 0.0000 -299.1957
+v 4.2256 0.0000 -299.1957
+v 16.3552 0.0000 -299.1957
+v 28.4848 0.0000 -299.1957
+v 40.6144 0.0000 -299.1957
+v 52.7440 0.0000 -299.1957
+v 64.8736 0.0000 -299.1957
+v 77.0031 0.0000 -299.1957
+v 89.1327 0.0000 -299.1957
+v 101.2623 0.0000 -299.1957
+v 113.3919 0.0000 -299.1957
+v 125.5215 0.0000 -299.1957
+v 137.6511 0.0000 -299.1957
+v 149.7807 0.0000 -299.1957
+v 161.9103 0.0000 -299.1957
+v 174.0399 0.0000 -299.1957
+v 186.1695 0.0000 -299.1957
+v 198.2991 0.0000 -299.1957
+v 210.4286 0.0000 -299.1957
+v 222.5582 0.0000 -299.1957
+v 234.6878 0.0000 -299.1957
+v 246.8174 0.0000 -299.1957
+v 258.9470 0.0000 -299.1957
+v 271.0766 0.0000 -299.1957
+v 283.2062 0.0000 -299.1957
+# 861 vertices
+
+vn 0.8732 0.4874 -0.0000
+vn 0.9649 0.2626 0.0000
+vn 0.8732 0.4874 0.0000
+vn 0.9902 0.1399 0.0000
+vn 0.9835 0.1809 0.0000
+vn 0.9930 0.1178 -0.0000
+vn 0.9930 0.1178 0.0000
+vn 0.9831 0.1829 -0.0000
+vn 0.9139 0.4060 -0.0000
+vn 0.6967 0.7174 -0.0000
+vn 0.4797 0.8774 -0.0000
+vn 0.3854 0.9228 -0.0000
+vn 0.2681 0.9634 -0.0000
+vn 0.0481 0.9988 -0.0000
+vn -0.0431 0.9991 -0.0000
+vn 0.0000 1.0000 -0.0000
+vn 0.9835 0.1809 -0.0000
+vn 0.9649 0.2626 -0.0000
+vn 0.9902 0.1399 -0.0000
+vn 0.9831 0.1829 0.0000
+vn 0.9139 0.4060 0.0000
+vn 0.6967 0.7174 0.0000
+# 22 vertex normals
+
+vt 0.0000 0.0000 0.0000
+vt 5.5631 0.0000 0.0000
+vt 5.5631 6.2799 0.0000
+vt 0.0000 6.2799 0.0000
+vt 11.1263 0.0000 0.0000
+vt 11.1263 6.2799 0.0000
+vt 16.6894 0.0000 0.0000
+vt 16.6894 6.2799 0.0000
+vt 22.2526 0.0000 0.0000
+vt 22.2526 6.2799 0.0000
+vt 27.8157 0.0000 0.0000
+vt 27.8157 6.2799 0.0000
+vt 33.3788 0.0000 0.0000
+vt 33.3788 6.2799 0.0000
+vt 38.9420 0.0000 0.0000
+vt 38.9420 6.2799 0.0000
+vt 44.5051 0.0000 0.0000
+vt 44.5051 6.2799 0.0000
+vt 50.0683 0.0000 0.0000
+vt 50.0683 6.2799 0.0000
+vt 55.6314 0.0000 0.0000
+vt 55.6314 6.2799 0.0000
+vt 61.1945 0.0000 0.0000
+vt 61.1945 6.2799 0.0000
+vt 66.7577 0.0000 0.0000
+vt 66.7577 6.2799 0.0000
+vt 72.3208 0.0000 0.0000
+vt 72.3208 6.2799 0.0000
+vt 77.8840 0.0000 0.0000
+vt 77.8840 6.2799 0.0000
+vt 83.4471 0.0000 0.0000
+vt 83.4471 6.2799 0.0000
+vt 89.0103 0.0000 0.0000
+vt 89.0103 6.2799 0.0000
+vt 94.5734 0.0000 0.0000
+vt 94.5734 6.2799 0.0000
+vt 100.1365 0.0000 0.0000
+vt 100.1365 6.2799 0.0000
+vt 105.6997 0.0000 0.0000
+vt 105.6997 6.2799 0.0000
+vt 111.2628 0.0000 0.0000
+vt 111.2628 6.2799 0.0000
+vt 116.8260 0.0000 0.0000
+vt 116.8260 6.2799 0.0000
+vt 122.3891 0.0000 0.0000
+vt 122.3891 6.2799 0.0000
+vt 127.9522 0.0000 0.0000
+vt 127.9522 6.2799 0.0000
+vt 133.5154 0.0000 0.0000
+vt 133.5154 6.2799 0.0000
+vt 139.0785 0.0000 0.0000
+vt 139.0785 6.2799 0.0000
+vt 144.6416 0.0000 0.0000
+vt 144.6416 6.2799 0.0000
+vt 150.2048 0.0000 0.0000
+vt 150.2048 6.2799 0.0000
+vt 155.7679 0.0000 0.0000
+vt 155.7679 6.2799 0.0000
+vt 161.3310 0.0000 0.0000
+vt 161.3310 6.2799 0.0000
+vt 166.8942 0.0000 0.0000
+vt 166.8942 6.2799 0.0000
+vt 172.4573 0.0000 0.0000
+vt 172.4573 6.2799 0.0000
+vt 178.0204 0.0000 0.0000
+vt 178.0204 6.2799 0.0000
+vt 183.5836 0.0000 0.0000
+vt 183.5836 6.2799 0.0000
+vt 189.1467 0.0000 0.0000
+vt 189.1467 6.2799 0.0000
+vt 194.7098 0.0000 0.0000
+vt 194.7098 6.2799 0.0000
+vt 200.2730 0.0000 0.0000
+vt 200.2730 6.2799 0.0000
+vt 205.8361 0.0000 0.0000
+vt 205.8361 6.2799 0.0000
+vt 211.3992 0.0000 0.0000
+vt 211.3992 6.2799 0.0000
+vt 216.9624 0.0000 0.0000
+vt 216.9624 6.2799 0.0000
+vt 222.5255 0.0000 0.0000
+vt 222.5255 6.2799 0.0000
+vt 5.5631 12.5597 0.0000
+vt 0.0000 12.5597 0.0000
+vt 11.1263 12.5597 0.0000
+vt 16.6894 12.5597 0.0000
+vt 22.2526 12.5597 0.0000
+vt 27.8157 12.5597 0.0000
+vt 33.3788 12.5597 0.0000
+vt 38.9420 12.5597 0.0000
+vt 44.5051 12.5597 0.0000
+vt 50.0683 12.5597 0.0000
+vt 55.6314 12.5597 0.0000
+vt 61.1945 12.5597 0.0000
+vt 66.7577 12.5597 0.0000
+vt 72.3208 12.5597 0.0000
+vt 77.8840 12.5597 0.0000
+vt 83.4471 12.5597 0.0000
+vt 89.0103 12.5597 0.0000
+vt 94.5734 12.5597 0.0000
+vt 100.1365 12.5597 0.0000
+vt 105.6997 12.5597 0.0000
+vt 111.2628 12.5597 0.0000
+vt 116.8260 12.5597 0.0000
+vt 122.3891 12.5597 0.0000
+vt 127.9522 12.5597 0.0000
+vt 133.5154 12.5597 0.0000
+vt 139.0785 12.5597 0.0000
+vt 144.6416 12.5597 0.0000
+vt 150.2048 12.5597 0.0000
+vt 155.7679 12.5597 0.0000
+vt 161.3310 12.5597 0.0000
+vt 166.8942 12.5597 0.0000
+vt 172.4573 12.5597 0.0000
+vt 178.0204 12.5597 0.0000
+vt 183.5836 12.5597 0.0000
+vt 189.1467 12.5597 0.0000
+vt 194.7098 12.5597 0.0000
+vt 200.2730 12.5597 0.0000
+vt 205.8361 12.5597 0.0000
+vt 211.3992 12.5597 0.0000
+vt 216.9624 12.5597 0.0000
+vt 222.5255 12.5597 0.0000
+vt 5.5631 18.8396 0.0000
+vt 0.0000 18.8396 0.0000
+vt 11.1263 18.8396 0.0000
+vt 16.6894 18.8396 0.0000
+vt 22.2526 18.8396 0.0000
+vt 27.8157 18.8396 0.0000
+vt 33.3788 18.8396 0.0000
+vt 38.9420 18.8396 0.0000
+vt 44.5051 18.8396 0.0000
+vt 50.0683 18.8396 0.0000
+vt 55.6314 18.8396 0.0000
+vt 61.1945 18.8396 0.0000
+vt 66.7577 18.8396 0.0000
+vt 72.3208 18.8396 0.0000
+vt 77.8840 18.8396 0.0000
+vt 83.4471 18.8396 0.0000
+vt 89.0103 18.8396 0.0000
+vt 94.5734 18.8396 0.0000
+vt 100.1365 18.8396 0.0000
+vt 105.6997 18.8396 0.0000
+vt 111.2628 18.8396 0.0000
+vt 116.8260 18.8396 0.0000
+vt 122.3891 18.8396 0.0000
+vt 127.9522 18.8396 0.0000
+vt 133.5154 18.8396 0.0000
+vt 139.0785 18.8396 0.0000
+vt 144.6416 18.8396 0.0000
+vt 150.2048 18.8396 0.0000
+vt 155.7679 18.8396 0.0000
+vt 161.3310 18.8396 0.0000
+vt 166.8942 18.8396 0.0000
+vt 172.4573 18.8396 0.0000
+vt 178.0204 18.8396 0.0000
+vt 183.5836 18.8396 0.0000
+vt 189.1467 18.8396 0.0000
+vt 194.7098 18.8396 0.0000
+vt 200.2730 18.8396 0.0000
+vt 205.8361 18.8396 0.0000
+vt 211.3992 18.8396 0.0000
+vt 216.9624 18.8396 0.0000
+vt 222.5255 18.8396 0.0000
+vt 5.5631 25.1195 0.0000
+vt 0.0000 25.1195 0.0000
+vt 11.1263 25.1195 0.0000
+vt 16.6894 25.1195 0.0000
+vt 22.2526 25.1195 0.0000
+vt 27.8157 25.1195 0.0000
+vt 33.3788 25.1195 0.0000
+vt 38.9420 25.1195 0.0000
+vt 44.5051 25.1195 0.0000
+vt 50.0683 25.1195 0.0000
+vt 55.6314 25.1195 0.0000
+vt 61.1945 25.1195 0.0000
+vt 66.7577 25.1195 0.0000
+vt 72.3208 25.1195 0.0000
+vt 77.8840 25.1195 0.0000
+vt 83.4471 25.1195 0.0000
+vt 89.0103 25.1195 0.0000
+vt 94.5734 25.1195 0.0000
+vt 100.1365 25.1195 0.0000
+vt 105.6997 25.1195 0.0000
+vt 111.2628 25.1195 0.0000
+vt 116.8260 25.1195 0.0000
+vt 122.3891 25.1195 0.0000
+vt 127.9522 25.1195 0.0000
+vt 133.5154 25.1195 0.0000
+vt 139.0785 25.1195 0.0000
+vt 144.6416 25.1195 0.0000
+vt 150.2048 25.1195 0.0000
+vt 155.7679 25.1195 0.0000
+vt 161.3310 25.1195 0.0000
+vt 166.8942 25.1195 0.0000
+vt 172.4573 25.1195 0.0000
+vt 178.0204 25.1195 0.0000
+vt 183.5836 25.1195 0.0000
+vt 189.1467 25.1195 0.0000
+vt 194.7098 25.1195 0.0000
+vt 200.2730 25.1195 0.0000
+vt 205.8361 25.1195 0.0000
+vt 211.3992 25.1195 0.0000
+vt 216.9624 25.1195 0.0000
+vt 222.5255 25.1195 0.0000
+vt 5.5631 31.3993 0.0000
+vt 0.0000 31.3993 0.0000
+vt 11.1263 31.3993 0.0000
+vt 16.6894 31.3993 0.0000
+vt 22.2526 31.3993 0.0000
+vt 27.8157 31.3993 0.0000
+vt 33.3788 31.3993 0.0000
+vt 38.9420 31.3993 0.0000
+vt 44.5051 31.3993 0.0000
+vt 50.0683 31.3993 0.0000
+vt 55.6314 31.3993 0.0000
+vt 61.1945 31.3993 0.0000
+vt 66.7577 31.3993 0.0000
+vt 72.3208 31.3993 0.0000
+vt 77.8840 31.3993 0.0000
+vt 83.4471 31.3993 0.0000
+vt 89.0103 31.3993 0.0000
+vt 94.5734 31.3993 0.0000
+vt 100.1365 31.3993 0.0000
+vt 105.6997 31.3993 0.0000
+vt 111.2628 31.3993 0.0000
+vt 116.8260 31.3993 0.0000
+vt 122.3891 31.3993 0.0000
+vt 127.9522 31.3993 0.0000
+vt 133.5154 31.3993 0.0000
+vt 139.0785 31.3993 0.0000
+vt 144.6416 31.3993 0.0000
+vt 150.2048 31.3993 0.0000
+vt 155.7679 31.3993 0.0000
+vt 161.3310 31.3993 0.0000
+vt 166.8942 31.3993 0.0000
+vt 172.4573 31.3993 0.0000
+vt 178.0204 31.3993 0.0000
+vt 183.5836 31.3993 0.0000
+vt 189.1467 31.3993 0.0000
+vt 194.7098 31.3993 0.0000
+vt 200.2730 31.3993 0.0000
+vt 205.8361 31.3993 0.0000
+vt 211.3992 31.3993 0.0000
+vt 216.9624 31.3993 0.0000
+vt 222.5255 31.3993 0.0000
+vt 5.5631 37.6792 0.0000
+vt 0.0000 37.6792 0.0000
+vt 11.1263 37.6792 0.0000
+vt 16.6894 37.6792 0.0000
+vt 22.2526 37.6792 0.0000
+vt 27.8157 37.6792 0.0000
+vt 33.3788 37.6792 0.0000
+vt 38.9420 37.6792 0.0000
+vt 44.5051 37.6792 0.0000
+vt 50.0683 37.6792 0.0000
+vt 55.6314 37.6792 0.0000
+vt 61.1945 37.6792 0.0000
+vt 66.7577 37.6792 0.0000
+vt 72.3208 37.6792 0.0000
+vt 77.8840 37.6792 0.0000
+vt 83.4471 37.6792 0.0000
+vt 89.0103 37.6792 0.0000
+vt 94.5734 37.6792 0.0000
+vt 100.1365 37.6792 0.0000
+vt 105.6997 37.6792 0.0000
+vt 111.2628 37.6792 0.0000
+vt 116.8260 37.6792 0.0000
+vt 122.3891 37.6792 0.0000
+vt 127.9522 37.6792 0.0000
+vt 133.5154 37.6792 0.0000
+vt 139.0785 37.6792 0.0000
+vt 144.6416 37.6792 0.0000
+vt 150.2048 37.6792 0.0000
+vt 155.7679 37.6792 0.0000
+vt 161.3310 37.6792 0.0000
+vt 166.8942 37.6792 0.0000
+vt 172.4573 37.6792 0.0000
+vt 178.0204 37.6792 0.0000
+vt 183.5836 37.6792 0.0000
+vt 189.1467 37.6792 0.0000
+vt 194.7098 37.6792 0.0000
+vt 200.2730 37.6792 0.0000
+vt 205.8361 37.6792 0.0000
+vt 211.3992 37.6792 0.0000
+vt 216.9624 37.6792 0.0000
+vt 222.5255 37.6792 0.0000
+vt 5.5631 43.9590 0.0000
+vt 0.0000 43.9590 0.0000
+vt 11.1263 43.9590 0.0000
+vt 16.6894 43.9590 0.0000
+vt 22.2526 43.9590 0.0000
+vt 27.8157 43.9590 0.0000
+vt 33.3788 43.9590 0.0000
+vt 38.9420 43.9590 0.0000
+vt 44.5051 43.9590 0.0000
+vt 50.0683 43.9590 0.0000
+vt 55.6314 43.9590 0.0000
+vt 61.1945 43.9590 0.0000
+vt 66.7577 43.9590 0.0000
+vt 72.3208 43.9590 0.0000
+vt 77.8840 43.9590 0.0000
+vt 83.4471 43.9590 0.0000
+vt 89.0103 43.9590 0.0000
+vt 94.5734 43.9590 0.0000
+vt 100.1365 43.9590 0.0000
+vt 105.6997 43.9590 0.0000
+vt 111.2628 43.9590 0.0000
+vt 116.8260 43.9590 0.0000
+vt 122.3891 43.9590 0.0000
+vt 127.9522 43.9590 0.0000
+vt 133.5154 43.9590 0.0000
+vt 139.0785 43.9590 0.0000
+vt 144.6416 43.9590 0.0000
+vt 150.2048 43.9590 0.0000
+vt 155.7679 43.9590 0.0000
+vt 161.3310 43.9590 0.0000
+vt 166.8942 43.9590 0.0000
+vt 172.4573 43.9590 0.0000
+vt 178.0204 43.9590 0.0000
+vt 183.5836 43.9590 0.0000
+vt 189.1467 43.9590 0.0000
+vt 194.7098 43.9590 0.0000
+vt 200.2730 43.9590 0.0000
+vt 205.8361 43.9590 0.0000
+vt 211.3992 43.9590 0.0000
+vt 216.9624 43.9590 0.0000
+vt 222.5255 43.9590 0.0000
+vt 5.5631 50.2389 0.0000
+vt 0.0000 50.2389 0.0000
+vt 11.1263 50.2389 0.0000
+vt 16.6894 50.2389 0.0000
+vt 22.2526 50.2389 0.0000
+vt 27.8157 50.2389 0.0000
+vt 33.3788 50.2389 0.0000
+vt 38.9420 50.2389 0.0000
+vt 44.5051 50.2389 0.0000
+vt 50.0683 50.2389 0.0000
+vt 55.6314 50.2389 0.0000
+vt 61.1945 50.2389 0.0000
+vt 66.7577 50.2389 0.0000
+vt 72.3208 50.2389 0.0000
+vt 77.8840 50.2389 0.0000
+vt 83.4471 50.2389 0.0000
+vt 89.0103 50.2389 0.0000
+vt 94.5734 50.2389 0.0000
+vt 100.1365 50.2389 0.0000
+vt 105.6997 50.2389 0.0000
+vt 111.2628 50.2389 0.0000
+vt 116.8260 50.2389 0.0000
+vt 122.3891 50.2389 0.0000
+vt 127.9522 50.2389 0.0000
+vt 133.5154 50.2389 0.0000
+vt 139.0785 50.2389 0.0000
+vt 144.6416 50.2389 0.0000
+vt 150.2048 50.2389 0.0000
+vt 155.7679 50.2389 0.0000
+vt 161.3310 50.2389 0.0000
+vt 166.8942 50.2389 0.0000
+vt 172.4573 50.2389 0.0000
+vt 178.0204 50.2389 0.0000
+vt 183.5836 50.2389 0.0000
+vt 189.1467 50.2389 0.0000
+vt 194.7098 50.2389 0.0000
+vt 200.2730 50.2389 0.0000
+vt 205.8361 50.2389 0.0000
+vt 211.3992 50.2389 0.0000
+vt 216.9624 50.2389 0.0000
+vt 222.5255 50.2389 0.0000
+vt 5.5631 56.5188 0.0000
+vt 0.0000 56.5188 0.0000
+vt 11.1263 56.5188 0.0000
+vt 16.6894 56.5188 0.0000
+vt 22.2526 56.5188 0.0000
+vt 27.8157 56.5188 0.0000
+vt 33.3788 56.5188 0.0000
+vt 38.9420 56.5188 0.0000
+vt 44.5051 56.5188 0.0000
+vt 50.0683 56.5188 0.0000
+vt 55.6314 56.5188 0.0000
+vt 61.1945 56.5188 0.0000
+vt 66.7577 56.5188 0.0000
+vt 72.3208 56.5188 0.0000
+vt 77.8840 56.5188 0.0000
+vt 83.4471 56.5188 0.0000
+vt 89.0103 56.5188 0.0000
+vt 94.5734 56.5188 0.0000
+vt 100.1365 56.5188 0.0000
+vt 105.6997 56.5188 0.0000
+vt 111.2628 56.5188 0.0000
+vt 116.8260 56.5188 0.0000
+vt 122.3891 56.5188 0.0000
+vt 127.9522 56.5188 0.0000
+vt 133.5154 56.5188 0.0000
+vt 139.0785 56.5188 0.0000
+vt 144.6416 56.5188 0.0000
+vt 150.2048 56.5188 0.0000
+vt 155.7679 56.5188 0.0000
+vt 161.3310 56.5188 0.0000
+vt 166.8942 56.5188 0.0000
+vt 172.4573 56.5188 0.0000
+vt 178.0204 56.5188 0.0000
+vt 183.5836 56.5188 0.0000
+vt 189.1467 56.5188 0.0000
+vt 194.7098 56.5188 0.0000
+vt 200.2730 56.5188 0.0000
+vt 205.8361 56.5188 0.0000
+vt 211.3992 56.5188 0.0000
+vt 216.9624 56.5188 0.0000
+vt 222.5255 56.5188 0.0000
+vt 5.5631 62.7986 0.0000
+vt 0.0000 62.7986 0.0000
+vt 11.1263 62.7986 0.0000
+vt 16.6894 62.7986 0.0000
+vt 22.2526 62.7986 0.0000
+vt 27.8157 62.7986 0.0000
+vt 33.3788 62.7986 0.0000
+vt 38.9420 62.7986 0.0000
+vt 44.5051 62.7986 0.0000
+vt 50.0683 62.7986 0.0000
+vt 55.6314 62.7986 0.0000
+vt 61.1945 62.7986 0.0000
+vt 66.7577 62.7986 0.0000
+vt 72.3208 62.7986 0.0000
+vt 77.8840 62.7986 0.0000
+vt 83.4471 62.7986 0.0000
+vt 89.0103 62.7986 0.0000
+vt 94.5734 62.7986 0.0000
+vt 100.1365 62.7986 0.0000
+vt 105.6997 62.7986 0.0000
+vt 111.2628 62.7986 0.0000
+vt 116.8260 62.7986 0.0000
+vt 122.3891 62.7986 0.0000
+vt 127.9522 62.7986 0.0000
+vt 133.5154 62.7986 0.0000
+vt 139.0785 62.7986 0.0000
+vt 144.6416 62.7986 0.0000
+vt 150.2048 62.7986 0.0000
+vt 155.7679 62.7986 0.0000
+vt 161.3310 62.7986 0.0000
+vt 166.8942 62.7986 0.0000
+vt 172.4573 62.7986 0.0000
+vt 178.0204 62.7986 0.0000
+vt 183.5836 62.7986 0.0000
+vt 189.1467 62.7986 0.0000
+vt 194.7098 62.7986 0.0000
+vt 200.2730 62.7986 0.0000
+vt 205.8361 62.7986 0.0000
+vt 211.3992 62.7986 0.0000
+vt 216.9624 62.7986 0.0000
+vt 222.5255 62.7986 0.0000
+vt 5.5631 69.0785 0.0000
+vt 0.0000 69.0785 0.0000
+vt 11.1263 69.0785 0.0000
+vt 16.6894 69.0785 0.0000
+vt 22.2526 69.0785 0.0000
+vt 27.8157 69.0785 0.0000
+vt 33.3788 69.0785 0.0000
+vt 38.9420 69.0785 0.0000
+vt 44.5051 69.0785 0.0000
+vt 50.0683 69.0785 0.0000
+vt 55.6314 69.0785 0.0000
+vt 61.1945 69.0785 0.0000
+vt 66.7577 69.0785 0.0000
+vt 72.3208 69.0785 0.0000
+vt 77.8840 69.0785 0.0000
+vt 83.4471 69.0785 0.0000
+vt 89.0103 69.0785 0.0000
+vt 94.5734 69.0785 0.0000
+vt 100.1365 69.0785 0.0000
+vt 105.6997 69.0785 0.0000
+vt 111.2628 69.0785 0.0000
+vt 116.8260 69.0785 0.0000
+vt 122.3891 69.0785 0.0000
+vt 127.9522 69.0785 0.0000
+vt 133.5154 69.0785 0.0000
+vt 139.0785 69.0785 0.0000
+vt 144.6416 69.0785 0.0000
+vt 150.2048 69.0785 0.0000
+vt 155.7679 69.0785 0.0000
+vt 161.3310 69.0785 0.0000
+vt 166.8942 69.0785 0.0000
+vt 172.4573 69.0785 0.0000
+vt 178.0204 69.0785 0.0000
+vt 183.5836 69.0785 0.0000
+vt 189.1467 69.0785 0.0000
+vt 194.7098 69.0785 0.0000
+vt 200.2730 69.0785 0.0000
+vt 205.8361 69.0785 0.0000
+vt 211.3992 69.0785 0.0000
+vt 216.9624 69.0785 0.0000
+vt 222.5255 69.0785 0.0000
+vt 5.5631 75.3584 0.0000
+vt 0.0000 75.3584 0.0000
+vt 11.1263 75.3584 0.0000
+vt 16.6894 75.3584 0.0000
+vt 22.2526 75.3584 0.0000
+vt 27.8157 75.3584 0.0000
+vt 33.3788 75.3584 0.0000
+vt 38.9420 75.3584 0.0000
+vt 44.5051 75.3584 0.0000
+vt 50.0683 75.3584 0.0000
+vt 55.6314 75.3584 0.0000
+vt 61.1945 75.3584 0.0000
+vt 66.7577 75.3584 0.0000
+vt 72.3208 75.3584 0.0000
+vt 77.8840 75.3584 0.0000
+vt 83.4471 75.3584 0.0000
+vt 89.0103 75.3584 0.0000
+vt 94.5734 75.3584 0.0000
+vt 100.1365 75.3584 0.0000
+vt 105.6997 75.3584 0.0000
+vt 111.2628 75.3584 0.0000
+vt 116.8260 75.3584 0.0000
+vt 122.3891 75.3584 0.0000
+vt 127.9522 75.3584 0.0000
+vt 133.5154 75.3584 0.0000
+vt 139.0785 75.3584 0.0000
+vt 144.6416 75.3584 0.0000
+vt 150.2048 75.3584 0.0000
+vt 155.7679 75.3584 0.0000
+vt 161.3310 75.3584 0.0000
+vt 166.8942 75.3584 0.0000
+vt 172.4573 75.3584 0.0000
+vt 178.0204 75.3584 0.0000
+vt 183.5836 75.3584 0.0000
+vt 189.1467 75.3584 0.0000
+vt 194.7098 75.3584 0.0000
+vt 200.2730 75.3584 0.0000
+vt 205.8361 75.3584 0.0000
+vt 211.3992 75.3584 0.0000
+vt 216.9624 75.3584 0.0000
+vt 222.5255 75.3584 0.0000
+vt 5.5631 81.6382 0.0000
+vt 0.0000 81.6382 0.0000
+vt 11.1263 81.6382 0.0000
+vt 16.6894 81.6382 0.0000
+vt 22.2526 81.6382 0.0000
+vt 27.8157 81.6382 0.0000
+vt 33.3788 81.6382 0.0000
+vt 38.9420 81.6382 0.0000
+vt 44.5051 81.6382 0.0000
+vt 50.0683 81.6382 0.0000
+vt 55.6314 81.6382 0.0000
+vt 61.1945 81.6382 0.0000
+vt 66.7577 81.6382 0.0000
+vt 72.3208 81.6382 0.0000
+vt 77.8840 81.6382 0.0000
+vt 83.4471 81.6382 0.0000
+vt 89.0103 81.6382 0.0000
+vt 94.5734 81.6382 0.0000
+vt 100.1365 81.6382 0.0000
+vt 105.6997 81.6382 0.0000
+vt 111.2628 81.6382 0.0000
+vt 116.8260 81.6382 0.0000
+vt 122.3891 81.6382 0.0000
+vt 127.9522 81.6382 0.0000
+vt 133.5154 81.6382 0.0000
+vt 139.0785 81.6382 0.0000
+vt 144.6416 81.6382 0.0000
+vt 150.2048 81.6382 0.0000
+vt 155.7679 81.6382 0.0000
+vt 161.3310 81.6382 0.0000
+vt 166.8942 81.6382 0.0000
+vt 172.4573 81.6382 0.0000
+vt 178.0204 81.6382 0.0000
+vt 183.5836 81.6382 0.0000
+vt 189.1467 81.6382 0.0000
+vt 194.7098 81.6382 0.0000
+vt 200.2730 81.6382 0.0000
+vt 205.8361 81.6382 0.0000
+vt 211.3992 81.6382 0.0000
+vt 216.9624 81.6382 0.0000
+vt 222.5255 81.6382 0.0000
+vt 5.5631 87.9181 0.0000
+vt 0.0000 87.9181 0.0000
+vt 11.1263 87.9181 0.0000
+vt 16.6894 87.9181 0.0000
+vt 22.2526 87.9181 0.0000
+vt 27.8157 87.9181 0.0000
+vt 33.3788 87.9181 0.0000
+vt 38.9420 87.9181 0.0000
+vt 44.5051 87.9181 0.0000
+vt 50.0683 87.9181 0.0000
+vt 55.6314 87.9181 0.0000
+vt 61.1945 87.9181 0.0000
+vt 66.7577 87.9181 0.0000
+vt 72.3208 87.9181 0.0000
+vt 77.8840 87.9181 0.0000
+vt 83.4471 87.9181 0.0000
+vt 89.0103 87.9181 0.0000
+vt 94.5734 87.9181 0.0000
+vt 100.1365 87.9181 0.0000
+vt 105.6997 87.9181 0.0000
+vt 111.2628 87.9181 0.0000
+vt 116.8260 87.9181 0.0000
+vt 122.3891 87.9181 0.0000
+vt 127.9522 87.9181 0.0000
+vt 133.5154 87.9181 0.0000
+vt 139.0785 87.9181 0.0000
+vt 144.6416 87.9181 0.0000
+vt 150.2048 87.9181 0.0000
+vt 155.7679 87.9181 0.0000
+vt 161.3310 87.9181 0.0000
+vt 166.8942 87.9181 0.0000
+vt 172.4573 87.9181 0.0000
+vt 178.0204 87.9181 0.0000
+vt 183.5836 87.9181 0.0000
+vt 189.1467 87.9181 0.0000
+vt 194.7098 87.9181 0.0000
+vt 200.2730 87.9181 0.0000
+vt 205.8361 87.9181 0.0000
+vt 211.3992 87.9181 0.0000
+vt 216.9624 87.9181 0.0000
+vt 222.5255 87.9181 0.0000
+vt 5.5631 94.1980 0.0000
+vt 0.0000 94.1980 0.0000
+vt 11.1263 94.1980 0.0000
+vt 16.6894 94.1980 0.0000
+vt 22.2526 94.1980 0.0000
+vt 27.8157 94.1980 0.0000
+vt 33.3788 94.1980 0.0000
+vt 38.9420 94.1980 0.0000
+vt 44.5051 94.1980 0.0000
+vt 50.0683 94.1980 0.0000
+vt 55.6314 94.1980 0.0000
+vt 61.1945 94.1980 0.0000
+vt 66.7577 94.1980 0.0000
+vt 72.3208 94.1980 0.0000
+vt 77.8840 94.1980 0.0000
+vt 83.4471 94.1980 0.0000
+vt 89.0103 94.1980 0.0000
+vt 94.5734 94.1980 0.0000
+vt 100.1365 94.1980 0.0000
+vt 105.6997 94.1980 0.0000
+vt 111.2628 94.1980 0.0000
+vt 116.8260 94.1980 0.0000
+vt 122.3891 94.1980 0.0000
+vt 127.9522 94.1980 0.0000
+vt 133.5154 94.1980 0.0000
+vt 139.0785 94.1980 0.0000
+vt 144.6416 94.1980 0.0000
+vt 150.2048 94.1980 0.0000
+vt 155.7679 94.1980 0.0000
+vt 161.3310 94.1980 0.0000
+vt 166.8942 94.1980 0.0000
+vt 172.4573 94.1980 0.0000
+vt 178.0204 94.1980 0.0000
+vt 183.5836 94.1980 0.0000
+vt 189.1467 94.1980 0.0000
+vt 194.7098 94.1980 0.0000
+vt 200.2730 94.1980 0.0000
+vt 205.8361 94.1980 0.0000
+vt 211.3992 94.1980 0.0000
+vt 216.9624 94.1980 0.0000
+vt 222.5255 94.1980 0.0000
+vt 5.5631 100.4778 0.0000
+vt 0.0000 100.4778 0.0000
+vt 11.1263 100.4778 0.0000
+vt 16.6894 100.4778 0.0000
+vt 22.2526 100.4778 0.0000
+vt 27.8157 100.4778 0.0000
+vt 33.3788 100.4778 0.0000
+vt 38.9420 100.4778 0.0000
+vt 44.5051 100.4778 0.0000
+vt 50.0683 100.4778 0.0000
+vt 55.6314 100.4778 0.0000
+vt 61.1945 100.4778 0.0000
+vt 66.7577 100.4778 0.0000
+vt 72.3208 100.4778 0.0000
+vt 77.8840 100.4778 0.0000
+vt 83.4471 100.4778 0.0000
+vt 89.0103 100.4778 0.0000
+vt 94.5734 100.4778 0.0000
+vt 100.1365 100.4778 0.0000
+vt 105.6997 100.4778 0.0000
+vt 111.2628 100.4778 0.0000
+vt 116.8260 100.4778 0.0000
+vt 122.3891 100.4778 0.0000
+vt 127.9522 100.4778 0.0000
+vt 133.5154 100.4778 0.0000
+vt 139.0785 100.4778 0.0000
+vt 144.6416 100.4778 0.0000
+vt 150.2048 100.4778 0.0000
+vt 155.7679 100.4778 0.0000
+vt 161.3310 100.4778 0.0000
+vt 166.8942 100.4778 0.0000
+vt 172.4573 100.4778 0.0000
+vt 178.0204 100.4778 0.0000
+vt 183.5836 100.4778 0.0000
+vt 189.1467 100.4778 0.0000
+vt 194.7098 100.4778 0.0000
+vt 200.2730 100.4778 0.0000
+vt 205.8361 100.4778 0.0000
+vt 211.3992 100.4778 0.0000
+vt 216.9624 100.4778 0.0000
+vt 222.5255 100.4778 0.0000
+vt 5.5631 106.7577 0.0000
+vt 0.0000 106.7577 0.0000
+vt 11.1263 106.7577 0.0000
+vt 16.6894 106.7577 0.0000
+vt 22.2526 106.7577 0.0000
+vt 27.8157 106.7577 0.0000
+vt 33.3788 106.7577 0.0000
+vt 38.9420 106.7577 0.0000
+vt 44.5051 106.7577 0.0000
+vt 50.0683 106.7577 0.0000
+vt 55.6314 106.7577 0.0000
+vt 61.1945 106.7577 0.0000
+vt 66.7577 106.7577 0.0000
+vt 72.3208 106.7577 0.0000
+vt 77.8840 106.7577 0.0000
+vt 83.4471 106.7577 0.0000
+vt 89.0103 106.7577 0.0000
+vt 94.5734 106.7577 0.0000
+vt 100.1365 106.7577 0.0000
+vt 105.6997 106.7577 0.0000
+vt 111.2628 106.7577 0.0000
+vt 116.8260 106.7577 0.0000
+vt 122.3891 106.7577 0.0000
+vt 127.9522 106.7577 0.0000
+vt 133.5154 106.7577 0.0000
+vt 139.0785 106.7577 0.0000
+vt 144.6416 106.7577 0.0000
+vt 150.2048 106.7577 0.0000
+vt 155.7679 106.7577 0.0000
+vt 161.3310 106.7577 0.0000
+vt 166.8942 106.7577 0.0000
+vt 172.4573 106.7577 0.0000
+vt 178.0204 106.7577 0.0000
+vt 183.5836 106.7577 0.0000
+vt 189.1467 106.7577 0.0000
+vt 194.7098 106.7577 0.0000
+vt 200.2730 106.7577 0.0000
+vt 205.8361 106.7577 0.0000
+vt 211.3992 106.7577 0.0000
+vt 216.9624 106.7577 0.0000
+vt 222.5255 106.7577 0.0000
+vt 5.5631 113.0376 0.0000
+vt 0.0000 113.0376 0.0000
+vt 11.1263 113.0376 0.0000
+vt 16.6894 113.0376 0.0000
+vt 22.2526 113.0376 0.0000
+vt 27.8157 113.0376 0.0000
+vt 33.3788 113.0376 0.0000
+vt 38.9420 113.0376 0.0000
+vt 44.5051 113.0376 0.0000
+vt 50.0683 113.0376 0.0000
+vt 55.6314 113.0376 0.0000
+vt 61.1945 113.0376 0.0000
+vt 66.7577 113.0376 0.0000
+vt 72.3208 113.0376 0.0000
+vt 77.8840 113.0376 0.0000
+vt 83.4471 113.0376 0.0000
+vt 89.0103 113.0376 0.0000
+vt 94.5734 113.0376 0.0000
+vt 100.1365 113.0376 0.0000
+vt 105.6997 113.0376 0.0000
+vt 111.2628 113.0376 0.0000
+vt 116.8260 113.0376 0.0000
+vt 122.3891 113.0376 0.0000
+vt 127.9522 113.0376 0.0000
+vt 133.5154 113.0376 0.0000
+vt 139.0785 113.0376 0.0000
+vt 144.6416 113.0376 0.0000
+vt 150.2048 113.0376 0.0000
+vt 155.7679 113.0376 0.0000
+vt 161.3310 113.0376 0.0000
+vt 166.8942 113.0376 0.0000
+vt 172.4573 113.0376 0.0000
+vt 178.0204 113.0376 0.0000
+vt 183.5836 113.0376 0.0000
+vt 189.1467 113.0376 0.0000
+vt 194.7098 113.0376 0.0000
+vt 200.2730 113.0376 0.0000
+vt 205.8361 113.0376 0.0000
+vt 211.3992 113.0376 0.0000
+vt 216.9624 113.0376 0.0000
+vt 222.5255 113.0376 0.0000
+vt 5.5631 119.3174 0.0000
+vt 0.0000 119.3174 0.0000
+vt 11.1263 119.3174 0.0000
+vt 16.6894 119.3174 0.0000
+vt 22.2526 119.3174 0.0000
+vt 27.8157 119.3174 0.0000
+vt 33.3788 119.3174 0.0000
+vt 38.9420 119.3174 0.0000
+vt 44.5051 119.3174 0.0000
+vt 50.0683 119.3174 0.0000
+vt 55.6314 119.3174 0.0000
+vt 61.1945 119.3174 0.0000
+vt 66.7577 119.3174 0.0000
+vt 72.3208 119.3174 0.0000
+vt 77.8840 119.3174 0.0000
+vt 83.4471 119.3174 0.0000
+vt 89.0103 119.3174 0.0000
+vt 94.5734 119.3174 0.0000
+vt 100.1365 119.3174 0.0000
+vt 105.6997 119.3174 0.0000
+vt 111.2628 119.3174 0.0000
+vt 116.8260 119.3174 0.0000
+vt 122.3891 119.3174 0.0000
+vt 127.9522 119.3174 0.0000
+vt 133.5154 119.3174 0.0000
+vt 139.0785 119.3174 0.0000
+vt 144.6416 119.3174 0.0000
+vt 150.2048 119.3174 0.0000
+vt 155.7679 119.3174 0.0000
+vt 161.3310 119.3174 0.0000
+vt 166.8942 119.3174 0.0000
+vt 172.4573 119.3174 0.0000
+vt 178.0204 119.3174 0.0000
+vt 183.5836 119.3174 0.0000
+vt 189.1467 119.3174 0.0000
+vt 194.7098 119.3174 0.0000
+vt 200.2730 119.3174 0.0000
+vt 205.8361 119.3174 0.0000
+vt 211.3992 119.3174 0.0000
+vt 216.9624 119.3174 0.0000
+vt 222.5255 119.3174 0.0000
+vt 5.5631 125.5973 0.0000
+vt 0.0000 125.5973 0.0000
+vt 11.1263 125.5973 0.0000
+vt 16.6894 125.5973 0.0000
+vt 22.2526 125.5973 0.0000
+vt 27.8157 125.5973 0.0000
+vt 33.3788 125.5973 0.0000
+vt 38.9420 125.5973 0.0000
+vt 44.5051 125.5973 0.0000
+vt 50.0683 125.5973 0.0000
+vt 55.6314 125.5973 0.0000
+vt 61.1945 125.5973 0.0000
+vt 66.7577 125.5973 0.0000
+vt 72.3208 125.5973 0.0000
+vt 77.8840 125.5973 0.0000
+vt 83.4471 125.5973 0.0000
+vt 89.0103 125.5973 0.0000
+vt 94.5734 125.5973 0.0000
+vt 100.1365 125.5973 0.0000
+vt 105.6997 125.5973 0.0000
+vt 111.2628 125.5973 0.0000
+vt 116.8260 125.5973 0.0000
+vt 122.3891 125.5973 0.0000
+vt 127.9522 125.5973 0.0000
+vt 133.5154 125.5973 0.0000
+vt 139.0785 125.5973 0.0000
+vt 144.6416 125.5973 0.0000
+vt 150.2048 125.5973 0.0000
+vt 155.7679 125.5973 0.0000
+vt 161.3310 125.5973 0.0000
+vt 166.8942 125.5973 0.0000
+vt 172.4573 125.5973 0.0000
+vt 178.0204 125.5973 0.0000
+vt 183.5836 125.5973 0.0000
+vt 189.1467 125.5973 0.0000
+vt 194.7098 125.5973 0.0000
+vt 200.2730 125.5973 0.0000
+vt 205.8361 125.5973 0.0000
+vt 211.3992 125.5973 0.0000
+vt 216.9624 125.5973 0.0000
+vt 222.5255 125.5973 0.0000
+# 861 texture coords
+
+g Plane01
+usemtl wire_228214153
+s 1
+f 1/1/1 2/2/2 3/3/2 4/4/3
+f 2/2/2 5/5/4 6/6/4 3/3/2
+f 5/5/4 7/7/5 8/8/5 6/6/4
+f 7/7/5 9/9/6 10/10/7 8/8/5
+f 9/9/6 11/11/8 12/12/8 10/10/7
+f 11/11/8 13/13/9 14/14/9 12/12/8
+f 13/13/9 15/15/10 16/16/10 14/14/9
+f 15/15/10 17/17/11 18/18/11 16/16/10
+f 17/17/11 19/19/12 20/20/12 18/18/11
+f 19/19/12 21/21/13 22/22/13 20/20/12
+f 21/21/13 23/23/14 24/24/14 22/22/13
+f 23/23/14 25/25/15 26/26/15 24/24/14
+f 25/25/15 27/27/16 28/28/16 26/26/15
+f 27/27/16 29/29/16 30/30/16 28/28/16
+f 29/29/16 31/31/16 32/32/16 30/30/16
+f 31/31/16 33/33/16 34/34/16 32/32/16
+f 33/33/16 35/35/16 36/36/16 34/34/16
+f 35/35/16 37/37/16 38/38/16 36/36/16
+f 37/37/16 39/39/16 40/40/16 38/38/16
+f 39/39/16 41/41/16 42/42/16 40/40/16
+f 41/41/16 43/43/16 44/44/16 42/42/16
+f 43/43/16 45/45/16 46/46/16 44/44/16
+f 45/45/16 47/47/16 48/48/16 46/46/16
+f 47/47/16 49/49/16 50/50/16 48/48/16
+f 49/49/16 51/51/16 52/52/16 50/50/16
+f 51/51/16 53/53/16 54/54/16 52/52/16
+f 53/53/16 55/55/16 56/56/16 54/54/16
+f 55/55/16 57/57/16 58/58/16 56/56/16
+f 57/57/16 59/59/16 60/60/16 58/58/16
+f 59/59/16 61/61/16 62/62/16 60/60/16
+f 61/61/16 63/63/16 64/64/16 62/62/16
+f 63/63/16 65/65/16 66/66/16 64/64/16
+f 65/65/16 67/67/16 68/68/16 66/66/16
+f 67/67/16 69/69/16 70/70/16 68/68/16
+f 69/69/16 71/71/16 72/72/16 70/70/16
+f 71/71/16 73/73/16 74/74/16 72/72/16
+f 73/73/16 75/75/16 76/76/16 74/74/16
+f 75/75/16 77/77/16 78/78/16 76/76/16
+f 77/77/16 79/79/16 80/80/16 78/78/16
+f 79/79/16 81/81/16 82/82/16 80/80/16
+f 4/4/3 3/3/2 83/83/2 84/84/1
+f 3/3/2 6/6/4 85/85/4 83/83/2
+f 6/6/4 8/8/5 86/86/17 85/85/4
+f 8/8/5 10/10/7 87/87/7 86/86/17
+f 10/10/7 12/12/8 88/88/8 87/87/7
+f 12/12/8 14/14/9 89/89/9 88/88/8
+f 14/14/9 16/16/10 90/90/10 89/89/9
+f 16/16/10 18/18/11 91/91/11 90/90/10
+f 18/18/11 20/20/12 92/92/12 91/91/11
+f 20/20/12 22/22/13 93/93/13 92/92/12
+f 22/22/13 24/24/14 94/94/14 93/93/13
+f 24/24/14 26/26/15 95/95/15 94/94/14
+f 26/26/15 28/28/16 96/96/16 95/95/15
+f 28/28/16 30/30/16 97/97/16 96/96/16
+f 30/30/16 32/32/16 98/98/16 97/97/16
+f 32/32/16 34/34/16 99/99/16 98/98/16
+f 34/34/16 36/36/16 100/100/16 99/99/16
+f 36/36/16 38/38/16 101/101/16 100/100/16
+f 38/38/16 40/40/16 102/102/16 101/101/16
+f 40/40/16 42/42/16 103/103/16 102/102/16
+f 42/42/16 44/44/16 104/104/16 103/103/16
+f 44/44/16 46/46/16 105/105/16 104/104/16
+f 46/46/16 48/48/16 106/106/16 105/105/16
+f 48/48/16 50/50/16 107/107/16 106/106/16
+f 50/50/16 52/52/16 108/108/16 107/107/16
+f 52/52/16 54/54/16 109/109/16 108/108/16
+f 54/54/16 56/56/16 110/110/16 109/109/16
+f 56/56/16 58/58/16 111/111/16 110/110/16
+f 58/58/16 60/60/16 112/112/16 111/111/16
+f 60/60/16 62/62/16 113/113/16 112/112/16
+f 62/62/16 64/64/16 114/114/16 113/113/16
+f 64/64/16 66/66/16 115/115/16 114/114/16
+f 66/66/16 68/68/16 116/116/16 115/115/16
+f 68/68/16 70/70/16 117/117/16 116/116/16
+f 70/70/16 72/72/16 118/118/16 117/117/16
+f 72/72/16 74/74/16 119/119/16 118/118/16
+f 74/74/16 76/76/16 120/120/16 119/119/16
+f 76/76/16 78/78/16 121/121/16 120/120/16
+f 78/78/16 80/80/16 122/122/16 121/121/16
+f 80/80/16 82/82/16 123/123/16 122/122/16
+f 84/84/1 83/83/2 124/124/18 125/125/1
+f 83/83/2 85/85/4 126/126/19 124/124/18
+f 85/85/4 86/86/17 127/127/17 126/126/19
+f 86/86/17 87/87/7 128/128/6 127/127/17
+f 87/87/7 88/88/8 129/129/20 128/128/6
+f 88/88/8 89/89/9 130/130/21 129/129/20
+f 89/89/9 90/90/10 131/131/10 130/130/21
+f 90/90/10 91/91/11 132/132/11 131/131/10
+f 91/91/11 92/92/12 133/133/12 132/132/11
+f 92/92/12 93/93/13 134/134/13 133/133/12
+f 93/93/13 94/94/14 135/135/14 134/134/13
+f 94/94/14 95/95/15 136/136/15 135/135/14
+f 95/95/15 96/96/16 137/137/16 136/136/15
+f 96/96/16 97/97/16 138/138/16 137/137/16
+f 97/97/16 98/98/16 139/139/16 138/138/16
+f 98/98/16 99/99/16 140/140/16 139/139/16
+f 99/99/16 100/100/16 141/141/16 140/140/16
+f 100/100/16 101/101/16 142/142/16 141/141/16
+f 101/101/16 102/102/16 143/143/16 142/142/16
+f 102/102/16 103/103/16 144/144/16 143/143/16
+f 103/103/16 104/104/16 145/145/16 144/144/16
+f 104/104/16 105/105/16 146/146/16 145/145/16
+f 105/105/16 106/106/16 147/147/16 146/146/16
+f 106/106/16 107/107/16 148/148/16 147/147/16
+f 107/107/16 108/108/16 149/149/16 148/148/16
+f 108/108/16 109/109/16 150/150/16 149/149/16
+f 109/109/16 110/110/16 151/151/16 150/150/16
+f 110/110/16 111/111/16 152/152/16 151/151/16
+f 111/111/16 112/112/16 153/153/16 152/152/16
+f 112/112/16 113/113/16 154/154/16 153/153/16
+f 113/113/16 114/114/16 155/155/16 154/154/16
+f 114/114/16 115/115/16 156/156/16 155/155/16
+f 115/115/16 116/116/16 157/157/16 156/156/16
+f 116/116/16 117/117/16 158/158/16 157/157/16
+f 117/117/16 118/118/16 159/159/16 158/158/16
+f 118/118/16 119/119/16 160/160/16 159/159/16
+f 119/119/16 120/120/16 161/161/16 160/160/16
+f 120/120/16 121/121/16 162/162/16 161/161/16
+f 121/121/16 122/122/16 163/163/16 162/162/16
+f 122/122/16 123/123/16 164/164/16 163/163/16
+f 125/125/1 124/124/18 165/165/18 166/166/1
+f 124/124/18 126/126/19 167/167/19 165/165/18
+f 126/126/19 127/127/17 168/168/17 167/167/19
+f 127/127/17 128/128/6 169/169/6 168/168/17
+f 128/128/6 129/129/20 170/170/8 169/169/6
+f 129/129/20 130/130/21 171/171/9 170/170/8
+f 130/130/21 131/131/10 172/172/10 171/171/9
+f 131/131/10 132/132/11 173/173/11 172/172/10
+f 132/132/11 133/133/12 174/174/12 173/173/11
+f 133/133/12 134/134/13 175/175/13 174/174/12
+f 134/134/13 135/135/14 176/176/14 175/175/13
+f 135/135/14 136/136/15 177/177/15 176/176/14
+f 136/136/15 137/137/16 178/178/16 177/177/15
+f 137/137/16 138/138/16 179/179/16 178/178/16
+f 138/138/16 139/139/16 180/180/16 179/179/16
+f 139/139/16 140/140/16 181/181/16 180/180/16
+f 140/140/16 141/141/16 182/182/16 181/181/16
+f 141/141/16 142/142/16 183/183/16 182/182/16
+f 142/142/16 143/143/16 184/184/16 183/183/16
+f 143/143/16 144/144/16 185/185/16 184/184/16
+f 144/144/16 145/145/16 186/186/16 185/185/16
+f 145/145/16 146/146/16 187/187/16 186/186/16
+f 146/146/16 147/147/16 188/188/16 187/187/16
+f 147/147/16 148/148/16 189/189/16 188/188/16
+f 148/148/16 149/149/16 190/190/16 189/189/16
+f 149/149/16 150/150/16 191/191/16 190/190/16
+f 150/150/16 151/151/16 192/192/16 191/191/16
+f 151/151/16 152/152/16 193/193/16 192/192/16
+f 152/152/16 153/153/16 194/194/16 193/193/16
+f 153/153/16 154/154/16 195/195/16 194/194/16
+f 154/154/16 155/155/16 196/196/16 195/195/16
+f 155/155/16 156/156/16 197/197/16 196/196/16
+f 156/156/16 157/157/16 198/198/16 197/197/16
+f 157/157/16 158/158/16 199/199/16 198/198/16
+f 158/158/16 159/159/16 200/200/16 199/199/16
+f 159/159/16 160/160/16 201/201/16 200/200/16
+f 160/160/16 161/161/16 202/202/16 201/201/16
+f 161/161/16 162/162/16 203/203/16 202/202/16
+f 162/162/16 163/163/16 204/204/16 203/203/16
+f 163/163/16 164/164/16 205/205/16 204/204/16
+f 166/166/1 165/165/18 206/206/2 207/207/1
+f 165/165/18 167/167/19 208/208/4 206/206/2
+f 167/167/19 168/168/17 209/209/5 208/208/4
+f 168/168/17 169/169/6 210/210/6 209/209/5
+f 169/169/6 170/170/8 211/211/8 210/210/6
+f 170/170/8 171/171/9 212/212/9 211/211/8
+f 171/171/9 172/172/10 213/213/10 212/212/9
+f 172/172/10 173/173/11 214/214/11 213/213/10
+f 173/173/11 174/174/12 215/215/12 214/214/11
+f 174/174/12 175/175/13 216/216/13 215/215/12
+f 175/175/13 176/176/14 217/217/14 216/216/13
+f 176/176/14 177/177/15 218/218/15 217/217/14
+f 177/177/15 178/178/16 219/219/16 218/218/15
+f 178/178/16 179/179/16 220/220/16 219/219/16
+f 179/179/16 180/180/16 221/221/16 220/220/16
+f 180/180/16 181/181/16 222/222/16 221/221/16
+f 181/181/16 182/182/16 223/223/16 222/222/16
+f 182/182/16 183/183/16 224/224/16 223/223/16
+f 183/183/16 184/184/16 225/225/16 224/224/16
+f 184/184/16 185/185/16 226/226/16 225/225/16
+f 185/185/16 186/186/16 227/227/16 226/226/16
+f 186/186/16 187/187/16 228/228/16 227/227/16
+f 187/187/16 188/188/16 229/229/16 228/228/16
+f 188/188/16 189/189/16 230/230/16 229/229/16
+f 189/189/16 190/190/16 231/231/16 230/230/16
+f 190/190/16 191/191/16 232/232/16 231/231/16
+f 191/191/16 192/192/16 233/233/16 232/232/16
+f 192/192/16 193/193/16 234/234/16 233/233/16
+f 193/193/16 194/194/16 235/235/16 234/234/16
+f 194/194/16 195/195/16 236/236/16 235/235/16
+f 195/195/16 196/196/16 237/237/16 236/236/16
+f 196/196/16 197/197/16 238/238/16 237/237/16
+f 197/197/16 198/198/16 239/239/16 238/238/16
+f 198/198/16 199/199/16 240/240/16 239/239/16
+f 199/199/16 200/200/16 241/241/16 240/240/16
+f 200/200/16 201/201/16 242/242/16 241/241/16
+f 201/201/16 202/202/16 243/243/16 242/242/16
+f 202/202/16 203/203/16 244/244/16 243/243/16
+f 203/203/16 204/204/16 245/245/16 244/244/16
+f 204/204/16 205/205/16 246/246/16 245/245/16
+f 207/207/1 206/206/2 247/247/18 248/248/1
+f 206/206/2 208/208/4 249/249/19 247/247/18
+f 208/208/4 209/209/5 250/250/17 249/249/19
+f 209/209/5 210/210/6 251/251/7 250/250/17
+f 210/210/6 211/211/8 252/252/20 251/251/7
+f 211/211/8 212/212/9 253/253/9 252/252/20
+f 212/212/9 213/213/10 254/254/10 253/253/9
+f 213/213/10 214/214/11 255/255/11 254/254/10
+f 214/214/11 215/215/12 256/256/12 255/255/11
+f 215/215/12 216/216/13 257/257/13 256/256/12
+f 216/216/13 217/217/14 258/258/14 257/257/13
+f 217/217/14 218/218/15 259/259/15 258/258/14
+f 218/218/15 219/219/16 260/260/16 259/259/15
+f 219/219/16 220/220/16 261/261/16 260/260/16
+f 220/220/16 221/221/16 262/262/16 261/261/16
+f 221/221/16 222/222/16 263/263/16 262/262/16
+f 222/222/16 223/223/16 264/264/16 263/263/16
+f 223/223/16 224/224/16 265/265/16 264/264/16
+f 224/224/16 225/225/16 266/266/16 265/265/16
+f 225/225/16 226/226/16 267/267/16 266/266/16
+f 226/226/16 227/227/16 268/268/16 267/267/16
+f 227/227/16 228/228/16 269/269/16 268/268/16
+f 228/228/16 229/229/16 270/270/16 269/269/16
+f 229/229/16 230/230/16 271/271/16 270/270/16
+f 230/230/16 231/231/16 272/272/16 271/271/16
+f 231/231/16 232/232/16 273/273/16 272/272/16
+f 232/232/16 233/233/16 274/274/16 273/273/16
+f 233/233/16 234/234/16 275/275/16 274/274/16
+f 234/234/16 235/235/16 276/276/16 275/275/16
+f 235/235/16 236/236/16 277/277/16 276/276/16
+f 236/236/16 237/237/16 278/278/16 277/277/16
+f 237/237/16 238/238/16 279/279/16 278/278/16
+f 238/238/16 239/239/16 280/280/16 279/279/16
+f 239/239/16 240/240/16 281/281/16 280/280/16
+f 240/240/16 241/241/16 282/282/16 281/281/16
+f 241/241/16 242/242/16 283/283/16 282/282/16
+f 242/242/16 243/243/16 284/284/16 283/283/16
+f 243/243/16 244/244/16 285/285/16 284/284/16
+f 244/244/16 245/245/16 286/286/16 285/285/16
+f 245/245/16 246/246/16 287/287/16 286/286/16
+f 248/248/1 247/247/18 288/288/2 289/289/1
+f 247/247/18 249/249/19 290/290/19 288/288/2
+f 249/249/19 250/250/17 291/291/17 290/290/19
+f 250/250/17 251/251/7 292/292/6 291/291/17
+f 251/251/7 252/252/20 293/293/20 292/292/6
+f 252/252/20 253/253/9 294/294/21 293/293/20
+f 253/253/9 254/254/10 295/295/10 294/294/21
+f 254/254/10 255/255/11 296/296/11 295/295/10
+f 255/255/11 256/256/12 297/297/12 296/296/11
+f 256/256/12 257/257/13 298/298/13 297/297/12
+f 257/257/13 258/258/14 299/299/14 298/298/13
+f 258/258/14 259/259/15 300/300/15 299/299/14
+f 259/259/15 260/260/16 301/301/16 300/300/15
+f 260/260/16 261/261/16 302/302/16 301/301/16
+f 261/261/16 262/262/16 303/303/16 302/302/16
+f 262/262/16 263/263/16 304/304/16 303/303/16
+f 263/263/16 264/264/16 305/305/16 304/304/16
+f 264/264/16 265/265/16 306/306/16 305/305/16
+f 265/265/16 266/266/16 307/307/16 306/306/16
+f 266/266/16 267/267/16 308/308/16 307/307/16
+f 267/267/16 268/268/16 309/309/16 308/308/16
+f 268/268/16 269/269/16 310/310/16 309/309/16
+f 269/269/16 270/270/16 311/311/16 310/310/16
+f 270/270/16 271/271/16 312/312/16 311/311/16
+f 271/271/16 272/272/16 313/313/16 312/312/16
+f 272/272/16 273/273/16 314/314/16 313/313/16
+f 273/273/16 274/274/16 315/315/16 314/314/16
+f 274/274/16 275/275/16 316/316/16 315/315/16
+f 275/275/16 276/276/16 317/317/16 316/316/16
+f 276/276/16 277/277/16 318/318/16 317/317/16
+f 277/277/16 278/278/16 319/319/16 318/318/16
+f 278/278/16 279/279/16 320/320/16 319/319/16
+f 279/279/16 280/280/16 321/321/16 320/320/16
+f 280/280/16 281/281/16 322/322/16 321/321/16
+f 281/281/16 282/282/16 323/323/16 322/322/16
+f 282/282/16 283/283/16 324/324/16 323/323/16
+f 283/283/16 284/284/16 325/325/16 324/324/16
+f 284/284/16 285/285/16 326/326/16 325/325/16
+f 285/285/16 286/286/16 327/327/16 326/326/16
+f 286/286/16 287/287/16 328/328/16 327/327/16
+f 289/289/1 288/288/2 329/329/18 330/330/1
+f 288/288/2 290/290/19 331/331/4 329/329/18
+f 290/290/19 291/291/17 332/332/5 331/331/4
+f 291/291/17 292/292/6 333/333/7 332/332/5
+f 292/292/6 293/293/20 334/334/8 333/333/7
+f 293/293/20 294/294/21 335/335/9 334/334/8
+f 294/294/21 295/295/10 336/336/10 335/335/9
+f 295/295/10 296/296/11 337/337/11 336/336/10
+f 296/296/11 297/297/12 338/338/12 337/337/11
+f 297/297/12 298/298/13 339/339/13 338/338/12
+f 298/298/13 299/299/14 340/340/14 339/339/13
+f 299/299/14 300/300/15 341/341/15 340/340/14
+f 300/300/15 301/301/16 342/342/16 341/341/15
+f 301/301/16 302/302/16 343/343/16 342/342/16
+f 302/302/16 303/303/16 344/344/16 343/343/16
+f 303/303/16 304/304/16 345/345/16 344/344/16
+f 304/304/16 305/305/16 346/346/16 345/345/16
+f 305/305/16 306/306/16 347/347/16 346/346/16
+f 306/306/16 307/307/16 348/348/16 347/347/16
+f 307/307/16 308/308/16 349/349/16 348/348/16
+f 308/308/16 309/309/16 350/350/16 349/349/16
+f 309/309/16 310/310/16 351/351/16 350/350/16
+f 310/310/16 311/311/16 352/352/16 351/351/16
+f 311/311/16 312/312/16 353/353/16 352/352/16
+f 312/312/16 313/313/16 354/354/16 353/353/16
+f 313/313/16 314/314/16 355/355/16 354/354/16
+f 314/314/16 315/315/16 356/356/16 355/355/16
+f 315/315/16 316/316/16 357/357/16 356/356/16
+f 316/316/16 317/317/16 358/358/16 357/357/16
+f 317/317/16 318/318/16 359/359/16 358/358/16
+f 318/318/16 319/319/16 360/360/16 359/359/16
+f 319/319/16 320/320/16 361/361/16 360/360/16
+f 320/320/16 321/321/16 362/362/16 361/361/16
+f 321/321/16 322/322/16 363/363/16 362/362/16
+f 322/322/16 323/323/16 364/364/16 363/363/16
+f 323/323/16 324/324/16 365/365/16 364/364/16
+f 324/324/16 325/325/16 366/366/16 365/365/16
+f 325/325/16 326/326/16 367/367/16 366/366/16
+f 326/326/16 327/327/16 368/368/16 367/367/16
+f 327/327/16 328/328/16 369/369/16 368/368/16
+f 330/330/1 329/329/18 370/370/2 371/371/3
+f 329/329/18 331/331/4 372/372/19 370/370/2
+f 331/331/4 332/332/5 373/373/17 372/372/19
+f 332/332/5 333/333/7 374/374/7 373/373/17
+f 333/333/7 334/334/8 375/375/8 374/374/7
+f 334/334/8 335/335/9 376/376/9 375/375/8
+f 335/335/9 336/336/10 377/377/10 376/376/9
+f 336/336/10 337/337/11 378/378/11 377/377/10
+f 337/337/11 338/338/12 379/379/12 378/378/11
+f 338/338/12 339/339/13 380/380/13 379/379/12
+f 339/339/13 340/340/14 381/381/14 380/380/13
+f 340/340/14 341/341/15 382/382/15 381/381/14
+f 341/341/15 342/342/16 383/383/16 382/382/15
+f 342/342/16 343/343/16 384/384/16 383/383/16
+f 343/343/16 344/344/16 385/385/16 384/384/16
+f 344/344/16 345/345/16 386/386/16 385/385/16
+f 345/345/16 346/346/16 387/387/16 386/386/16
+f 346/346/16 347/347/16 388/388/16 387/387/16
+f 347/347/16 348/348/16 389/389/16 388/388/16
+f 348/348/16 349/349/16 390/390/16 389/389/16
+f 349/349/16 350/350/16 391/391/16 390/390/16
+f 350/350/16 351/351/16 392/392/16 391/391/16
+f 351/351/16 352/352/16 393/393/16 392/392/16
+f 352/352/16 353/353/16 394/394/16 393/393/16
+f 353/353/16 354/354/16 395/395/16 394/394/16
+f 354/354/16 355/355/16 396/396/16 395/395/16
+f 355/355/16 356/356/16 397/397/16 396/396/16
+f 356/356/16 357/357/16 398/398/16 397/397/16
+f 357/357/16 358/358/16 399/399/16 398/398/16
+f 358/358/16 359/359/16 400/400/16 399/399/16
+f 359/359/16 360/360/16 401/401/16 400/400/16
+f 360/360/16 361/361/16 402/402/16 401/401/16
+f 361/361/16 362/362/16 403/403/16 402/402/16
+f 362/362/16 363/363/16 404/404/16 403/403/16
+f 363/363/16 364/364/16 405/405/16 404/404/16
+f 364/364/16 365/365/16 406/406/16 405/405/16
+f 365/365/16 366/366/16 407/407/16 406/406/16
+f 366/366/16 367/367/16 408/408/16 407/407/16
+f 367/367/16 368/368/16 409/409/16 408/408/16
+f 368/368/16 369/369/16 410/410/16 409/409/16
+f 371/371/3 370/370/2 411/411/2 412/412/3
+f 370/370/2 372/372/19 413/413/4 411/411/2
+f 372/372/19 373/373/17 414/414/17 413/413/4
+f 373/373/17 374/374/7 415/415/6 414/414/17
+f 374/374/7 375/375/8 416/416/20 415/415/6
+f 375/375/8 376/376/9 417/417/21 416/416/20
+f 376/376/9 377/377/10 418/418/10 417/417/21
+f 377/377/10 378/378/11 419/419/11 418/418/10
+f 378/378/11 379/379/12 420/420/12 419/419/11
+f 379/379/12 380/380/13 421/421/13 420/420/12
+f 380/380/13 381/381/14 422/422/14 421/421/13
+f 381/381/14 382/382/15 423/423/15 422/422/14
+f 382/382/15 383/383/16 424/424/16 423/423/15
+f 383/383/16 384/384/16 425/425/16 424/424/16
+f 384/384/16 385/385/16 426/426/16 425/425/16
+f 385/385/16 386/386/16 427/427/16 426/426/16
+f 386/386/16 387/387/16 428/428/16 427/427/16
+f 387/387/16 388/388/16 429/429/16 428/428/16
+f 388/388/16 389/389/16 430/430/16 429/429/16
+f 389/389/16 390/390/16 431/431/16 430/430/16
+f 390/390/16 391/391/16 432/432/16 431/431/16
+f 391/391/16 392/392/16 433/433/16 432/432/16
+f 392/392/16 393/393/16 434/434/16 433/433/16
+f 393/393/16 394/394/16 435/435/16 434/434/16
+f 394/394/16 395/395/16 436/436/16 435/435/16
+f 395/395/16 396/396/16 437/437/16 436/436/16
+f 396/396/16 397/397/16 438/438/16 437/437/16
+f 397/397/16 398/398/16 439/439/16 438/438/16
+f 398/398/16 399/399/16 440/440/16 439/439/16
+f 399/399/16 400/400/16 441/441/16 440/440/16
+f 400/400/16 401/401/16 442/442/16 441/441/16
+f 401/401/16 402/402/16 443/443/16 442/442/16
+f 402/402/16 403/403/16 444/444/16 443/443/16
+f 403/403/16 404/404/16 445/445/16 444/444/16
+f 404/404/16 405/405/16 446/446/16 445/445/16
+f 405/405/16 406/406/16 447/447/16 446/446/16
+f 406/406/16 407/407/16 448/448/16 447/447/16
+f 407/407/16 408/408/16 449/449/16 448/448/16
+f 408/408/16 409/409/16 450/450/16 449/449/16
+f 409/409/16 410/410/16 451/451/16 450/450/16
+f 412/412/3 411/411/2 452/452/2 453/453/3
+f 411/411/2 413/413/4 454/454/19 452/452/2
+f 413/413/4 414/414/17 455/455/17 454/454/19
+f 414/414/17 415/415/6 456/456/6 455/455/17
+f 415/415/6 416/416/20 457/457/8 456/456/6
+f 416/416/20 417/417/21 458/458/9 457/457/8
+f 417/417/21 418/418/10 459/459/10 458/458/9
+f 418/418/10 419/419/11 460/460/11 459/459/10
+f 419/419/11 420/420/12 461/461/12 460/460/11
+f 420/420/12 421/421/13 462/462/13 461/461/12
+f 421/421/13 422/422/14 463/463/14 462/462/13
+f 422/422/14 423/423/15 464/464/15 463/463/14
+f 423/423/15 424/424/16 465/465/16 464/464/15
+f 424/424/16 425/425/16 466/466/16 465/465/16
+f 425/425/16 426/426/16 467/467/16 466/466/16
+f 426/426/16 427/427/16 468/468/16 467/467/16
+f 427/427/16 428/428/16 469/469/16 468/468/16
+f 428/428/16 429/429/16 470/470/16 469/469/16
+f 429/429/16 430/430/16 471/471/16 470/470/16
+f 430/430/16 431/431/16 472/472/16 471/471/16
+f 431/431/16 432/432/16 473/473/16 472/472/16
+f 432/432/16 433/433/16 474/474/16 473/473/16
+f 433/433/16 434/434/16 475/475/16 474/474/16
+f 434/434/16 435/435/16 476/476/16 475/475/16
+f 435/435/16 436/436/16 477/477/16 476/476/16
+f 436/436/16 437/437/16 478/478/16 477/477/16
+f 437/437/16 438/438/16 479/479/16 478/478/16
+f 438/438/16 439/439/16 480/480/16 479/479/16
+f 439/439/16 440/440/16 481/481/16 480/480/16
+f 440/440/16 441/441/16 482/482/16 481/481/16
+f 441/441/16 442/442/16 483/483/16 482/482/16
+f 442/442/16 443/443/16 484/484/16 483/483/16
+f 443/443/16 444/444/16 485/485/16 484/484/16
+f 444/444/16 445/445/16 486/486/16 485/485/16
+f 445/445/16 446/446/16 487/487/16 486/486/16
+f 446/446/16 447/447/16 488/488/16 487/487/16
+f 447/447/16 448/448/16 489/489/16 488/488/16
+f 448/448/16 449/449/16 490/490/16 489/489/16
+f 449/449/16 450/450/16 491/491/16 490/490/16
+f 450/450/16 451/451/16 492/492/16 491/491/16
+f 453/453/3 452/452/2 493/493/2 494/494/1
+f 452/452/2 454/454/19 495/495/4 493/493/2
+f 454/454/19 455/455/17 496/496/5 495/495/4
+f 455/455/17 456/456/6 497/497/6 496/496/5
+f 456/456/6 457/457/8 498/498/8 497/497/6
+f 457/457/8 458/458/9 499/499/9 498/498/8
+f 458/458/9 459/459/10 500/500/10 499/499/9
+f 459/459/10 460/460/11 501/501/11 500/500/10
+f 460/460/11 461/461/12 502/502/12 501/501/11
+f 461/461/12 462/462/13 503/503/13 502/502/12
+f 462/462/13 463/463/14 504/504/14 503/503/13
+f 463/463/14 464/464/15 505/505/15 504/504/14
+f 464/464/15 465/465/16 506/506/16 505/505/15
+f 465/465/16 466/466/16 507/507/16 506/506/16
+f 466/466/16 467/467/16 508/508/16 507/507/16
+f 467/467/16 468/468/16 509/509/16 508/508/16
+f 468/468/16 469/469/16 510/510/16 509/509/16
+f 469/469/16 470/470/16 511/511/16 510/510/16
+f 470/470/16 471/471/16 512/512/16 511/511/16
+f 471/471/16 472/472/16 513/513/16 512/512/16
+f 472/472/16 473/473/16 514/514/16 513/513/16
+f 473/473/16 474/474/16 515/515/16 514/514/16
+f 474/474/16 475/475/16 516/516/16 515/515/16
+f 475/475/16 476/476/16 517/517/16 516/516/16
+f 476/476/16 477/477/16 518/518/16 517/517/16
+f 477/477/16 478/478/16 519/519/16 518/518/16
+f 478/478/16 479/479/16 520/520/16 519/519/16
+f 479/479/16 480/480/16 521/521/16 520/520/16
+f 480/480/16 481/481/16 522/522/16 521/521/16
+f 481/481/16 482/482/16 523/523/16 522/522/16
+f 482/482/16 483/483/16 524/524/16 523/523/16
+f 483/483/16 484/484/16 525/525/16 524/524/16
+f 484/484/16 485/485/16 526/526/16 525/525/16
+f 485/485/16 486/486/16 527/527/16 526/526/16
+f 486/486/16 487/487/16 528/528/16 527/527/16
+f 487/487/16 488/488/16 529/529/16 528/528/16
+f 488/488/16 489/489/16 530/530/16 529/529/16
+f 489/489/16 490/490/16 531/531/16 530/530/16
+f 490/490/16 491/491/16 532/532/16 531/531/16
+f 491/491/16 492/492/16 533/533/16 532/532/16
+f 494/494/1 493/493/2 534/534/18 535/535/1
+f 493/493/2 495/495/4 536/536/19 534/534/18
+f 495/495/4 496/496/5 537/537/17 536/536/19
+f 496/496/5 497/497/6 538/538/7 537/537/17
+f 497/497/6 498/498/8 539/539/20 538/538/7
+f 498/498/8 499/499/9 540/540/9 539/539/20
+f 499/499/9 500/500/10 541/541/10 540/540/9
+f 500/500/10 501/501/11 542/542/11 541/541/10
+f 501/501/11 502/502/12 543/543/12 542/542/11
+f 502/502/12 503/503/13 544/544/13 543/543/12
+f 503/503/13 504/504/14 545/545/14 544/544/13
+f 504/504/14 505/505/15 546/546/15 545/545/14
+f 505/505/15 506/506/16 547/547/16 546/546/15
+f 506/506/16 507/507/16 548/548/16 547/547/16
+f 507/507/16 508/508/16 549/549/16 548/548/16
+f 508/508/16 509/509/16 550/550/16 549/549/16
+f 509/509/16 510/510/16 551/551/16 550/550/16
+f 510/510/16 511/511/16 552/552/16 551/551/16
+f 511/511/16 512/512/16 553/553/16 552/552/16
+f 512/512/16 513/513/16 554/554/16 553/553/16
+f 513/513/16 514/514/16 555/555/16 554/554/16
+f 514/514/16 515/515/16 556/556/16 555/555/16
+f 515/515/16 516/516/16 557/557/16 556/556/16
+f 516/516/16 517/517/16 558/558/16 557/557/16
+f 517/517/16 518/518/16 559/559/16 558/558/16
+f 518/518/16 519/519/16 560/560/16 559/559/16
+f 519/519/16 520/520/16 561/561/16 560/560/16
+f 520/520/16 521/521/16 562/562/16 561/561/16
+f 521/521/16 522/522/16 563/563/16 562/562/16
+f 522/522/16 523/523/16 564/564/16 563/563/16
+f 523/523/16 524/524/16 565/565/16 564/564/16
+f 524/524/16 525/525/16 566/566/16 565/565/16
+f 525/525/16 526/526/16 567/567/16 566/566/16
+f 526/526/16 527/527/16 568/568/16 567/567/16
+f 527/527/16 528/528/16 569/569/16 568/568/16
+f 528/528/16 529/529/16 570/570/16 569/569/16
+f 529/529/16 530/530/16 571/571/16 570/570/16
+f 530/530/16 531/531/16 572/572/16 571/571/16
+f 531/531/16 532/532/16 573/573/16 572/572/16
+f 532/532/16 533/533/16 574/574/16 573/573/16
+f 535/535/1 534/534/18 575/575/2 576/576/1
+f 534/534/18 536/536/19 577/577/19 575/575/2
+f 536/536/19 537/537/17 578/578/17 577/577/19
+f 537/537/17 538/538/7 579/579/7 578/578/17
+f 538/538/7 539/539/20 580/580/20 579/579/7
+f 539/539/20 540/540/9 581/581/21 580/580/20
+f 540/540/9 541/541/10 582/582/10 581/581/21
+f 541/541/10 542/542/11 583/583/11 582/582/10
+f 542/542/11 543/543/12 584/584/12 583/583/11
+f 543/543/12 544/544/13 585/585/13 584/584/12
+f 544/544/13 545/545/14 586/586/14 585/585/13
+f 545/545/14 546/546/15 587/587/15 586/586/14
+f 546/546/15 547/547/16 588/588/16 587/587/15
+f 547/547/16 548/548/16 589/589/16 588/588/16
+f 548/548/16 549/549/16 590/590/16 589/589/16
+f 549/549/16 550/550/16 591/591/16 590/590/16
+f 550/550/16 551/551/16 592/592/16 591/591/16
+f 551/551/16 552/552/16 593/593/16 592/592/16
+f 552/552/16 553/553/16 594/594/16 593/593/16
+f 553/553/16 554/554/16 595/595/16 594/594/16
+f 554/554/16 555/555/16 596/596/16 595/595/16
+f 555/555/16 556/556/16 597/597/16 596/596/16
+f 556/556/16 557/557/16 598/598/16 597/597/16
+f 557/557/16 558/558/16 599/599/16 598/598/16
+f 558/558/16 559/559/16 600/600/16 599/599/16
+f 559/559/16 560/560/16 601/601/16 600/600/16
+f 560/560/16 561/561/16 602/602/16 601/601/16
+f 561/561/16 562/562/16 603/603/16 602/602/16
+f 562/562/16 563/563/16 604/604/16 603/603/16
+f 563/563/16 564/564/16 605/605/16 604/604/16
+f 564/564/16 565/565/16 606/606/16 605/605/16
+f 565/565/16 566/566/16 607/607/16 606/606/16
+f 566/566/16 567/567/16 608/608/16 607/607/16
+f 567/567/16 568/568/16 609/609/16 608/608/16
+f 568/568/16 569/569/16 610/610/16 609/609/16
+f 569/569/16 570/570/16 611/611/16 610/610/16
+f 570/570/16 571/571/16 612/612/16 611/611/16
+f 571/571/16 572/572/16 613/613/16 612/612/16
+f 572/572/16 573/573/16 614/614/16 613/613/16
+f 573/573/16 574/574/16 615/615/16 614/614/16
+f 576/576/1 575/575/2 616/616/2 617/617/3
+f 575/575/2 577/577/19 618/618/4 616/616/2
+f 577/577/19 578/578/17 619/619/5 618/618/4
+f 578/578/17 579/579/7 620/620/7 619/619/5
+f 579/579/7 580/580/20 621/621/8 620/620/7
+f 580/580/20 581/581/21 622/622/21 621/621/8
+f 581/581/21 582/582/10 623/623/22 622/622/21
+f 582/582/10 583/583/11 624/624/11 623/623/22
+f 583/583/11 584/584/12 625/625/12 624/624/11
+f 584/584/12 585/585/13 626/626/13 625/625/12
+f 585/585/13 586/586/14 627/627/14 626/626/13
+f 586/586/14 587/587/15 628/628/15 627/627/14
+f 587/587/15 588/588/16 629/629/16 628/628/15
+f 588/588/16 589/589/16 630/630/16 629/629/16
+f 589/589/16 590/590/16 631/631/16 630/630/16
+f 590/590/16 591/591/16 632/632/16 631/631/16
+f 591/591/16 592/592/16 633/633/16 632/632/16
+f 592/592/16 593/593/16 634/634/16 633/633/16
+f 593/593/16 594/594/16 635/635/16 634/634/16
+f 594/594/16 595/595/16 636/636/16 635/635/16
+f 595/595/16 596/596/16 637/637/16 636/636/16
+f 596/596/16 597/597/16 638/638/16 637/637/16
+f 597/597/16 598/598/16 639/639/16 638/638/16
+f 598/598/16 599/599/16 640/640/16 639/639/16
+f 599/599/16 600/600/16 641/641/16 640/640/16
+f 600/600/16 601/601/16 642/642/16 641/641/16
+f 601/601/16 602/602/16 643/643/16 642/642/16
+f 602/602/16 603/603/16 644/644/16 643/643/16
+f 603/603/16 604/604/16 645/645/16 644/644/16
+f 604/604/16 605/605/16 646/646/16 645/645/16
+f 605/605/16 606/606/16 647/647/16 646/646/16
+f 606/606/16 607/607/16 648/648/16 647/647/16
+f 607/607/16 608/608/16 649/649/16 648/648/16
+f 608/608/16 609/609/16 650/650/16 649/649/16
+f 609/609/16 610/610/16 651/651/16 650/650/16
+f 610/610/16 611/611/16 652/652/16 651/651/16
+f 611/611/16 612/612/16 653/653/16 652/652/16
+f 612/612/16 613/613/16 654/654/16 653/653/16
+f 613/613/16 614/614/16 655/655/16 654/654/16
+f 614/614/16 615/615/16 656/656/16 655/655/16
+f 617/617/3 616/616/2 657/657/18 658/658/1
+f 616/616/2 618/618/4 659/659/4 657/657/18
+f 618/618/4 619/619/5 660/660/17 659/659/4
+f 619/619/5 620/620/7 661/661/7 660/660/17
+f 620/620/7 621/621/8 662/662/8 661/661/7
+f 621/621/8 622/622/21 663/663/9 662/662/8
+f 622/622/21 623/623/22 664/664/10 663/663/9
+f 623/623/22 624/624/11 665/665/11 664/664/10
+f 624/624/11 625/625/12 666/666/12 665/665/11
+f 625/625/12 626/626/13 667/667/13 666/666/12
+f 626/626/13 627/627/14 668/668/14 667/667/13
+f 627/627/14 628/628/15 669/669/15 668/668/14
+f 628/628/15 629/629/16 670/670/16 669/669/15
+f 629/629/16 630/630/16 671/671/16 670/670/16
+f 630/630/16 631/631/16 672/672/16 671/671/16
+f 631/631/16 632/632/16 673/673/16 672/672/16
+f 632/632/16 633/633/16 674/674/16 673/673/16
+f 633/633/16 634/634/16 675/675/16 674/674/16
+f 634/634/16 635/635/16 676/676/16 675/675/16
+f 635/635/16 636/636/16 677/677/16 676/676/16
+f 636/636/16 637/637/16 678/678/16 677/677/16
+f 637/637/16 638/638/16 679/679/16 678/678/16
+f 638/638/16 639/639/16 680/680/16 679/679/16
+f 639/639/16 640/640/16 681/681/16 680/680/16
+f 640/640/16 641/641/16 682/682/16 681/681/16
+f 641/641/16 642/642/16 683/683/16 682/682/16
+f 642/642/16 643/643/16 684/684/16 683/683/16
+f 643/643/16 644/644/16 685/685/16 684/684/16
+f 644/644/16 645/645/16 686/686/16 685/685/16
+f 645/645/16 646/646/16 687/687/16 686/686/16
+f 646/646/16 647/647/16 688/688/16 687/687/16
+f 647/647/16 648/648/16 689/689/16 688/688/16
+f 648/648/16 649/649/16 690/690/16 689/689/16
+f 649/649/16 650/650/16 691/691/16 690/690/16
+f 650/650/16 651/651/16 692/692/16 691/691/16
+f 651/651/16 652/652/16 693/693/16 692/692/16
+f 652/652/16 653/653/16 694/694/16 693/693/16
+f 653/653/16 654/654/16 695/695/16 694/694/16
+f 654/654/16 655/655/16 696/696/16 695/695/16
+f 655/655/16 656/656/16 697/697/16 696/696/16
+f 658/658/1 657/657/18 698/698/18 699/699/1
+f 657/657/18 659/659/4 700/700/19 698/698/18
+f 659/659/4 660/660/17 701/701/17 700/700/19
+f 660/660/17 661/661/7 702/702/6 701/701/17
+f 661/661/7 662/662/8 703/703/20 702/702/6
+f 662/662/8 663/663/9 704/704/21 703/703/20
+f 663/663/9 664/664/10 705/705/10 704/704/21
+f 664/664/10 665/665/11 706/706/11 705/705/10
+f 665/665/11 666/666/12 707/707/12 706/706/11
+f 666/666/12 667/667/13 708/708/13 707/707/12
+f 667/667/13 668/668/14 709/709/14 708/708/13
+f 668/668/14 669/669/15 710/710/15 709/709/14
+f 669/669/15 670/670/16 711/711/16 710/710/15
+f 670/670/16 671/671/16 712/712/16 711/711/16
+f 671/671/16 672/672/16 713/713/16 712/712/16
+f 672/672/16 673/673/16 714/714/16 713/713/16
+f 673/673/16 674/674/16 715/715/16 714/714/16
+f 674/674/16 675/675/16 716/716/16 715/715/16
+f 675/675/16 676/676/16 717/717/16 716/716/16
+f 676/676/16 677/677/16 718/718/16 717/717/16
+f 677/677/16 678/678/16 719/719/16 718/718/16
+f 678/678/16 679/679/16 720/720/16 719/719/16
+f 679/679/16 680/680/16 721/721/16 720/720/16
+f 680/680/16 681/681/16 722/722/16 721/721/16
+f 681/681/16 682/682/16 723/723/16 722/722/16
+f 682/682/16 683/683/16 724/724/16 723/723/16
+f 683/683/16 684/684/16 725/725/16 724/724/16
+f 684/684/16 685/685/16 726/726/16 725/725/16
+f 685/685/16 686/686/16 727/727/16 726/726/16
+f 686/686/16 687/687/16 728/728/16 727/727/16
+f 687/687/16 688/688/16 729/729/16 728/728/16
+f 688/688/16 689/689/16 730/730/16 729/729/16
+f 689/689/16 690/690/16 731/731/16 730/730/16
+f 690/690/16 691/691/16 732/732/16 731/731/16
+f 691/691/16 692/692/16 733/733/16 732/732/16
+f 692/692/16 693/693/16 734/734/16 733/733/16
+f 693/693/16 694/694/16 735/735/16 734/734/16
+f 694/694/16 695/695/16 736/736/16 735/735/16
+f 695/695/16 696/696/16 737/737/16 736/736/16
+f 696/696/16 697/697/16 738/738/16 737/737/16
+f 699/699/1 698/698/18 739/739/2 740/740/3
+f 698/698/18 700/700/19 741/741/19 739/739/2
+f 700/700/19 701/701/17 742/742/17 741/741/19
+f 701/701/17 702/702/6 743/743/6 742/742/17
+f 702/702/6 703/703/20 744/744/8 743/743/6
+f 703/703/20 704/704/21 745/745/9 744/744/8
+f 704/704/21 705/705/10 746/746/10 745/745/9
+f 705/705/10 706/706/11 747/747/11 746/746/10
+f 706/706/11 707/707/12 748/748/12 747/747/11
+f 707/707/12 708/708/13 749/749/13 748/748/12
+f 708/708/13 709/709/14 750/750/14 749/749/13
+f 709/709/14 710/710/15 751/751/15 750/750/14
+f 710/710/15 711/711/16 752/752/16 751/751/15
+f 711/711/16 712/712/16 753/753/16 752/752/16
+f 712/712/16 713/713/16 754/754/16 753/753/16
+f 713/713/16 714/714/16 755/755/16 754/754/16
+f 714/714/16 715/715/16 756/756/16 755/755/16
+f 715/715/16 716/716/16 757/757/16 756/756/16
+f 716/716/16 717/717/16 758/758/16 757/757/16
+f 717/717/16 718/718/16 759/759/16 758/758/16
+f 718/718/16 719/719/16 760/760/16 759/759/16
+f 719/719/16 720/720/16 761/761/16 760/760/16
+f 720/720/16 721/721/16 762/762/16 761/761/16
+f 721/721/16 722/722/16 763/763/16 762/762/16
+f 722/722/16 723/723/16 764/764/16 763/763/16
+f 723/723/16 724/724/16 765/765/16 764/764/16
+f 724/724/16 725/725/16 766/766/16 765/765/16
+f 725/725/16 726/726/16 767/767/16 766/766/16
+f 726/726/16 727/727/16 768/768/16 767/767/16
+f 727/727/16 728/728/16 769/769/16 768/768/16
+f 728/728/16 729/729/16 770/770/16 769/769/16
+f 729/729/16 730/730/16 771/771/16 770/770/16
+f 730/730/16 731/731/16 772/772/16 771/771/16
+f 731/731/16 732/732/16 773/773/16 772/772/16
+f 732/732/16 733/733/16 774/774/16 773/773/16
+f 733/733/16 734/734/16 775/775/16 774/774/16
+f 734/734/16 735/735/16 776/776/16 775/775/16
+f 735/735/16 736/736/16 777/777/16 776/776/16
+f 736/736/16 737/737/16 778/778/16 777/777/16
+f 737/737/16 738/738/16 779/779/16 778/778/16
+f 740/740/3 739/739/2 780/780/2 781/781/1
+f 739/739/2 741/741/19 782/782/4 780/780/2
+f 741/741/19 742/742/17 783/783/5 782/782/4
+f 742/742/17 743/743/6 784/784/7 783/783/5
+f 743/743/6 744/744/8 785/785/8 784/784/7
+f 744/744/8 745/745/9 786/786/9 785/785/8
+f 745/745/9 746/746/10 787/787/10 786/786/9
+f 746/746/10 747/747/11 788/788/11 787/787/10
+f 747/747/11 748/748/12 789/789/12 788/788/11
+f 748/748/12 749/749/13 790/790/13 789/789/12
+f 749/749/13 750/750/14 791/791/14 790/790/13
+f 750/750/14 751/751/15 792/792/15 791/791/14
+f 751/751/15 752/752/16 793/793/16 792/792/15
+f 752/752/16 753/753/16 794/794/16 793/793/16
+f 753/753/16 754/754/16 795/795/16 794/794/16
+f 754/754/16 755/755/16 796/796/16 795/795/16
+f 755/755/16 756/756/16 797/797/16 796/796/16
+f 756/756/16 757/757/16 798/798/16 797/797/16
+f 757/757/16 758/758/16 799/799/16 798/798/16
+f 758/758/16 759/759/16 800/800/16 799/799/16
+f 759/759/16 760/760/16 801/801/16 800/800/16
+f 760/760/16 761/761/16 802/802/16 801/801/16
+f 761/761/16 762/762/16 803/803/16 802/802/16
+f 762/762/16 763/763/16 804/804/16 803/803/16
+f 763/763/16 764/764/16 805/805/16 804/804/16
+f 764/764/16 765/765/16 806/806/16 805/805/16
+f 765/765/16 766/766/16 807/807/16 806/806/16
+f 766/766/16 767/767/16 808/808/16 807/807/16
+f 767/767/16 768/768/16 809/809/16 808/808/16
+f 768/768/16 769/769/16 810/810/16 809/809/16
+f 769/769/16 770/770/16 811/811/16 810/810/16
+f 770/770/16 771/771/16 812/812/16 811/811/16
+f 771/771/16 772/772/16 813/813/16 812/812/16
+f 772/772/16 773/773/16 814/814/16 813/813/16
+f 773/773/16 774/774/16 815/815/16 814/814/16
+f 774/774/16 775/775/16 816/816/16 815/815/16
+f 775/775/16 776/776/16 817/817/16 816/816/16
+f 776/776/16 777/777/16 818/818/16 817/817/16
+f 777/777/16 778/778/16 819/819/16 818/818/16
+f 778/778/16 779/779/16 820/820/16 819/819/16
+f 781/781/1 780/780/2 821/821/18 822/822/1
+f 780/780/2 782/782/4 823/823/4 821/821/18
+f 782/782/4 783/783/5 824/824/5 823/823/4
+f 783/783/5 784/784/7 825/825/7 824/824/5
+f 784/784/7 785/785/8 826/826/20 825/825/7
+f 785/785/8 786/786/9 827/827/21 826/826/20
+f 786/786/9 787/787/10 828/828/10 827/827/21
+f 787/787/10 788/788/11 829/829/11 828/828/10
+f 788/788/11 789/789/12 830/830/12 829/829/11
+f 789/789/12 790/790/13 831/831/13 830/830/12
+f 790/790/13 791/791/14 832/832/14 831/831/13
+f 791/791/14 792/792/15 833/833/15 832/832/14
+f 792/792/15 793/793/16 834/834/16 833/833/15
+f 793/793/16 794/794/16 835/835/16 834/834/16
+f 794/794/16 795/795/16 836/836/16 835/835/16
+f 795/795/16 796/796/16 837/837/16 836/836/16
+f 796/796/16 797/797/16 838/838/16 837/837/16
+f 797/797/16 798/798/16 839/839/16 838/838/16
+f 798/798/16 799/799/16 840/840/16 839/839/16
+f 799/799/16 800/800/16 841/841/16 840/840/16
+f 800/800/16 801/801/16 842/842/16 841/841/16
+f 801/801/16 802/802/16 843/843/16 842/842/16
+f 802/802/16 803/803/16 844/844/16 843/843/16
+f 803/803/16 804/804/16 845/845/16 844/844/16
+f 804/804/16 805/805/16 846/846/16 845/845/16
+f 805/805/16 806/806/16 847/847/16 846/846/16
+f 806/806/16 807/807/16 848/848/16 847/847/16
+f 807/807/16 808/808/16 849/849/16 848/848/16
+f 808/808/16 809/809/16 850/850/16 849/849/16
+f 809/809/16 810/810/16 851/851/16 850/850/16
+f 810/810/16 811/811/16 852/852/16 851/851/16
+f 811/811/16 812/812/16 853/853/16 852/852/16
+f 812/812/16 813/813/16 854/854/16 853/853/16
+f 813/813/16 814/814/16 855/855/16 854/854/16
+f 814/814/16 815/815/16 856/856/16 855/855/16
+f 815/815/16 816/816/16 857/857/16 856/856/16
+f 816/816/16 817/817/16 858/858/16 857/857/16
+f 817/817/16 818/818/16 859/859/16 858/858/16
+f 818/818/16 819/819/16 860/860/16 859/859/16
+f 819/819/16 820/820/16 861/861/16 860/860/16
+# 800 polygons
+
+#
+# object diamant_03
+#
+
+v 29.7018 6.7012 24.7681
+v 27.3545 9.5154 26.6900
+v 27.0786 10.9416 30.5646
+v 32.7454 4.1475 25.9248
+v 32.0793 7.5907 35.2791
+v 34.4266 4.7765 33.3572
+v 34.7025 3.3502 29.4825
+v 29.0357 10.1444 34.1223
+v 28.7842 6.7965 23.8836
+v 27.1935 7.6870 23.7432
+v 26.3999 7.8563 23.4987
+v 26.6810 8.3015 24.1628
+v 26.6349 9.3734 25.6434
+v 26.2059 10.0670 26.5915
+v 25.0630 10.9169 27.7381
+v 24.3332 11.1971 28.0655
+v 25.0027 11.2284 28.5841
+v 25.9532 11.3729 30.1394
+v 26.2282 11.4758 31.3551
+v 26.0397 11.6163 33.1683
+v 25.6577 11.6926 33.9210
+v 26.4670 11.4422 33.9452
+v 28.0202 10.7457 34.6127
+v 28.8381 10.1976 35.3838
+v 29.5514 9.3754 36.8530
+v 29.5975 9.0526 37.6352
+v 30.2160 8.8178 37.1056
+v 31.6251 7.8593 36.4430
+v 32.5069 6.9813 36.3179
+v 33.5410 5.5069 36.6336
+v 33.8446 4.8235 37.0324
+v 34.0536 4.8924 36.2140
+v 34.6562 4.4044 34.5581
+v 35.0852 3.7109 33.6100
+v 35.6715 2.2769 32.6387
+v 35.9113 1.4827 32.4657
+v 35.7318 1.9655 31.7927
+v 35.3379 2.4049 30.0621
+v 35.0629 2.3021 28.8464
+v 34.6949 1.5776 27.2085
+v 34.5868 0.9872 26.6102
+v 34.2675 1.7517 26.4316
+v 33.2709 3.0321 25.5888
+v 32.4530 3.5802 24.8176
+v 31.1831 3.8185 23.5238
+v 30.6471 3.6272 22.8959
+v 30.5186 4.3761 23.2712
+v 29.6660 5.9185 23.7585
+v 31.1228 3.3084 23.3445
+v 34.1111 1.3060 26.1616
+v 32.4397 1.3916 24.2903
+v 26.9128 7.3456 23.4259
+v 30.1342 4.1379 22.9687
+v 27.8971 5.2030 22.5639
+v 24.5828 10.7936 27.5140
+v 26.1503 8.2597 24.0502
+v 24.3938 9.4032 25.4322
+v 25.4978 11.6327 33.2139
+v 24.4932 11.2569 28.7726
+v 23.9820 11.5318 31.2151
+v 29.1217 9.3714 37.1867
+v 26.1335 11.3738 34.3695
+v 26.9029 10.3419 36.5249
+v 33.3318 5.3342 37.1052
+v 30.1104 8.5419 37.5624
+v 31.4455 6.5305 38.2513
+v 35.6617 1.8862 33.0171
+v 34.0942 4.4201 36.4809
+v 34.9488 2.3303 35.3830
+v 34.7468 1.0470 27.3173
+v 35.7514 1.4229 31.7586
+v 35.3606 0.2017 29.6001
+v 23.5176 10.7497 28.1720
+v 24.8916 11.2637 34.2463
+v 28.9785 8.5251 38.0993
+v 33.3844 4.1380 37.4740
+v 35.5283 0.6724 32.7366
+v 34.1543 0.1584 26.6624
+v 30.0674 2.8971 22.8094
+v 25.6615 7.2841 23.4347
+v 32.1429 1.0803 24.3838
+v 27.6004 4.8916 22.6574
+v 24.0971 9.0918 25.5257
+v 23.6853 11.2204 31.3086
+v 26.6062 10.0305 36.6184
+v 34.6520 2.0190 35.4765
+v 35.0638 -0.1096 29.6936
+v 31.1488 6.2192 38.3448
+v 23.8213 1.6191 32.0903
+v 24.2958 1.4258 32.9530
+v 25.0338 0.8066 33.2334
+v 25.6030 0.1242 32.7674
+v 25.6699 -0.2216 31.8279
+v 25.1954 -0.0283 30.9653
+v 24.4573 0.5909 30.6848
+v 23.8915 1.2679 31.1434
+v 24.1550 0.9150 32.7393
+v 23.9754 -0.0223 32.3940
+v 24.6695 0.4833 32.9348
+v 25.0663 0.0075 32.6099
+v 24.1439 -0.2243 32.2560
+v 25.1130 -0.2336 31.9549
+v 24.7821 -0.0988 31.3535
+v 24.0034 -0.1670 32.0006
+v 24.2676 0.3329 31.1579
+v 23.8731 0.8049 31.4777
+v 23.8351 0.0345 32.1379
+v 23.8241 1.0498 32.1378
+v 23.8702 0.0482 32.2949
+v 24.0887 -0.1351 32.3779
+v 24.1085 -0.2375 32.0997
+v 23.8903 -0.0546 32.0161
+# 112 vertices
+
+vn 0.6742 0.7074 -0.2124
+vn 0.4239 0.8867 -0.1846
+vn 0.7380 0.5102 -0.4418
+vn 0.4525 0.7286 -0.5142
+vn 0.5286 0.8486 0.0209
+vn 0.5655 0.6578 -0.4975
+vn 0.3558 0.8850 -0.3004
+vn 0.6997 0.7080 0.0957
+vn 0.4378 0.8147 -0.3803
+vn 0.4178 0.9082 -0.0263
+vn 0.8370 0.5472 -0.0040
+vn 0.4298 0.8889 -0.1587
+vn 0.6022 0.7846 0.1475
+vn 0.8601 0.4604 -0.2198
+vn 0.5460 0.8370 0.0373
+vn 0.8010 0.5866 0.1193
+vn 0.7554 0.4985 -0.4253
+vn 0.7185 0.6893 0.0931
+vn 0.8978 0.4302 -0.0944
+vn 0.5843 0.6391 -0.5002
+vn 0.8461 0.5324 -0.0242
+vn 0.8358 0.4071 -0.3685
+vn 0.4470 0.7999 -0.4005
+vn 0.8542 0.4582 -0.2457
+vn 0.6513 0.5306 -0.5424
+vn 0.7243 0.1277 -0.6775
+vn 0.7194 0.1083 -0.6861
+vn 0.7345 0.1731 -0.6561
+vn 0.3351 0.4542 -0.8254
+vn 0.3215 0.4422 -0.8373
+vn 0.3667 0.4817 -0.7959
+vn 0.0350 0.8141 -0.5797
+vn 0.0146 0.8101 -0.5861
+vn 0.0830 0.8218 -0.5636
+vn -0.0003 0.9964 -0.0843
+vn -0.0215 0.9966 -0.0795
+vn 0.0497 0.9942 -0.0954
+vn 0.2500 0.8945 0.3707
+vn 0.2344 0.8924 0.3857
+vn 0.2862 0.8978 0.3346
+vn 0.6391 0.5680 0.5186
+vn 0.6323 0.5585 0.5369
+vn 0.6540 0.5892 0.4744
+vn 0.9393 0.2081 0.2728
+vn 0.9392 0.1906 0.2856
+vn 0.9377 0.2491 0.2421
+vn 0.9746 0.0258 -0.2226
+vn 0.9753 0.0041 -0.2209
+vn 0.9711 0.0768 -0.2261
+vn 0.7293 0.1486 -0.6679
+vn 0.3498 0.4670 -0.8121
+vn 0.0571 0.8179 -0.5725
+vn 0.0227 0.9957 -0.0894
+vn 0.2667 0.8963 0.3542
+vn 0.6462 0.5779 0.4984
+vn 0.9389 0.2270 0.2588
+vn 0.9733 0.0492 -0.2243
+vn 0.7492 0.4879 -0.4479
+vn 0.5657 0.6419 -0.5177
+vn 0.4241 0.8116 -0.4018
+vn 0.4075 0.8976 -0.1681
+vn 0.5255 0.8495 0.0464
+vn 0.7090 0.6955 0.1162
+vn 0.8506 0.5258 0.0003
+vn 0.8672 0.4398 -0.2334
+vn -0.3875 0.9112 -0.1400
+vn -0.1257 0.8548 0.5035
+vn 0.3729 0.4689 0.8007
+vn 0.8161 -0.0206 0.5775
+vn 0.9444 -0.3269 -0.0354
+vn 0.6826 -0.2705 -0.6789
+vn 0.1840 0.1154 -0.9761
+vn -0.2592 0.6049 -0.7529
+vn -0.3597 0.7673 -0.5310
+vn -0.3231 0.9353 0.1445
+vn 0.0658 0.7265 0.6840
+vn 0.5793 0.2633 0.7714
+vn 0.9166 -0.1830 0.3556
+vn 0.8800 -0.3510 -0.3199
+vn 0.4911 -0.1422 -0.8594
+vn -0.0224 0.3210 -0.9468
+vn 0.3431 -0.5546 -0.7581
+vn -0.7318 0.6786 -0.0627
+vn -0.4469 0.6197 0.6452
+vn 0.0997 0.1977 0.9752
+vn 0.5880 -0.3401 0.7339
+vn 0.7318 -0.6786 0.0627
+vn 0.4469 -0.6197 -0.6452
+vn -0.0997 -0.1977 -0.9752
+vn -0.5880 0.3401 -0.7339
+vn -0.7019 0.5243 -0.4821
+vn -0.6588 0.7060 0.2601
+vn -0.2297 0.4741 0.8500
+vn 0.3339 -0.0355 0.9419
+vn 0.7019 -0.5243 0.4821
+vn 0.6588 -0.7060 -0.2601
+vn 0.2297 -0.4741 -0.8500
+vn -0.3339 0.0355 -0.9419
+vn -0.9984 -0.0097 0.0548
+vn -0.8166 -0.0263 0.5766
+vn -0.4296 -0.3142 0.8466
+vn -0.0641 -0.7046 0.7068
+vn 0.0658 -0.9688 0.2389
+vn -0.1160 -0.9521 -0.2828
+vn -0.5030 -0.6643 -0.5529
+vn -0.8685 -0.2738 -0.4131
+vn -0.9832 -0.0888 -0.1597
+vn -0.9250 0.0178 0.3796
+vn -0.5981 -0.1728 0.7826
+vn -0.1940 -0.5487 0.8132
+vn -0.1837 0.8687 -0.4600
+vn 0.0506 -0.8898 0.4535
+vn -0.0076 -0.9963 -0.0858
+vn -0.3345 -0.8057 -0.4888
+vn -0.7386 -0.4298 -0.5194
+vn 0.9362 0.1360 0.3242
+vn -0.4987 -0.2139 0.8400
+vn -0.5187 -0.2476 0.8183
+vn 0.0998 -0.9314 0.3500
+vn 0.0553 -0.9357 0.3484
+vn -0.3992 -0.7282 -0.5572
+vn -0.4233 -0.7408 -0.5216
+vn -0.9975 -0.0108 -0.0700
+vn -0.9971 -0.0536 -0.0541
+vn -0.8721 0.0364 0.4879
+vn -0.8769 -0.0076 0.4807
+vn -0.0961 -0.6148 0.7828
+vn -0.1326 -0.6320 0.7635
+vn -0.0257 -0.9784 -0.2051
+vn -0.0652 -0.9808 -0.1839
+vn -0.8003 -0.3297 -0.5008
+vn -0.2740 0.5066 0.8175
+vn -0.8079 -0.3581 -0.4681
+vn -0.6742 -0.7074 0.2124
+vn 0.2172 0.0849 0.9724
+vn -0.9757 -0.0106 0.2189
+vn -0.9393 -0.1955 -0.2821
+vn -0.6323 -0.5629 -0.5322
+vn -0.2387 -0.8930 -0.3815
+vn 0.0156 -0.9966 0.0808
+vn -0.0203 -0.8113 0.5843
+vn -0.3253 -0.4456 0.8340
+vn -0.7208 -0.1137 0.6837
+# 143 vertex normals
+
+g diamant_03
+usemtl wire_000000000
+s 1
+f 862//23 863//23 864//23 865//23
+f 866//23 867//23 868//23 865//23
+f 869//23 866//23 865//23 864//23
+s off
+f 870//24 871//24 872//24 862//24
+f 873//25 874//25 863//25 872//25
+f 862//26 872//26 863//26
+f 875//27 876//27 877//27 863//27
+f 878//28 879//28 864//28 877//28
+f 863//29 877//29 864//29
+f 880//30 881//30 882//30 864//30
+f 883//31 884//31 869//31 882//31
+f 864//32 882//32 869//32
+f 885//33 886//33 887//33 869//33
+f 888//34 889//34 866//34 887//34
+f 869//35 887//35 866//35
+f 890//36 891//36 892//36 866//36
+f 893//37 894//37 867//37 892//37
+f 866//38 892//38 867//38
+f 895//39 896//39 897//39 867//39
+f 898//40 899//40 868//40 897//40
+f 867//41 897//41 868//41
+f 900//42 901//42 902//42 868//42
+f 903//43 904//43 865//43 902//43
+f 868//44 902//44 865//44
+f 905//45 906//45 907//45 865//45
+f 908//46 909//46 862//46 907//46
+f 865//47 907//47 862//47
+f 910//48 906//48 905//48 903//48
+f 905//49 904//49 903//49
+f 910//50 903//50 911//50 912//50
+f 913//51 871//51 870//51 908//51
+f 870//52 909//52 908//52
+f 913//53 908//53 914//53 915//53
+f 916//54 876//54 875//54 873//54
+f 875//55 874//55 873//55
+f 916//56 873//56 917//56 918//56
+f 919//57 881//57 880//57 878//57
+f 880//58 879//58 878//58
+f 919//59 878//59 920//59 921//59
+f 922//60 886//60 885//60 883//60
+f 885//61 884//61 883//61
+f 922//62 883//62 923//62 924//62
+f 925//63 891//63 890//63 888//63
+f 890//64 889//64 888//64
+f 925//65 888//65 926//65 927//65
+f 928//66 896//66 895//66 893//66
+f 895//67 894//67 893//67
+f 928//68 893//68 929//68 930//68
+f 931//69 901//69 900//69 898//69
+f 900//70 899//70 898//70
+f 931//71 898//71 932//71 933//71
+f 907//72 906//72 910//72
+f 872//73 871//73 913//73
+f 877//74 876//74 916//74
+f 882//75 881//75 919//75
+f 887//76 886//76 922//76
+f 892//77 891//77 925//77
+f 897//78 896//78 928//78
+f 902//79 901//79 931//79
+f 865//80 904//80 905//80
+f 911//72 903//72 902//72
+f 862//81 909//81 870//81
+f 914//73 908//73 907//73
+f 863//82 874//82 875//82
+f 917//74 873//74 872//74
+f 864//83 879//83 880//83
+f 920//75 878//75 877//75
+f 869//84 884//84 885//84
+f 923//76 883//76 882//76
+f 866//85 889//85 890//85
+f 926//77 888//77 887//77
+f 867//86 894//86 895//86
+f 929//78 893//78 892//78
+f 868//87 899//87 900//87
+f 932//79 898//79 897//79
+f 920//88 877//88 934//88 921//88
+f 923//89 882//89 935//89 924//89
+f 926//90 887//90 936//90 927//90
+f 929//91 892//91 937//91 930//91
+f 932//92 897//92 938//92 933//92
+f 911//93 902//93 939//93 912//93
+f 914//94 907//94 940//94 915//94
+f 917//95 872//95 941//95 918//95
+f 916//96 918//96 934//96 877//96
+f 919//97 921//97 935//97 882//97
+f 922//98 924//98 936//98 887//98
+f 925//99 927//99 937//99 892//99
+f 928//100 930//100 938//100 897//100
+f 931//101 933//101 939//101 902//101
+f 910//102 912//102 940//102 907//102
+f 913//103 915//103 941//103 872//103
+f 912//104 942//104 942//104
+f 915//104 943//104 943//104
+f 918//104 944//104 944//104
+f 921//104 945//104 945//104
+f 924//104 946//104 946//104
+f 930//104 947//104 947//104
+f 933//104 948//104 948//104
+f 934//105 945//105 921//105
+f 935//106 946//106 924//106
+f 936//107 949//107 927//107
+f 937//108 947//108 930//108
+f 938//109 948//109 933//109
+f 939//110 942//110 912//110
+f 940//111 943//111 915//111
+f 941//112 944//112 918//112
+f 918//113 944//113 934//113
+f 921//114 945//114 935//114
+f 924//115 946//115 936//115
+f 927//116 949//116 937//116
+f 930//117 947//117 938//117
+f 933//118 948//118 939//118
+f 912//119 942//119 940//119
+f 915//120 943//120 941//120
+f 912//104 942//104 942//104
+f 912//104 942//104 942//104
+f 942//104 942//104 912//104
+f 915//104 943//104 943//104
+f 915//104 943//104 943//104
+f 943//104 943//104 915//104
+f 918//104 944//104 944//104
+f 918//104 944//104 944//104
+f 944//104 944//104 918//104
+f 921//104 945//104 945//104
+f 921//104 945//104 945//104
+f 945//104 945//104 921//104
+f 924//104 946//104 946//104
+f 924//104 946//104 946//104
+f 946//104 946//104 924//104
+f 927//104 949//104 949//104
+f 927//104 949//104 949//104
+f 930//104 947//104 947//104
+f 930//104 947//104 947//104
+f 933//104 948//104 948//104
+f 933//104 948//104 948//104
+f 948//104 948//104 933//104
+f 934//105 945//105 921//105
+f 921//104 945//104 945//104
+f 921//109 945//109 934//109
+f 935//106 946//106 924//106
+f 924//104 946//104 946//104
+f 924//110 946//110 935//110
+f 936//107 949//107 927//107
+f 927//104 949//104 949//104
+f 927//111 949//111 936//111
+f 937//108 947//108 930//108
+f 930//104 947//104 947//104
+f 930//112 947//112 937//112
+f 938//109 948//109 933//109
+f 933//104 948//104 948//104
+f 933//105 948//105 938//105
+f 939//110 942//110 912//110
+f 912//104 942//104 942//104
+f 912//106 942//106 939//106
+f 940//111 943//111 915//111
+f 915//104 943//104 943//104
+f 915//107 943//107 940//107
+f 941//112 944//112 918//112
+f 918//104 944//104 944//104
+f 918//108 944//108 941//108
+f 918//104 944//104 944//104
+f 918//113 944//113 934//113
+f 934//117 944//117 918//117
+f 921//104 945//104 945//104
+f 921//114 945//114 935//114
+f 935//118 945//118 921//118
+f 924//104 946//104 946//104
+f 924//115 946//115 936//115
+f 936//119 946//119 924//119
+f 927//116 949//116 937//116
+f 937//120 949//120 927//120
+f 930//104 947//104 947//104
+f 930//117 947//117 938//117
+f 938//113 947//113 930//113
+f 933//104 948//104 948//104
+f 933//118 948//118 939//118
+f 939//114 948//114 933//114
+f 912//104 942//104 942//104
+f 912//119 942//119 940//119
+f 940//115 942//115 912//115
+f 915//120 943//120 941//120
+f 941//116 943//116 915//116
+f 945//121 934//121 934//121 950//121
+f 935//122 935//122 951//122 946//122
+f 949//123 936//123 936//123 952//123
+f 937//124 953//124 947//124 937//124
+f 948//125 938//125 938//125 954//125
+f 939//126 939//126 955//126 942//126
+f 943//127 940//127 940//127 956//127
+f 941//128 941//128 957//128 944//128
+f 934//129 944//129 957//129 934//129
+f 950//130 935//130 935//130 945//130
+f 936//131 936//131 946//131 951//131
+f 937//132 949//132 952//132
+f 952//133 937//133 937//133
+f 938//134 947//134 953//134 938//134
+f 939//135 948//135 954//135 939//135
+f 940//136 940//136 942//136 955//136
+f 941//137 943//137 956//137
+f 956//138 941//138 941//138
+f 951//139 958//139 959//139 960//139
+f 959//104 959//104 960//104
+f 936//140 951//140 960//140 952//140
+f 953//141 961//141 962//141 963//141
+f 962//104 962//104 963//104
+f 938//142 953//142 963//142 954//142
+f 955//143 964//143 965//143 966//143
+f 965//104 965//104 966//104
+f 940//144 955//144 966//144 956//144
+f 957//145 967//145 968//145 969//145
+f 968//104 968//104 969//104
+f 969//146 950//146 934//146 957//146
+f 950//147 969//147 970//147 958//147
+f 970//104 970//104 958//104
+f 958//148 951//148 935//148 950//148
+f 952//149 960//149 971//149 961//149
+f 971//104 971//104 961//104
+f 961//150 953//150 937//150 952//150
+f 954//151 963//151 972//151 964//151
+f 972//104 972//104 964//104
+f 964//152 955//152 939//152 954//152
+f 956//153 966//153 973//153 967//153
+f 973//154 973//154 967//154
+f 967//155 957//155 941//155 956//155
+f 968//156 968//156 973//156 965//156
+f 973//157 973//157 965//157
+f 965//156 965//156 972//156 968//156
+f 972//156 972//156 962//156 968//156
+f 962//156 962//156 971//156 968//156
+f 971//156 971//156 959//156 968//156
+f 959//156 959//156 970//156 968//156
+f 970//104 968//104 970//104
+f 969//158 968//158 970//158
+f 967//159 973//159 968//159
+f 966//160 965//160 973//160
+f 964//161 972//161 965//161
+f 963//162 962//162 972//162
+f 961//163 971//163 962//163
+f 960//164 959//164 971//164
+f 958//165 970//165 959//165
+# 87 polygons - 153 triangles
+
+#
+# object diamant_04
+#
+
+v 47.8642 7.2058 5.9738
+v 46.9870 10.0066 2.9719
+v 43.4694 11.4286 1.1748
+v 45.5870 4.6669 8.4221
+v 37.0947 8.0999 4.0834
+v 37.9718 5.2991 7.0853
+v 41.4894 3.8771 8.8825
+v 39.3718 10.6388 1.6351
+v 49.0507 7.2897 5.4578
+v 49.8050 8.1637 4.0058
+v 50.3439 8.3217 3.3547
+v 49.6135 8.7753 3.3503
+v 48.2475 9.8543 2.7090
+v 47.5287 10.5450 1.9241
+v 46.9028 11.3799 0.3903
+v 46.8815 11.6486 -0.4262
+v 46.1347 11.6904 -0.0021
+v 44.3077 11.8470 0.2785
+v 43.0621 11.9504 0.0598
+v 41.4378 12.0803 -0.8266
+v 40.8820 12.1467 -1.4793
+v 40.5430 11.9079 -0.7261
+v 39.3102 11.2273 0.4814
+v 38.2675 10.6828 0.9572
+v 36.6112 9.8547 1.0679
+v 35.8598 9.5242 0.8122
+v 36.1140 9.3003 1.6025
+v 36.1824 8.3580 3.1989
+v 35.9534 7.4846 4.0904
+v 35.2504 6.0068 4.9641
+v 34.7568 5.3173 5.1061
+v 35.4420 5.3953 5.6196
+v 36.7565 4.9200 6.8391
+v 37.4754 4.2293 7.6241
+v 38.1526 2.7907 8.5796
+v 38.2191 1.9904 8.8870
+v 38.9207 2.4802 8.9720
+v 40.6963 2.9272 9.2697
+v 41.9419 2.8238 9.4883
+v 43.6177 2.0902 9.7965
+v 44.2187 1.4923 9.9401
+v 44.5124 2.2627 9.6960
+v 45.6939 3.5470 9.0668
+v 46.7366 4.0914 8.5910
+v 48.4443 4.3158 7.9020
+v 49.2409 4.1149 7.6486
+v 48.9415 4.8702 7.3674
+v 48.8217 6.4163 6.3492
+v 48.6344 3.7982 7.9253
+v 44.8252 1.8090 9.6634
+v 47.2300 1.8738 8.8266
+v 50.2107 7.8137 3.8732
+v 49.3741 4.6229 7.1301
+v 50.6286 5.6632 5.1726
+v 47.2996 11.2469 0.0304
+v 49.9258 8.7235 2.8981
+v 49.3195 9.8434 0.6922
+v 41.6065 12.0866 -1.3521
+v 46.1570 11.7088 -0.5534
+v 44.0695 11.9657 -1.9900
+v 36.4662 9.8409 0.5355
+v 40.2755 11.8300 -1.2026
+v 37.9540 10.7869 -1.3028
+v 34.8900 5.8253 4.5875
+v 35.7266 9.0162 1.3307
+v 34.5553 6.9976 2.3511
+v 37.8010 2.3922 8.4304
+v 35.1749 4.9156 5.5626
+v 35.8645 2.8174 6.8315
+v 43.4942 1.5525 9.8129
+v 38.9436 1.9303 9.0142
+v 41.1145 0.6951 9.5137
+v 47.0987 11.1790 -1.2229
+v 40.8750 11.6957 -2.3153
+v 35.6651 8.9752 0.0618
+v 34.5209 4.6111 4.5161
+v 38.1127 1.1599 8.4383
+v 44.3364 0.6432 9.5307
+v 49.5462 3.3637 7.1536
+v 50.6904 7.7278 2.6993
+v 47.2574 1.5520 8.5182
+v 50.6560 5.3413 4.8643
+v 49.3469 9.5215 0.3839
+v 44.0969 11.6438 -2.2983
+v 37.9814 10.4650 -1.6112
+v 35.8919 2.4955 6.5231
+v 41.1419 0.3732 9.2054
+v 34.5827 6.6757 2.0428
+v 43.2868 1.9031 -2.2904
+v 42.2933 1.7116 -2.1787
+v 41.7411 1.0960 -1.5851
+v 41.9538 0.4168 -0.8572
+v 42.8067 0.0720 -0.4214
+v 44.3363 0.6432 9.5307
+v 43.8003 0.2635 -0.5331
+v 44.3524 0.8792 -1.1267
+v 44.1454 1.5529 -1.8485
+v 42.5470 1.1918 -2.2174
+v 42.9380 0.2395 -2.2328
+v 42.1621 0.7626 -1.8035
+v 42.3103 0.2891 -1.2961
+v 43.0010 0.0384 -2.0173
+v 42.9050 0.0487 -0.9922
+v 43.5977 0.1823 -1.0701
+v 43.2952 0.0951 -2.0504
+v 43.9827 0.6115 -1.4840
+v 43.8383 1.0812 -1.9872
+v 43.2327 0.2957 -2.2654
+v 43.2397 1.3254 -2.2952
+v 43.0721 0.3095 -2.2940
+v 42.9086 0.1272 -2.1182
+v 43.1611 0.0251 -1.9892
+v 43.3251 0.2069 -2.1645
+# 113 vertices
+
+vn -0.0614 0.7208 0.6904
+vn 0.0097 0.8953 0.4453
+vn 0.1254 0.5260 0.8412
+vn 0.3025 0.7394 0.6015
+vn -0.2204 0.8582 0.4637
+vn 0.2435 0.6706 0.7007
+vn 0.1428 0.8929 0.4270
+vn -0.3556 0.7204 0.5955
+vn 0.1848 0.8245 0.5348
+vn -0.1340 0.9159 0.3784
+vn -0.3167 0.5627 0.7636
+vn -0.0164 0.8975 0.4408
+vn -0.3657 0.7949 0.4842
+vn -0.1266 0.4774 0.8695
+vn -0.2422 0.8467 0.4737
+vn -0.4166 0.6008 0.6823
+vn 0.1035 0.5145 0.8512
+vn -0.3604 0.7021 0.6142
+vn -0.2569 0.4473 0.8567
+vn 0.2387 0.6523 0.7194
+vn -0.3016 0.5482 0.7801
+vn 0.0199 0.4243 0.9053
+vn 0.1999 0.8100 0.5513
+vn -0.1004 0.4752 0.8741
+vn 0.2516 0.5453 0.7996
+vn 0.3473 0.1445 0.9266
+vn 0.3571 0.1251 0.9257
+vn 0.3237 0.1900 0.9269
+vn 0.6343 0.4645 0.6180
+vn 0.6505 0.4522 0.6102
+vn 0.5950 0.4924 0.6353
+vn 0.5238 0.8175 0.2397
+vn 0.5375 0.8132 0.2233
+vn 0.4905 0.8260 0.2777
+vn 0.0804 0.9967 0.0132
+vn 0.0842 0.9964 -0.0083
+vn 0.0715 0.9954 0.0636
+vn -0.4360 0.8971 0.0712
+vn -0.4439 0.8946 0.0511
+vn -0.4166 0.9013 0.1184
+vn -0.7230 0.5771 0.3797
+vn -0.7373 0.5675 0.3666
+vn -0.6879 0.5989 0.4101
+vn -0.6124 0.2242 0.7581
+vn -0.6243 0.2065 0.7534
+vn -0.5834 0.2653 0.7677
+vn -0.1691 0.0449 0.9846
+vn -0.1710 0.0233 0.9850
+vn -0.1644 0.0959 0.9817
+vn 0.3366 0.1654 0.9270
+vn 0.6164 0.4775 0.6261
+vn 0.5086 0.8217 0.2572
+vn 0.0763 0.9964 0.0364
+vn -0.4272 0.8994 0.0929
+vn -0.7071 0.5873 0.3938
+vn -0.5993 0.2431 0.7627
+vn -0.1670 0.0684 0.9836
+vn 0.1267 0.5039 0.8544
+vn 0.2621 0.6548 0.7089
+vn 0.2099 0.8213 0.5305
+vn 0.0008 0.9058 0.4236
+vn -0.2427 0.8589 0.4510
+vn -0.3781 0.7080 0.5965
+vn -0.3259 0.5415 0.7749
+vn -0.1168 0.4570 0.8818
+vn 0.2806 0.9045 -0.3212
+vn -0.4143 0.8498 -0.3258
+vn -0.8813 0.4717 0.0274
+vn -0.8469 -0.0083 0.5316
+vn -0.3313 -0.3091 0.8915
+vn 0.3636 -0.2544 0.8961
+vn 0.8306 0.1237 0.5429
+vn 0.7962 0.6037 0.0387
+vn 0.6304 0.7631 -0.1424
+vn -0.0068 0.9284 -0.3716
+vn -0.6549 0.7242 -0.2161
+vn -0.9342 0.2702 0.2331
+vn -0.6811 -0.1677 0.7127
+vn -0.0439 -0.3330 0.9419
+vn 0.6042 -0.1288 0.7864
+vn 0.8835 0.3252 0.3372
+vn 0.5665 -0.5444 0.6186
+vn 0.3410 0.6653 -0.6642
+vn -0.4222 0.6081 -0.6723
+vn -0.9381 0.1947 -0.2866
+vn -0.9044 -0.3328 0.2670
+vn -0.3410 -0.6653 0.6642
+vn 0.4222 -0.6081 0.6723
+vn 0.9381 -0.1947 0.2866
+vn 0.9044 0.3328 -0.2670
+vn 0.7163 0.5135 -0.4725
+vn 0.0150 0.6923 -0.7214
+vn -0.6951 0.4656 -0.5478
+vn -0.9980 -0.0339 -0.0533
+vn -0.7163 -0.5135 0.4725
+vn -0.0150 -0.6923 0.7214
+vn 0.6951 -0.4656 0.5478
+vn 0.9980 0.0339 0.0533
+vn 0.3332 -0.0285 -0.9424
+vn -0.2184 -0.0444 -0.9749
+vn -0.6172 -0.3263 -0.7160
+vn -0.6296 -0.7091 -0.3174
+vn -0.2483 -0.9686 -0.0126
+vn 0.3032 -0.9527 0.0198
+vn 0.7021 -0.6708 -0.2391
+vn 0.7146 -0.2878 -0.6376
+vn 0.5251 -0.1062 -0.8444
+vn 0.0053 -0.0013 -1.0000
+vn -0.4929 -0.1877 -0.8496
+vn -0.6775 -0.5562 -0.4813
+vn 0.4974 0.8675 -0.0092
+vn -0.4403 -0.8910 -0.1107
+vn 0.0796 -0.9958 0.0449
+vn 0.5778 -0.8094 -0.1055
+vn 0.7624 -0.4408 -0.4738
+vn -0.6588 0.1517 0.7368
+vn -0.5843 -0.2273 -0.7791
+vn -0.5566 -0.2612 -0.7886
+vn -0.3638 -0.9311 -0.0247
+vn -0.3452 -0.9363 -0.0651
+vn 0.6660 -0.7327 -0.1404
+vn 0.6424 -0.7459 -0.1761
+vn 0.4481 -0.0290 -0.8935
+vn 0.4331 -0.0718 -0.8985
+vn -0.1150 0.0178 -0.9932
+vn -0.1066 -0.0262 -0.9940
+vn -0.6873 -0.6203 -0.3779
+vn -0.6555 -0.6382 -0.4039
+vn 0.1967 -0.9777 0.0737
+vn 0.1924 -0.9809 0.0293
+vn 0.7691 -0.3420 -0.5399
+vn -0.6480 0.4973 -0.5768
+vn 0.7418 -0.3707 -0.5589
+vn 0.0613 -0.7208 -0.6904
+vn -0.9810 0.0841 -0.1749
+vn 0.0614 -0.7208 -0.6904
+vn 0.1730 -0.0298 -0.9845
+vn 0.6210 -0.2115 -0.7548
+vn 0.7330 -0.5719 -0.3683
+vn 0.4417 -0.8954 -0.0567
+vn -0.0831 -0.9965 0.0023
+vn -0.5337 -0.8144 -0.2279
+vn -0.6460 -0.4557 -0.6124
+vn -0.3544 -0.1305 -0.9260
+# 144 vertex normals
+
+g diamant_04
+usemtl wire_000000000
+s 1
+f 974//166 975//166 976//166 977//166
+f 978//166 979//166 980//166 977//166
+f 981//166 978//166 977//166 976//166
+s off
+f 982//167 983//167 984//167 974//167
+f 985//168 986//168 975//168 984//168
+f 974//169 984//169 975//169
+f 987//170 988//170 989//170 975//170
+f 990//171 991//171 976//171 989//171
+f 975//172 989//172 976//172
+f 992//173 993//173 994//173 976//173
+f 995//174 996//174 981//174 994//174
+f 976//175 994//175 981//175
+f 997//176 998//176 999//176 981//176
+f 1000//177 1001//177 978//177 999//177
+f 981//178 999//178 978//178
+f 1002//179 1003//179 1004//179 978//179
+f 1005//180 1006//180 979//180 1004//180
+f 978//181 1004//181 979//181
+f 1007//182 1008//182 1009//182 979//182
+f 1010//183 1011//183 980//183 1009//183
+f 979//184 1009//184 980//184
+f 1012//185 1013//185 1014//185 980//185
+f 1015//186 1016//186 977//186 1014//186
+f 980//187 1014//187 977//187
+f 1017//188 1018//188 1019//188 977//188
+f 1020//189 1021//189 974//189 1019//189
+f 977//190 1019//190 974//190
+f 1022//191 1018//191 1017//191 1015//191
+f 1017//192 1016//192 1015//192
+f 1022//193 1015//193 1023//193 1024//193
+f 1025//194 983//194 982//194 1020//194
+f 982//195 1021//195 1020//195
+f 1025//196 1020//196 1026//196 1027//196
+f 1028//197 988//197 987//197 985//197
+f 987//198 986//198 985//198
+f 1028//199 985//199 1029//199 1030//199
+f 1031//200 993//200 992//200 990//200
+f 992//201 991//201 990//201
+f 1031//202 990//202 1032//202 1033//202
+f 1034//203 998//203 997//203 995//203
+f 997//204 996//204 995//204
+f 1034//205 995//205 1035//205 1036//205
+f 1037//206 1003//206 1002//206 1000//206
+f 1002//207 1001//207 1000//207
+f 1037//208 1000//208 1038//208 1039//208
+f 1040//209 1008//209 1007//209 1005//209
+f 1007//210 1006//210 1005//210
+f 1040//211 1005//211 1041//211 1042//211
+f 1043//212 1013//212 1012//212 1010//212
+f 1012//213 1011//213 1010//213
+f 1043//214 1010//214 1044//214 1045//214
+f 1019//215 1018//215 1022//215
+f 984//216 983//216 1025//216
+f 989//217 988//217 1028//217
+f 994//218 993//218 1031//218
+f 999//219 998//219 1034//219
+f 1004//220 1003//220 1037//220
+f 1009//221 1008//221 1040//221
+f 1014//222 1013//222 1043//222
+f 977//223 1016//223 1017//223
+f 1023//215 1015//215 1014//215
+f 974//224 1021//224 982//224
+f 1026//216 1020//216 1019//216
+f 975//225 986//225 987//225
+f 1029//217 985//217 984//217
+f 976//226 991//226 992//226
+f 1032//218 990//218 989//218
+f 981//227 996//227 997//227
+f 1035//219 995//219 994//219
+f 978//228 1001//228 1002//228
+f 1038//220 1000//220 999//220
+f 979//229 1006//229 1007//229
+f 1041//221 1005//221 1004//221
+f 980//230 1011//230 1012//230
+f 1044//222 1010//222 1009//222
+f 1032//231 989//231 1046//231 1033//231
+f 1035//232 994//232 1047//232 1036//232
+f 1038//233 999//233 1048//233 1039//233
+f 1041//234 1004//234 1049//234 1042//234
+f 1044//235 1009//235 1050//235 1045//235
+f 1023//236 1014//236 1051//236 1024//236
+f 1026//237 1019//237 1052//237 1027//237
+f 1029//238 984//238 1053//238 1030//238
+f 1028//239 1030//239 1046//239 989//239
+f 1031//240 1033//240 1047//240 994//240
+f 1034//241 1036//241 1048//241 999//241
+f 1037//242 1039//242 1049//242 1004//242
+f 1040//243 1042//243 1050//243 1009//243
+f 1043//244 1045//244 1051//244 1014//244
+f 1022//245 1024//245 1052//245 1019//245
+f 1025//246 1027//246 1053//246 984//246
+f 1024//247 1054//247 1054//247
+f 1027//247 1055//247 1055//247
+f 1030//247 1056//247 1056//247
+f 1033//247 1057//247 1057//247
+f 1036//247 1058//247 1058//247
+f 1042//247 1059//247 1059//247
+f 1045//247 1060//247 1060//247
+f 1046//248 1057//248 1033//248
+f 1047//249 1058//249 1036//249
+f 1048//250 1061//250 1039//250
+f 1049//251 1059//251 1042//251
+f 1050//252 1060//252 1045//252
+f 1051//253 1054//253 1024//253
+f 1052//254 1055//254 1027//254
+f 1053//255 1056//255 1030//255
+f 1030//256 1056//256 1046//256
+f 1033//257 1057//257 1047//257
+f 1036//258 1058//258 1048//258
+f 1039//259 1061//259 1049//259
+f 1042//260 1059//260 1050//260
+f 1045//261 1060//261 1051//261
+f 1024//262 1054//262 1052//262
+f 1027//263 1055//263 1053//263
+f 1024//247 1054//247 1054//247
+f 1024//247 1054//247 1054//247
+f 1054//247 1054//247 1024//247
+f 1027//247 1055//247 1055//247
+f 1027//247 1055//247 1055//247
+f 1055//247 1055//247 1027//247
+f 1030//247 1056//247 1056//247
+f 1030//247 1056//247 1056//247
+f 1056//247 1056//247 1030//247
+f 1033//247 1057//247 1057//247
+f 1033//247 1057//247 1057//247
+f 1057//247 1057//247 1033//247
+f 1036//247 1058//247 1058//247
+f 1036//247 1058//247 1058//247
+f 1058//247 1058//247 1036//247
+f 1039//247 1061//247 1061//247
+f 1039//247 1061//247 1061//247
+f 1042//247 1059//247 1059//247
+f 1042//247 1059//247 1059//247
+f 1045//247 1060//247 1060//247
+f 1045//247 1060//247 1060//247
+f 1060//247 1060//247 1045//247
+f 1046//248 1057//248 1033//248
+f 1033//247 1057//247 1057//247
+f 1033//252 1057//252 1046//252
+f 1047//249 1058//249 1036//249
+f 1036//247 1058//247 1058//247
+f 1036//253 1058//253 1047//253
+f 1048//250 1061//250 1039//250
+f 1039//247 1061//247 1061//247
+f 1039//254 1061//254 1048//254
+f 1049//251 1059//251 1042//251
+f 1042//247 1059//247 1059//247
+f 1042//255 1059//255 1049//255
+f 1050//252 1060//252 1045//252
+f 1045//247 1060//247 1060//247
+f 1045//248 1060//248 1050//248
+f 1051//253 1054//253 1024//253
+f 1024//247 1054//247 1054//247
+f 1024//249 1054//249 1051//249
+f 1052//254 1055//254 1027//254
+f 1027//247 1055//247 1055//247
+f 1027//250 1055//250 1052//250
+f 1053//255 1056//255 1030//255
+f 1030//247 1056//247 1056//247
+f 1030//251 1056//251 1053//251
+f 1030//247 1056//247 1056//247
+f 1030//256 1056//256 1046//256
+f 1046//260 1056//260 1030//260
+f 1033//247 1057//247 1057//247
+f 1033//257 1057//257 1047//257
+f 1047//261 1057//261 1033//261
+f 1036//247 1058//247 1058//247
+f 1036//258 1058//258 1048//258
+f 1048//262 1058//262 1036//262
+f 1039//259 1061//259 1049//259
+f 1049//263 1061//263 1039//263
+f 1042//247 1059//247 1059//247
+f 1042//260 1059//260 1050//260
+f 1050//256 1059//256 1042//256
+f 1045//247 1060//247 1060//247
+f 1045//261 1060//261 1051//261
+f 1051//257 1060//257 1045//257
+f 1024//247 1054//247 1054//247
+f 1024//262 1054//262 1052//262
+f 1052//258 1054//258 1024//258
+f 1027//263 1055//263 1053//263
+f 1053//259 1055//259 1027//259
+f 1057//264 1046//264 1046//264 1062//264
+f 1047//265 1047//265 1063//265 1058//265
+f 1061//266 1048//266 1048//266 1064//266
+f 1049//267 1065//267 1059//267 1049//267
+f 1060//268 1050//268 1050//268 1066//268
+f 1051//269 1067//269 1068//269 1054//269
+f 1055//270 1052//270 1052//270 1069//270
+f 1053//271 1053//271 1070//271 1056//271
+f 1046//272 1056//272 1070//272 1046//272
+f 1062//273 1047//273 1047//273 1057//273
+f 1048//274 1048//274 1058//274 1063//274
+f 1049//275 1061//275 1064//275
+f 1064//276 1049//276 1049//276
+f 1050//277 1059//277 1065//277 1050//277
+f 1051//278 1060//278 1066//278 1067//278
+f 1052//279 1052//279 1054//279 1068//279
+f 1053//280 1055//280 1069//280
+f 1069//281 1053//281 1053//281
+f 1063//282 1071//282 1072//282 1073//282
+f 1072//247 1072//247 1073//247
+f 1048//283 1063//283 1073//283 1064//283
+f 1065//284 1074//284 1075//284 1076//284
+f 1075//247 1075//247 1076//247
+f 1050//285 1065//285 1076//285 1066//285
+f 1068//286 1077//286 1078//286 1079//286
+f 1078//247 1078//247 1079//247
+f 1052//287 1068//287 1079//287 1069//287
+f 1070//288 1080//288 1081//288 1082//288
+f 1081//247 1081//247 1082//247
+f 1082//289 1062//289 1046//289 1070//289
+f 1062//290 1082//290 1083//290 1071//290
+f 1083//247 1083//247 1071//247
+f 1071//291 1063//291 1047//291 1062//291
+f 1064//292 1073//292 1084//292 1074//292
+f 1084//247 1084//247 1074//247
+f 1074//293 1065//293 1049//293 1064//293
+f 1066//294 1076//294 1085//294 1077//294
+f 1085//247 1085//247 1077//247
+f 1077//295 1068//295 1067//295 1066//295
+f 1069//296 1079//296 1086//296 1080//296
+f 1086//297 1086//297 1080//297
+f 1080//298 1070//298 1053//298 1069//298
+f 1081//299 1081//299 1086//299 1078//299
+f 1086//300 1086//300 1078//300
+f 1078//301 1078//301 1085//301 1081//301
+f 1085//301 1085//301 1075//301 1081//301
+f 1075//301 1075//301 1084//301 1081//301
+f 1084//301 1084//301 1072//301 1081//301
+f 1072//299 1072//299 1083//299 1081//299
+f 1083//247 1081//247 1083//247
+f 1082//302 1081//302 1083//302
+f 1080//303 1086//303 1081//303
+f 1079//304 1078//304 1086//304
+f 1077//305 1085//305 1078//305
+f 1076//306 1075//306 1085//306
+f 1074//307 1084//307 1075//307
+f 1073//308 1072//308 1084//308
+f 1071//309 1083//309 1072//309
+# 87 polygons - 153 triangles
+
+#
+# object diamant_2
+#
+
+v 23.7515 10.5075 1.4762
+v 19.5519 14.7256 3.6086
+v 17.8692 16.8672 9.3147
+v 28.0081 6.6838 4.1665
+v 23.9458 11.8540 17.9421
+v 28.1454 7.6359 15.8097
+v 29.8281 5.4944 10.1036
+v 19.6892 15.6778 15.2518
+v 22.6580 10.6338 -0.1367
+v 20.2992 11.9501 -0.8498
+v 19.1857 12.1881 -1.4665
+v 19.3822 12.8712 -0.3841
+v 18.8125 14.4961 1.8159
+v 17.8504 15.5364 3.0980
+v 15.7540 16.7938 4.4506
+v 14.5514 17.1985 4.7089
+v 15.3866 17.2614 5.6965
+v 16.3096 17.4973 8.3228
+v 16.3321 17.6531 10.2273
+v 15.4713 17.8487 12.8779
+v 14.6597 17.9486 13.8819
+v 15.8687 17.5889 14.1743
+v 17.9986 16.5639 15.6637
+v 18.9925 15.7440 17.0748
+v 19.6167 14.4969 19.4956
+v 19.4470 13.9991 20.6789
+v 20.5461 13.6619 20.0831
+v 22.8901 12.2427 19.5382
+v 24.2732 10.9274 19.6295
+v 25.7618 8.7018 20.4272
+v 26.1091 7.6634 21.1184
+v 26.6788 7.7808 19.9615
+v 28.1187 7.0650 17.6769
+v 29.0808 6.0248 16.3948
+v 30.3070 3.8582 15.1268
+v 30.7434 2.6530 14.9430
+v 30.6744 3.3906 13.8809
+v 30.6216 4.0638 11.1699
+v 30.5991 3.9081 9.2655
+v 30.5897 2.8033 6.6995
+v 30.6352 1.9029 5.7700
+v 30.1923 3.0630 5.4031
+v 28.9326 4.9972 3.8291
+v 27.9387 5.8172 2.4180
+v 26.4443 6.1551 0.0818
+v 25.8479 5.8525 -1.0270
+v 25.5149 6.9900 -0.5057
+v 24.0411 9.3184 -0.0454
+v 26.4260 5.3755 -0.2062
+v 30.0571 2.3799 4.9492
+v 28.1502 2.4775 1.6222
+v 19.9903 11.4230 -1.4135
+v 25.0434 6.6176 -1.0801
+v 21.7974 8.1843 -2.3931
+v 15.1111 16.5935 3.9632
+v 18.6261 12.7932 -0.7208
+v 15.5295 14.4797 0.7896
+v 14.6466 17.8581 12.7742
+v 14.5645 17.2891 5.8167
+v 13.0181 17.6760 9.3058
+v 18.8689 14.4760 19.8581
+v 15.2378 17.4717 14.7027
+v 15.7345 15.9008 18.1668
+v 25.3046 8.4285 21.0654
+v 20.2515 13.2340 20.7320
+v 22.0873 10.1939 22.1821
+v 30.1838 3.2581 15.6887
+v 26.6688 7.0584 20.3727
+v 28.3552 3.8985 18.9994
+v 30.6483 1.9935 6.8777
+v 30.7304 2.5624 13.8352
+v 30.8666 0.7022 10.4832
+v 13.3119 16.4912 4.6089
+v 13.4241 17.2694 14.1245
+v 18.3904 13.1722 21.1755
+v 25.3014 6.5999 21.6315
+v 30.1088 1.4023 15.2253
+v 29.9966 0.6241 5.7096
+v 25.0304 4.7212 -1.3414
+v 18.1193 11.2936 -1.7973
+v 27.6862 1.9927 1.6673
+v 21.3334 7.6995 -2.3480
+v 15.0655 13.9950 0.8347
+v 12.5542 17.1912 9.3509
+v 15.2705 15.4160 18.2120
+v 27.8912 3.4137 19.0446
+v 30.4026 0.2175 10.5284
+v 21.6233 9.7092 22.2272
+v 12.7910 2.5215 10.5477
+v 13.4241 17.2693 14.1245
+v 13.2323 2.2331 11.9873
+v 14.2644 1.3059 12.6397
+v 15.2827 0.2831 12.1226
+v 15.6907 -0.2361 10.7390
+v 15.2494 0.0523 9.2994
+v 14.2173 0.9794 8.6471
+v 13.2065 1.9941 9.1541
+v 13.1045 1.4503 11.6225
+v 12.9730 0.0160 11.0480
+v 13.8241 0.8039 12.0773
+v 14.5340 0.0909 11.7168
+v 13.2745 -0.2868 10.8949
+v 14.8185 -0.2712 10.7522
+v 14.5108 -0.0701 9.7485
+v 13.1438 -0.2014 10.4687
+v 13.7912 0.5763 9.2937
+v 13.0865 1.2837 9.6472
+v 12.8430 0.1007 10.6209
+v 12.7968 1.6514 10.6188
+v 12.8452 0.1215 10.8666
+v 13.1508 -0.1530 11.0597
+v 13.2716 -0.3068 10.6501
+v 12.9667 -0.0330 10.4561
+# 113 vertices
+
+vn 0.6899 0.7208 -0.0671
+vn 0.4359 0.8953 -0.0917
+vn 0.8036 0.5260 -0.2784
+vn 0.5353 0.7394 -0.4083
+vn 0.4964 0.8582 0.1310
+vn 0.6437 0.6706 -0.3686
+vn 0.3934 0.8929 -0.2191
+vn 0.6509 0.7204 0.2396
+vn 0.4915 0.8245 -0.2803
+vn 0.3967 0.9159 0.0619
+vn 0.8089 0.5627 0.1704
+vn 0.4362 0.8975 -0.0652
+vn 0.5433 0.7949 0.2701
+vn 0.8780 0.4774 -0.0360
+vn 0.5102 0.8467 0.1507
+vn 0.7474 0.6008 0.2836
+vn 0.8175 0.5145 -0.2588
+vn 0.6702 0.7021 0.2409
+vn 0.8894 0.4473 0.0944
+vn 0.6630 0.6523 -0.3673
+vn 0.8223 0.5482 0.1525
+vn 0.8861 0.4243 -0.1866
+vn 0.5049 0.8100 -0.2981
+vn 0.8776 0.4752 -0.0626
+vn 0.7394 0.5453 -0.3948
+vn 0.8466 0.1445 -0.5123
+vn 0.8439 0.1251 -0.5217
+vn 0.8512 0.1900 -0.4892
+vn 0.4904 0.4645 -0.7374
+vn 0.4797 0.4522 -0.7519
+vn 0.5146 0.4924 -0.7020
+vn 0.1389 0.8175 -0.5590
+vn 0.1203 0.8132 -0.5695
+vn 0.1824 0.8260 -0.5333
+vn -0.0019 0.9967 -0.0815
+vn -0.0236 0.9964 -0.0812
+vn 0.0493 0.9954 -0.0820
+vn 0.1504 0.8971 0.4154
+vn 0.1321 0.8946 0.4268
+vn 0.1933 0.9013 0.3876
+vn 0.5066 0.5771 0.6405
+vn 0.4963 0.5675 0.6570
+vn 0.5299 0.5989 0.6004
+vn 0.8581 0.2242 0.4621
+vn 0.8557 0.2065 0.4746
+vn 0.8621 0.2653 0.4317
+vn 0.9989 0.0449 -0.0155
+vn 0.9996 0.0233 -0.0137
+vn 0.9952 0.0959 -0.0196
+vn 0.8490 0.1654 -0.5018
+vn 0.5017 0.4775 -0.7214
+vn 0.1590 0.8217 -0.5474
+vn 0.0217 0.9964 -0.0817
+vn 0.1702 0.8994 0.4027
+vn 0.5175 0.5873 0.6223
+vn 0.8602 0.2431 0.4483
+vn 0.9975 0.0684 -0.0174
+vn 0.8164 0.5039 -0.2822
+vn 0.6484 0.6548 -0.3883
+vn 0.4826 0.8213 -0.3042
+vn 0.4162 0.9058 -0.0790
+vn 0.4880 0.8589 0.1553
+vn 0.6560 0.7080 0.2615
+vn 0.8218 0.5415 0.1773
+vn 0.8882 0.4570 -0.0478
+vn -0.3674 0.9045 -0.2165
+vn -0.2438 0.8498 0.4673
+vn 0.1896 0.4717 0.8611
+vn 0.6788 -0.0083 0.7343
+vn 0.9373 -0.3091 0.1611
+vn 0.8137 -0.2544 -0.5227
+vn 0.3803 0.1237 -0.9165
+vn -0.1089 0.6037 -0.7897
+vn -0.2563 0.7631 -0.5933
+vn -0.3640 0.9284 0.0752
+vn -0.0915 0.7242 0.6835
+vn 0.4015 0.2702 0.8751
+vn 0.8262 -0.1677 0.5379
+vn 0.9338 -0.3330 -0.1307
+vn 0.6614 -0.1288 -0.7389
+vn 0.1684 0.3252 -0.9305
+vn 0.5035 -0.5444 -0.6709
+vn -0.7157 0.6653 -0.2126
+vn -0.5829 0.6081 0.5390
+vn -0.1086 0.1947 0.9748
+vn 0.4293 -0.3328 0.8396
+vn 0.7157 -0.6653 0.2126
+vn 0.5829 -0.6081 -0.5390
+vn 0.1086 -0.1947 -0.9748
+vn -0.4293 0.3328 -0.8396
+vn -0.5965 0.5135 -0.6168
+vn -0.7118 0.6923 0.1184
+vn -0.4101 0.4656 0.7842
+vn 0.1318 -0.0339 0.9907
+vn 0.5965 -0.5135 0.6168
+vn 0.7118 -0.6923 -0.1184
+vn 0.4101 -0.4656 -0.7842
+vn -0.1318 0.0339 -0.9907
+vn -0.9877 -0.0285 -0.1536
+vn -0.9178 -0.0444 0.3945
+vn -0.5898 -0.3263 0.7387
+vn -0.1958 -0.7091 0.6774
+vn 0.0334 -0.9686 0.2464
+vn -0.0365 -0.9527 -0.3017
+vn -0.3645 -0.6708 -0.6459
+vn -0.7585 -0.2878 -0.5847
+vn -0.9268 -0.1062 -0.3603
+vn -0.9838 -0.0013 0.1793
+vn -0.7441 -0.1877 0.6412
+vn -0.3480 -0.5562 0.7546
+vn -0.1009 0.8675 -0.4872
+vn -0.0276 -0.8910 0.4532
+vn 0.0295 -0.9958 -0.0865
+vn -0.2103 -0.8094 -0.5484
+vn -0.6063 -0.4408 -0.6619
+vn 0.8457 0.1517 0.5116
+vn -0.6579 -0.2273 0.7180
+vn -0.6724 -0.2612 0.6926
+vn 0.0429 -0.9311 0.3621
+vn -0.0003 -0.9363 0.3513
+vn -0.2608 -0.7327 -0.6286
+vn -0.2916 -0.7459 -0.5988
+vn -0.9609 -0.0290 -0.2755
+vn -0.9630 -0.0718 -0.2599
+vn -0.9549 0.0178 0.2963
+vn -0.9572 -0.0262 0.2882
+vn -0.2446 -0.6203 0.7452
+vn -0.2760 -0.6382 0.7187
+vn 0.0362 -0.9777 -0.2070
+vn -0.0067 -0.9809 -0.1944
+vn -0.6725 -0.3420 -0.6563
+vn -0.4473 0.4973 0.7433
+vn -0.6861 -0.3707 -0.6260
+vn -0.6899 -0.7208 0.0671
+vn 0.0091 0.0841 0.9964
+vn -0.9995 -0.0298 0.0116
+vn -0.8564 -0.2115 -0.4711
+vn -0.4972 -0.5719 -0.6525
+vn -0.1372 -0.8954 -0.4236
+vn 0.0176 -0.9965 0.0813
+vn -0.1255 -0.8144 0.5666
+vn -0.4827 -0.4557 0.7479
+vn -0.8447 -0.1305 0.5191
+# 143 vertex normals
+
+g diamant_2
+usemtl wire_000000000
+s 1
+f 1087//310 1088//310 1089//310 1090//310
+f 1091//310 1092//310 1093//310 1090//310
+f 1094//310 1091//310 1090//310 1089//310
+s off
+f 1095//311 1096//311 1097//311 1087//311
+f 1098//312 1099//312 1088//312 1097//312
+f 1087//313 1097//313 1088//313
+f 1100//314 1101//314 1102//314 1088//314
+f 1103//315 1104//315 1089//315 1102//315
+f 1088//316 1102//316 1089//316
+f 1105//317 1106//317 1107//317 1089//317
+f 1108//318 1109//318 1094//318 1107//318
+f 1089//319 1107//319 1094//319
+f 1110//320 1111//320 1112//320 1094//320
+f 1113//321 1114//321 1091//321 1112//321
+f 1094//322 1112//322 1091//322
+f 1115//323 1116//323 1117//323 1091//323
+f 1118//324 1119//324 1092//324 1117//324
+f 1091//325 1117//325 1092//325
+f 1120//326 1121//326 1122//326 1092//326
+f 1123//327 1124//327 1093//327 1122//327
+f 1092//328 1122//328 1093//328
+f 1125//329 1126//329 1127//329 1093//329
+f 1128//330 1129//330 1090//330 1127//330
+f 1093//331 1127//331 1090//331
+f 1130//332 1131//332 1132//332 1090//332
+f 1133//333 1134//333 1087//333 1132//333
+f 1090//334 1132//334 1087//334
+f 1135//335 1131//335 1130//335 1128//335
+f 1130//336 1129//336 1128//336
+f 1135//337 1128//337 1136//337 1137//337
+f 1138//338 1096//338 1095//338 1133//338
+f 1095//339 1134//339 1133//339
+f 1138//340 1133//340 1139//340 1140//340
+f 1141//341 1101//341 1100//341 1098//341
+f 1100//342 1099//342 1098//342
+f 1141//343 1098//343 1142//343 1143//343
+f 1144//344 1106//344 1105//344 1103//344
+f 1105//345 1104//345 1103//345
+f 1144//346 1103//346 1145//346 1146//346
+f 1147//347 1111//347 1110//347 1108//347
+f 1110//348 1109//348 1108//348
+f 1147//349 1108//349 1148//349 1149//349
+f 1150//350 1116//350 1115//350 1113//350
+f 1115//351 1114//351 1113//351
+f 1150//352 1113//352 1151//352 1152//352
+f 1153//353 1121//353 1120//353 1118//353
+f 1120//354 1119//354 1118//354
+f 1153//355 1118//355 1154//355 1155//355
+f 1156//356 1126//356 1125//356 1123//356
+f 1125//357 1124//357 1123//357
+f 1156//358 1123//358 1157//358 1158//358
+f 1132//359 1131//359 1135//359
+f 1097//360 1096//360 1138//360
+f 1102//361 1101//361 1141//361
+f 1107//362 1106//362 1144//362
+f 1112//363 1111//363 1147//363
+f 1117//364 1116//364 1150//364
+f 1122//365 1121//365 1153//365
+f 1127//366 1126//366 1156//366
+f 1090//367 1129//367 1130//367
+f 1136//359 1128//359 1127//359
+f 1087//368 1134//368 1095//368
+f 1139//360 1133//360 1132//360
+f 1088//369 1099//369 1100//369
+f 1142//361 1098//361 1097//361
+f 1089//370 1104//370 1105//370
+f 1145//362 1103//362 1102//362
+f 1094//371 1109//371 1110//371
+f 1148//363 1108//363 1107//363
+f 1091//372 1114//372 1115//372
+f 1151//364 1113//364 1112//364
+f 1092//373 1119//373 1120//373
+f 1154//365 1118//365 1117//365
+f 1093//374 1124//374 1125//374
+f 1157//366 1123//366 1122//366
+f 1145//375 1102//375 1159//375 1146//375
+f 1148//376 1107//376 1160//376 1149//376
+f 1151//377 1112//377 1161//377 1152//377
+f 1154//378 1117//378 1162//378 1155//378
+f 1157//379 1122//379 1163//379 1158//379
+f 1136//380 1127//380 1164//380 1137//380
+f 1139//381 1132//381 1165//381 1140//381
+f 1142//382 1097//382 1166//382 1143//382
+f 1141//383 1143//383 1159//383 1102//383
+f 1144//384 1146//384 1160//384 1107//384
+f 1147//385 1149//385 1161//385 1112//385
+f 1150//386 1152//386 1162//386 1117//386
+f 1153//387 1155//387 1163//387 1122//387
+f 1156//388 1158//388 1164//388 1127//388
+f 1135//389 1137//389 1165//389 1132//389
+f 1138//390 1140//390 1166//390 1097//390
+f 1137//391 1167//391 1167//391
+f 1140//391 1168//391 1168//391
+f 1143//391 1169//391 1169//391
+f 1146//391 1170//391 1170//391
+f 1149//391 1171//391 1171//391
+f 1155//391 1172//391 1172//391
+f 1158//391 1173//391 1173//391
+f 1159//392 1170//392 1146//392
+f 1160//393 1171//393 1149//393
+f 1161//394 1174//394 1152//394
+f 1162//395 1172//395 1155//395
+f 1163//396 1173//396 1158//396
+f 1164//397 1167//397 1137//397
+f 1165//398 1168//398 1140//398
+f 1166//399 1169//399 1143//399
+f 1143//400 1169//400 1159//400
+f 1146//401 1170//401 1160//401
+f 1149//402 1171//402 1161//402
+f 1152//403 1174//403 1162//403
+f 1155//404 1172//404 1163//404
+f 1158//405 1173//405 1164//405
+f 1137//406 1167//406 1165//406
+f 1140//407 1168//407 1166//407
+f 1137//391 1167//391 1167//391
+f 1137//391 1167//391 1167//391
+f 1167//391 1167//391 1137//391
+f 1140//391 1168//391 1168//391
+f 1140//391 1168//391 1168//391
+f 1168//391 1168//391 1140//391
+f 1143//391 1169//391 1169//391
+f 1143//391 1169//391 1169//391
+f 1169//391 1169//391 1143//391
+f 1146//391 1170//391 1170//391
+f 1146//391 1170//391 1170//391
+f 1170//391 1170//391 1146//391
+f 1149//391 1171//391 1171//391
+f 1149//391 1171//391 1171//391
+f 1171//391 1171//391 1149//391
+f 1152//391 1174//391 1174//391
+f 1152//391 1174//391 1174//391
+f 1155//391 1172//391 1172//391
+f 1155//391 1172//391 1172//391
+f 1158//391 1173//391 1173//391
+f 1158//391 1173//391 1173//391
+f 1173//391 1173//391 1158//391
+f 1159//392 1170//392 1146//392
+f 1146//391 1170//391 1170//391
+f 1146//396 1170//396 1159//396
+f 1160//393 1171//393 1149//393
+f 1149//391 1171//391 1171//391
+f 1149//397 1171//397 1160//397
+f 1161//394 1174//394 1152//394
+f 1152//391 1174//391 1174//391
+f 1152//398 1174//398 1161//398
+f 1162//395 1172//395 1155//395
+f 1155//391 1172//391 1172//391
+f 1155//399 1172//399 1162//399
+f 1163//396 1173//396 1158//396
+f 1158//391 1173//391 1173//391
+f 1158//392 1173//392 1163//392
+f 1164//397 1167//397 1137//397
+f 1137//391 1167//391 1167//391
+f 1137//393 1167//393 1164//393
+f 1165//398 1168//398 1140//398
+f 1140//391 1168//391 1168//391
+f 1140//394 1168//394 1165//394
+f 1166//399 1169//399 1143//399
+f 1143//391 1169//391 1169//391
+f 1143//395 1169//395 1166//395
+f 1143//391 1169//391 1169//391
+f 1143//400 1169//400 1159//400
+f 1159//404 1169//404 1143//404
+f 1146//391 1170//391 1170//391
+f 1146//401 1170//401 1160//401
+f 1160//405 1170//405 1146//405
+f 1149//391 1171//391 1171//391
+f 1149//402 1171//402 1161//402
+f 1161//406 1171//406 1149//406
+f 1152//403 1174//403 1162//403
+f 1162//407 1174//407 1152//407
+f 1155//391 1172//391 1172//391
+f 1155//404 1172//404 1163//404
+f 1163//400 1172//400 1155//400
+f 1158//391 1173//391 1173//391
+f 1158//405 1173//405 1164//405
+f 1164//401 1173//401 1158//401
+f 1137//391 1167//391 1167//391
+f 1137//406 1167//406 1165//406
+f 1165//402 1167//402 1137//402
+f 1140//407 1168//407 1166//407
+f 1166//403 1168//403 1140//403
+f 1170//408 1159//408 1159//408 1175//408
+f 1160//409 1176//409 1177//409 1171//409
+f 1174//410 1161//410 1161//410 1178//410
+f 1162//411 1179//411 1172//411 1162//411
+f 1173//412 1163//412 1163//412 1180//412
+f 1164//413 1164//413 1181//413 1167//413
+f 1168//414 1165//414 1165//414 1182//414
+f 1166//415 1166//415 1183//415 1169//415
+f 1159//416 1169//416 1183//416 1159//416
+f 1175//417 1176//417 1160//417 1170//417
+f 1161//418 1161//418 1171//418 1177//418
+f 1162//419 1174//419 1178//419
+f 1178//420 1162//420 1162//420
+f 1163//421 1172//421 1179//421 1163//421
+f 1164//422 1173//422 1180//422 1164//422
+f 1165//423 1165//423 1167//423 1181//423
+f 1166//424 1168//424 1182//424
+f 1182//425 1166//425 1166//425
+f 1177//426 1184//426 1185//426 1186//426
+f 1185//391 1185//391 1186//391
+f 1161//427 1177//427 1186//427 1178//427
+f 1179//428 1187//428 1188//428 1189//428
+f 1188//391 1188//391 1189//391
+f 1163//429 1179//429 1189//429 1180//429
+f 1181//430 1190//430 1191//430 1192//430
+f 1191//391 1191//391 1192//391
+f 1165//431 1181//431 1192//431 1182//431
+f 1183//432 1193//432 1194//432 1195//432
+f 1194//391 1194//391 1195//391
+f 1195//433 1175//433 1159//433 1183//433
+f 1175//434 1195//434 1196//434 1184//434
+f 1196//391 1196//391 1184//391
+f 1184//435 1177//435 1176//435 1175//435
+f 1178//436 1186//436 1197//436 1187//436
+f 1197//391 1197//391 1187//391
+f 1187//437 1179//437 1162//437 1178//437
+f 1180//438 1189//438 1198//438 1190//438
+f 1198//391 1198//391 1190//391
+f 1190//439 1181//439 1164//439 1180//439
+f 1182//440 1192//440 1199//440 1193//440
+f 1199//441 1199//441 1193//441
+f 1193//442 1183//442 1166//442 1182//442
+f 1194//443 1194//443 1199//443 1191//443
+f 1199//444 1199//444 1191//444
+f 1191//443 1191//443 1198//443 1194//443
+f 1198//443 1198//443 1188//443 1194//443
+f 1188//443 1188//443 1197//443 1194//443
+f 1197//443 1197//443 1185//443 1194//443
+f 1185//443 1185//443 1196//443 1194//443
+f 1196//391 1194//391 1196//391
+f 1195//445 1194//445 1196//445
+f 1193//446 1199//446 1194//446
+f 1192//447 1191//447 1199//447
+f 1190//448 1198//448 1191//448
+f 1189//449 1188//449 1198//449
+f 1187//450 1197//450 1188//450
+f 1186//451 1185//451 1197//451
+f 1184//452 1196//452 1185//452
+# 87 polygons - 153 triangles
+
diff --git a/Assets/Placenote/Editor/APIKeyCheck.cs b/Assets/Placenote/Editor/APIKeyCheck.cs
new file mode 100755
index 00000000..2b9e11bb
--- /dev/null
+++ b/Assets/Placenote/Editor/APIKeyCheck.cs
@@ -0,0 +1,69 @@
+#if UNITY_EDITOR
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEditor;
+using UnityEditor.SceneManagement;
+using UnityEditor.Build;
+using System.IO;
+
+
+[CustomEditor(typeof(LibPlacenote))]
+public class LibPlacenoteEditor : Editor, IPreprocessBuild
+{
+ public int callbackOrder { get { return 0; } }
+ string filePath;
+ void OnEnable()
+ {
+ //File where APIKey gets written out in ever scene LibPlacenote is active
+ string sceneName = EditorSceneManager.GetActiveScene ().name;
+ filePath = Application.persistentDataPath
+ + @"/apikey_" + sceneName + ".dat";
+ }
+
+ public override void OnInspectorGUI()
+ {
+ //Called everytime PlacenoteCameraManager (and the attached LibPlacenote script) is touched. We write out the APIKey
+ var lib = target as LibPlacenote;
+ DrawDefaultInspector ();
+ StreamWriter writer = new StreamWriter (filePath, false);
+ writer.WriteLine(lib.apiKey);
+ writer.Close();
+ }
+
+ public void OnPreprocessBuild(BuildTarget target, string path) {
+
+ //Check if LibPlacenote exists, active in the current scene
+ bool libPlacenoteExists = false;
+ GameObject[] allObjects = UnityEngine.Object.FindObjectsOfType() ;
+ foreach (GameObject go in allObjects) {
+ if (go.activeInHierarchy) {
+ if (go.GetComponent (typeof(LibPlacenote)) != null) {
+ libPlacenoteExists = true;
+ }
+ }
+ }
+
+ //Right before a build starts, read the APIKey that was entered in OnInspectorGUI and make sure its not blank.
+ //If LibPlacenote does exist, try to read the file. If its empty, error out. If it doesn't exist, error out.
+ if (libPlacenoteExists) {
+ if (File.Exists (filePath)) {
+ StreamReader reader = new StreamReader (filePath);
+ string keyRead = reader.ReadToEnd ();
+
+ if (keyRead == null) {
+ Debug.LogError ("API Key Empty. Please get an API Key from http://developers.placenote.com and enter it under the LibPlacenote Object in the PlacenoteCameraManager");
+ } else if (keyRead.Trim () == "") {
+ Debug.LogError ("API Key Empty. Please get an API Key from http://developers.placenote.com and enter it under the LibPlacenote Object in the PlacenoteCameraManager");
+ } else {
+ Debug.Log ("API Key Entered:" + keyRead);
+ }
+ reader.Close ();
+ } else {
+ Debug.LogError ("API Key Empty. Please get an API Key from http://developers.placenote.com and enter it under the LibPlacenote Object in the PlacenoteCameraManager");
+ }
+ }
+ }
+}
+#endif
+
diff --git a/Assets/Placenote/Editor/LibraryCheck.cs b/Assets/Placenote/Editor/LibraryCheck.cs
new file mode 100755
index 00000000..0746cab4
--- /dev/null
+++ b/Assets/Placenote/Editor/LibraryCheck.cs
@@ -0,0 +1,26 @@
+using System.IO;
+using System.Linq;
+using UnityEngine;
+using UnityEditor;
+using UnityEditor.Build;
+
+
+class LibraryCheck : ScriptableObject, IPreprocessBuild
+{
+ public int callbackOrder { get { return 0; } }
+ public void OnPreprocessBuild(BuildTarget target, string path) {
+ var script = MonoScript.FromScriptableObject (this);
+ string scriptLoc = AssetDatabase.GetAssetPath (script); //this scripts path
+ string[] splitPathStr = scriptLoc.Split ('/');
+ string placenoteLibraryPath = string.Join ("/", splitPathStr.Take (splitPathStr.Length - 2).ToArray ()) + "/Plugins/iOS/Placenote.framework/Placenote"; //find library relative to this scripts path
+
+ if (!File.Exists (placenoteLibraryPath)) {
+ Debug.LogError ("Can't find Placenote Library. It should be in Placenote/Plugins/iOS/Placenote.framework Please install git lfs to download the proper file. You can follow the instructions here:\nhttps://github.com/Placenote/PlacenoteSDK-Unity");
+ }
+
+ if (new FileInfo (placenoteLibraryPath).Length < 1000000) {
+ Debug.LogError ("Placenote not properly downloaded. Please install git lfs to download it properly. You can follow the instructions here:\nhttps://github.com/Placenote/PlacenoteSDK-Unity");
+ }
+ }
+}
+
diff --git a/Assets/Placenote/Editor/PlacenoteVersionInfo.cs b/Assets/Placenote/Editor/PlacenoteVersionInfo.cs
new file mode 100644
index 00000000..260e410a
--- /dev/null
+++ b/Assets/Placenote/Editor/PlacenoteVersionInfo.cs
@@ -0,0 +1,43 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEditor;
+
+
+public class PlacenoteVersionInfo : EditorWindow
+{
+ private string versionString = "v1.6.7";
+
+ //Add a menu item to version output
+ [MenuItem("Placenote/About Placenote...")]
+ static void VersionOutput()
+ {
+ PlacenoteVersionInfo window = ScriptableObject.CreateInstance();
+ window.position = new Rect(Screen.width / 2, Screen.height / 2, 450, 100);
+ window.ShowPopup();
+ }
+
+ //Add a menu item to link to slack.
+ [MenuItem("Placenote/Help...")]
+ static void HelpOutput()
+ {
+ Application.OpenURL("https://vertical.us11.list-manage.com/track/click?u=b63923e54766af5486b0555d4&id=f8c5cd33ec&e=e427dca59e");
+ }
+
+ //Describ the window that pops up when you ask for the version.
+ void OnGUI()
+ {
+ EditorGUILayout.LabelField("www.placenote.com\nPlacenote Version " + versionString + "\n" +
+ "", EditorStyles.wordWrappedLabel);
+
+ GUILayout.Space(5);
+ if (GUILayout.Button("Done")) this.Close();
+
+ GUILayout.Space(5);
+ if (GUILayout.Button("Details..")) {
+ this.Close ();
+ Application.OpenURL("https://github.com/Placenote/PlacenoteSDK-Unity/releases");
+ }
+ }
+}
+
diff --git a/Assets/Placenote/Editor/PostBuildTrigger.cs b/Assets/Placenote/Editor/PostBuildTrigger.cs
new file mode 100755
index 00000000..bd8c17e4
--- /dev/null
+++ b/Assets/Placenote/Editor/PostBuildTrigger.cs
@@ -0,0 +1,36 @@
+using UnityEngine;
+using UnityEditor;
+using UnityEditor.Callbacks;
+using UnityEditor.iOS.Xcode;
+using System.IO;
+#if UNITY_2017_2_OR_NEWER
+using UnityEditor.iOS.Xcode.Extensions;
+#endif
+
+public class PostBuildTrigger : MonoBehaviour
+{
+ [PostProcessBuild (500)]
+ public static void OnPostprocessBuild (BuildTarget target, string pathToBuiltProject)
+ {
+ #if UNITY_IOS
+ Debug.Log ("Post Processing IOS Build...");
+ //EmbedFrameworks
+ var projPath = PBXProject.GetPBXProjectPath (pathToBuiltProject);
+ var proj = new PBXProject ();
+ proj.ReadFromString (File.ReadAllText (projPath));
+ var targetGuid = proj.TargetGuidByName ("Unity-iPhone");
+ // EmbedFrameworks cannot be added in Unity 5.6.5
+ #if UNITY_2017_2_OR_NEWER
+ const string defaultLocationInProj = "Plugins/iOS";
+ const string coreFrameworkName = "Placenote.framework";
+ var framework = Path.Combine(defaultLocationInProj, coreFrameworkName);
+ var fileGuid = proj.AddFile(framework, "Frameworks/Placenote/" + framework, PBXSourceTree.Sdk);
+ PBXProjectExtensions.AddFileToEmbedFrameworks(proj, targetGuid, fileGuid);
+ proj.SetBuildProperty(targetGuid, "LD_RUNPATH_SEARCH_PATHS", "$(inherited) @executable_path/Frameworks");
+ #endif
+ proj.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");
+ proj.WriteToFile (projPath);
+ //EmbedFrameworks end
+ #endif
+ }
+}
\ No newline at end of file
diff --git a/Assets/Placenote/Examples/KeyboardMover.cs b/Assets/Placenote/Examples/KeyboardMover.cs
new file mode 100644
index 00000000..ebd5d4e1
--- /dev/null
+++ b/Assets/Placenote/Examples/KeyboardMover.cs
@@ -0,0 +1,60 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class KeyboardMover : MonoBehaviour {
+
+ [SerializeField] float translateSpeed = 2.0f;
+ [SerializeField] float rotateSpeed = 90f;
+ [SerializeField] float randomOffset = 0.01f;
+ [SerializeField] bool enableSimulatedHandshake = false;
+
+ void Awake () {
+ #if UNITY_EDITOR
+ enabled = true;
+ #else
+ enabled = false;
+ #endif
+ }
+
+ void Update () {
+ if (Input.GetKey(KeyCode.W)) {
+ transform.Translate (Vector3.forward * translateSpeed * Time.deltaTime);
+ }
+ if (Input.GetKey(KeyCode.A)) {
+ transform.Translate (Vector3.left * translateSpeed * Time.deltaTime);
+ }
+ if (Input.GetKey(KeyCode.S)) {
+ transform.Translate (Vector3.back * translateSpeed * Time.deltaTime);
+ }
+ if (Input.GetKey(KeyCode.D)) {
+ transform.Translate (Vector3.right * translateSpeed * Time.deltaTime);
+ }
+ if (Input.GetKey(KeyCode.R)) {
+ transform.Translate (Vector3.up * translateSpeed * Time.deltaTime);
+ }
+ if (Input.GetKey(KeyCode.F)) {
+ transform.Translate (Vector3.down * translateSpeed * Time.deltaTime);
+ }
+ /*
+ if (Input.GetKey(KeyCode.UpArrow)) {
+ transform.Rotate (Vector3.left * rotateSpeed * Time.deltaTime);
+ }
+ if (Input.GetKey(KeyCode.DownArrow)) {
+ transform.Rotate (Vector3.right * rotateSpeed * Time.deltaTime);
+ }
+ */
+
+ if (Input.GetKey(KeyCode.RightArrow)) {
+ transform.Rotate (Vector3.up * rotateSpeed * Time.deltaTime);
+ }
+ if (Input.GetKey(KeyCode.LeftArrow)) {
+ transform.Rotate (Vector3.down * rotateSpeed * Time.deltaTime);
+ }
+
+ if (enableSimulatedHandshake)
+ transform.Translate (Random.onUnitSphere * Random.Range (0f, randomOffset));
+
+ transform.eulerAngles = Vector3.Scale (transform.eulerAngles, new Vector3 (1, 1, 0));
+ }
+}
diff --git a/Assets/Placenote/Examples/MapInfoElement.cs b/Assets/Placenote/Examples/MapInfoElement.cs
new file mode 100755
index 00000000..17e974a9
--- /dev/null
+++ b/Assets/Placenote/Examples/MapInfoElement.cs
@@ -0,0 +1,51 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.Events;
+using UnityEngine.UI;
+using Newtonsoft.Json.Linq;
+
+public class MapInfoElement : MonoBehaviour
+{
+ [SerializeField] Text mMapIdText;
+ [SerializeField] Text mLocationText;
+ [SerializeField] Toggle mToggle;
+
+ public void Initialize (LibPlacenote.MapInfo mapInfo, ToggleGroup toggleGroup,
+ RectTransform listParent, UnityAction onToggleChanged)
+ {
+ mMapIdText.text = mapInfo.placeId;
+ if (mapInfo.metadata.name != null && mapInfo.metadata.name.Length > 0) {
+ mMapIdText.text = mapInfo.metadata.name;
+ }
+ mToggle.group = toggleGroup;
+ gameObject.transform.SetParent (listParent);
+ mToggle.onValueChanged.AddListener (onToggleChanged);
+
+ if (Input.location.status != LocationServiceStatus.Running) {
+ mLocationText.text = "Distance Unknown - No user location";
+ } else if (mapInfo.metadata.location != null) {
+ var distance = Calc (Input.location.lastData.latitude, Input.location.lastData.longitude,
+ mapInfo.metadata.location.latitude,
+ mapInfo.metadata.location.longitude);
+ mLocationText.text = "Distance: " + distance.ToString("F3") + "km";
+ } else {
+ mLocationText.text = "Distance Unknown - Map does not have location";
+ }
+ }
+
+ public static double Calc(float lat1, float lon1, float lat2, float lon2)
+ {
+ // Very simple spherical calculation, should probably use a better
+ // projection for production
+ var R = 6378.137; // Radius of earth in KM
+ var dLat = lat2 * Mathf.PI / 180 - lat1 * Mathf.PI / 180;
+ var dLon = lon2 * Mathf.PI / 180 - lon1 * Mathf.PI / 180;
+ float a = Mathf.Sin(dLat / 2) * Mathf.Sin(dLat / 2) +
+ Mathf.Cos(lat1 * Mathf.PI / 180) * Mathf.Cos(lat2 * Mathf.PI / 180) *
+ Mathf.Sin(dLon / 2) * Mathf.Sin(dLon / 2);
+ var c = 2 * Mathf.Atan2(Mathf.Sqrt(a), Mathf.Sqrt(1 - a));
+ var d = R * c;
+ return d;
+ }
+}
diff --git a/Assets/Placenote/Examples/PlacenoteARAnchorManager.cs b/Assets/Placenote/Examples/PlacenoteARAnchorManager.cs
new file mode 100755
index 00000000..00ba0a61
--- /dev/null
+++ b/Assets/Placenote/Examples/PlacenoteARAnchorManager.cs
@@ -0,0 +1,76 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Collections.Hybrid.Generic;
+
+namespace UnityEngine.XR.iOS
+{
+ public class PlacenoteARAnchorManager
+ {
+
+
+ private LinkedListDictionary planeAnchorMap;
+
+
+ public PlacenoteARAnchorManager ()
+ {
+ planeAnchorMap = new LinkedListDictionary ();
+ UnityARSessionNativeInterface.ARAnchorAddedEvent += AddAnchor;
+ UnityARSessionNativeInterface.ARAnchorUpdatedEvent += UpdateAnchor;
+ UnityARSessionNativeInterface.ARAnchorRemovedEvent += RemoveAnchor;
+ }
+
+
+ public void AddAnchor(ARPlaneAnchor arPlaneAnchor)
+ {
+ GameObject go = PlacenotePlaneUtility.CreatePlaneInScene (arPlaneAnchor);
+ go.AddComponent (); //this is so these GOs persist across scene loads
+ ARPlaneAnchorGameObject arpag = new ARPlaneAnchorGameObject ();
+ arpag.planeAnchor = arPlaneAnchor;
+ arpag.gameObject = go;
+ planeAnchorMap.Add (arPlaneAnchor.identifier, arpag);
+ }
+
+ public void RemoveAnchor(ARPlaneAnchor arPlaneAnchor)
+ {
+ if (planeAnchorMap.ContainsKey (arPlaneAnchor.identifier)) {
+ ARPlaneAnchorGameObject arpag = planeAnchorMap [arPlaneAnchor.identifier];
+ GameObject.Destroy (arpag.gameObject);
+ planeAnchorMap.Remove (arPlaneAnchor.identifier);
+ }
+ }
+
+ public void UpdateAnchor(ARPlaneAnchor arPlaneAnchor)
+ {
+ if (planeAnchorMap.ContainsKey (arPlaneAnchor.identifier)) {
+ ARPlaneAnchorGameObject arpag = planeAnchorMap [arPlaneAnchor.identifier];
+ PlacenotePlaneUtility.UpdatePlaneWithAnchorTransform (arpag.gameObject, arPlaneAnchor);
+ arpag.planeAnchor = arPlaneAnchor;
+ planeAnchorMap [arPlaneAnchor.identifier] = arpag;
+ }
+ }
+
+ public void UnsubscribeEvents()
+ {
+ UnityARSessionNativeInterface.ARAnchorAddedEvent -= AddAnchor;
+ UnityARSessionNativeInterface.ARAnchorUpdatedEvent -= UpdateAnchor;
+ UnityARSessionNativeInterface.ARAnchorRemovedEvent -= RemoveAnchor;
+ }
+
+ public void Destroy()
+ {
+ foreach (ARPlaneAnchorGameObject arpag in GetCurrentPlaneAnchors()) {
+ GameObject.Destroy (arpag.gameObject);
+ }
+
+ planeAnchorMap.Clear ();
+ UnsubscribeEvents();
+ }
+
+ public LinkedList GetCurrentPlaneAnchors()
+ {
+ return planeAnchorMap.Values;
+ }
+ }
+}
+
diff --git a/Assets/Placenote/Examples/PlacenoteARGeneratePlane.cs b/Assets/Placenote/Examples/PlacenoteARGeneratePlane.cs
new file mode 100755
index 00000000..82c1ea7e
--- /dev/null
+++ b/Assets/Placenote/Examples/PlacenoteARGeneratePlane.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+
+namespace UnityEngine.XR.iOS
+{
+ public class PlacenoteARGeneratePlane : MonoBehaviour
+ {
+ public GameObject planePrefab;
+ public GameObject meshPrefab;
+ private PlacenoteARAnchorManager placenoteARAnchorManager;
+
+ // Use this for initialization
+ public void StartPlaneDetection () {
+
+ if (UnityARSessionNativeInterface.IsARKit_1_5_Supported ()) {
+ PlacenotePlaneUtility.InitializePlanePrefab (meshPrefab);
+ } else {
+ PlacenotePlaneUtility.InitializePlanePrefab (planePrefab);
+ }
+
+ placenoteARAnchorManager = new PlacenoteARAnchorManager();
+
+ }
+
+ public void ClearPlanes() {
+ if(placenoteARAnchorManager != null)
+ placenoteARAnchorManager.Destroy();
+ }
+
+ void OnDestroy(){
+ if(placenoteARAnchorManager != null)
+ placenoteARAnchorManager.Destroy ();
+ }
+ }
+}
diff --git a/Assets/Placenote/Examples/PlacenotePlaneMeshRender.cs b/Assets/Placenote/Examples/PlacenotePlaneMeshRender.cs
new file mode 100755
index 00000000..70ddbea6
--- /dev/null
+++ b/Assets/Placenote/Examples/PlacenotePlaneMeshRender.cs
@@ -0,0 +1,69 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+public class PlacenotePlaneMeshRender : MonoBehaviour {
+
+ [SerializeField]
+ private MeshFilter meshFilter;
+ [SerializeField]
+ private LineRenderer lineRenderer;
+ private Mesh planeMesh;
+
+ public void InitiliazeMesh(ARPlaneAnchor arPlaneAnchor)
+ {
+ planeMesh = new Mesh ();
+ UpdateMesh (arPlaneAnchor);
+ meshFilter.mesh = planeMesh;
+
+ }
+
+ public void UpdateMesh(ARPlaneAnchor arPlaneAnchor)
+ {
+ if (UnityARSessionNativeInterface.IsARKit_1_5_Supported()) //otherwise we cannot access planeGeometry
+ {
+ planeMesh.vertices = arPlaneAnchor.planeGeometry.vertices;
+ planeMesh.uv = arPlaneAnchor.planeGeometry.textureCoordinates;
+ planeMesh.triangles = arPlaneAnchor.planeGeometry.triangleIndices;
+
+ lineRenderer.positionCount = arPlaneAnchor.planeGeometry.boundaryVertexCount;
+ lineRenderer.SetPositions(arPlaneAnchor.planeGeometry.boundaryVertices);
+
+ // Assign the mesh object and update it.
+ planeMesh.RecalculateBounds();
+ planeMesh.RecalculateNormals();
+ }
+
+ }
+
+ void PrintOutMesh()
+ {
+ string outputMessage = "\n";
+ outputMessage += "Vertices = " + planeMesh.vertices.GetLength (0);
+ outputMessage += "\nVertices = [";
+ foreach (Vector3 v in planeMesh.vertices) {
+ outputMessage += v.ToString ();
+ outputMessage += ",";
+ }
+ outputMessage += "]\n Triangles = " + planeMesh.triangles.GetLength (0);
+ outputMessage += "\n Triangles = [";
+ foreach (int i in planeMesh.triangles) {
+ outputMessage += i;
+ outputMessage += ",";
+ }
+ outputMessage += "]\n";
+ Debug.Log (outputMessage);
+
+ }
+
+ // Use this for initialization
+ void Start () {
+
+ }
+
+ // Update is called once per frame
+ void Update () {
+
+ }
+}
diff --git a/Assets/Placenote/Examples/PlacenotePlaneUtility.cs b/Assets/Placenote/Examples/PlacenotePlaneUtility.cs
new file mode 100755
index 00000000..6b2b865a
--- /dev/null
+++ b/Assets/Placenote/Examples/PlacenotePlaneUtility.cs
@@ -0,0 +1,81 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace UnityEngine.XR.iOS
+{
+ public class PlacenotePlaneUtility
+ {
+ private MeshCollider meshCollider; //declared to avoid code stripping of class
+ private MeshFilter meshFilter; //declared to avoid code stripping of class
+ private static GameObject planePrefab = null;
+
+ public static void InitializePlanePrefab(GameObject go)
+ {
+ planePrefab = go;
+ }
+
+ public static GameObject CreatePlaneInScene(ARPlaneAnchor arPlaneAnchor)
+ {
+ GameObject plane;
+ if (planePrefab != null) {
+ plane = GameObject.Instantiate(planePrefab);
+ } else {
+ plane = new GameObject (); //put in a blank gameObject to get at least a transform to manipulate
+ }
+
+ plane.name = arPlaneAnchor.identifier;
+
+ PlacenotePlaneMeshRender ppmr = plane.GetComponent ();
+ if (ppmr != null) {
+ ppmr.InitiliazeMesh (arPlaneAnchor);
+ }
+
+ return UpdatePlaneWithAnchorTransform(plane, arPlaneAnchor);
+
+ }
+
+ public static GameObject UpdatePlaneWithAnchorTransform(GameObject plane, ARPlaneAnchor arPlaneAnchor)
+ {
+
+ //do coordinate conversion from ARKit to Unity
+ Vector3 position = UnityARMatrixOps.GetPosition (arPlaneAnchor.transform);
+ Quaternion rotation = UnityARMatrixOps.GetRotation (arPlaneAnchor.transform);
+
+ //Transform to placenote frame of reference (planes are detected in ARKit frame of reference)
+ Matrix4x4 worldTransform = Matrix4x4.TRS (position, rotation, Vector3.one);
+ Matrix4x4? placenoteTransform = LibPlacenote.Instance.ProcessPose (worldTransform);
+
+ if (placenoteTransform == null) { //no map related transforms are appropriate
+ placenoteTransform = worldTransform;
+ }
+
+ plane.transform.position = PNUtility.MatrixOps.GetPosition (placenoteTransform.Value);
+ plane.transform.rotation = PNUtility.MatrixOps.GetRotation (placenoteTransform.Value);
+
+ PlacenotePlaneMeshRender ppmr = plane.GetComponent ();
+ if (ppmr != null) {
+ ppmr.UpdateMesh (arPlaneAnchor);
+ }
+
+
+ MeshFilter mf = plane.GetComponentInChildren ();
+
+ if (mf != null) {
+ if (ppmr == null) {
+ //since our plane mesh is actually 10mx10m in the world, we scale it here by 0.1f
+ mf.gameObject.transform.localScale = new Vector3 (arPlaneAnchor.extent.x * 0.1f, arPlaneAnchor.extent.y * 0.1f, arPlaneAnchor.extent.z * 0.1f);
+
+ //convert our center position to unity coords
+ mf.gameObject.transform.localPosition = new Vector3(arPlaneAnchor.center.x,arPlaneAnchor.center.y, -arPlaneAnchor.center.z);
+ }
+
+ }
+
+ return plane;
+ }
+
+
+
+ }
+}
+
diff --git a/Assets/Placenote/Examples/PlacenoteSampleTerrain.cs b/Assets/Placenote/Examples/PlacenoteSampleTerrain.cs
new file mode 100644
index 00000000..6b97c56c
--- /dev/null
+++ b/Assets/Placenote/Examples/PlacenoteSampleTerrain.cs
@@ -0,0 +1,19 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class PlacenoteSampleTerrain : MonoBehaviour {
+
+ ///
+ /// Show the sample terrain when in Unity editor
+ ///
+ void Awake(){
+ #if UNITY_EDITOR
+ gameObject.transform.GetChild(0).gameObject.SetActive(true);
+ gameObject.transform.GetChild(1).gameObject.SetActive(true);
+ #else
+ gameObject.transform.GetChild(0).gameObject.SetActive(false);
+ gameObject.transform.GetChild(1).gameObject.SetActive(false);
+ #endif
+ }
+}
diff --git a/Assets/Placenote/Examples/PlacenoteSampleView.cs b/Assets/Placenote/Examples/PlacenoteSampleView.cs
new file mode 100644
index 00000000..2e458fec
--- /dev/null
+++ b/Assets/Placenote/Examples/PlacenoteSampleView.cs
@@ -0,0 +1,461 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+using UnityEngine.UI;
+using UnityEngine.XR.iOS;
+using System.Runtime.InteropServices;
+using System.IO;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+public class PlacenoteSampleView : MonoBehaviour, PlacenoteListener
+{
+ [SerializeField] GameObject mMapSelectedPanel;
+ [SerializeField] GameObject mInitButtonPanel;
+ [SerializeField] GameObject mMappingButtonPanel;
+ [SerializeField] GameObject mSimulatorAddShapeButton;
+ [SerializeField] GameObject mMapListPanel;
+ [SerializeField] GameObject mExitButton;
+ [SerializeField] GameObject mListElement;
+ [SerializeField] RectTransform mListContentParent;
+ [SerializeField] ToggleGroup mToggleGroup;
+ [SerializeField] GameObject mPlaneDetectionToggle;
+ [SerializeField] Text mLabelText;
+ [SerializeField] PlacenoteARGeneratePlane mPNPlaneManager;
+ [SerializeField] Slider mRadiusSlider;
+ [SerializeField] float mMaxRadiusSearch;
+ [SerializeField] Text mRadiusLabel;
+
+ private UnityARSessionNativeInterface mSession;
+ private bool mFrameUpdated = false;
+ private UnityARImageFrameData mImage = null;
+ private UnityARCamera mARCamera;
+ private bool mARKitInit = false;
+
+ //private List shapeInfoList = new List ();
+ //private List shapeObjList = new List ();
+
+ private LibPlacenote.MapMetadataSettable mCurrMapDetails;
+
+ private bool mReportDebug = false;
+
+ private LibPlacenote.MapInfo mSelectedMapInfo;
+ private string mSelectedMapId {
+ get {
+ return mSelectedMapInfo != null ? mSelectedMapInfo.placeId : null;
+ }
+ }
+ private string mSaveMapId = null;
+
+
+ private BoxCollider mBoxColliderDummy;
+ private SphereCollider mSphereColliderDummy;
+ private CapsuleCollider mCapColliderDummy;
+
+
+ // Use this for initialization
+ void Start ()
+ {
+ Input.location.Start ();
+
+ mMapListPanel.SetActive (false);
+
+ mSession = UnityARSessionNativeInterface.GetARSessionNativeInterface ();
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent += ARFrameUpdated;
+ StartARKit ();
+ FeaturesVisualizer.EnablePointcloud ();
+ LibPlacenote.Instance.RegisterListener (this);
+ ResetSlider ();
+
+ // for simulator
+ #if UNITY_EDITOR
+ mSimulatorAddShapeButton.SetActive(true);
+ mPlaneDetectionToggle.SetActive(false);
+ #endif
+
+ }
+
+
+ private void ARFrameUpdated (UnityARCamera camera)
+ {
+ mFrameUpdated = true;
+ mARCamera = camera;
+ }
+
+
+ private void InitARFrameBuffer ()
+ {
+ mImage = new UnityARImageFrameData ();
+
+ int yBufSize = mARCamera.videoParams.yWidth * mARCamera.videoParams.yHeight;
+ mImage.y.data = Marshal.AllocHGlobal (yBufSize);
+ mImage.y.width = (ulong)mARCamera.videoParams.yWidth;
+ mImage.y.height = (ulong)mARCamera.videoParams.yHeight;
+ mImage.y.stride = (ulong)mARCamera.videoParams.yWidth;
+
+ // This does assume the YUV_NV21 format
+ int vuBufSize = mARCamera.videoParams.yWidth * mARCamera.videoParams.yWidth/2;
+ mImage.vu.data = Marshal.AllocHGlobal (vuBufSize);
+ mImage.vu.width = (ulong)mARCamera.videoParams.yWidth/2;
+ mImage.vu.height = (ulong)mARCamera.videoParams.yHeight/2;
+ mImage.vu.stride = (ulong)mARCamera.videoParams.yWidth;
+
+ mSession.SetCapturePixelData (true, mImage.y.data, mImage.vu.data);
+ }
+
+
+ // Update is called once per frame
+ void Update ()
+ {
+ if (mFrameUpdated) {
+ mFrameUpdated = false;
+ if (mImage == null) {
+ InitARFrameBuffer ();
+ }
+
+ if (mARCamera.trackingState == ARTrackingState.ARTrackingStateNotAvailable) {
+ // ARKit pose is not yet initialized
+ return;
+ } else if (!mARKitInit && LibPlacenote.Instance.Initialized()) {
+ mARKitInit = true;
+ mLabelText.text = "ARKit Initialized";
+ }
+
+ Matrix4x4 matrix = mSession.GetCameraPose ();
+
+ Vector3 arkitPosition = PNUtility.MatrixOps.GetPosition (matrix);
+ Quaternion arkitQuat = PNUtility.MatrixOps.GetRotation (matrix);
+
+ LibPlacenote.Instance.SendARFrame (mImage, arkitPosition, arkitQuat, mARCamera.videoParams.screenOrientation);
+ }
+ }
+
+
+ public void OnListMapClick ()
+ {
+ if (!LibPlacenote.Instance.Initialized()) {
+ Debug.Log ("SDK not yet initialized");
+ return;
+ }
+
+ foreach (Transform t in mListContentParent.transform) {
+ Destroy (t.gameObject);
+ }
+
+
+ mMapListPanel.SetActive (true);
+ mInitButtonPanel.SetActive (false);
+ mRadiusSlider.gameObject.SetActive (true);
+ LibPlacenote.Instance.ListMaps ((mapList) => {
+ // render the map list!
+ foreach (LibPlacenote.MapInfo mapId in mapList) {
+ if (mapId.metadata.userdata != null) {
+ Debug.Log(mapId.metadata.userdata.ToString (Formatting.None));
+ }
+ AddMapToList (mapId);
+ }
+ });
+ }
+
+ public void OnRadiusSelect ()
+ {
+ Debug.Log ("Map search:" + mRadiusSlider.value.ToString("F2"));
+ LocationInfo locationInfo = Input.location.lastData;
+
+
+ float radiusSearch = mRadiusSlider.value * mMaxRadiusSearch;
+ mRadiusLabel.text = "Distance Filter: " + (radiusSearch / 1000.0).ToString ("F2") + " km";
+
+ LibPlacenote.Instance.SearchMaps(locationInfo.latitude, locationInfo.longitude, radiusSearch,
+ (mapList) => {
+ foreach (Transform t in mListContentParent.transform) {
+ Destroy (t.gameObject);
+ }
+ // render the map list!
+ foreach (LibPlacenote.MapInfo mapId in mapList) {
+ if (mapId.metadata.userdata != null) {
+ Debug.Log(mapId.metadata.userdata.ToString (Formatting.None));
+ }
+ AddMapToList (mapId);
+ }
+ });
+ }
+
+ public void ResetSlider() {
+ mRadiusSlider.value = 1.0f;
+ mRadiusLabel.text = "Distance Filter: Off";
+ }
+
+ public void OnCancelClick ()
+ {
+ mMapSelectedPanel.SetActive (false);
+ mMapListPanel.SetActive (false);
+ mInitButtonPanel.SetActive (true);
+ ResetSlider ();
+ }
+
+
+ public void OnExitClick ()
+ {
+ mInitButtonPanel.SetActive (true);
+ mExitButton.SetActive (false);
+ //mPlaneDetectionToggle.SetActive (false);
+ mMappingButtonPanel.SetActive (false);
+
+ //clear all existing planes
+ mPNPlaneManager.ClearPlanes ();
+ mPlaneDetectionToggle.GetComponent().isOn = false;
+
+ LibPlacenote.Instance.StopSession ();
+ }
+
+
+ void AddMapToList (LibPlacenote.MapInfo mapInfo)
+ {
+ GameObject newElement = Instantiate (mListElement) as GameObject;
+ MapInfoElement listElement = newElement.GetComponent ();
+ listElement.Initialize (mapInfo, mToggleGroup, mListContentParent, (value) => {
+ OnMapSelected (mapInfo);
+ });
+ }
+
+
+ void OnMapSelected (LibPlacenote.MapInfo mapInfo)
+ {
+ mSelectedMapInfo = mapInfo;
+ mMapSelectedPanel.SetActive (true);
+ mRadiusSlider.gameObject.SetActive (false);
+ }
+
+
+ public void OnLoadMapClicked ()
+ {
+ ConfigureSession (false);
+
+ if (!LibPlacenote.Instance.Initialized()) {
+ Debug.Log ("SDK not yet initialized");
+ return;
+ }
+
+ ResetSlider ();
+ mLabelText.text = "Loading Map ID: " + mSelectedMapId;
+ LibPlacenote.Instance.LoadMap (mSelectedMapId,
+ (completed, faulted, percentage) => {
+ if (completed) {
+ mMapSelectedPanel.SetActive (false);
+ mMapListPanel.SetActive (false);
+ mInitButtonPanel.SetActive (false);
+ mMappingButtonPanel.SetActive(true);
+ mExitButton.SetActive (true);
+ //mPlaneDetectionToggle.SetActive(true);
+
+ LibPlacenote.Instance.StartSession (true);
+
+ if (mReportDebug) {
+ LibPlacenote.Instance.StartRecordDataset (
+ (datasetCompleted, datasetFaulted, datasetPercentage) => {
+
+ if (datasetCompleted) {
+ mLabelText.text = "Dataset Upload Complete";
+ } else if (datasetFaulted) {
+ mLabelText.text = "Dataset Upload Faulted";
+ } else {
+ mLabelText.text = "Dataset Upload: " + datasetPercentage.ToString ("F2") + "/1.0";
+ }
+ });
+ Debug.Log ("Started Debug Report");
+ }
+
+ mLabelText.text = "Loaded ID: " + mSelectedMapId;
+ } else if (faulted) {
+ mLabelText.text = "Failed to load ID: " + mSelectedMapId;
+ } else {
+ mLabelText.text = "Map Download: " + percentage.ToString ("F2") + "/1.0";
+ }
+ }
+ );
+ }
+
+ public void OnDeleteMapClicked ()
+ {
+ if (!LibPlacenote.Instance.Initialized()) {
+ Debug.Log ("SDK not yet initialized");
+ return;
+ }
+
+ mLabelText.text = "Deleting Map ID: " + mSelectedMapId;
+ LibPlacenote.Instance.DeleteMap (mSelectedMapId, (deleted, errMsg) => {
+ if (deleted) {
+ mMapSelectedPanel.SetActive (false);
+ mLabelText.text = "Deleted ID: " + mSelectedMapId;
+ OnListMapClick();
+ } else {
+ mLabelText.text = "Failed to delete ID: " + mSelectedMapId;
+ }
+ });
+ }
+
+
+
+ public void OnNewMapClick ()
+ {
+ ConfigureSession (false);
+
+ if (!LibPlacenote.Instance.Initialized()) {
+ Debug.Log ("SDK not yet initialized");
+ return;
+ }
+
+ mInitButtonPanel.SetActive (false);
+ mMappingButtonPanel.SetActive (true);
+
+ //mPlaneDetectionToggle.SetActive (true);
+
+ Debug.Log ("Started Session");
+ LibPlacenote.Instance.StartSession ();
+
+ if (mReportDebug) {
+ LibPlacenote.Instance.StartRecordDataset (
+ (completed, faulted, percentage) => {
+ if (completed) {
+ mLabelText.text = "Dataset Upload Complete";
+ } else if (faulted) {
+ mLabelText.text = "Dataset Upload Faulted";
+ } else {
+ mLabelText.text = "Dataset Upload: (" + percentage.ToString ("F2") + "/1.0)";
+ }
+ });
+ Debug.Log ("Started Debug Report");
+ }
+
+ }
+
+ public void OnTogglePlaneDetection() {
+ ConfigureSession (true);
+ }
+
+ private void StartARKit ()
+ {
+ #if !UNITY_EDITOR
+ mLabelText.text = "Initializing ARKit";
+ Application.targetFrameRate = 60;
+ ConfigureSession (false);
+ #endif
+ }
+
+
+ private void ConfigureSession(bool clearPlanes) {
+ #if !UNITY_EDITOR
+ ARKitWorldTrackingSessionConfiguration config = new ARKitWorldTrackingSessionConfiguration ();
+
+ if (mPlaneDetectionToggle.GetComponent().isOn) {
+ if (UnityARSessionNativeInterface.IsARKit_1_5_Supported ()) {
+ config.planeDetection = UnityARPlaneDetection.HorizontalAndVertical;
+ } else {
+ config.planeDetection = UnityARPlaneDetection.Horizontal;
+ }
+ mPNPlaneManager.StartPlaneDetection ();
+ } else {
+ config.planeDetection = UnityARPlaneDetection.None;
+ if (clearPlanes) {
+ mPNPlaneManager.ClearPlanes ();
+ }
+ }
+
+ config.alignment = UnityARAlignment.UnityARAlignmentGravity;
+ config.getPointCloudData = true;
+ config.enableLightEstimation = true;
+ mSession.RunWithConfig (config);
+ #endif
+ }
+
+
+ public void OnSaveMapClick ()
+ {
+ if (!LibPlacenote.Instance.Initialized()) {
+ Debug.Log ("SDK not yet initialized");
+ return;
+ }
+
+ bool useLocation = Input.location.status == LocationServiceStatus.Running;
+ LocationInfo locationInfo = Input.location.lastData;
+
+ mLabelText.text = "Saving...";
+ LibPlacenote.Instance.SaveMap (
+ (mapId) => {
+ LibPlacenote.Instance.StopSession ();
+ mSaveMapId = mapId;
+ mInitButtonPanel.SetActive (true);
+ mMappingButtonPanel.SetActive (false);
+ mExitButton.SetActive(false);
+ //mPlaneDetectionToggle.SetActive (false);
+
+ //clear all existing planes
+ mPNPlaneManager.ClearPlanes ();
+ mPlaneDetectionToggle.GetComponent().isOn = false;
+
+ LibPlacenote.MapMetadataSettable metadata = new LibPlacenote.MapMetadataSettable();
+ metadata.name = RandomName.Get ();
+ mLabelText.text = "Saved Map Name: " + metadata.name;
+
+ JObject userdata = new JObject ();
+ metadata.userdata = userdata;
+
+ JObject shapeList = GetComponent().Shapes2JSON();
+
+ userdata["shapeList"] = shapeList;
+
+ if (useLocation) {
+ metadata.location = new LibPlacenote.MapLocation();
+ metadata.location.latitude = locationInfo.latitude;
+ metadata.location.longitude = locationInfo.longitude;
+ metadata.location.altitude = locationInfo.altitude;
+ }
+ LibPlacenote.Instance.SetMetadata (mapId, metadata, (success) => {
+ if (success) {
+ Debug.Log("Meta data successfully saved");
+ } else {
+ Debug.Log("Meta data failed to save");
+ }
+ });
+ mCurrMapDetails = metadata;
+ },
+ (completed, faulted, percentage) => {
+ if (completed) {
+ mLabelText.text = "Upload Complete:" + mCurrMapDetails.name;
+ }
+ else if (faulted) {
+ mLabelText.text = "Upload of Map Named: " + mCurrMapDetails.name + "faulted";
+ }
+ else {
+ mLabelText.text = "Uploading Map Named: " + mCurrMapDetails.name + "(" + percentage.ToString("F2") + "/1.0)";
+ }
+ }
+ );
+ }
+
+ public void OnPose (Matrix4x4 outputPose, Matrix4x4 arkitPose) {}
+
+ public void OnStatusChange (LibPlacenote.MappingStatus prevStatus, LibPlacenote.MappingStatus currStatus)
+ {
+ Debug.Log ("prevStatus: " + prevStatus.ToString() + " currStatus: " + currStatus.ToString());
+ if (currStatus == LibPlacenote.MappingStatus.RUNNING && prevStatus == LibPlacenote.MappingStatus.LOST) {
+ mLabelText.text = "Localized";
+ GetComponent().LoadShapesJSON (mSelectedMapInfo.metadata.userdata);
+ } else if (currStatus == LibPlacenote.MappingStatus.RUNNING && prevStatus == LibPlacenote.MappingStatus.WAITING) {
+ mLabelText.text = "Mapping";
+ } else if (currStatus == LibPlacenote.MappingStatus.LOST) {
+ mLabelText.text = "Searching for position lock";
+ } else if (currStatus == LibPlacenote.MappingStatus.WAITING) {
+ if (GetComponent().shapeObjList.Count != 0) {
+ GetComponent().ClearShapes ();
+ }
+ }
+ }
+
+ void OnApplicationQuit()
+ {
+ LibPlacenote.Instance.Shutdown();
+ }
+}
diff --git a/Assets/Placenote/Examples/RandomName.cs b/Assets/Placenote/Examples/RandomName.cs
new file mode 100755
index 00000000..4f5d13ce
--- /dev/null
+++ b/Assets/Placenote/Examples/RandomName.cs
@@ -0,0 +1,1621 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class RandomName {
+
+ public static string Get () {
+ string adjective = Adjectives[Random.Range (0, Adjectives.Length)];
+ string animal = Animals[Random.Range (0, Animals.Length)];
+
+ return adjective + " " + animal;
+ }
+
+ public static readonly string[] Adjectives = {
+ "Able",
+ "Abnormal",
+ "Above",
+ "Absent",
+ "Absolute",
+ "Abstract",
+ "Absurd",
+ "Academic",
+ "Acceptable",
+ "Accessible",
+ "Accounting",
+ "Accurate",
+ "Accused",
+ "Active",
+ "Actual",
+ "Acute",
+ "Added",
+ "Additional",
+ "Adequate",
+ "Adjacent",
+ "Administrative",
+ "Adult",
+ "Advanced",
+ "Adverse",
+ "Advisory",
+ "Aesthetic",
+ "Afraid",
+ "Aggregate",
+ "Aggressive",
+ "Agreed",
+ "Agricultural",
+ "Alert",
+ "Alien",
+ "Alive",
+ "Alleged",
+ "Allied",
+ "Alone",
+ "Alright",
+ "Alternative",
+ "Amateur",
+ "Amazing",
+ "Ambiguous",
+ "Ambitious",
+ "Ample",
+ "Ancient",
+ "Angry",
+ "Annual",
+ "Anonymous",
+ "Anxious",
+ "Appalling",
+ "Apparent",
+ "Applicable",
+ "Applied",
+ "Appointed",
+ "Appropriate",
+ "Approved",
+ "Arbitrary",
+ "Archaeological",
+ "Architectural",
+ "Armed",
+ "Artificial",
+ "Artistic",
+ "Ashamed",
+ "Asleep",
+ "Assistant",
+ "Associated",
+ "Astonishing",
+ "Atomic",
+ "Attempted",
+ "Attractive",
+ "Automatic",
+ "Autonomous",
+ "Available",
+ "Average",
+ "Awake",
+ "Aware",
+ "Awful",
+ "Awkward",
+ "Back",
+ "Bad",
+ "Balanced",
+ "Bare",
+ "Basic",
+ "Beautiful",
+ "Beneficial",
+ "Big",
+ "Binding",
+ "Biological",
+ "Bitter",
+ "Bizarre",
+ "Black",
+ "Blank",
+ "Bleak",
+ "Blind",
+ "Blonde",
+ "Bloody",
+ "Blue",
+ "Bodily",
+ "Bold",
+ "Bored",
+ "Boring",
+ "Bottom",
+ "Bourgeois",
+ "Brave",
+ "Brief",
+ "Bright",
+ "Brilliant",
+ "Broad",
+ "Broken",
+ "Brown",
+ "Bureaucratic",
+ "Burning",
+ "Busy",
+ "Calm",
+ "Capable",
+ "Capital",
+ "Careful",
+ "Casual",
+ "Causal",
+ "Cautious",
+ "Central",
+ "Certain",
+ "Changing",
+ "Characteristic",
+ "Charming",
+ "Cheap",
+ "Cheerful",
+ "Chemical",
+ "Chief",
+ "Chosen",
+ "Chronic",
+ "Circular",
+ "Civic",
+ "Civil",
+ "Civilian",
+ "Classic",
+ "Classical",
+ "Clean",
+ "Clear",
+ "Clerical",
+ "Clever",
+ "Clinical",
+ "Close",
+ "Closed",
+ "Cooperative",
+ "Coastal",
+ "Cognitive",
+ "Coherent",
+ "Cold",
+ "Collective",
+ "Colonial",
+ "Color-blind",
+ "Colorful",
+ "Combined",
+ "Comfortable",
+ "Coming",
+ "Commercial",
+ "Common",
+ "Communist",
+ "Comparable",
+ "Comparative",
+ "Compatible",
+ "Competent",
+ "Competitive",
+ "Complementary",
+ "Complete",
+ "Complex",
+ "Complicated",
+ "Comprehensive",
+ "Compulsory",
+ "Conceptual",
+ "Concerned",
+ "Concrete",
+ "Confident",
+ "Confidential",
+ "Conscious",
+ "Conservative",
+ "Considerable",
+ "Consistent",
+ "Constant",
+ "Constitutional",
+ "Constructive",
+ "Contemporary",
+ "Content",
+ "Continental",
+ "Continued",
+ "Continuing",
+ "Continuous",
+ "Contractual",
+ "Contrary",
+ "Controlled",
+ "Controversial",
+ "Convenient",
+ "Conventional",
+ "Convincing",
+ "Cool",
+ "Corporate",
+ "Correct",
+ "Corresponding",
+ "Costly",
+ "Crazy",
+ "Creative",
+ "Criminal",
+ "Critical",
+ "Crucial",
+ "Crude",
+ "Cruel",
+ "Cultural",
+ "Curious",
+ "Current",
+ "Daily",
+ "Damaging",
+ "Damp",
+ "Dangerous",
+ "Dark",
+ "Dead",
+ "Deadly",
+ "Deaf",
+ "Dear",
+ "Decent",
+ "Decisive",
+ "Decorative",
+ "Deep",
+ "Defensive",
+ "Definite",
+ "Deliberate",
+ "Delicate",
+ "Delicious",
+ "Delighted",
+ "Delightful",
+ "Democratic",
+ "Dense",
+ "Departmental",
+ "Dependent",
+ "Depending",
+ "Depressed",
+ "Desirable",
+ "Desired",
+ "Desperate",
+ "Detailed",
+ "Determined",
+ "Developed",
+ "Developing",
+ "Devoted",
+ "Different",
+ "Differential",
+ "Difficult",
+ "Digital",
+ "Diplomatic",
+ "Direct",
+ "Dirty",
+ "Disabled",
+ "Disastrous",
+ "Disciplinary",
+ "Distant",
+ "Distinct",
+ "Distinctive",
+ "Distinguished",
+ "Distributed",
+ "Diverse",
+ "Divine",
+ "Domestic",
+ "Dominant",
+ "Double",
+ "Doubtful",
+ "Dramatic",
+ "Dreadful",
+ "Driving",
+ "Drunk",
+ "Dry",
+ "Dual",
+ "Due",
+ "Dull",
+ "Dynamic",
+ "Eager",
+ "Early",
+ "Eastern",
+ "Easy",
+ "Economic",
+ "Educational",
+ "Effective",
+ "Efficient",
+ "Elaborate",
+ "Elderly",
+ "Elected",
+ "Electoral",
+ "Electric",
+ "Electrical",
+ "Electronic",
+ "Elegant",
+ "Eligible",
+ "Embarrassed",
+ "Embarrassing",
+ "Emotional",
+ "Empirical",
+ "Empty",
+ "Encouraging",
+ "Endless",
+ "Enhanced",
+ "Enjoyable",
+ "Enormous",
+ "Enthusiastic",
+ "Entire",
+ "Environmental",
+ "Equal",
+ "Equivalent",
+ "Essential",
+ "Established",
+ "Estimated",
+ "Eternal",
+ "Ethical",
+ "Ethnic",
+ "Eventual",
+ "Everyday",
+ "Evident",
+ "Evil",
+ "Evolutionary",
+ "Exact",
+ "Excellent",
+ "Exceptional",
+ "Excess",
+ "Excessive",
+ "Excited",
+ "Exciting",
+ "Exclusive",
+ "Executive",
+ "Existing",
+ "Exotic",
+ "Expected",
+ "Expensive",
+ "Experienced",
+ "Experimental",
+ "Expert",
+ "Explicit",
+ "Express",
+ "Extended",
+ "Extensive",
+ "External",
+ "Extra",
+ "Extraordinary",
+ "Extreme",
+ "Faint",
+ "Fair",
+ "Faithful",
+ "False",
+ "Familiar",
+ "Famous",
+ "Fantastic",
+ "Far",
+ "Fascinating",
+ "Fashionable",
+ "Fast",
+ "Fat",
+ "Fatal",
+ "Favorable",
+ "Favorite",
+ "Feasible",
+ "Federal",
+ "Fellow",
+ "Female",
+ "Feminine",
+ "Fierce",
+ "Final",
+ "Financial",
+ "Fine",
+ "Finished",
+ "Firm",
+ "First",
+ "Fiscal",
+ "Fit",
+ "Fixed",
+ "Flat",
+ "Flexible",
+ "Following",
+ "Fond",
+ "Foolish",
+ "Foreign",
+ "Formal",
+ "Formidable",
+ "Forthcoming",
+ "Fortunate",
+ "Forward",
+ "Fragile",
+ "Free",
+ "Frequent",
+ "Fresh",
+ "Friendly",
+ "Frightened",
+ "Front",
+ "Frozen",
+ "Futile",
+ "Full",
+ "Full-time",
+ "Fun",
+ "Functional",
+ "Fundamental",
+ "Funny",
+ "Furious",
+ "Future",
+ "Gastric",
+ "Gay",
+ "General",
+ "Generous",
+ "Genetic",
+ "Gentle",
+ "Genuine",
+ "Geographical",
+ "Geological",
+ "Giant",
+ "Given",
+ "Glad",
+ "Global",
+ "Glorious",
+ "Gold",
+ "Golden",
+ "Good",
+ "Gothic",
+ "Gradual",
+ "Grammatical",
+ "Grand",
+ "Grateful",
+ "Grave",
+ "Great",
+ "Green",
+ "Gray",
+ "Grim",
+ "Gross",
+ "Growing",
+ "Guilty",
+ "Handicapped",
+ "Handsome",
+ "Handy",
+ "Happy",
+ "Hard",
+ "Harmful",
+ "Harsh",
+ "Head",
+ "Healthy",
+ "Heavy",
+ "Helpful",
+ "Helpless",
+ "Hidden",
+ "High",
+ "Historic",
+ "Historical",
+ "Holy",
+ "Homeless",
+ "Homogenous",
+ "Honest",
+ "Honorable",
+ "Horizontal",
+ "Horrible",
+ "Hostile",
+ "Hot",
+ "Huge",
+ "Human",
+ "Humble",
+ "Hungry",
+ "Ideal",
+ "Identical",
+ "Ideological",
+ "Ill",
+ "Illegal",
+ "Imaginative",
+ "Immediate",
+ "Immense",
+ "Imminent",
+ "Immune",
+ "Imperial",
+ "Implicit",
+ "Important",
+ "Impossible",
+ "Impressive",
+ "Improved",
+ "Inadequate",
+ "Inappropriate",
+ "Incapable",
+ "Inclined",
+ "Increased",
+ "Increasing",
+ "Incredible",
+ "Independent",
+ "Indigenous",
+ "Indirect",
+ "Individual",
+ "Indoor",
+ "Industrial",
+ "Inevitable",
+ "Infinite",
+ "Influential",
+ "Informal",
+ "Inherent",
+ "Initial",
+ "Injured",
+ "Inland",
+ "Inner",
+ "Innocent",
+ "Innovative",
+ "Instant",
+ "Institutional",
+ "Instrumental",
+ "Insufficient",
+ "Intact",
+ "Integral",
+ "Integrated",
+ "Intellectual",
+ "Intelligent",
+ "Intense",
+ "Intensive",
+ "Intent",
+ "Interactive",
+ "Interested",
+ "Interesting",
+ "Interim",
+ "Interior",
+ "Intermediate",
+ "Internal",
+ "International",
+ "Intimate",
+ "Invaluable",
+ "Invisible",
+ "Involved",
+ "Irrelevant",
+ "Irrespective",
+ "Isolated",
+ "Jealous",
+ "Joint",
+ "Judicial",
+ "Junior",
+ "Just",
+ "Justified",
+ "Keen",
+ "Key",
+ "Kind",
+ "Known",
+ "Labor",
+ "Lacking",
+ "Large",
+ "Large-scale",
+ "Last",
+ "Late",
+ "Latin",
+ "Lay",
+ "Lazy",
+ "Leading",
+ "Left",
+ "Legal",
+ "Legislative",
+ "Legitimate",
+ "Lengthy",
+ "Lesser",
+ "Level",
+ "Lexical",
+ "Liable",
+ "Liberal",
+ "Light",
+ "Like",
+ "Likely",
+ "Limited",
+ "Linear",
+ "Linguistic",
+ "Liquid",
+ "Literary",
+ "Little",
+ "Live",
+ "Lively",
+ "Living",
+ "Local",
+ "Logical",
+ "Lone",
+ "Lonely",
+ "Long",
+ "Long-term",
+ "Loose",
+ "Lost",
+ "Loud",
+ "Lovely",
+ "Low",
+ "Loyal",
+ "Lucky",
+ "Luxury",
+ "Mad",
+ "Magic",
+ "Magical",
+ "Magnetic",
+ "Magnificent",
+ "Main",
+ "Major",
+ "Male",
+ "Managerial",
+ "Managing",
+ "Mandatory",
+ "Manual",
+ "Manufacturing",
+ "Marginal",
+ "Marine",
+ "Marked",
+ "Married",
+ "Marvelous",
+ "Mass",
+ "Massive",
+ "Material",
+ "Mathematical",
+ "Mature",
+ "Maximum",
+ "Mean",
+ "Meaningful",
+ "Mechanical",
+ "Medical",
+ "Medieval",
+ "Medium",
+ "Memorable",
+ "Mental",
+ "Mere",
+ "Metropolitan",
+ "Mid",
+ "Middle",
+ "Middle-class",
+ "Mighty",
+ "Mild",
+ "Military",
+ "Minimal",
+ "Minimum",
+ "Ministerial",
+ "Minor",
+ "Minute",
+ "Miserable",
+ "Misleading",
+ "Missing",
+ "Mixed",
+ "Mobile",
+ "Moderate",
+ "Modern",
+ "Modest",
+ "Molecular",
+ "Monetary",
+ "Monthly",
+ "Moral",
+ "Moving",
+ "Multiple",
+ "Municipal",
+ "Musical",
+ "Mutual",
+ "Mysterious",
+ "Naked",
+ "Narrow",
+ "Nasty",
+ "National",
+ "Native",
+ "Natural",
+ "Naval",
+ "Near",
+ "Nearby",
+ "Neat",
+ "Necessary",
+ "Negative",
+ "Neighboring",
+ "Nervous",
+ "Net",
+ "Neutral",
+ "New",
+ "Nice",
+ "Noble",
+ "Noisy",
+ "Nominal",
+ "Normal",
+ "Northern",
+ "Notable",
+ "Noticeable",
+ "Notorious",
+ "Novel",
+ "Nuclear",
+ "Numerous",
+ "Nursing",
+ "Objective",
+ "Obscure",
+ "Obvious",
+ "Occasional",
+ "Occupational",
+ "Odd",
+ "Offensive",
+ "Official",
+ "Okay",
+ "Old",
+ "Old-fashioned",
+ "Only",
+ "Open",
+ "Operational",
+ "Opposed",
+ "Opposite",
+ "Optical",
+ "Optimistic",
+ "Optional",
+ "Oral",
+ "Orange",
+ "Ordinary",
+ "Organic",
+ "Organizational",
+ "Original",
+ "Orthodox",
+ "Other",
+ "Outdoor",
+ "Outer",
+ "Outside",
+ "Outstanding",
+ "Overall",
+ "Overseas",
+ "Overwhelming",
+ "Paid",
+ "Painful",
+ "Pale",
+ "Papal",
+ "Parallel",
+ "Parental",
+ "Parliamentary",
+ "Part-time",
+ "Partial",
+ "Particular",
+ "Passionate",
+ "Passive",
+ "Past",
+ "Patient",
+ "Payable",
+ "Peaceful",
+ "Peculiar",
+ "Perceived",
+ "Perfect",
+ "Permanent",
+ "Persistent",
+ "Personal",
+ "Petty",
+ "Philosophical",
+ "Photographic",
+ "Physical",
+ "Pink",
+ "Plain",
+ "Planned",
+ "Plausible",
+ "Pleasant",
+ "Pleased",
+ "Polish",
+ "Polite",
+ "Political",
+ "Poor",
+ "Popular",
+ "Portable",
+ "Positive",
+ "Possible",
+ "Post-war",
+ "Potential",
+ "Powerful",
+ "Practical",
+ "Precious",
+ "Precise",
+ "Predictable",
+ "Preferred",
+ "Pregnant",
+ "Preliminary",
+ "Premature",
+ "Premier",
+ "Present",
+ "Presidential",
+ "Pretty",
+ "Previous",
+ "Primary",
+ "Prime",
+ "Primitive",
+ "Principal",
+ "Printed",
+ "Prior",
+ "Private",
+ "Privileged",
+ "Probable",
+ "Productive",
+ "Professional",
+ "Profitable",
+ "Profound",
+ "Progressive",
+ "Prolonged",
+ "Prominent",
+ "Prone",
+ "Proper",
+ "Proportional",
+ "Proposed",
+ "Prospective",
+ "Protective",
+ "Proud",
+ "Provincial",
+ "Provisional",
+ "Psychiatric",
+ "Psychological",
+ "Public",
+ "Pure",
+ "Purple",
+ "Qualified",
+ "Quantitative",
+ "Quick",
+ "Quiet",
+ "Racial",
+ "Radical",
+ "Raised",
+ "Random",
+ "Rapid",
+ "Rare",
+ "Rational",
+ "Raw",
+ "Ready",
+ "Real",
+ "Realistic",
+ "Rear",
+ "Reasonable",
+ "Recent",
+ "Red",
+ "Reduced",
+ "Redundant",
+ "Regional",
+ "Regular",
+ "Regulatory",
+ "Related",
+ "Relative",
+ "Relevant",
+ "Reliable",
+ "Religious",
+ "Reluctant",
+ "Remaining",
+ "Remarkable",
+ "Remote",
+ "Renewed",
+ "Repeated",
+ "Representative",
+ "Required",
+ "Resident",
+ "Residential",
+ "Respectable",
+ "Respective",
+ "Responsible",
+ "Restricted",
+ "Restrictive",
+ "Resulting",
+ "Retail",
+ "Retired",
+ "Revised",
+ "Revolutionary",
+ "Rich",
+ "Ridiculous",
+ "Right",
+ "Rigid",
+ "Rising",
+ "Rival",
+ "Romantic",
+ "Rotten",
+ "Rough",
+ "Round",
+ "Royal",
+ "Rubber",
+ "Rude",
+ "Ruling",
+ "Running",
+ "Rural",
+ "Sacred",
+ "Sad",
+ "Safe",
+ "Satisfactory",
+ "Satisfied",
+ "Scared",
+ "Scientific",
+ "Seasonal",
+ "Secondary",
+ "Secret",
+ "Secular",
+ "Secure",
+ "Select",
+ "Selected",
+ "Selective",
+ "Semantic",
+ "Senior",
+ "Sensible",
+ "Sensitive",
+ "Separate",
+ "Serious",
+ "Severe",
+ "Sensational",
+ "Shallow",
+ "Shared",
+ "Sharp",
+ "Sheer",
+ "Shocked",
+ "Short",
+ "Short-term",
+ "Shy",
+ "Sick",
+ "Significant",
+ "Silent",
+ "Silly",
+ "Silver",
+ "Similar",
+ "Simple",
+ "Single",
+ "Skilled",
+ "Sleeping",
+ "Slight",
+ "Slim",
+ "Slow",
+ "Small",
+ "Smart",
+ "Smooth",
+ "So-called",
+ "Social",
+ "Socialist",
+ "Sociological",
+ "Soft",
+ "Solar",
+ "Sole",
+ "Solid",
+ "Sophisticated",
+ "Sore",
+ "Sorry",
+ "Sound",
+ "Southern",
+ "Spare",
+ "Spatial",
+ "Special",
+ "Specialist",
+ "Specific",
+ "Specified",
+ "Spectacular",
+ "Spiritual",
+ "Splendid",
+ "Spoken",
+ "Spontaneous",
+ "Square",
+ "Stable",
+ "Standard",
+ "Static",
+ "Statistical",
+ "Statutory",
+ "Steady",
+ "Steep",
+ "Sterling",
+ "Sticky",
+ "Stiff",
+ "Still",
+ "Stolen",
+ "Straight",
+ "Straightforward",
+ "Strange",
+ "Strategic",
+ "Strict",
+ "Striking",
+ "Strong",
+ "Structural",
+ "Stunning",
+ "Stupid",
+ "Subject",
+ "Subjective",
+ "Subsequent",
+ "Substantial",
+ "Substantive",
+ "Subtle",
+ "Successful",
+ "Successive",
+ "Sudden",
+ "Sufficient",
+ "Suitable",
+ "Sunny",
+ "Super",
+ "Superb",
+ "Superior",
+ "Supplementary",
+ "Supporting",
+ "Supposed",
+ "Supreme",
+ "Sure",
+ "Surplus",
+ "Surprised",
+ "Surprising",
+ "Surrounding",
+ "Suspicious",
+ "Sweet",
+ "Swift",
+ "Symbolic",
+ "Sympathetic",
+ "Syntactic",
+ "Systematic",
+ "Talented",
+ "Tall",
+ "Technical",
+ "Technological",
+ "Teenage",
+ "Temporary",
+ "Tender",
+ "Tense",
+ "Terminal",
+ "Terrible",
+ "Territorial",
+ "Theoretical",
+ "Thick",
+ "Thin",
+ "Thinking",
+ "Thorough",
+ "Tight",
+ "Tiny",
+ "Tired",
+ "Top",
+ "Total",
+ "Tough",
+ "Toxic",
+ "Trading",
+ "Traditional",
+ "Tragic",
+ "Trained",
+ "Tremendous",
+ "Trivial",
+ "Tropical",
+ "True",
+ "Typical",
+ "Ugly",
+ "Ultimate",
+ "Unable",
+ "Unacceptable",
+ "Unaware",
+ "Uncertain",
+ "Unchanged",
+ "Unclear",
+ "Uncomfortable",
+ "Unconscious",
+ "Underground",
+ "Underlying",
+ "Understandable",
+ "Uneasy",
+ "Unemployed",
+ "Unexpected",
+ "Unfair",
+ "Unfamiliar",
+ "Unfortunate",
+ "Unhappy",
+ "Uniform",
+ "Unique",
+ "United",
+ "Universal",
+ "Unknown",
+ "Unlawful",
+ "Unlike",
+ "Unlikely",
+ "Unnecessary",
+ "Unpleasant",
+ "Unprecedented",
+ "Unreasonable",
+ "Unsuccessful",
+ "Unusual",
+ "Unwanted",
+ "Unwilling",
+ "Up-to-date",
+ "Upper",
+ "Upset",
+ "Urban",
+ "Urgent",
+ "Used",
+ "Useful",
+ "Useless",
+ "Usual",
+ "Vacant",
+ "Vague",
+ "Valid",
+ "Valuable",
+ "Variable",
+ "Varied",
+ "Various",
+ "Varying",
+ "Vast",
+ "Verbal",
+ "Vertical",
+ "Very",
+ "Viable",
+ "Vicious",
+ "Video-taped",
+ "Vigorous",
+ "Violent",
+ "Virtual",
+ "Visible",
+ "Visual",
+ "Vital",
+ "Vivid",
+ "Vocational",
+ "Voluntary",
+ "Vulnerable",
+ "Waiting",
+ "Walking",
+ "Warm",
+ "Wary",
+ "Waste",
+ "Weak",
+ "Wealthy",
+ "Wee",
+ "Weekly",
+ "Weird",
+ "Welcome",
+ "Well",
+ "Well-known",
+ "Western",
+ "Wet",
+ "White",
+ "Whole",
+ "Wicked",
+ "Wide",
+ "Widespread",
+ "Wild",
+ "Willing",
+ "Winning",
+ "Wise",
+ "Wonderful",
+ "Wooden",
+ "Working",
+ "Working-class",
+ "Worldwide",
+ "Worried",
+ "Worrying",
+ "Worthwhile",
+ "Worthy",
+ "Written",
+ "Wrong",
+ "Yellow",
+ "Young",
+ };
+
+ public static readonly string[] Animals = {
+ "Canidae",
+ "Felidae",
+ "Cat",
+ "Cattle",
+ "Dog",
+ "Donkey",
+ "Goat",
+ "Guinea pig",
+ "Horse",
+ "Pig",
+ "Rabbit",
+ "Fancy rat varieties",
+ "Laboratory rat strains",
+ "Sheep breeds",
+ "Water buffalo breeds",
+ "Chicken breeds",
+ "Duck breeds",
+ "Goose breeds",
+ "Pigeon breeds",
+ "Turkey breeds",
+ "Aardvark",
+ "Aardwolf",
+ "African buffalo",
+ "African elephant",
+ "African leopard",
+ "Albatross",
+ "Alligator",
+ "Alpaca",
+ "American buffalo (bison)",
+ "American robin",
+ "Amphibian",
+ "List",
+ "Anaconda",
+ "Angelfish",
+ "Anglerfish",
+ "Ant",
+ "Anteater",
+ "Antelope",
+ "Antlion",
+ "Ape",
+ "Aphid",
+ "Arabian leopard",
+ "Arctic Fox",
+ "Arctic Wolf",
+ "Armadillo",
+ "Arrow crab",
+ "Asp",
+ "Ass (donkey)",
+ "Baboon",
+ "Badger",
+ "Bald eagle",
+ "Bandicoot",
+ "Barnacle",
+ "Barracuda",
+ "Basilisk",
+ "Bass",
+ "Bat",
+ "Beaked whale",
+ "Bear",
+ "List",
+ "Beaver",
+ "Bedbug",
+ "Bee",
+ "Beetle",
+ "Bird",
+ "List",
+ "Bison",
+ "Blackbird",
+ "Black panther",
+ "Black widow spider",
+ "Blue bird",
+ "Blue jay",
+ "Blue whale",
+ "Boa",
+ "Boar",
+ "Bobcat",
+ "Bobolink",
+ "Bonobo",
+ "Booby",
+ "Box jellyfish",
+ "Bovid",
+ "Buffalo, African",
+ "Buffalo, American (bison)",
+ "Bug",
+ "Butterfly",
+ "Buzzard",
+ "Camel",
+ "Canid",
+ "Cape buffalo",
+ "Capybara",
+ "Cardinal",
+ "Caribou",
+ "Carp",
+ "Cat",
+ "List",
+ "Catshark",
+ "Caterpillar",
+ "Catfish",
+ "Cattle",
+ "List",
+ "Centipede",
+ "Cephalopod",
+ "Chameleon",
+ "Cheetah",
+ "Chickadee",
+ "Chicken",
+ "List",
+ "Chimpanzee",
+ "Chinchilla",
+ "Chipmunk",
+ "Clam",
+ "Clownfish",
+ "Cobra",
+ "Cockroach",
+ "Cod",
+ "Condor",
+ "Constrictor",
+ "Coral",
+ "Cougar",
+ "Cow",
+ "Coyote",
+ "Crab",
+ "Crane",
+ "Crane fly",
+ "Crawdad",
+ "Crayfish",
+ "Cricket",
+ "Crocodile",
+ "Crow",
+ "Cuckoo",
+ "Cicada",
+ "Damselfly",
+ "Deer",
+ "Dingo",
+ "Dinosaur",
+ "List",
+ "Dog",
+ "List",
+ "Dolphin",
+ "Donkey",
+ "List",
+ "Dormouse",
+ "Dove",
+ "Dragonfly",
+ "Dragon",
+ "Duck",
+ "List",
+ "Dung beetle",
+ "Eagle",
+ "Earthworm",
+ "Earwig",
+ "Echidna",
+ "Eel",
+ "Egret",
+ "Elephant",
+ "Elephant seal",
+ "Elk",
+ "Emu",
+ "English pointer",
+ "Ermine",
+ "Falcon",
+ "Ferret",
+ "Finch",
+ "Firefly",
+ "Fish",
+ "Flamingo",
+ "Flea",
+ "Fly",
+ "Flyingfish",
+ "Fowl",
+ "Fox",
+ "Frog",
+ "Fruit bat",
+ "Gamefowl",
+ "List",
+ "Galliform",
+ "List",
+ "Gazelle",
+ "Gecko",
+ "Gerbil",
+ "Giant panda",
+ "Giant squid",
+ "Gibbon",
+ "Gila monster",
+ "Giraffe",
+ "Goat",
+ "List",
+ "Goldfish",
+ "Goose",
+ "List",
+ "Gopher",
+ "Gorilla",
+ "Grasshopper",
+ "Great blue heron",
+ "Great white shark",
+ "Grizzly bear",
+ "Ground shark",
+ "Ground sloth",
+ "Grouse",
+ "Guan",
+ "List",
+ "Guanaco",
+ "Guineafowl",
+ "List",
+ "Guinea pig",
+ "List",
+ "Gull",
+ "Guppy",
+ "Haddock",
+ "Halibut",
+ "Hammerhead shark",
+ "Hamster",
+ "Hare",
+ "Harrier",
+ "Hawk",
+ "Hedgehog",
+ "Hermit crab",
+ "Heron",
+ "Herring",
+ "Hippopotamus",
+ "Hookworm",
+ "Hornet",
+ "Horse",
+ "List",
+ "Hoverfly",
+ "Hummingbird",
+ "Humpback whale",
+ "Hyena",
+ "Iguana",
+ "Impala",
+ "Irukandji jellyfish",
+ "Jackal",
+ "Jaguar",
+ "Jay",
+ "Jellyfish",
+ "Junglefowl",
+ "Kangaroo",
+ "Kangaroo mouse",
+ "Kangaroo rat",
+ "Kingfisher",
+ "Kite",
+ "Kiwi",
+ "Koala",
+ "Koi",
+ "Komodo dragon",
+ "Krill",
+ "Ladybug",
+ "Lamprey",
+ "Landfowl",
+ "Land snail",
+ "Lark",
+ "Leech",
+ "Lemming",
+ "Lemur",
+ "Leopard",
+ "Leopon",
+ "Limpet",
+ "Lion",
+ "Lizard",
+ "Llama",
+ "Lobster",
+ "Locust",
+ "Loon",
+ "Louse",
+ "Lungfish",
+ "Lynx",
+ "Macaw",
+ "Mackerel",
+ "Magpie",
+ "Mammal",
+ "Manatee",
+ "Mandrill",
+ "Manta ray",
+ "Marlin",
+ "Marmoset",
+ "Marmot",
+ "Marsupial",
+ "Marten",
+ "Mastodon",
+ "Meadowlark",
+ "Meerkat",
+ "Mink",
+ "Minnow",
+ "Mite",
+ "Mockingbird",
+ "Mole",
+ "Mollusk",
+ "Mongoose",
+ "Monitor lizard",
+ "Monkey",
+ "Moose",
+ "Mosquito",
+ "Moth",
+ "Mountain goat",
+ "Mouse",
+ "Mule",
+ "Muskox",
+ "Narwhal",
+ "Newt",
+ "New World quail",
+ "Nightingale",
+ "Ocelot",
+ "Octopus",
+ "Old World quail",
+ "Opossum",
+ "Orangutan",
+ "Orca",
+ "Ostrich",
+ "Otter",
+ "Owl",
+ "Ox",
+ "Panda",
+ "Panther",
+ "Panthera hybrid",
+ "Parakeet",
+ "Parrot",
+ "Parrotfish",
+ "Partridge",
+ "Peacock",
+ "Peafowl",
+ "Pelican",
+ "Penguin",
+ "Perch",
+ "Peregrine falcon",
+ "Pheasant",
+ "Pig",
+ "Pigeon",
+ "List",
+ "Pike",
+ "Pilot whale",
+ "Pinniped",
+ "Piranha",
+ "Planarian",
+ "Platypus",
+ "Polar bear",
+ "Pony",
+ "Porcupine",
+ "Porpoise",
+ "Portuguese man o' war",
+ "Possum",
+ "Prairie dog",
+ "Prawn",
+ "Praying mantis",
+ "Primate",
+ "Ptarmigan",
+ "Puffin",
+ "Puma",
+ "Python",
+ "Quail",
+ "Quelea",
+ "Quokka",
+ "Rabbit",
+ "List",
+ "Raccoon",
+ "Rainbow trout",
+ "Rat",
+ "Rattlesnake",
+ "Raven",
+ "Ray (Batoidea)",
+ "Ray (Rajiformes)",
+ "Red panda",
+ "Reindeer",
+ "Reptile",
+ "Rhinoceros",
+ "Right whale",
+ "Roadrunner",
+ "Rodent",
+ "Rook",
+ "Rooster",
+ "Roundworm",
+ "Saber-toothed cat",
+ "Sailfish",
+ "Salamander",
+ "Salmon",
+ "Sawfish",
+ "Scale insect",
+ "Scallop",
+ "Scorpion",
+ "Seahorse",
+ "Sea lion",
+ "Sea slug",
+ "Sea snail",
+ "Shark",
+ "List",
+ "Sheep",
+ "List",
+ "Shrew",
+ "Shrimp",
+ "Silkworm",
+ "Silverfish",
+ "Skink",
+ "Skunk",
+ "Sloth",
+ "Slug",
+ "Smelt",
+ "Snail",
+ "Snake",
+ "List",
+ "Snipe",
+ "Snow leopard",
+ "Sockeye salmon",
+ "Sole",
+ "Sparrow",
+ "Sperm whale",
+ "Spider",
+ "Spider monkey",
+ "Spoonbill",
+ "Squid",
+ "Squirrel",
+ "Starfish",
+ "Star-nosed mole",
+ "Steelhead trout",
+ "Stingray",
+ "Stoat",
+ "Stork",
+ "Sturgeon",
+ "Sugar glider",
+ "Swallow",
+ "Swan",
+ "Swift",
+ "Swordfish",
+ "Swordtail",
+ "Tahr",
+ "Takin",
+ "Tapir",
+ "Tarantula",
+ "Tarsier",
+ "Tasmanian devil",
+ "Termite",
+ "Tern",
+ "Thrush",
+ "Tick",
+ "Tiger",
+ "Tiger shark",
+ "Tiglon",
+ "Toad",
+ "Tortoise",
+ "Toucan",
+ "Trapdoor spider",
+ "Tree frog",
+ "Trout",
+ "Tuna",
+ "Turkey",
+ "List",
+ "Turtle",
+ "Tyrannosaurus",
+ "Urial",
+ "Vampire bat",
+ "Vampire squid",
+ "Vicuna",
+ "Viper",
+ "Vole",
+ "Vulture",
+ "Wallaby",
+ "Walrus",
+ "Wasp",
+ "Warbler",
+ "Water Boa",
+ "Water buffalo",
+ "Weasel",
+ "Whale",
+ "Whippet",
+ "Whitefish",
+ "Whooping crane",
+ "Wildcat",
+ "Wildebeest",
+ "Wildfowl",
+ "Wolf",
+ "Wolverine",
+ "Wombat",
+ "Woodpecker",
+ "Worm",
+ "Wren",
+ "Xerinae",
+ "X-ray fish",
+ "Yak",
+ "Yellow perch",
+ "Zebra",
+ "Zebra finch",
+ };
+}
diff --git a/Assets/Placenote/Examples/ShapeManager.cs b/Assets/Placenote/Examples/ShapeManager.cs
new file mode 100644
index 00000000..b0e21b31
--- /dev/null
+++ b/Assets/Placenote/Examples/ShapeManager.cs
@@ -0,0 +1,219 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.EventSystems;
+using UnityEngine.XR.iOS;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+/*========================================
+ * Main Class for Managing Markers
+======================================== */
+
+[System.Serializable]
+public class ShapeInfo {
+ public float px;
+ public float py;
+ public float pz;
+ public float qx;
+ public float qy;
+ public float qz;
+ public float qw;
+ public int shapeType;
+}
+
+[System.Serializable]
+public class ShapeList {
+ public ShapeInfo[] shapes;
+}
+
+public class ShapeManager : MonoBehaviour {
+
+ public List shapeInfoList = new List();
+ public List shapeObjList = new List();
+ public Material mShapeMaterial;
+
+
+ // Use this for initialization
+ void Start () {
+
+ }
+
+ //-----------------------------------
+ // The HitTest to Add a Marker
+ //-----------------------------------
+
+ bool HitTestWithResultType(ARPoint point, ARHitTestResultType resultTypes)
+ {
+ List hitResults = UnityARSessionNativeInterface.GetARSessionNativeInterface().HitTest(point, resultTypes);
+
+ if (hitResults.Count > 0)
+ {
+ foreach (var hitResult in hitResults)
+ {
+
+ Debug.Log("Got hit!");
+
+ Vector3 position = UnityARMatrixOps.GetPosition(hitResult.worldTransform);
+ Quaternion rotation = UnityARMatrixOps.GetRotation(hitResult.worldTransform);
+
+ //Transform to placenote frame of reference (planes are detected in ARKit frame of reference)
+ Matrix4x4 worldTransform = Matrix4x4.TRS(position, rotation, Vector3.one);
+ Matrix4x4? placenoteTransform = LibPlacenote.Instance.ProcessPose(worldTransform);
+
+ Vector3 hitPosition = PNUtility.MatrixOps.GetPosition(placenoteTransform.Value);
+ Quaternion hitRotation = PNUtility.MatrixOps.GetRotation(placenoteTransform.Value);
+
+ // add shape
+ AddShape(hitPosition, hitRotation);
+
+
+ return true;
+ }
+ }
+ return false;
+ }
+
+
+ //-----------------------------------
+ // Update function checks for hittest
+ //-----------------------------------
+
+ void Update()
+ {
+
+ // Check if the screen is touched
+ //-----------------------------------
+
+ if (Input.touchCount > 0)
+ {
+ var touch = Input.GetTouch(0);
+ if (touch.phase == TouchPhase.Began)
+ {
+ if (EventSystem.current.currentSelectedGameObject == null)
+ {
+
+ Debug.Log("Not touching a UI button. Moving on.");
+
+ // add new shape
+ var screenPosition = Camera.main.ScreenToViewportPoint(touch.position);
+ ARPoint point = new ARPoint
+ {
+ x = screenPosition.x,
+ y = screenPosition.y
+ };
+
+ // prioritize reults types
+ ARHitTestResultType[] resultTypes = {
+ //ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent,
+ //ARHitTestResultType.ARHitTestResultTypeExistingPlane,
+ //ARHitTestResultType.ARHitTestResultTypeEstimatedHorizontalPlane,
+ //ARHitTestResultType.ARHitTestResultTypeEstimatedVerticalPlane,
+ ARHitTestResultType.ARHitTestResultTypeFeaturePoint
+ };
+
+ foreach (ARHitTestResultType resultType in resultTypes)
+ {
+ if (HitTestWithResultType(point, resultType))
+ {
+ Debug.Log("Found a hit test result");
+ return;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ public void OnSimulatorDropShape()
+ {
+ Vector3 dropPosition = Camera.main.transform.position + Camera.main.transform.forward * 0.3f;
+ Quaternion dropRotation = Camera.main.transform.rotation;
+
+ AddShape(dropPosition, dropRotation);
+
+ }
+
+ //-------------------------------------------------
+ // All shape management functions (add shapes, save shapes to metadata etc.
+ //-------------------------------------------------
+
+ public void AddShape(Vector3 shapePosition, Quaternion shapeRotation)
+ {
+ System.Random rnd = new System.Random();
+ PrimitiveType type = (PrimitiveType)rnd.Next(0, 3);
+
+ ShapeInfo shapeInfo = new ShapeInfo();
+ shapeInfo.px = shapePosition.x;
+ shapeInfo.py = shapePosition.y;
+ shapeInfo.pz = shapePosition.z;
+ shapeInfo.qx = shapeRotation.x;
+ shapeInfo.qy = shapeRotation.y;
+ shapeInfo.qz = shapeRotation.z;
+ shapeInfo.qw = shapeRotation.w;
+ shapeInfo.shapeType = type.GetHashCode();
+ shapeInfoList.Add(shapeInfo);
+
+ GameObject shape = ShapeFromInfo(shapeInfo);
+ shapeObjList.Add(shape);
+ }
+
+
+ public GameObject ShapeFromInfo(ShapeInfo info)
+ {
+ GameObject shape = GameObject.CreatePrimitive((PrimitiveType)info.shapeType);
+ shape.transform.position = new Vector3(info.px, info.py, info.pz);
+ shape.transform.rotation = new Quaternion(info.qx, info.qy, info.qz, info.qw);
+ shape.transform.localScale = new Vector3(0.05f, 0.05f, 0.05f);
+ shape.GetComponent().material = mShapeMaterial;
+ shape.GetComponent ().material.color = Color.yellow;
+ return shape;
+ }
+
+ public void ClearShapes()
+ {
+ foreach (var obj in shapeObjList)
+ {
+ Destroy(obj);
+ }
+ shapeObjList.Clear();
+ shapeInfoList.Clear();
+ }
+
+
+ public JObject Shapes2JSON()
+ {
+ ShapeList shapeList = new ShapeList();
+ shapeList.shapes = new ShapeInfo[shapeInfoList.Count];
+ for (int i = 0; i < shapeInfoList.Count; i++)
+ {
+ shapeList.shapes[i] = shapeInfoList[i];
+ }
+
+ return JObject.FromObject(shapeList);
+ }
+
+ public void LoadShapesJSON(JToken mapMetadata)
+ {
+ ClearShapes();
+ if (mapMetadata is JObject && mapMetadata["shapeList"] is JObject)
+ {
+ ShapeList shapeList = mapMetadata["shapeList"].ToObject();
+ if (shapeList.shapes == null)
+ {
+ Debug.Log("no shapes dropped");
+ return;
+ }
+
+ foreach (var shapeInfo in shapeList.shapes)
+ {
+ shapeInfoList.Add(shapeInfo);
+ GameObject shape = ShapeFromInfo(shapeInfo);
+ shapeObjList.Add(shape);
+ }
+ }
+ }
+
+
+
+}
diff --git a/Assets/Placenote/Examples/SimulatorHideARRemote.cs b/Assets/Placenote/Examples/SimulatorHideARRemote.cs
new file mode 100755
index 00000000..bafed078
--- /dev/null
+++ b/Assets/Placenote/Examples/SimulatorHideARRemote.cs
@@ -0,0 +1,28 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+///
+/// Disables ARKitRemoteConnection in Unity Editor.
+/// Mostly useful just to hide the GUI message that says to connect player in console.
+///
+public class SimulatorHideARRemote : MonoBehaviour {
+ #if UNITY_EDITOR
+ public bool DisableARRemote = true;
+ bool runOnce = true;
+ ARKitRemoteConnection[] ARKitWorldTrackingList;
+
+ void Update (){
+ if (runOnce && DisableARRemote)
+ {
+ runOnce = false;
+ ARKitWorldTrackingList = Object.FindObjectsOfType ();
+ foreach (ARKitRemoteConnection ARKitWorldTracking in ARKitWorldTrackingList)
+ {
+ ARKitWorldTracking.gameObject.SetActive (false);
+ }
+ }
+ }
+ #endif
+}
diff --git a/Assets/Placenote/Examples/SimulatorSetSkybox.cs b/Assets/Placenote/Examples/SimulatorSetSkybox.cs
new file mode 100755
index 00000000..2e41e5ed
--- /dev/null
+++ b/Assets/Placenote/Examples/SimulatorSetSkybox.cs
@@ -0,0 +1,18 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+///
+/// Sets background to skybox instead of green YUVMaterial while in Unity Editor mode
+///
+public class SimulatorSetSkybox : MonoBehaviour {
+
+ public Camera mCamera;
+
+ void Start (){
+ #if UNITY_EDITOR
+ mCamera = GetComponentInParent ();
+ mCamera.clearFlags = CameraClearFlags.Skybox;
+ #endif
+ }
+}
diff --git a/Assets/Placenote/Examples/ToastManager.cs b/Assets/Placenote/Examples/ToastManager.cs
new file mode 100755
index 00000000..12ca2dd1
--- /dev/null
+++ b/Assets/Placenote/Examples/ToastManager.cs
@@ -0,0 +1,37 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+///
+/// Singleton to show toast messages
+///
+public class ToastManager : MonoBehaviour {
+ [SerializeField] Text toastText;
+ private static ToastManager sInstance;
+
+ void Awake() {
+ sInstance = this;
+ }
+
+ // Use this for initialization
+ void Start () {
+ gameObject.SetActive (false);
+ }
+
+ // Update is called once per frame
+ void Update () {
+
+ }
+
+ public static void ShowToast(string message, float duration) {
+ sInstance.gameObject.SetActive (true);
+ sInstance.toastText.text = message;
+ sInstance.Invoke ("HideToast", duration);
+ }
+
+ void HideToast() {
+ gameObject.SetActive (false);
+ }
+}
diff --git a/Assets/Placenote/LibPlacenote/FeaturesVisualizer.cs b/Assets/Placenote/LibPlacenote/FeaturesVisualizer.cs
new file mode 100755
index 00000000..8c240578
--- /dev/null
+++ b/Assets/Placenote/LibPlacenote/FeaturesVisualizer.cs
@@ -0,0 +1,132 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+
+///
+/// Class that constructs a pointcloud mesh from the map retrieved from a LibPlacenote mapping/localization session
+///
+public class FeaturesVisualizer : MonoBehaviour, PlacenoteListener
+{
+ private static FeaturesVisualizer sInstance;
+ [SerializeField] Material mPtCloudMat;
+ [SerializeField] GameObject mMap;
+
+ void Awake ()
+ {
+ sInstance = this;
+ }
+
+ void Start ()
+ {
+ // This is required for OnPose and OnStatusChange to be triggered
+ LibPlacenote.Instance.RegisterListener (this);
+ }
+
+ void Update ()
+ {
+ }
+
+ ///
+ /// Enable rendering of pointclouds collected from LibPlacenote for every half second
+ ///
+ ///
+ /// NOTE: to avoid the static instance being null, please call this in Start() function in your MonoBehaviour
+ ///
+ public static void EnablePointcloud ()
+ {
+ if (sInstance.mMap == null) {
+ Debug.LogWarning (
+ "Map game object reference is null, please initialize in editor.Skipping pointcloud visualization"
+ );
+ return;
+ }
+ sInstance.InvokeRepeating ("DrawMap", 0f, 0.1f);
+ }
+
+ ///
+ /// Disable rendering of pointclouds collected from LibPlacenote
+ ///
+ public static void DisablePointcloud ()
+ {
+ sInstance.CancelInvoke ();
+ clearPointcloud ();
+ }
+
+
+ ///
+ /// Clear currently rendering feature/landmark pointcloud
+ ///
+ public static void clearPointcloud()
+ {
+ MeshFilter mf = sInstance.mMap.GetComponent ();
+ mf.mesh.Clear ();
+ }
+
+ public void OnPose (Matrix4x4 outputPose, Matrix4x4 arkitPose)
+ {
+ }
+
+ public void OnStatusChange (LibPlacenote.MappingStatus prevStatus, LibPlacenote.MappingStatus currStatus)
+ {
+ if (currStatus == LibPlacenote.MappingStatus.WAITING) {
+ Debug.Log ("Session stopped, resetting pointcloud mesh.");
+ clearPointcloud ();
+ }
+ }
+
+ public void DrawMap ()
+ {
+ if (LibPlacenote.Instance.GetStatus () != LibPlacenote.MappingStatus.RUNNING) {
+ return;
+ }
+
+ LibPlacenote.PNFeaturePointUnity[] map = LibPlacenote.Instance.GetMap ();
+ if (map == null) {
+ return;
+ }
+
+ Vector3[] points = new Vector3[map.Length];
+ Color[] colors = new Color[map.Length];
+ for (int i = 0; i < map.Length; ++i) {
+
+ points [i].x = map [i].point.x;
+ points [i].y = map [i].point.y;
+ points [i].z = -map [i].point.z;
+ colors [i].r = 1 - map [i].measCount / 10f;
+ colors [i].b = 0;
+ colors [i].g = map [i].measCount / 10f;
+
+ if (map [i].measCount < 4) {
+ colors [i].a = 0;
+ } else {
+ colors [i].a = 0.2f + 0.8f * (map [i].measCount / 10f);
+ }
+ }
+
+ // Need to update indicies too!
+ int[] indices = new int[map.Length];
+ for (int i = 0; i < map.Length; ++i) {
+ indices [i] = i;
+ }
+
+ // Create GameObject container with mesh components for the loaded mesh.
+ Mesh mesh = new Mesh ();
+ mesh.vertices = points;
+ mesh.colors = colors;
+ mesh.SetIndices (indices, MeshTopology.Points, 0);
+
+ MeshFilter mf = mMap.GetComponent ();
+ if (mf == null) {
+ mf = mMap.AddComponent ();
+ }
+ mf.mesh = mesh;
+
+ MeshRenderer mr = mMap.GetComponent ();
+ if (mr == null) {
+ mr = mMap.AddComponent ();
+ }
+
+ mr.material = mPtCloudMat;
+ }
+}
diff --git a/Assets/Placenote/LibPlacenote/LibPlacenote.cs b/Assets/Placenote/LibPlacenote/LibPlacenote.cs
new file mode 100644
index 00000000..bdc7552c
--- /dev/null
+++ b/Assets/Placenote/LibPlacenote/LibPlacenote.cs
@@ -0,0 +1,1513 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System.Runtime.InteropServices;
+using UnityEngine.UI;
+using UnityEngine.XR.iOS;
+using System.IO;
+using System.Threading;
+using AOT;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+
+
+///
+/// Class that contains parameter and buffer for a YUV 420 image from ARKit
+///
+public class UnityARImageFrameData
+{
+ public UnityARImage y;
+ public UnityARImage vu;
+
+ public struct UnityARImage
+ {
+ public IntPtr data;
+ public UInt64 width;
+ public UInt64 height;
+ public UInt64 stride;
+ }
+}
+
+
+///
+/// Singleton class that acts as a C# wrapper to the C LibPlacenote library
+///
+
+public class LibPlacenote : MonoBehaviour
+{
+ ///
+ /// Delegate template for a callback to return results of REST API calls such as PNInitialize
+ ///
+ ///
+ /// Struct that contains the success indicator and string message from the API call
+ ///
+ ///
+ /// Pointer used to pass C# context to/from the C environment, since C callback function can't capture external states
+ ///
+ public delegate void PNResultCallback (ref PNCallbackResultUnity result, IntPtr context);
+
+ ///
+ /// Delegate template for a callback to return file transfer status of map files to Placenote Cloud
+ ///
+ ///
+ /// Struct that contains file transfer status, can be used to indicate success, faults, and progress of the transfer
+ ///
+ ///
+ /// Pointer used to pass C# context to/from the C environment, since C callback function can't capture external states
+ ///
+ public delegate void PNTransferMapCallback (ref PNTransferStatusUnity status, IntPtr context);
+
+ ///
+ /// Delegate template for a callback to return the camera pose computed by LibPlacenote
+ ///
+ ///
+ /// Contains the camera pose with respect to the map in the current LibPlacenote mapping/localization session
+ ///
+ ///
+ /// Contains the arkit pose that corresponds in time with placenotePose
+ ///
+ ///
+ /// Pointer used to pass C# context to/from the C environment, since C callback function can't capture external states
+ ///
+ public delegate void PNPoseCallback (ref PNTransformUnity placenotePose,
+ ref PNTransformUnity arkitPose, IntPtr context);
+
+ ///
+ /// Struct that captures the intrinsic calibration parameters of a pinhole model camera.
+ ///
+ [StructLayout (LayoutKind.Sequential)]
+ public struct PNCameraInstrinsicsUnity
+ {
+ public int width;
+ public int height;
+ public double fx;
+ public double fy;
+ public double cx;
+ public double cy;
+ public double k1;
+ public double k2;
+ public double p1;
+ public double p2;
+ }
+
+ ///
+ /// Struct that contains configuration parameters for PNInitialize function, which initializes LibPlacenote SDK
+ ///
+ [StructLayout (LayoutKind.Sequential)]
+ public struct PNInitParamsUnity
+ {
+ [MarshalAs (UnmanagedType.LPStr)]
+ public String apiKey;
+ [MarshalAs (UnmanagedType.LPStr)]
+ public String appBasePath;
+ [MarshalAs (UnmanagedType.LPStr)]
+ public String mapPath;
+ }
+
+ ///
+ /// Struct that contains results for REST API calls to Placenote Cloud.
+ ///
+ [StructLayout (LayoutKind.Sequential)]
+ public struct PNCallbackResultUnity
+ {
+ [MarshalAs(UnmanagedType.I1)]
+ public bool success;
+ [MarshalAs (UnmanagedType.LPStr)]
+ public String msg;
+ }
+
+ ///
+ /// Struct that decribes a 3-D float vector
+ ///
+ [StructLayout (LayoutKind.Sequential)]
+ public struct PNVector3Unity
+ {
+ public float x;
+ public float y;
+ public float z;
+ }
+
+ ///
+ /// Struct that decribes a rotation quaternion
+ ///
+ [StructLayout (LayoutKind.Sequential)]
+ public struct PNQuaternionUnity
+ {
+ public float x;
+ public float y;
+ public float z;
+ public float w;
+ }
+
+ ///
+ /// Struct that captures information about a feature point created by a Placenote mapping session
+ ///
+ [StructLayout (LayoutKind.Sequential)]
+ public struct PNFeaturePointUnity
+ {
+ public int idx;
+ public int measCount;
+ public float maxViewAngle;
+ public PNVector3Unity point;
+ }
+
+ ///
+ /// Struct that decribes a 6-DOF rigid body transformation
+ ///
+ [StructLayout (LayoutKind.Sequential)]
+ public struct PNTransformUnity
+ {
+ public PNVector3Unity position;
+ public PNQuaternionUnity rotation;
+ }
+
+
+ ///
+ /// Struct that contains parameters and the pixel buffer of a single channel image
+ ///
+ [StructLayout (LayoutKind.Sequential)]
+ public struct PNImagePlaneUnity
+ {
+ public IntPtr buf;
+ public int width;
+ public int height;
+ public int stride;
+ }
+
+
+ ///
+ /// Struct that captures the status and progress of a map file transfer between client app and the Placenote Cloud
+ ///
+ [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Ansi)]
+ public struct PNTransferStatusUnity
+ {
+ [MarshalAs (UnmanagedType.LPStr)]
+ public String mapId;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool completed;
+ [MarshalAs(UnmanagedType.I1)]
+ public bool faulted;
+ public int bytesTransferred;
+ public int bytesTotal;
+ }
+
+
+ ///
+ /// Enums that indicates the status of the LibPlacenote mapping module
+ ///
+ public enum MappingStatus
+ {
+ ///
+ /// WAITING indicates that no mapping/localization session is running at the moment
+ ///
+ WAITING = 0,
+ ///
+ /// RUNNING indicates that a mapping/localization session is currently running
+ ///
+ RUNNING,
+ ///
+ /// LOST indicates that a localization session is not successful at relocalizing against a map
+ ///
+ LOST
+ }
+
+ ///
+ /// Struct that contains location data for the map. All fields are required.
+ ///
+ [System.Serializable]
+ public class MapLocation
+ {
+ ///
+ /// The GPS latitude
+ ///
+ public float latitude;
+ ///
+ /// The GPS longitude
+ ///
+ public float longitude;
+ ///
+ /// The GPS altitude
+ ///
+ public float altitude;
+ }
+
+ ///
+ /// Struct for searching maps by location. All fields are required.
+ ///
+ [System.Serializable]
+ public class MapLocationSearch
+ {
+ ///
+ /// The GPS latitude for the center of the search circle.
+ ///
+ public float latitude;
+ ///
+ /// The GPS longitude for the center of the search circle.
+ ///
+ public float longitude;
+ ///
+ /// The radius (in meters) of the search circle.
+ ///
+ public float radius;
+ }
+
+ ///
+ /// Struct for setting map metadata. All fields are optional.
+ ///
+ [System.Serializable]
+ public class MapMetadataSettable
+ {
+ ///
+ /// The map name.
+ ///
+ public string name;
+ ///
+ /// The map location information.
+ ///
+ public MapLocation location;
+ ///
+ /// Arbitrary user data, in JSON form.
+ ///
+ public JToken userdata;
+
+ #if UNITY_EDITOR
+ public SimCameraPoses simulatedMap;
+ #endif
+ }
+
+ private static DateTime EPOCH = new DateTime(1970, 1, 1);
+
+ ///
+ /// Struct for getting map metatada.
+ ///
+ [System.Serializable]
+ public class MapMetadata : MapMetadataSettable
+ {
+ ///
+ /// The creation time of the map (in milliseconds since EPOCH).
+ ///
+ public long created;
+
+ ///
+ /// Get the map creation time as a DateTime.
+ ///
+ public DateTime Created() {
+ return EPOCH.AddMilliseconds(created);
+ }
+ }
+
+ ///
+ /// The map info return as the result of ListMaps or SearchMaps
+ ///
+ [System.Serializable]
+ public class MapInfo
+ {
+ ///
+ /// The map ID
+ ///
+ public string placeId;
+ ///
+ /// The map metadata
+ ///
+ public MapMetadata metadata;
+ }
+
+ ///
+ /// Class as a container for the JSON that contains information for a list of maps
+ ///
+ [System.Serializable]
+ public class MapList
+ {
+ public MapInfo[] places = null;
+ }
+
+ ///
+ /// Structure used for searching your maps. All fields are optional.
+ /// When multiple fields are set the search condition is logically ANDed,
+ /// returning a smaller list of maps.
+ ///
+ [System.Serializable]
+ public class MapSearch
+ {
+ ///
+ /// The map name to search for. The search is case insensitive and will match
+ /// and map that's name included the search name.
+ ///
+ public string name;
+ ///
+ /// The location to search for maps in. Maps without location data will
+ /// not be returned if this is set.
+ ///
+ public MapLocationSearch location;
+ ///
+ /// Only return maps newer than this (in milliseconds since EPOCH)
+ ///
+ public double newerThan;
+ ///
+ /// Only return maps older than this (in milliseconds since EPOCH)
+ ///
+ public double olderThan;
+ ///
+ /// Filter maps based on this query, which is run via json-query:
+ /// https://www.npmjs.com/package/json-query
+ /// The filter will match if the query return a valid.
+ ///
+ /// For a simple example, to match only maps that have a 'shapeList'
+ /// in the userdata object, simply pass 'shapeList'.
+ ///
+ /// For other help, contact us on Slack.
+ ///
+ public string userdataQuery;
+
+ ///
+ /// Helper function for setting newerThan via a DateTime
+ ///
+ public void SetNewerThan(DateTime dt) {
+ newerThan = (dt - new DateTime (1970, 1, 1)).TotalMilliseconds;
+ }
+
+ ///
+ /// Helper function for setting olderThan via a DateTime
+ ///
+ public void SetOlderThan(DateTime dt) {
+ olderThan = (dt - new DateTime (1970, 1, 1)).TotalMilliseconds;
+ }
+ }
+
+ ///
+ /// For Unity Simulator
+ /// TODO Add comment
+ /// Unity camera poses.
+ ///
+ [System.Serializable]
+ public struct SimCameraPoses
+ {
+ public List cameraPoses;
+ }
+
+ private static LibPlacenote sInstance;
+ private List listeners = new List ();
+ private string mMapPath;
+ private MappingStatus mPrevStatus = MappingStatus.WAITING;
+ private bool mInitialized = false;
+ private List> mapListCbs = new List> ();
+ private Matrix4x4? mCurrentTransform = null;
+
+ /// For the Unity Simulator
+
+ /// The Current Map status and current localization status that is used
+ private MappingStatus mCurrStatus = MappingStatus.WAITING;
+ private bool mLocalization = false;
+
+ /// The thresholds that define when a new camera pose should be saved
+ private float SIM_MAP_DISTANCE_THRESHOLD = 0.4f;
+ private float SIM_MAP_ANGLE_THRESHOLD = 20f;
+ /// The thresholds that define a when the camera should localize
+ private float SIM_LOCAL_DISTANCE_THRESHOLD = 0.5f;
+ private float SIM_LOCAL_ANGLE_THRESHOLD = 30f;
+
+ private MapInfo simMap = new MapInfo();
+ private SimCameraPoses simCameraPoses = new SimCameraPoses();
+
+ /// File info for writing JSON maps
+ private string simMapFileName = "/jsonMaps.json";
+
+ /// End for Unity Simulator
+
+ // Fill in API Key here
+ public String apiKey;
+
+ ///
+ /// Get accessor for the LibPlacenote singleton
+ ///
+ /// The singleton instance
+ public static LibPlacenote Instance {
+ get {
+ return sInstance;
+ }
+ }
+
+
+ public void Awake () {
+ sInstance = this;
+
+ Init ();
+ }
+
+
+ ///
+ /// Register a listener to events published by LibPlacenote
+ ///
+ /// A listener to be added to the subscriber list.
+ public void RegisterListener (PlacenoteListener listener)
+ {
+ listeners.Add (listener);
+ }
+
+
+ ///
+ /// Remove a listener to events published by LibPlacenote
+ ///
+ /// A listener to be removed to the subscriber list.
+ public void RemoveListener (PlacenoteListener listener)
+ {
+ listeners.Remove (listener);
+ }
+
+
+ ///
+ /// Raises the initialized event that indicates the status of the call
+ ///
+ ///
+ /// Result of the PNInitialize call which contains a bool that indicates success/failure
+ /// and corresponding message.
+ ///
+ /// Context passed from C to capture states required by this function
+ [MonoPInvokeCallback (typeof(PNResultCallback))]
+ static void OnInitialized (ref PNCallbackResultUnity result, IntPtr context)
+ {
+ bool success = result.success;
+
+ if (success) {
+ Debug.Log ("Initialized SDK!");
+ Instance.mInitialized = true;
+ } else {
+ Debug.Log ("Failed to initialize SDK!");
+ Debug.Log ("error message: " + result.msg);
+ }
+ }
+
+ ///
+ /// Initializes the LibPlacenote SDK singleton class.
+ ///
+ private void Init ()
+ {
+ #if UNITY_EDITOR
+ mInitialized = true;
+ simMap.metadata = new MapMetadata ();
+ #endif
+
+ PNInitParamsUnity initParams = new PNInitParamsUnity ();
+
+ // Fill in your API Key here
+ initParams.apiKey = apiKey;
+ initParams.appBasePath = Application.streamingAssetsPath + "/Placenote";
+ initParams.mapPath = Application.persistentDataPath;
+
+ #if !UNITY_EDITOR
+ PNInitialize (ref initParams, OnInitialized, IntPtr.Zero);
+ #endif
+ }
+
+
+ ///
+ /// Shutdown the Placenote SDK, especially all mapping threads
+ ///
+ public void Shutdown ()
+ {
+ #if UNITY_EDITOR
+ mInitialized = false;
+ StopSession();
+ #endif
+
+ #if !UNITY_EDITOR
+ PNShutdown();
+ #endif
+ }
+
+
+ ///
+ /// Indicates whether the LibPlacenote SDK is successful
+ ///
+ /// if LibPlacenote is initialized
+ public bool Initialized ()
+ {
+ return mInitialized;
+ }
+
+ ///
+ /// Sends an image frame and its corresponding camera pose to LibPlacenote mapping/localization module
+ ///
+ /// Image frame data.
+ /// Position of the camera at the time frameData is captured
+ /// Quaternion of the camera at the time frameData is captured.
+ ///
+ /// Fill in this parameter with screenOrientation from the current UnityVideoParams structure.
+ /// Used to correct for the extra rotation applied by the Unity ARKit Plugin on the ARKit pose transform.
+ ///
+ public void SendARFrame (UnityARImageFrameData frameData, Vector3 position, Quaternion rotation, int screenOrientation)
+ {
+ Matrix4x4 orientRemovalMat = Matrix4x4.zero;
+ orientRemovalMat.m22 = orientRemovalMat.m33 = 1;
+ switch (screenOrientation) {
+ // portrait
+ case 1:
+ orientRemovalMat.m01 = 1;
+ orientRemovalMat.m10 = -1;
+ break;
+ case 2:
+ orientRemovalMat.m01 = -1;
+ orientRemovalMat.m10 = 1;
+ break;
+ // landscape
+ case 3:
+ // do nothing
+ orientRemovalMat = Matrix4x4.identity;
+ break;
+ case 4:
+ orientRemovalMat.m00 = -1;
+ orientRemovalMat.m11 = -1;
+ break;
+ default:
+ Debug.LogError ("Unrecognized screen orientation");
+ return;
+ }
+
+ Matrix4x4 rotationMat = Matrix4x4.TRS (new Vector3 (0, 0, 0), rotation, new Vector3 (1, 1, 1));
+ rotationMat = rotationMat * orientRemovalMat;
+ rotation = PNUtility.MatrixOps.QuaternionFromMatrix (rotationMat);
+
+ PNTransformUnity pose = new PNTransformUnity ();
+ pose.position.x = position.x;
+ pose.position.y = position.y;
+ pose.position.z = position.z;
+ pose.rotation.x = rotation.x;
+ pose.rotation.y = rotation.y;
+ pose.rotation.z = rotation.z;
+ pose.rotation.w = rotation.w;
+
+ PNImagePlaneUnity yPlane = new PNImagePlaneUnity ();
+ yPlane.width = (int)frameData.y.width;
+ yPlane.height = (int)frameData.y.height;
+ yPlane.stride = (int)frameData.y.stride;
+ yPlane.buf = frameData.y.data;
+
+ PNImagePlaneUnity vuPlane = new PNImagePlaneUnity ();
+ vuPlane.width = (int)frameData.vu.width;
+ vuPlane.height = (int)frameData.vu.height;
+ vuPlane.stride = (int)frameData.vu.stride;
+ vuPlane.buf = frameData.vu.data;
+
+ #if !UNITY_EDITOR
+ PNSetFrame (ref yPlane, ref vuPlane, ref pose);
+ #endif
+ }
+
+ ///
+ /// Gets the current pose computed by the mapping session
+ ///
+ /// The current pose computed by the mapping session
+ public PNTransformUnity GetPose ()
+ {
+ PNTransformUnity result = new PNTransformUnity ();
+ #if !UNITY_EDITOR
+ PNGetPose (ref result);
+
+ #else
+
+ /// Manually setting result to current Unity camera pose
+ result.position.x = Camera.main.gameObject.transform.position.x;
+ result.position.y = Camera.main.gameObject.transform.position.y;
+ result.position.z = Camera.main.gameObject.transform.position.z;
+ result.rotation.x = Camera.main.gameObject.transform.rotation.x;
+ result.rotation.y = Camera.main.gameObject.transform.rotation.y;
+ result.rotation.z = Camera.main.gameObject.transform.rotation.z;
+ result.rotation.w = Camera.main.gameObject.transform.rotation.w;
+
+ #endif
+ return result;
+ }
+
+
+ ///
+ /// Gets the status of the mapping session
+ ///
+ /// The status of the mapping session.
+ public MappingStatus GetStatus ()
+ {
+ #if !UNITY_EDITOR
+ MappingStatus status = (MappingStatus)PNGetStatus ();
+ return status;
+ #else
+ return mCurrStatus;
+ #endif
+ }
+
+
+ ///
+ /// Callback used to publish the computed poses along with its corresponding ARKit pose to listeners
+ ///
+ /// Output pose of the LibPlacenote mapping session
+ /// ARKit pose that corresponds with the output pose.
+ /// Context passed from C to capture states required by this function.
+ [MonoPInvokeCallback (typeof(PNPoseCallback))]
+ static void OnPose (ref PNTransformUnity outputPose, ref PNTransformUnity arkitPose, IntPtr context)
+ {
+ Matrix4x4 outputPoseMat = PNUtility.MatrixOps.PNPose2Matrix4x4 (outputPose);
+ Matrix4x4 arkitPoseMat = PNUtility.MatrixOps.PNPose2Matrix4x4 (arkitPose);
+
+ MappingStatus status = Instance.GetStatus();
+
+ var listeners = Instance.listeners;
+ if (status == MappingStatus.RUNNING) {
+ MainThreadTaskQueue.InvokeOnMainThread (() => {
+ foreach (var listener in listeners) {
+ listener.OnPose (outputPoseMat, arkitPoseMat);
+ }
+ });
+ Instance.mCurrentTransform = outputPoseMat * arkitPoseMat.inverse;
+ }
+
+ if (status != Instance.mPrevStatus) {
+ MainThreadTaskQueue.InvokeOnMainThread (() => {
+ foreach (var listener in listeners) {
+ listener.OnStatusChange (Instance.mPrevStatus, status);
+ }
+ Instance.mPrevStatus = status;
+ });
+ }
+ }
+
+
+ ///
+ /// Return a transform in the current ARKit frame transformed into the inertial frame w.r.t the current Placenote Map. Will return null
+ /// mapping is not initialized
+ ///
+ /// Transform in the ARKit frame of reference (e.g: acquired from a screen touch)
+ public Matrix4x4? ProcessPose(Matrix4x4 poseInARKit) {
+ if (mCurrentTransform == null) {
+ return null;
+ }
+ return (mCurrentTransform * poseInARKit);
+ }
+
+
+ ///
+ /// Starts a mapping/localization session. If a map is loaded before is called,
+ /// the session will operate in localization mode, and will not add more points. If a map
+ /// is not loaded, a mapping session will be started to create a map that can be saved with
+ ///
+ ///
+ /// Boolean that governs whether Placenote will keep extending the map after localization. One can save the extended
+ /// map as a seperate map with a different map ID.
+ ///
+ public void StartSession (bool extend = false)
+ {
+ #if !UNITY_EDITOR
+ PNStartSession (OnPose, extend, IntPtr.Zero);
+ #else
+
+ if(mLocalization) {
+ /// Set MappingStatus to LOST if status is localization
+ mCurrStatus = MappingStatus.LOST;
+ /// Stops the relocalization (checkLocalization) or the mapping (saving cameraPoses) invoke
+ sInstance.CancelInvoke();
+ /// Start checking for localization
+ sInstance.InvokeRepeating ("checkLocalization", 0f, 0.5f);
+ } else {
+ /// Set MappingStatus to RUNNING if status is mapping (ie. not localization)
+ mCurrStatus = MappingStatus.RUNNING;
+ /// Stops the relocalization (checkLocalization) or the mapping (saving cameraPoses) invoke
+ sInstance.CancelInvoke();
+ /// Start saving camera poses to create a map
+ simCameraPoses.cameraPoses = new List ();
+ sInstance.InvokeRepeating ("SaveCameraPose", 0f, 0.5f);
+ }
+
+ /// A coroutine that simulates the InvokeRepeating of OnPose
+ StartCoroutine(OnPoseInvokeRepeat());
+
+ #endif
+ }
+
+ ///
+ /// For Unity Simulator
+ /// A coroutine that calls OnPose with in 0.5s intervals
+ /// Designed to mimick the behaviour of Invoke Repeating
+ ///
+ IEnumerator OnPoseInvokeRepeat()
+ {
+ while (true) {
+ PNTransformUnity currCameraPose = GetPose();
+ OnPose(ref currCameraPose,ref currCameraPose,IntPtr.Zero);
+ yield return new WaitForSeconds (0.5f);
+ }
+ }
+
+ ///
+ /// For Unity Simulator
+ /// Saves the current camera pose into the struct simCameraPoses
+ /// if the current pose is different (above threshold) from the previous pose
+ ///
+ /// Curr camera pose.
+ public void SaveCameraPose()
+ {
+ PNTransformUnity currCameraPose = GetPose();
+ /// Converts PNTransformUnity back into Vector3 and Quaternion
+ Vector3 currPosition = new Vector3 (currCameraPose.position.x, currCameraPose.position.y, currCameraPose.position.z);
+ Quaternion currRotation = new Quaternion (currCameraPose.rotation.x, currCameraPose.rotation.y,
+ currCameraPose.rotation.z, currCameraPose.rotation.w);
+
+ /// If the cameraPoses list is empty
+ if (simCameraPoses.cameraPoses.Count == 0) {
+ simCameraPoses.cameraPoses.Add (currCameraPose);
+ } else {
+ /// Get previous cameraPose from list
+ PNTransformUnity prevCameraPose = simCameraPoses.cameraPoses[simCameraPoses.cameraPoses.Count - 1];
+ Vector3 prevPosition = new Vector3 (prevCameraPose.position.x, prevCameraPose.position.y, prevCameraPose.position.z);
+ Quaternion prevRotation = new Quaternion (prevCameraPose.rotation.x, prevCameraPose.rotation.y,
+ prevCameraPose.rotation.z, prevCameraPose.rotation.w);
+
+ float positionDiffNorm = Vector3.Distance (currPosition, prevPosition);
+ float angleDiffNorm = Quaternion.Angle(prevRotation, currRotation);
+
+ // Save current cameraPose as new pose if above distance and angle threshold
+ if (positionDiffNorm > SIM_MAP_DISTANCE_THRESHOLD || angleDiffNorm > SIM_MAP_ANGLE_THRESHOLD) {
+ simCameraPoses.cameraPoses.Add (currCameraPose);
+ }
+ }
+ }
+
+ ///
+ /// For Unity Simulator
+ /// Checks if the current camera pose is within the range for localization.
+ ///
+ public void checkLocalization()
+ {
+ PNTransformUnity currCameraPose = GetPose();
+ Vector3 currPosition = new Vector3 (currCameraPose.position.x, currCameraPose.position.y, currCameraPose.position.z);
+ Quaternion currRotation = new Quaternion (currCameraPose.rotation.x, currCameraPose.rotation.y,
+ currCameraPose.rotation.z, currCameraPose.rotation.w);
+
+ /// Iterate through each saved cameraPose in the map to find the one that matches
+ /// the current cameraPose.
+ for (int i = 0; i < simCameraPoses.cameraPoses.Count; i++) {
+ PNTransformUnity localizeCameraPose = simCameraPoses.cameraPoses[i];
+ Vector3 localizePosition = new Vector3 (localizeCameraPose.position.x, localizeCameraPose.position.y, localizeCameraPose.position.z);
+ Quaternion localizeRotation = new Quaternion (localizeCameraPose.rotation.x, localizeCameraPose.rotation.y,
+ localizeCameraPose.rotation.z, localizeCameraPose.rotation.w);
+ float positionDiffNorm = Vector3.Distance (currPosition, localizePosition);
+ float angleDiffNorm = Quaternion.Angle(localizeRotation, currRotation);
+
+ if (positionDiffNorm < SIM_LOCAL_DISTANCE_THRESHOLD && angleDiffNorm < SIM_LOCAL_ANGLE_THRESHOLD) {
+ mCurrStatus = MappingStatus.RUNNING;
+ break;
+ } else {
+ mCurrStatus = MappingStatus.LOST;
+ }
+ }
+ }
+
+ ///
+ /// Stops the running mapping/localization session.
+ ///
+ public void StopSession ()
+ {
+ mCurrentTransform = null; //transform is again, meaningless
+ #if !UNITY_EDITOR
+ PNStopSession ();
+ #else
+ /// Stops the current OnPose coroutine
+ StopCoroutine(OnPoseInvokeRepeat());
+
+ /// Stops the relocalization or the mapping (saving cameraPoses) invoke
+ sInstance.CancelInvoke ();
+
+ mCurrStatus = MappingStatus.WAITING;
+ mLocalization = false;
+ #endif
+ }
+
+ ///
+ /// Raises the dataset upload progress event to listeners
+ ///
+ /// Status of the upload
+ ///
+ /// Context pointer to capture progressCb passed the parameters
+ ///
+ [MonoPInvokeCallback (typeof(PNTransferMapCallback))]
+ static void OnDatasetUpload (ref PNTransferStatusUnity status, IntPtr contextPtr)
+ {
+ GCHandle handle = GCHandle.FromIntPtr (contextPtr);
+ Action uploadProgressCb = handle.Target as Action;
+
+ PNTransferStatusUnity statusClone = status;
+ MainThreadTaskQueue.InvokeOnMainThread (() => {
+ if (statusClone.completed) {
+ Debug.Log ("Dataset uploaded!");
+ uploadProgressCb (true, false, 1);
+ handle.Free ();
+ } else if (statusClone.faulted) {
+ Debug.Log ("Failed to upload dataset!");
+ uploadProgressCb (false, true, 0);
+ handle.Free ();
+ } else {
+ Debug.Log ("Uploading dataset!");
+ uploadProgressCb (false, false, (float)(statusClone.bytesTransferred) / statusClone.bytesTotal);
+ }
+ });
+ }
+
+ ///
+ /// Tell Placenote to record this session to a dataset, and upload it for analysis.
+ ///
+ /// Callback to publish the progress of the dataset upload.
+ public void StartRecordDataset (Action uploadProgressCb)
+ {
+ #if !UNITY_EDITOR
+ IntPtr cSharpContext = GCHandle.ToIntPtr (GCHandle.Alloc (uploadProgressCb));
+ PNStartRecordDataset (OnDatasetUpload, cSharpContext);
+ #else
+ uploadProgressCb (true, false, 1.0f);
+ #endif
+ }
+
+ ///
+ /// Callback to return the map metadata fetched by function call.
+ ///
+ ///
+ /// Result that contains the map metadata if GetMetadata call is successful.
+ /// If not successful, it returns the error message via
+ ///
+ /// Context.
+ [MonoPInvokeCallback (typeof(PNResultCallback))]
+ static void OnGetMetadata (ref PNCallbackResultUnity result, IntPtr context)
+ {
+ GCHandle handle = GCHandle.FromIntPtr (context);
+ Action metadataCb = handle.Target as Action;
+
+ PNCallbackResultUnity resultClone = result;
+ MainThreadTaskQueue.InvokeOnMainThread (() => {
+ if (resultClone.success) {
+ String data = resultClone.msg;
+ MapInfo mapInfo = JsonConvert.DeserializeObject (data);
+ metadataCb (mapInfo.metadata);
+ } else {
+ Debug.LogError ("Failed to fetch map list, error: " + resultClone.msg);
+ metadataCb (null);
+ }
+
+ handle.Free ();
+ });
+ }
+
+ ///
+ /// Get the metadata for the given ma.
+ ///
+ /// ID of the map
+ /// Map metadata
+ public bool GetMetadata (string mapId, Action metadataCb)
+ {
+ #if !UNITY_EDITOR
+ IntPtr cSharpContext = GCHandle.ToIntPtr (GCHandle.Alloc (metadataCb));
+ return PNGetMetadata (mapId, OnGetMetadata, cSharpContext) == 0;
+ #else
+
+ /// If the file does not exist
+ if (!File.Exists(Application.dataPath + simMapFileName)) {
+ Debug.Log("There are no maps. Please create a new map to setMetadata.");
+ } else {
+ /// Reads maps from file as JSON
+ string mapData = File.ReadAllText(Application.dataPath + simMapFileName);
+ MapInfo[] mapList = JsonConvert.DeserializeObject (mapData);
+ foreach (var mapInfo in mapList) {
+ if (mapInfo.placeId == mapId) {
+ metadataCb(mapInfo.metadata);
+ return true;
+ }
+ }
+ }
+
+ metadataCb(null);
+ return false;
+ #endif
+ }
+
+
+ ///
+ /// Callback to indicate success of a function call.
+ ///
+ ///
+ /// Result that contains a boolean that indicates if SetMetadata call is successful.
+ /// If not successful, it returns the error message via
+ ///
+ /// Context.
+ [MonoPInvokeCallback (typeof(PNResultCallback))]
+ static void OnSetMetadata (ref PNCallbackResultUnity result, IntPtr context)
+ {
+ GCHandle handle = GCHandle.FromIntPtr (context);
+ Action metadataSavedCb = handle.Target as Action;
+
+ PNCallbackResultUnity resultClone = result;
+ MainThreadTaskQueue.InvokeOnMainThread (() => {
+ if (resultClone.success) {
+ metadataSavedCb (true);
+ } else {
+ Debug.LogError ("Failed to fetch map list, error: " + resultClone.msg);
+ metadataSavedCb (false);
+ }
+
+ handle.Free ();
+ });
+ }
+
+ ///
+ /// Set the metadata for the given map, which will be returned in the MapList when
+ /// you call or .
+ ///
+ /// ID of the map
+ /// Map metadata
+ public bool SetMetadata (string mapId, MapMetadataSettable metadata, Action metaDataSavedCb = null)
+ {
+ #if !UNITY_EDITOR
+ IntPtr cSharpContext = GCHandle.ToIntPtr (GCHandle.Alloc (metaDataSavedCb));
+ int retCode = PNSetMetadata (mapId, JsonConvert.SerializeObject (metadata), OnSetMetadata, cSharpContext);
+ return retCode == 0;
+ #else
+
+ /// If the file does not exist
+ if (!File.Exists(Application.dataPath + simMapFileName)) {
+ Debug.Log("There are no maps. Please create a new map to setMetadata.");
+ } else {
+ /// Reads maps from file as JSON
+ string mapData = File.ReadAllText(Application.dataPath + simMapFileName);
+ MapInfo[] mapList = JsonConvert.DeserializeObject (mapData);
+ foreach (var mapInfo in mapList) {
+ if (mapInfo.placeId == mapId) {
+
+ mapInfo.metadata.location = metadata.location;
+ mapInfo.metadata.name = metadata.name;
+ mapInfo.metadata.userdata = metadata.userdata;
+
+ var convertedJson = JsonConvert.SerializeObject(mapList);
+ File.WriteAllText(Application.dataPath + simMapFileName, convertedJson );
+ metaDataSavedCb(true);
+ return true;
+ }
+ }
+ }
+
+ metaDataSavedCb(false);
+ return false;
+ #endif
+ }
+
+ ///
+ /// Callback to return the map list fetched by function call.
+ ///
+ ///
+ /// Result that contains the list of maps if ListMaps call is successful.
+ /// If not successful, it returns the error message via
+ ///
+ /// Context.
+ [MonoPInvokeCallback (typeof(PNResultCallback))]
+ static void OnMapList (ref PNCallbackResultUnity result, IntPtr context)
+ {
+ GCHandle handle = GCHandle.FromIntPtr (context);
+ Action listCb = handle.Target as Action;
+
+ PNCallbackResultUnity resultClone = result;
+ MainThreadTaskQueue.InvokeOnMainThread (() => {
+ if (resultClone.success) {
+ String listJson = resultClone.msg;
+ MapList mapIdList = JsonConvert.DeserializeObject (listJson);
+ listCb (mapIdList.places);
+ } else {
+ Debug.LogError ("Failed to fetch map list, error: " + resultClone.msg);
+ listCb (null);
+ }
+
+ handle.Free ();
+ });
+ }
+
+ ///
+ /// Fetch a list of maps associated with a API Key
+ ///
+ /// Asynchronous callback to return the fetched map list
+ public void ListMaps (Action listCb)
+ {
+ mapListCbs.Add (listCb);
+
+ #if !UNITY_EDITOR
+ IntPtr cSharpContext = GCHandle.ToIntPtr (GCHandle.Alloc (listCb));
+ PNListMaps(OnMapList, cSharpContext);
+ #else
+
+ /// If the file does not exist
+ if(!File.Exists(Application.dataPath + simMapFileName)){
+ Debug.Log("There are no maps. Please create a new map.");
+ }else{
+ /// Reads maps from file as JSON
+ string mapData = File.ReadAllText(Application.dataPath + simMapFileName);
+ MapInfo[] mapList = JsonConvert.DeserializeObject (mapData);
+ listCb (mapList);
+ }
+ #endif
+ }
+
+ ///
+ /// Fetch a list of maps which include the given name.
+ ///
+ /// Only return maps which include this name
+ /// Asynchronous callback to return the fetched map list
+ public void SearchMaps(string name, Action listCb)
+ {
+ MapSearch ms = new MapSearch ();
+ ms.name = name;
+ SearchMaps (ms, listCb);
+ }
+
+ ///
+ /// Fetch a list of maps in the given location.
+ ///
+ /// The GPS latitude for the center of the search circle
+ /// The GPS longitude for the center of the search circle
+ /// The radius (in meters) of the search circle
+ /// Asynchronous callback to return the fetched map list
+ public void SearchMaps(float latitude, float longitude, float radius, Action listCb)
+ {
+ MapSearch ms = new MapSearch ();
+ ms.location = new MapLocationSearch ();
+ ms.location.latitude = latitude;
+ ms.location.longitude = longitude;
+ ms.location.radius = radius;
+ SearchMaps (ms, listCb);
+ }
+
+ ///
+ /// Fetch a list of maps created in the given time window.
+ ///
+ /// Only return maps created since this date. Pass in DateTime.MinValue to effectively disable this.
+ /// Only return maps created before this date. Pass in DateTime.MaxValue to effectively disable this.
+ /// Asynchronous callback to return the fetched map list
+ public void SearchMaps(DateTime newerThan, DateTime olderThan, Action listCb)
+ {
+ MapSearch ms = new MapSearch ();
+ ms.SetNewerThan (newerThan);
+ ms.SetOlderThan (olderThan);
+ SearchMaps (ms, listCb);
+ }
+
+ ///
+ /// Fetch a list of maps filtered by a userdata query.
+ ///
+ /// See for details.
+ /// Asynchronous callback to return the fetched map list
+ public void SearchMapsByUserData(string userdataQuery, Action listCb)
+ {
+ MapSearch ms = new MapSearch ();
+ ms.userdataQuery = userdataQuery;
+ SearchMaps (ms, listCb);
+ }
+
+ ///
+ /// Fetch a list of maps filtered by some search parameters.
+ ///
+ /// See for details.
+ /// Asynchronous callback to return the fetched map list
+ public void SearchMaps (MapSearch search, Action listCb)
+ {
+ mapListCbs.Add (listCb);
+
+ #if !UNITY_EDITOR
+ IntPtr cSharpContext = GCHandle.ToIntPtr (GCHandle.Alloc (listCb));
+ PNSearchMaps(JsonConvert.SerializeObject(search), OnMapList, cSharpContext);
+ #else
+
+ /// If the file does not exist
+ if(!File.Exists(Application.dataPath + simMapFileName)){
+ Debug.Log("There are no maps. Please create a new map.");
+ }else{
+ /// Reads maps from file as JSON
+ string mapData = File.ReadAllText(Application.dataPath + simMapFileName);
+ MapInfo[] mapList = JsonConvert.DeserializeObject (mapData);
+ listCb (mapList);
+ }
+ #endif
+ }
+
+ ///
+ /// A class to casted as context to be passed to
+ /// and functions to capture external states
+ ///
+ private class SaveLoadContext
+ {
+ public Action savedCb;
+ public Action progressCb;
+ }
+
+
+ ///
+ /// Raises the map upload progress event to listeners
+ ///
+ /// Status of the upload
+ ///
+ /// Context pointer to capture progressCb passed the parameters
+ ///
+ [MonoPInvokeCallback (typeof(PNTransferMapCallback))]
+ static void OnMapUploaded (ref PNTransferStatusUnity status, IntPtr contextPtr)
+ {
+ GCHandle handle = GCHandle.FromIntPtr (contextPtr);
+ SaveLoadContext context = handle.Target as SaveLoadContext;
+ Action progressCb = context.progressCb;
+
+ PNTransferStatusUnity statusClone = status;
+ Debug.Log (String.Format ("mapId {0} completed {1} faulted {2} bytesTransferred {3} bytesTotal {4}",
+ status.mapId, status.completed, status.faulted, status.bytesTransferred, status.bytesTotal)
+ );
+ MainThreadTaskQueue.InvokeOnMainThread (() => {
+ if (statusClone.completed) {
+ Debug.Log ("Uploaded map!");
+ progressCb (true, false, 1);
+ handle.Free ();
+ } else if (statusClone.faulted) {
+ Debug.Log ("Failed to upload map!");
+ progressCb (false, true, 0);
+ handle.Free ();
+ } else {
+ Debug.Log ("Uploading map!");
+ progressCb (false, false, (float)(statusClone.bytesTransferred) / statusClone.bytesTotal);
+ }
+ });
+
+ }
+
+
+ ///
+ /// Raises the map saved event to listeners
+ ///
+ /// Result of the save map request
+ ///
+ /// Context pointer to capture savedCb passed the parameters
+ ///
+ [MonoPInvokeCallback (typeof(PNResultCallback))]
+ static void OnMapSaved (ref PNCallbackResultUnity result, IntPtr contextPtr)
+ {
+ GCHandle handle = GCHandle.FromIntPtr (contextPtr);
+ SaveLoadContext context = handle.Target as SaveLoadContext;
+ Action savedCb = context.savedCb;
+
+ PNCallbackResultUnity resultClone = result;
+ MainThreadTaskQueue.InvokeOnMainThread (() => {
+ if (resultClone.success) {
+ String mapId = resultClone.msg;
+ Debug.Log ("Added a record to map db with id " + mapId);
+ PNSaveMap (mapId, OnMapUploaded, contextPtr);
+ savedCb (mapId);
+ } else {
+ Debug.Log (String.Format ("Failed to add the map! Error msg: %s", resultClone.msg));
+ savedCb (null);
+ handle.Free ();
+ }
+ });
+ }
+
+
+ ///
+ /// Saves the map being created by the running mapping session
+ ///
+ /// Callback to publish a event upon the map being saved.
+ /// Callback to publish the progress of the map upload.
+ public void SaveMap (Action savedCb, Action progressCb)
+ {
+ SaveLoadContext context = new SaveLoadContext ();
+ context.savedCb = savedCb;
+ context.progressCb = progressCb;
+
+ #if !UNITY_EDITOR
+ IntPtr cSharpContext = GCHandle.ToIntPtr (GCHandle.Alloc (context));
+ PNAddMap (OnMapSaved, cSharpContext);
+ #else
+
+ /// Setting map Id
+ simMap.placeId = Guid.NewGuid().ToString();
+ /// Setting saved camera poses
+ simMap.metadata.simulatedMap = simCameraPoses;
+ string jsonMap = JsonConvert.SerializeObject(simMap);
+
+ /// The file does not exist yet OR The file exists but does not contain '[]'
+ if( !File.Exists(Application.dataPath + simMapFileName) || File.ReadAllText(Application.dataPath + simMapFileName).ToString() == "") {
+ File.WriteAllText(Application.dataPath + simMapFileName, "[" + jsonMap +"]");
+ } else {
+ string currMapData = File.ReadAllText(Application.dataPath + simMapFileName);
+ var mapInfoList = JsonConvert.DeserializeObject>(currMapData);
+ /// The file exists but has no maps
+ if (mapInfoList == null){
+ File.WriteAllText(Application.dataPath + simMapFileName, jsonMap);
+ } else { /// If there is already more than 1 item in the file
+ mapInfoList.Add(simMap);
+ var convertedJson = JsonConvert.SerializeObject(mapInfoList);
+ File.WriteAllText(Application.dataPath + simMapFileName, convertedJson );
+ }
+ }
+
+ savedCb (simMap.placeId);
+ progressCb (true, false, 1.0f);
+ #endif
+ }
+
+
+ ///
+ /// Raises the event that indicate that the map is successfully downloaded and loaded for a localization session
+ ///
+ /// Status.
+ /// Context that captures loadProgressCb passed in to .
+ [MonoPInvokeCallback (typeof(PNTransferMapCallback))]
+ static void OnMapLoaded (ref PNTransferStatusUnity status, IntPtr contextPtr)
+ {
+ GCHandle handle = GCHandle.FromIntPtr (contextPtr);
+ Action loadProgressCb = handle.Target as Action;
+
+ PNTransferStatusUnity statusClone = status;
+ MainThreadTaskQueue.InvokeOnMainThread (() => {
+ if (statusClone.completed) {
+ Debug.Log ("Loaded map!");
+ loadProgressCb (true, false, 1);
+ handle.Free ();
+ } else if (statusClone.faulted) {
+ Debug.Log ("Failed to downloading map!");
+ loadProgressCb (false, true, 0);
+ handle.Free ();
+ } else {
+ Debug.Log ("Downloading map!");
+ loadProgressCb (false, false, (float)(statusClone.bytesTransferred) / statusClone.bytesTotal);
+ }
+ });
+ }
+
+
+ ///
+ /// Load a map file for a localization session. The localization session
+ /// will compute the pose of the camera w.r.t the loaded map.
+ ///
+ /// Unique identifier of the map to be loaded
+ ///
+ /// Callback to publish map download progress event to listeners registered.
+ ///
+ public void LoadMap (String mapId, Action loadProgressCb)
+ {
+ #if !UNITY_EDITOR
+ IntPtr cSharpContext = GCHandle.ToIntPtr (GCHandle.Alloc (loadProgressCb));
+ PNLoadMap (mapId, OnMapLoaded, cSharpContext);
+ #else
+ mLocalization = true;
+ // Reads maps from file as JSON
+ string mapData = File.ReadAllText(Application.dataPath + simMapFileName);
+ MapInfo[] mapList = JsonConvert.DeserializeObject (mapData);
+ for(int i = 0; i < mapList.Length; i++){
+ if (mapId == mapList[i].placeId)
+ simMap = mapList[i];
+ }
+
+ simCameraPoses = simMap.metadata.simulatedMap;
+ loadProgressCb (true, false, 1.0f);
+ #endif
+
+ }
+
+
+ ///
+ /// Callback to indicate that the map is deleted after request via
+ ///
+ ///
+ /// Result of the call, that indicate success/failure and corresponding errorMsg
+ ///
+ /// Context that captures deletedCb passed into .
+ [MonoPInvokeCallback (typeof(PNResultCallback))]
+ private static void OnMapDeleted (ref PNCallbackResultUnity result, IntPtr context)
+ {
+ GCHandle handle = GCHandle.FromIntPtr (context);
+ Action deletedCb = handle.Target as Action;
+
+ bool deleted = result.success;
+ string errorMsg = result.msg;
+ MainThreadTaskQueue.InvokeOnMainThread (() => {
+ if (deleted) {
+ deletedCb (true, "Success");
+ } else {
+ deletedCb (true, "Failed to delete, error: " + errorMsg);
+ }
+
+ handle.Free ();
+ });
+ }
+
+
+ ///
+ /// Delete a map given its ID
+ ///
+ /// Identifier of the map to be deleted.
+ ///
+ /// Asynchronous callback to indicate whether the map has been deleted.
+ ///
+ public void DeleteMap (String mapId, Action deletedCb)
+ {
+ #if !UNITY_EDITOR
+ IntPtr cSharpContext = GCHandle.ToIntPtr (GCHandle.Alloc (deletedCb));
+ PNDeleteMap (mapId, OnMapDeleted, cSharpContext);
+ #else
+ // Reading map
+ string mapData = File.ReadAllText(Application.dataPath + simMapFileName);
+ MapInfo[] mapList = JsonConvert.DeserializeObject (mapData);
+ if(mapList.Length == 1){
+ /// Reseting brackets for array in json file
+ File.WriteAllText(Application.dataPath + simMapFileName, "[]" );
+ } else {
+ for(int i = 0; i < mapList.Length; i++){
+ if (mapId == mapList[i].placeId){
+ /// Delete map from array
+ for (int j = i; j < mapList.Length-1; j++)
+ mapList[j] = mapList[j+1];
+ Array.Resize(ref mapList, mapList.Length - 1);
+ break;
+ }
+ }
+
+ /// Resaving map
+ var convertedJson = JsonConvert.SerializeObject(mapList);
+ File.WriteAllText(Application.dataPath + simMapFileName, convertedJson);
+ }
+
+ deletedCb (true, "Success");
+ #endif
+ }
+
+
+ ///
+ /// Return the map created by a mapping session, or the current map used by a localization session
+ ///
+ ///
+ /// The map that contains all 3D feature points created by a mapping session,
+ /// or contained in a loaded map during a localization session
+ ///
+ public PNFeaturePointUnity[] GetMap ()
+ {
+
+ PNFeaturePointUnity[] map = new PNFeaturePointUnity [1];
+
+ #if !UNITY_EDITOR
+ int lmSize = 0;
+ lmSize = PNGetAllLandmarks (map, 0);
+
+ if (lmSize == 0) {
+ Debug.Log ("Empty landmarks, probably tried to fail");
+ return null;
+ }
+
+ Array.Resize (ref map, lmSize);
+ PNGetAllLandmarks (map, lmSize);
+ #endif
+
+ return map;
+ }
+
+
+ ///
+ /// Return an array of feature points measured by the mapping/localization session.
+ /// This collection of points is a subset of the map returned by
+ ///
+ ///
+ /// The map, which is a array of 3D feature points currently measured by the mapping/localization session
+ ///
+ public PNFeaturePointUnity[] GetTrackedFeatures ()
+ {
+ int lmSize = 0;
+ PNFeaturePointUnity[] map = new PNFeaturePointUnity [1];
+
+ #if !UNITY_EDITOR
+ lmSize = PNGetTrackedLandmarks (map, 0);
+ #endif
+
+ if (lmSize == 0) {
+ Debug.Log ("Empty landmarks, probably tried to fail");
+ return null;
+ }
+
+ #if !UNITY_EDITOR
+ Array.Resize (ref map, lmSize);
+ PNGetTrackedLandmarks (map, lmSize);
+ #endif
+
+ return map;
+ }
+
+ // Native function headers
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNInitialize (
+ ref PNInitParamsUnity initParams, PNResultCallback cb, IntPtr context
+ );
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNGetStatus ();
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern void PNSetFrame (
+ ref PNImagePlaneUnity yPlane, ref PNImagePlaneUnity vuPlane, ref PNTransformUnity pose
+ );
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNListMaps (PNResultCallback cb, IntPtr context);
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNSearchMaps (string searchJson, PNResultCallback cb, IntPtr context);
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNAddMap (PNResultCallback cb, IntPtr context);
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNSaveMap (string mapId, PNTransferMapCallback cb, IntPtr context);
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNLoadMap (string mapId, PNTransferMapCallback cb, IntPtr context);
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNDeleteMap (string mapId, PNResultCallback cb, IntPtr context);
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNGetTrackedLandmarks ([In, Out] PNFeaturePointUnity[] lmArrayPtr, int lmSize);
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNGetAllLandmarks ([In, Out] PNFeaturePointUnity[] lmArrayPtr, int lmSize);
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNGetPose (ref PNTransformUnity pose);
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNStartSession (PNPoseCallback cb, bool extend, IntPtr context);
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNStopSession ();
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNStartRecordDataset (PNTransferMapCallback cb, IntPtr context);
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNGetMetadata (string mapId, PNResultCallback cb, IntPtr context);
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNSetMetadata (string mapId, string metadataJson, PNResultCallback cb, IntPtr context);
+
+ [DllImport ("__Internal")]
+ [return: MarshalAs (UnmanagedType.I4)]
+ private static extern int PNShutdown ();
+}
diff --git a/Assets/Placenote/LibPlacenote/MainThreadTaskQueue.cs b/Assets/Placenote/LibPlacenote/MainThreadTaskQueue.cs
new file mode 100755
index 00000000..37d9ed53
--- /dev/null
+++ b/Assets/Placenote/LibPlacenote/MainThreadTaskQueue.cs
@@ -0,0 +1,46 @@
+using UnityEngine;
+using UnityEngine.Events;
+using UnityEngine.UI;
+using System.Collections.Generic;
+
+public class MainThreadTaskQueue: MonoBehaviour
+{
+ public delegate void Delegate ();
+
+ private static MainThreadTaskQueue sInstance;
+ private List delegates = new List ();
+
+ void Awake ()
+ {
+ sInstance = this;
+ }
+
+ void Update ()
+ {
+ while (delegates.Count > 0) {
+ try {
+ delegates [0].Invoke ();
+ } catch (System.Exception e) {
+ Debug.LogException (e);
+ }
+
+ lock (delegates) {
+ delegates.RemoveAt (0);
+ }
+ }
+ }
+
+
+ public static void InvokeOnMainThread (Delegate d)
+ {
+ if (sInstance == null) {
+ Debug.LogError ("MainThreadTaskQueue not initialized, please attach it to an active game object enabled.");
+ return;
+ }
+
+ lock (sInstance.delegates) {
+ sInstance.delegates.Add (d);
+ }
+ }
+}
+
diff --git a/Assets/Placenote/LibPlacenote/PNUtility.cs b/Assets/Placenote/LibPlacenote/PNUtility.cs
new file mode 100755
index 00000000..e8c6ce5f
--- /dev/null
+++ b/Assets/Placenote/LibPlacenote/PNUtility.cs
@@ -0,0 +1,45 @@
+using UnityEngine;
+
+namespace PNUtility
+{
+ public class MatrixOps
+ {
+ public static Vector3 GetPosition(Matrix4x4 matrix)
+ {
+ // Convert from ARKit's right-handed coordinate
+ // system to Unity's left-handed
+ Vector3 position = matrix.GetColumn(3);
+ return position;
+ }
+
+ public static Quaternion GetRotation(Matrix4x4 matrix)
+ {
+ // Convert from ARKit's right-handed coordinate
+ // system to Unity's left-handed
+ Quaternion rotation = QuaternionFromMatrix(matrix);
+ return rotation;
+ }
+
+
+ public static Quaternion QuaternionFromMatrix(Matrix4x4 m) {
+ // Adapted from: http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm
+ Quaternion q = new Quaternion();
+ q.w = Mathf.Sqrt( Mathf.Max( 0, 1 + m[0,0] + m[1,1] + m[2,2] ) ) / 2;
+ q.x = Mathf.Sqrt( Mathf.Max( 0, 1 + m[0,0] - m[1,1] - m[2,2] ) ) / 2;
+ q.y = Mathf.Sqrt( Mathf.Max( 0, 1 - m[0,0] + m[1,1] - m[2,2] ) ) / 2;
+ q.z = Mathf.Sqrt( Mathf.Max( 0, 1 - m[0,0] - m[1,1] + m[2,2] ) ) / 2;
+ q.x *= Mathf.Sign( q.x * ( m[2,1] - m[1,2] ) );
+ q.y *= Mathf.Sign( q.y * ( m[0,2] - m[2,0] ) );
+ q.z *= Mathf.Sign( q.z * ( m[1,0] - m[0,1] ) );
+ return q;
+ }
+
+
+ public static Matrix4x4 PNPose2Matrix4x4(LibPlacenote.PNTransformUnity pose) {
+ Vector3 position = new Vector3 (pose.position.x, pose.position.y, -pose.position.z);
+ Quaternion rotation = new Quaternion (pose.rotation.x, pose.rotation.y,
+ -pose.rotation.z, -pose.rotation.w);
+ return Matrix4x4.TRS(position, rotation, new Vector3(1, 1, 1));
+ }
+ }
+}
diff --git a/Assets/Placenote/LibPlacenote/PlacenoteCameraManager.cs b/Assets/Placenote/LibPlacenote/PlacenoteCameraManager.cs
new file mode 100755
index 00000000..607b9248
--- /dev/null
+++ b/Assets/Placenote/LibPlacenote/PlacenoteCameraManager.cs
@@ -0,0 +1,44 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+
+///
+/// Class that manipulates the parent node of the ARKit controlled camera object to rotate the camera
+/// to the coordinate frame of the LibPlacenote mapping/localization session
+///
+public class PlacenoteCameraManager : MonoBehaviour, PlacenoteListener
+{
+ [SerializeField] Camera cameraChild;
+ [SerializeField] GameObject cameraParent;
+
+ void Start ()
+ {
+ if (cameraChild == null) {
+ Debug.Log ("Camera reference is null, skipping creation of camera parent");
+ return;
+ }
+
+ // This is required for OnPose and OnStatusChange to be triggered
+ LibPlacenote.Instance.RegisterListener (this);
+ }
+
+ public void OnPose (Matrix4x4 outputPose, Matrix4x4 arkitPose)
+ {
+ if (cameraChild == null) {
+ Debug.Log ("Camera reference is null, not controlling");
+ return;
+ }
+
+ // Compute the transform of the camera parent so that camera pose ends up at outputPose
+ Matrix4x4 camParentPose = outputPose * arkitPose.inverse;
+ cameraParent.transform.position = PNUtility.MatrixOps.GetPosition (camParentPose);
+ cameraParent.transform.rotation = PNUtility.MatrixOps.GetRotation (camParentPose);
+ }
+
+ public void OnStatusChange (LibPlacenote.MappingStatus prevStatus, LibPlacenote.MappingStatus currStatus)
+ {
+
+ }
+}
diff --git a/Assets/Placenote/LibPlacenote/PlacenoteListener.cs b/Assets/Placenote/LibPlacenote/PlacenoteListener.cs
new file mode 100755
index 00000000..117ddfc3
--- /dev/null
+++ b/Assets/Placenote/LibPlacenote/PlacenoteListener.cs
@@ -0,0 +1,9 @@
+using System;
+using UnityEngine;
+
+public interface PlacenoteListener
+{
+ void OnPose(Matrix4x4 outputPose, Matrix4x4 arkitPose);
+ void OnStatusChange(LibPlacenote.MappingStatus prevStatus, LibPlacenote.MappingStatus currStatus);
+}
+
diff --git a/Assets/Placenote/Materials/ARKitPlaneMesh.mat b/Assets/Placenote/Materials/ARKitPlaneMesh.mat
new file mode 100755
index 00000000..1e1d1f69
--- /dev/null
+++ b/Assets/Placenote/Materials/ARKitPlaneMesh.mat
@@ -0,0 +1,77 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: ARKitPlaneMesh
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 10, y: 10}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: b4088316296d14245a7a76db89247808, type: 3}
+ m_Scale: {x: 10, y: 10}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 10
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 3
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 0
+ m_Colors:
+ - _Color: {r: 0.4811851, g: 0.51542115, b: 0.7352941, a: 0}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Materials/color_point_cloud.mat b/Assets/Placenote/Materials/color_point_cloud.mat
new file mode 100644
index 00000000..62dc3a5c
--- /dev/null
+++ b/Assets/Placenote/Materials/color_point_cloud.mat
@@ -0,0 +1,28 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: color_point_cloud
+ m_Shader: {fileID: 4800000, guid: a5c6c0ee4f37b40ccbfb39938642a984, type: 3}
+ m_ShaderKeywords:
+ m_LightmapFlags: 5
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - point_size: 20
+ m_Colors:
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
diff --git a/Assets/Placenote/Materials/debugPlaneMaterial.mat b/Assets/Placenote/Materials/debugPlaneMaterial.mat
new file mode 100755
index 00000000..189c2485
--- /dev/null
+++ b/Assets/Placenote/Materials/debugPlaneMaterial.mat
@@ -0,0 +1,83 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: debugPlaneMaterial
+ m_Shader: {fileID: 10721, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords: _ALPHATEST_ON
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _AlphaTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: 5db0892a9f35841a1aafa4d2f617eaf3, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - PixelSnap: 0
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _EnableExternalAlpha: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _MaskingAlphaCutoff: 0
+ - _Metallic: 0
+ - _Mode: 1
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Materials/debugPlaneTile.mat b/Assets/Placenote/Materials/debugPlaneTile.mat
new file mode 100644
index 00000000..2a3c3e7d
--- /dev/null
+++ b/Assets/Placenote/Materials/debugPlaneTile.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: debugPlaneTile
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: 5db0892a9f35841a1aafa4d2f617eaf3, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Materials/debugPlaneTile.png b/Assets/Placenote/Materials/debugPlaneTile.png
new file mode 100755
index 00000000..b72323fc
Binary files /dev/null and b/Assets/Placenote/Materials/debugPlaneTile.png differ
diff --git a/Assets/Placenote/Materials/pointCloudMat.mat b/Assets/Placenote/Materials/pointCloudMat.mat
new file mode 100755
index 00000000..aa250884
--- /dev/null
+++ b/Assets/Placenote/Materials/pointCloudMat.mat
@@ -0,0 +1,85 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: pointCloudMat
+ m_Shader: {fileID: 4800000, guid: a5c6c0ee4f37b40ccbfb39938642a984, type: 3}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _textureCbCr:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _textureY:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ - point_size: 5
+ m_Colors:
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/LivingRoom.mtl b/Assets/Placenote/Models/LivingRoom.mtl
new file mode 100755
index 00000000..cc5f4529
--- /dev/null
+++ b/Assets/Placenote/Models/LivingRoom.mtl
@@ -0,0 +1,182 @@
+# Blender MTL File: 'None'
+# Material Count: 18
+
+newmtl Cans
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.467263 0.456900 0.416797
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl Cans.001
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.334308 0.330034 0.309144
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl Desk
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.243990 0.233417 0.209801
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl GameController
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.301010 0.301010 0.301010
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl Grass.001
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.388120 0.526700 0.115303
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl Orange
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.635211 0.392101 0.163101
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl Speaker
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.018523 0.018523 0.018523
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl Speaker_Center
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.005596 0.005596 0.005596
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl Speaker_Puff
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.026484 0.024571 0.023645
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl TV
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.031637 0.031637 0.031637
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl TV.001
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.067501 0.067501 0.067501
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl TV.002
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.089546 0.089546 0.089546
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl TV.003
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.044903 0.044903 0.044903
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl TV_Stand
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.060948 0.060948 0.060948
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl Table
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.549348 0.421692 0.254837
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl White.001
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.800000 0.800000 0.800000
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl Wires
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.064176 0.062550 0.060948
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
+
+newmtl dvd
+Ns 96.078431
+Ka 1.000000 1.000000 1.000000
+Kd 0.115303 0.219742 0.526700
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.000000
+d 1.000000
+illum 2
diff --git a/Assets/Placenote/Models/LivingRoom.obj b/Assets/Placenote/Models/LivingRoom.obj
new file mode 100755
index 00000000..444f0cdb
--- /dev/null
+++ b/Assets/Placenote/Models/LivingRoom.obj
@@ -0,0 +1,4996 @@
+# Blender v2.78 (sub 0) OBJ File: ''
+# www.blender.org
+mtllib LivingRoom.mtl
+o Cube_Cube.001
+v 1.811800 0.000000 1.620297
+v 1.811800 0.000000 -1.953083
+v 2.137054 0.000000 1.620297
+v 2.137054 0.000000 -1.953083
+v 1.811800 1.123256 1.620297
+v 1.811800 1.123256 -1.953083
+v 2.137054 1.123256 1.620297
+v 2.137054 1.123256 -1.953083
+vn 0.0000 1.0000 0.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+usemtl Orange
+s off
+f 8//1 6//1 5//1 7//1
+f 4//2 8//2 7//2 3//2
+f 1//3 2//3 4//3 3//3
+f 6//4 8//4 4//4 2//4
+f 1//5 5//5 6//5 2//5
+f 7//6 5//6 1//6 3//6
+o Cube.001_Cube.002
+v 2.137299 0.000000 1.620421
+v 2.137299 1.123329 1.620421
+v 2.137299 0.000000 1.295167
+v 2.137299 1.123329 1.295167
+v 1.317848 1.123329 1.620421
+v 0.635172 0.727349 1.620421
+v 1.081878 1.121376 1.620421
+v 0.850322 1.095341 1.620421
+v 0.683495 0.998630 1.620421
+v 0.638545 0.864276 1.620421
+v 0.635172 0.727349 1.295167
+v 1.317848 1.123329 1.295167
+v 0.638540 0.864221 1.295167
+v 0.683423 0.998533 1.295167
+v 0.850155 1.095300 1.295167
+v 1.081783 1.121373 1.295167
+v 0.635172 0.266957 1.620421
+v 1.095410 0.000000 1.620421
+v 0.637442 0.174682 1.620421
+v 0.676366 0.084133 1.620421
+v 0.780107 0.018896 1.620421
+v 0.936263 0.001319 1.620421
+v 1.095410 0.000000 1.295167
+v 0.635172 0.266957 1.295167
+v 0.936327 0.001317 1.295167
+v 0.780219 0.018868 1.295167
+v 0.676414 0.084068 1.295167
+v 0.637446 0.174645 1.295167
+v 2.137299 0.000000 -1.953208
+v 2.137299 1.123329 -1.953208
+v 2.137299 0.000000 -1.627954
+v 2.137299 1.123329 -1.627954
+v 1.317848 1.123329 -1.953207
+v 0.635173 0.727349 -1.953208
+v 1.081879 1.121376 -1.953208
+v 0.850322 1.095341 -1.953208
+v 0.683495 0.998630 -1.953208
+v 0.638545 0.864276 -1.953208
+v 0.635173 0.727349 -1.627954
+v 1.317848 1.123329 -1.627954
+v 0.638540 0.864221 -1.627954
+v 0.683424 0.998533 -1.627954
+v 0.850156 1.095300 -1.627954
+v 1.081783 1.121373 -1.627954
+v 0.635173 0.266957 -1.953208
+v 1.095410 0.000000 -1.953208
+v 0.637443 0.174682 -1.953208
+v 0.676366 0.084133 -1.953208
+v 0.780107 0.018896 -1.953208
+v 0.936263 0.001319 -1.953208
+v 1.095410 0.000000 -1.627954
+v 0.635173 0.266957 -1.627954
+v 0.936327 0.001317 -1.627954
+v 0.780219 0.018868 -1.627954
+v 0.676414 0.084068 -1.627954
+v 0.637446 0.174645 -1.627954
+vn 0.0000 0.0000 -1.0000
+vn 1.0000 0.0000 0.0000
+vn -1.0000 0.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn -0.0083 1.0000 -0.0000
+vn -0.1118 0.9937 -0.0000
+vn -0.5017 0.8650 -0.0000
+vn -0.9484 0.3171 0.0000
+vn -0.9997 0.0246 0.0000
+vn 0.0000 1.0000 0.0000
+vn -0.0083 -1.0000 0.0000
+vn -0.1118 -0.9937 0.0000
+vn -0.5321 -0.8467 -0.0000
+vn -0.9187 -0.3951 -0.0000
+vn -0.9997 -0.0246 -0.0000
+vn -0.0000 -0.0000 1.0000
+usemtl Orange
+s off
+f 19//7 21//7 22//7 23//7 24//7 20//7 12//7 11//7 31//7 33//7 34//7 35//7 36//7 32//7
+f 12//8 10//8 9//8 11//8
+f 14//9 19//9 32//9 25//9
+f 9//10 26//10 31//10 11//10
+f 13//11 20//11 24//11 15//11
+f 15//12 24//12 23//12 16//12
+f 16//13 23//13 22//13 17//13
+f 17//14 22//14 21//14 18//14
+f 18//15 21//15 19//15 14//15
+f 12//16 20//16 13//16 10//16
+f 31//17 26//17 30//17 33//17
+f 33//18 30//18 29//18 34//18
+f 34//19 29//19 28//19 35//19
+f 35//20 28//20 27//20 36//20
+f 36//21 27//21 25//21 32//21
+f 10//22 13//22 15//22 16//22 17//22 18//22 14//22 25//22 27//22 28//22 29//22 30//22 26//22 9//22
+f 47//22 60//22 64//22 63//22 62//22 61//22 59//22 39//22 40//22 48//22 52//22 51//22 50//22 49//22
+f 40//8 39//8 37//8 38//8
+f 42//9 53//9 60//9 47//9
+f 37//10 39//10 59//10 54//10
+f 41//11 43//11 52//11 48//11
+f 43//12 44//12 51//12 52//12
+f 44//13 45//13 50//13 51//13
+f 45//14 46//14 49//14 50//14
+f 46//15 42//15 47//15 49//15
+f 40//16 38//16 41//16 48//16
+f 59//17 61//17 58//17 54//17
+f 61//18 62//18 57//18 58//18
+f 62//19 63//19 56//19 57//19
+f 63//20 64//20 55//20 56//20
+f 64//21 60//21 53//21 55//21
+f 38//7 37//7 54//7 58//7 57//7 56//7 55//7 53//7 42//7 46//7 45//7 44//7 43//7 41//7
+o Cube.002_Cube.003
+v 0.723569 0.205386 1.298473
+v 0.723569 0.586455 1.298473
+v 0.723569 0.205386 -0.152706
+v 0.723569 0.586455 -0.152706
+v 1.816673 0.205386 1.298473
+v 1.816673 0.586455 1.298473
+v 1.816673 0.205386 -0.152706
+v 1.816673 0.586455 -0.152706
+v 0.723569 0.205386 -1.631259
+v 0.723569 0.586455 -1.631259
+v 0.723569 0.205386 -0.180080
+v 0.723569 0.586455 -0.180080
+v 1.816673 0.205386 -1.631259
+v 1.816673 0.586455 -1.631259
+v 1.816673 0.205386 -0.180080
+v 1.816673 0.586455 -0.180080
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 1.0000 0.0000
+usemtl Orange
+s off
+f 66//23 68//23 67//23 65//23
+f 68//24 72//24 71//24 67//24
+f 72//25 70//25 69//25 71//25
+f 70//26 66//26 65//26 69//26
+f 65//27 67//27 71//27 69//27
+f 70//28 72//28 68//28 66//28
+f 74//23 73//23 75//23 76//23
+f 76//26 75//26 79//26 80//26
+f 80//25 79//25 77//25 78//25
+f 78//24 77//24 73//24 74//24
+f 73//27 77//27 79//27 75//27
+f 78//28 74//28 76//28 80//28
+o Cube.003_Cube.004
+v 0.935290 0.000100 1.298473
+v 0.935290 0.441736 1.298473
+v 1.816673 0.000100 1.298473
+v 1.816673 0.441736 1.298473
+v 0.935290 0.000100 -1.631259
+v 0.935290 0.441736 -1.631259
+v 1.816673 0.000100 -1.631259
+v 1.816673 0.441736 -1.631259
+vn 0.0000 0.0000 1.0000
+vn 0.0000 -1.0000 0.0000
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 1.0000 0.0000
+usemtl Desk
+s off
+f 84//29 82//29 81//29 83//29
+f 83//30 81//30 85//30 87//30
+f 82//31 86//31 85//31 81//31
+f 88//32 87//32 85//32 86//32
+f 83//33 87//33 88//33 84//33
+f 82//34 84//34 88//34 86//34
+o Cube.004_Cube.015
+v -1.006956 0.000000 0.332520
+v -1.006956 0.635974 0.332520
+v -1.006956 0.000000 0.207878
+v -1.006956 0.635974 0.207878
+v -0.882314 0.000000 0.332520
+v -0.882314 0.635974 0.332520
+v -0.882314 0.000000 0.207878
+v -0.882314 0.635974 0.207878
+v -0.053444 0.000000 0.332520
+v -0.053444 0.635974 0.332520
+v -0.053444 0.000000 0.207878
+v -0.053444 0.635974 0.207878
+v 0.071198 0.000000 0.332520
+v 0.071198 0.635974 0.332520
+v 0.071198 0.000000 0.207878
+v 0.071198 0.635974 0.207878
+v -1.006956 0.000000 -1.001150
+v -1.006956 0.635974 -1.001150
+v -1.006956 0.000000 -1.125792
+v -1.006956 0.635974 -1.125792
+v -0.882314 0.000000 -1.001150
+v -0.882314 0.635974 -1.001150
+v -0.882314 0.000000 -1.125792
+v -0.882314 0.635974 -1.125792
+v -0.053444 0.000000 -1.001150
+v -0.053444 0.635974 -1.001150
+v -0.053444 0.000000 -1.125792
+v -0.053444 0.635974 -1.125792
+v 0.071198 0.000000 -1.001150
+v 0.071198 0.635974 -1.001150
+v 0.071198 0.000000 -1.125792
+v 0.071198 0.635974 -1.125792
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 1.0000 0.0000
+usemtl Table
+s off
+f 90//35 92//35 91//35 89//35
+f 92//36 96//36 95//36 91//36
+f 96//37 94//37 93//37 95//37
+f 94//38 90//38 89//38 93//38
+f 89//39 91//39 95//39 93//39
+f 94//40 96//40 92//40 90//40
+f 98//35 100//35 99//35 97//35
+f 100//36 104//36 103//36 99//36
+f 104//37 102//37 101//37 103//37
+f 102//38 98//38 97//38 101//38
+f 97//39 99//39 103//39 101//39
+f 102//40 104//40 100//40 98//40
+f 106//35 108//35 107//35 105//35
+f 108//36 112//36 111//36 107//36
+f 112//37 110//37 109//37 111//37
+f 110//38 106//38 105//38 109//38
+f 105//39 107//39 111//39 109//39
+f 110//40 112//40 108//40 106//40
+f 114//35 116//35 115//35 113//35
+f 116//36 120//36 119//36 115//36
+f 120//37 118//37 117//37 119//37
+f 118//38 114//38 113//38 117//38
+f 113//39 115//39 119//39 117//39
+f 118//40 120//40 116//40 114//40
+o Cube.005_Cube.041
+v -1.355242 0.463139 0.587547
+v -1.355242 0.492242 0.587547
+v -1.355242 0.463139 0.803305
+v -1.355242 0.492242 0.803305
+v -1.691344 0.463139 0.587547
+v -1.691344 0.492242 0.587547
+v -1.691344 0.463139 0.803305
+v -1.691344 0.492242 0.803305
+v -1.656345 0.492242 0.803305
+v -1.656345 0.463139 0.803305
+v -1.656345 0.492242 0.587547
+v -1.656345 0.463139 0.587547
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 0.0000 1.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn -0.0000 0.0000 1.0000
+vn -1.0000 0.0000 0.0000
+usemtl dvd
+s off
+f 122//41 124//41 123//41 121//41
+f 131//42 122//42 121//42 132//42
+f 131//43 129//43 124//43 122//43
+f 121//44 123//44 130//44 132//44
+f 124//45 129//45 130//45 123//45
+usemtl Cans
+f 129//45 128//45 127//45 130//45
+f 128//46 126//46 125//46 127//46
+f 132//44 130//44 127//44 125//44
+f 126//43 128//43 129//43 131//43
+f 126//42 131//42 132//42 125//42
+o Cube.006_Cube.016
+v -1.006921 0.608600 0.332491
+v -1.006921 0.697339 0.332491
+v -1.006921 0.608600 -1.125764
+v -1.006921 0.697339 -1.125764
+v 0.071163 0.608600 0.332491
+v 0.071163 0.697339 0.332491
+v 0.071163 0.608600 -1.125764
+v 0.071163 0.697339 -1.125764
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 1.0000 0.0000
+usemtl Table
+s off
+f 134//47 136//47 135//47 133//47
+f 136//48 140//48 139//48 135//48
+f 140//49 138//49 137//49 139//49
+f 138//50 134//50 133//50 137//50
+f 133//51 135//51 139//51 137//51
+f 138//52 140//52 136//52 134//52
+o Cube.007_Cube.017
+v -0.946175 0.331017 0.268597
+v -0.946175 0.417911 0.268597
+v -0.946175 0.331017 -1.061869
+v -0.946175 0.417911 -1.061869
+v 0.010417 0.331017 0.268597
+v 0.010417 0.417911 0.268597
+v 0.010417 0.331017 -1.061869
+v 0.010417 0.417911 -1.061869
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 1.0000 0.0000
+usemtl Table
+s off
+f 142//53 144//53 143//53 141//53
+f 144//54 148//54 147//54 143//54
+f 148//55 146//55 145//55 147//55
+f 146//56 142//56 141//56 145//56
+f 141//57 143//57 147//57 145//57
+f 146//58 148//58 144//58 142//58
+o Cube.008_Cube.019
+v -1.738517 0.981418 1.436614
+v -1.703394 1.008250 1.462132
+v -1.751933 1.008250 1.477903
+v -1.781932 1.008250 1.436614
+v -1.751933 1.008250 1.395324
+v -1.703394 1.008250 1.411095
+v -1.725102 1.051665 1.477903
+v -1.773641 1.051665 1.462132
+v -1.773641 1.051665 1.411095
+v -1.725102 1.051665 1.395324
+v -1.695103 1.051665 1.436614
+v -1.738517 1.078497 1.436614
+v -1.746403 0.988667 1.460883
+v -1.717872 0.988667 1.451613
+v -1.725758 1.004439 1.475882
+v -1.697227 1.004439 1.436614
+v -1.717872 0.988667 1.421615
+v -1.764036 0.988668 1.436614
+v -1.771921 1.004439 1.460883
+v -1.746403 0.988667 1.412344
+v -1.771921 1.004439 1.412344
+v -1.725758 1.004439 1.397345
+v -1.692354 1.029958 1.451613
+v -1.692354 1.029958 1.421615
+v -1.738517 1.029958 1.485153
+v -1.709987 1.029958 1.475883
+v -1.784681 1.029958 1.451613
+v -1.767048 1.029958 1.475883
+v -1.767048 1.029958 1.397345
+v -1.784681 1.029958 1.421615
+v -1.709987 1.029958 1.397345
+v -1.738517 1.029958 1.388075
+v -1.705113 1.055476 1.460883
+v -1.751277 1.055476 1.475882
+v -1.779807 1.055476 1.436614
+v -1.751277 1.055476 1.397345
+v -1.705113 1.055476 1.412344
+v -1.730632 1.071248 1.460883
+v -1.712999 1.071247 1.436614
+v -1.759162 1.071248 1.451613
+v -1.759162 1.071248 1.421615
+v -1.730632 1.071248 1.412344
+v -1.675785 0.831636 1.436614
+v -1.649292 0.840245 1.436614
+v -1.632918 0.862781 1.436614
+v -1.632918 0.890638 1.436614
+v -1.649292 0.913174 1.436614
+v -1.675785 0.921782 1.436614
+v -1.702278 0.913174 1.436614
+v -1.718652 0.890638 1.436614
+v -1.718652 0.862781 1.436614
+v -1.702278 0.840245 1.436614
+v -1.675785 0.841343 1.375329
+v -1.649292 0.849530 1.377989
+v -1.632918 0.870963 1.384953
+v -1.632918 0.897457 1.393562
+v -1.649292 0.918890 1.400526
+v -1.675785 0.927077 1.403186
+v -1.702278 0.918890 1.400526
+v -1.718652 0.897457 1.393562
+v -1.718652 0.870963 1.384953
+v -1.702278 0.849530 1.377989
+v -1.675785 0.869512 1.320044
+v -1.649292 0.876477 1.325103
+v -1.632918 0.894709 1.338350
+v -1.632918 0.917245 1.354724
+v -1.649292 0.935478 1.367970
+v -1.675785 0.942442 1.373030
+v -1.702278 0.935478 1.367970
+v -1.718652 0.917245 1.354724
+v -1.718652 0.894709 1.338350
+v -1.702278 0.876477 1.325103
+v -1.675785 0.913387 1.276169
+v -1.649292 0.918447 1.283133
+v -1.632918 0.931694 1.301365
+v -1.632918 0.948067 1.323902
+v -1.649292 0.961314 1.342134
+v -1.675785 0.966374 1.349098
+v -1.702278 0.961314 1.342134
+v -1.718652 0.948067 1.323902
+v -1.718652 0.931694 1.301365
+v -1.702278 0.918447 1.283133
+v -1.675785 0.968673 1.247999
+v -1.649292 0.971333 1.256186
+v -1.632918 0.978297 1.277620
+v -1.632918 0.986905 1.304113
+v -1.649292 0.993870 1.325546
+v -1.675785 0.996530 1.333733
+v -1.702278 0.993870 1.325546
+v -1.718652 0.986905 1.304113
+v -1.718652 0.978297 1.277620
+v -1.702278 0.971333 1.256186
+v -1.675785 1.029958 1.238293
+v -1.649292 1.029958 1.246901
+v -1.632918 1.029958 1.269437
+v -1.632918 1.029958 1.297294
+v -1.649292 1.029958 1.319831
+v -1.675785 1.029958 1.328439
+v -1.702278 1.029958 1.319831
+v -1.718652 1.029958 1.297294
+v -1.718652 1.029958 1.269437
+v -1.702278 1.029958 1.246901
+v -1.675785 1.091242 1.247999
+v -1.649292 1.088582 1.256186
+v -1.632918 1.081618 1.277620
+v -1.632918 1.073010 1.304113
+v -1.649292 1.066046 1.325546
+v -1.675785 1.063386 1.333733
+v -1.702278 1.066046 1.325546
+v -1.718652 1.073010 1.304113
+v -1.718652 1.081618 1.277620
+v -1.702278 1.088582 1.256186
+v -1.675785 1.146528 1.276169
+v -1.649292 1.141468 1.283133
+v -1.632918 1.128222 1.301365
+v -1.632918 1.111848 1.323902
+v -1.649292 1.098601 1.342134
+v -1.675785 1.093541 1.349098
+v -1.702278 1.098601 1.342134
+v -1.718652 1.111848 1.323902
+v -1.718652 1.128222 1.301365
+v -1.702278 1.141468 1.283133
+v -1.675785 1.190403 1.320044
+v -1.649292 1.183439 1.325104
+v -1.632918 1.165206 1.338350
+v -1.632918 1.142670 1.354724
+v -1.649292 1.124437 1.367970
+v -1.675785 1.117473 1.373030
+v -1.702278 1.124437 1.367970
+v -1.718652 1.142670 1.354724
+v -1.718652 1.165206 1.338350
+v -1.702278 1.183439 1.325104
+v -1.675785 1.218572 1.375329
+v -1.649292 1.210385 1.377989
+v -1.632918 1.188952 1.384953
+v -1.632918 1.162459 1.393562
+v -1.649292 1.141025 1.400526
+v -1.675785 1.132838 1.403186
+v -1.702278 1.141025 1.400526
+v -1.718652 1.162459 1.393562
+v -1.718652 1.188952 1.384953
+v -1.702278 1.210385 1.377989
+v -1.675785 1.228279 1.436614
+v -1.649292 1.219671 1.436614
+v -1.632918 1.197134 1.436614
+v -1.632918 1.169277 1.436614
+v -1.649292 1.146741 1.436614
+v -1.675785 1.138133 1.436614
+v -1.702278 1.146741 1.436614
+v -1.718652 1.169277 1.436614
+v -1.718652 1.197134 1.436614
+v -1.702278 1.219671 1.436614
+v -1.675785 1.218572 1.497898
+v -1.649292 1.210385 1.495238
+v -1.632918 1.188952 1.488274
+v -1.632918 1.162459 1.479666
+v -1.649292 1.141025 1.472702
+v -1.675785 1.132838 1.470042
+v -1.702278 1.141025 1.472702
+v -1.718652 1.162459 1.479666
+v -1.718652 1.188952 1.488274
+v -1.702278 1.210385 1.495238
+v -1.675785 1.190403 1.553184
+v -1.649292 1.183439 1.548124
+v -1.632918 1.165206 1.534878
+v -1.632918 1.142670 1.518504
+v -1.649292 1.124437 1.505257
+v -1.675785 1.117473 1.500198
+v -1.702278 1.124437 1.505257
+v -1.718652 1.142670 1.518504
+v -1.718652 1.165206 1.534878
+v -1.702278 1.183439 1.548124
+v -1.675785 1.146528 1.597059
+v -1.649292 1.141468 1.590095
+v -1.632918 1.128222 1.571863
+v -1.632918 1.111848 1.549326
+v -1.649292 1.098601 1.531094
+v -1.675785 1.093541 1.524130
+v -1.702278 1.098601 1.531094
+v -1.718652 1.111848 1.549326
+v -1.718652 1.128222 1.571863
+v -1.702278 1.141468 1.590095
+v -1.675785 1.091242 1.625229
+v -1.649292 1.088582 1.617042
+v -1.632918 1.081618 1.595608
+v -1.632918 1.073010 1.569115
+v -1.649292 1.066046 1.547681
+v -1.675785 1.063386 1.539495
+v -1.702278 1.066046 1.547681
+v -1.718652 1.073010 1.569115
+v -1.718652 1.081618 1.595608
+v -1.702278 1.088582 1.617042
+v -1.675785 1.029958 1.634935
+v -1.649292 1.029958 1.626327
+v -1.632918 1.029958 1.603790
+v -1.632918 1.029958 1.575934
+v -1.649292 1.029958 1.553397
+v -1.675785 1.029958 1.544789
+v -1.702278 1.029958 1.553397
+v -1.718652 1.029958 1.575934
+v -1.718652 1.029958 1.603790
+v -1.702278 1.029958 1.626327
+v -1.675785 0.968673 1.625229
+v -1.649292 0.971333 1.617042
+v -1.632918 0.978297 1.595608
+v -1.632918 0.986905 1.569115
+v -1.649292 0.993870 1.547681
+v -1.675785 0.996530 1.539495
+v -1.702278 0.993870 1.547681
+v -1.718652 0.986905 1.569115
+v -1.718652 0.978297 1.595608
+v -1.702278 0.971333 1.617042
+v -1.675785 0.913387 1.597059
+v -1.649292 0.918447 1.590095
+v -1.632918 0.931694 1.571863
+v -1.632918 0.948067 1.549326
+v -1.649292 0.961314 1.531094
+v -1.675785 0.966374 1.524130
+v -1.702278 0.961314 1.531094
+v -1.718652 0.948067 1.549326
+v -1.718652 0.931694 1.571863
+v -1.702278 0.918447 1.590095
+v -1.675785 0.869512 1.553184
+v -1.649292 0.876477 1.548125
+v -1.632918 0.894709 1.534878
+v -1.632918 0.917246 1.518504
+v -1.649292 0.935478 1.505257
+v -1.675785 0.942442 1.500198
+v -1.702278 0.935478 1.505257
+v -1.718652 0.917246 1.518504
+v -1.718652 0.894709 1.534878
+v -1.702278 0.876477 1.548125
+v -1.675785 0.841343 1.497899
+v -1.649292 0.849530 1.495239
+v -1.632918 0.870963 1.488274
+v -1.632918 0.897457 1.479666
+v -1.649292 0.918890 1.472702
+v -1.675785 0.927077 1.470042
+v -1.702278 0.918890 1.472702
+v -1.718652 0.897457 1.479666
+v -1.718652 0.870963 1.488274
+v -1.702278 0.849530 1.495239
+v -1.738517 0.560977 1.436614
+v -1.703394 0.587809 1.462132
+v -1.751933 0.587809 1.477903
+v -1.781932 0.587809 1.436614
+v -1.751933 0.587809 1.395324
+v -1.703394 0.587809 1.411095
+v -1.725102 0.631224 1.477903
+v -1.773641 0.631224 1.462132
+v -1.773641 0.631224 1.411095
+v -1.725102 0.631224 1.395324
+v -1.695103 0.631224 1.436614
+v -1.738517 0.658056 1.436614
+v -1.746403 0.568227 1.460883
+v -1.717872 0.568227 1.451613
+v -1.725758 0.583998 1.475882
+v -1.697227 0.583998 1.436614
+v -1.717872 0.568227 1.421615
+v -1.764036 0.568227 1.436614
+v -1.771921 0.583998 1.460883
+v -1.746403 0.568227 1.412344
+v -1.771921 0.583998 1.412344
+v -1.725758 0.583998 1.397345
+v -1.692354 0.609517 1.451613
+v -1.692354 0.609517 1.421615
+v -1.738517 0.609517 1.485153
+v -1.709987 0.609517 1.475883
+v -1.784681 0.609517 1.451613
+v -1.767048 0.609517 1.475883
+v -1.767048 0.609517 1.397345
+v -1.784681 0.609517 1.421615
+v -1.709987 0.609517 1.397345
+v -1.738517 0.609517 1.388075
+v -1.705113 0.635035 1.460883
+v -1.751277 0.635036 1.475882
+v -1.779807 0.635035 1.436614
+v -1.751277 0.635036 1.397345
+v -1.705113 0.635035 1.412344
+v -1.730632 0.650807 1.460883
+v -1.712999 0.650807 1.436614
+v -1.759162 0.650807 1.451613
+v -1.759162 0.650807 1.421615
+v -1.730632 0.650807 1.412344
+v -1.675785 0.411196 1.436614
+v -1.649292 0.419804 1.436614
+v -1.632918 0.442340 1.436614
+v -1.632918 0.470197 1.436614
+v -1.649292 0.492733 1.436614
+v -1.675785 0.501342 1.436614
+v -1.702278 0.492733 1.436614
+v -1.718652 0.470197 1.436614
+v -1.718652 0.442340 1.436614
+v -1.702278 0.419804 1.436614
+v -1.675785 0.420902 1.375329
+v -1.649292 0.429089 1.377989
+v -1.632918 0.450522 1.384953
+v -1.632918 0.477016 1.393562
+v -1.649292 0.498449 1.400526
+v -1.675785 0.506636 1.403186
+v -1.702278 0.498449 1.400526
+v -1.718652 0.477016 1.393562
+v -1.718652 0.450522 1.384953
+v -1.702278 0.429089 1.377989
+v -1.675785 0.449072 1.320044
+v -1.649292 0.456036 1.325103
+v -1.632918 0.474268 1.338350
+v -1.632918 0.496805 1.354724
+v -1.649292 0.515037 1.367970
+v -1.675785 0.522001 1.373030
+v -1.702278 0.515037 1.367970
+v -1.718652 0.496805 1.354724
+v -1.718652 0.474268 1.338350
+v -1.702278 0.456036 1.325103
+v -1.675785 0.492947 1.276169
+v -1.649292 0.498006 1.283133
+v -1.632918 0.511253 1.301365
+v -1.632918 0.527627 1.323902
+v -1.649292 0.540873 1.342134
+v -1.675785 0.545933 1.349098
+v -1.702278 0.540873 1.342134
+v -1.718652 0.527627 1.323902
+v -1.718652 0.511253 1.301365
+v -1.702278 0.498006 1.283133
+v -1.675785 0.548232 1.247999
+v -1.649292 0.550892 1.256186
+v -1.632918 0.557856 1.277620
+v -1.632918 0.566465 1.304113
+v -1.649292 0.573429 1.325546
+v -1.675785 0.576089 1.333733
+v -1.702278 0.573429 1.325546
+v -1.718652 0.566465 1.304113
+v -1.718652 0.557856 1.277620
+v -1.702278 0.550892 1.256186
+v -1.675785 0.609517 1.238293
+v -1.649292 0.609517 1.246901
+v -1.632918 0.609517 1.269437
+v -1.632918 0.609517 1.297294
+v -1.649292 0.609517 1.319831
+v -1.675785 0.609517 1.328439
+v -1.702278 0.609517 1.319831
+v -1.718652 0.609517 1.297294
+v -1.718652 0.609517 1.269437
+v -1.702278 0.609517 1.246901
+v -1.675785 0.670801 1.247999
+v -1.649292 0.668141 1.256186
+v -1.632918 0.661177 1.277620
+v -1.632918 0.652569 1.304113
+v -1.649292 0.645605 1.325546
+v -1.675785 0.642945 1.333733
+v -1.702278 0.645605 1.325546
+v -1.718652 0.652569 1.304113
+v -1.718652 0.661177 1.277620
+v -1.702278 0.668141 1.256186
+v -1.675785 0.726087 1.276169
+v -1.649292 0.721027 1.283133
+v -1.632918 0.707781 1.301365
+v -1.632918 0.691407 1.323902
+v -1.649292 0.678160 1.342134
+v -1.675785 0.673101 1.349098
+v -1.702278 0.678160 1.342134
+v -1.718652 0.691407 1.323902
+v -1.718652 0.707781 1.301365
+v -1.702278 0.721027 1.283133
+v -1.675785 0.769962 1.320044
+v -1.649292 0.762998 1.325104
+v -1.632918 0.744765 1.338350
+v -1.632918 0.722229 1.354724
+v -1.649292 0.703996 1.367970
+v -1.675785 0.697032 1.373030
+v -1.702278 0.703996 1.367970
+v -1.718652 0.722229 1.354724
+v -1.718652 0.744765 1.338350
+v -1.702278 0.762998 1.325104
+v -1.675785 0.798131 1.375329
+v -1.649292 0.789945 1.377989
+v -1.632918 0.768511 1.384953
+v -1.632918 0.742018 1.393562
+v -1.649292 0.720584 1.400526
+v -1.675785 0.712397 1.403186
+v -1.702278 0.720584 1.400526
+v -1.718652 0.742018 1.393562
+v -1.718652 0.768511 1.384953
+v -1.702278 0.789945 1.377989
+v -1.675785 0.807838 1.436614
+v -1.649292 0.799230 1.436614
+v -1.632918 0.776693 1.436614
+v -1.632918 0.748837 1.436614
+v -1.649292 0.726300 1.436614
+v -1.675785 0.717692 1.436614
+v -1.702278 0.726300 1.436614
+v -1.718652 0.748837 1.436614
+v -1.718652 0.776693 1.436614
+v -1.702278 0.799230 1.436614
+v -1.675785 0.798131 1.497898
+v -1.649292 0.789945 1.495238
+v -1.632918 0.768511 1.488274
+v -1.632918 0.742018 1.479666
+v -1.649292 0.720584 1.472702
+v -1.675785 0.712397 1.470042
+v -1.702278 0.720584 1.472702
+v -1.718652 0.742018 1.479666
+v -1.718652 0.768511 1.488274
+v -1.702278 0.789945 1.495238
+v -1.675785 0.769962 1.553184
+v -1.649292 0.762998 1.548124
+v -1.632918 0.744765 1.534878
+v -1.632918 0.722229 1.518504
+v -1.649292 0.703996 1.505257
+v -1.675785 0.697032 1.500198
+v -1.702278 0.703996 1.505257
+v -1.718652 0.722229 1.518504
+v -1.718652 0.744765 1.534878
+v -1.702278 0.762998 1.548124
+v -1.675785 0.726087 1.597059
+v -1.649292 0.721027 1.590095
+v -1.632918 0.707781 1.571863
+v -1.632918 0.691407 1.549326
+v -1.649292 0.678160 1.531094
+v -1.675785 0.673101 1.524130
+v -1.702278 0.678160 1.531094
+v -1.718652 0.691407 1.549326
+v -1.718652 0.707781 1.571863
+v -1.702278 0.721027 1.590095
+v -1.675785 0.670801 1.625229
+v -1.649292 0.668141 1.617042
+v -1.632918 0.661177 1.595608
+v -1.632918 0.652569 1.569115
+v -1.649292 0.645605 1.547681
+v -1.675785 0.642945 1.539495
+v -1.702278 0.645605 1.547681
+v -1.718652 0.652569 1.569115
+v -1.718652 0.661177 1.595608
+v -1.702278 0.668141 1.617042
+v -1.675785 0.609517 1.634935
+v -1.649292 0.609517 1.626327
+v -1.632918 0.609517 1.603790
+v -1.632918 0.609517 1.575934
+v -1.649292 0.609517 1.553397
+v -1.675785 0.609517 1.544789
+v -1.702278 0.609517 1.553397
+v -1.718652 0.609517 1.575934
+v -1.718652 0.609517 1.603790
+v -1.702278 0.609517 1.626327
+v -1.675785 0.548232 1.625229
+v -1.649292 0.550892 1.617042
+v -1.632918 0.557856 1.595608
+v -1.632918 0.566465 1.569115
+v -1.649292 0.573429 1.547681
+v -1.675785 0.576089 1.539495
+v -1.702278 0.573429 1.547681
+v -1.718652 0.566465 1.569115
+v -1.718652 0.557856 1.595608
+v -1.702278 0.550892 1.617042
+v -1.675785 0.492947 1.597059
+v -1.649292 0.498006 1.590095
+v -1.632918 0.511253 1.571863
+v -1.632918 0.527627 1.549326
+v -1.649292 0.540873 1.531094
+v -1.675785 0.545933 1.524130
+v -1.702278 0.540873 1.531094
+v -1.718652 0.527627 1.549326
+v -1.718652 0.511253 1.571863
+v -1.702278 0.498006 1.590095
+v -1.675785 0.449072 1.553184
+v -1.649292 0.456036 1.548125
+v -1.632918 0.474268 1.534878
+v -1.632918 0.496805 1.518504
+v -1.649292 0.515037 1.505257
+v -1.675785 0.522001 1.500198
+v -1.702278 0.515037 1.505257
+v -1.718652 0.496805 1.518504
+v -1.718652 0.474268 1.534878
+v -1.702278 0.456036 1.548125
+v -1.675785 0.420902 1.497899
+v -1.649292 0.429089 1.495239
+v -1.632918 0.450522 1.488274
+v -1.632918 0.477016 1.479666
+v -1.649292 0.498449 1.472702
+v -1.675785 0.506636 1.470042
+v -1.702278 0.498449 1.472702
+v -1.718652 0.477016 1.479666
+v -1.718652 0.450522 1.488274
+v -1.702278 0.429089 1.495239
+v -2.239033 1.621015 1.692260
+v -2.239033 1.621015 1.180968
+v -2.239033 -0.001378 1.180968
+v -2.239033 -0.001378 1.692260
+v -1.687707 1.621015 1.692260
+v -1.687707 -0.001378 1.692260
+v -1.687707 1.621015 1.180968
+v -1.687707 -0.001378 1.180968
+v -1.687707 0.933152 1.319651
+v -1.687707 0.906145 1.346659
+v -1.687707 0.884407 1.389322
+v -1.687707 0.656495 1.291063
+v -1.687707 0.609202 1.283573
+v -1.687707 0.561910 1.291063
+v -1.687707 0.519247 1.312801
+v -1.687707 0.485389 1.346659
+v -1.687707 0.463651 1.389322
+v -1.687707 0.456161 1.436614
+v -1.687707 0.463651 1.483906
+v -1.687707 0.485389 1.526569
+v -1.687707 0.519247 1.560427
+v -1.687707 0.561910 1.582165
+v -1.687707 0.609202 1.589655
+v -1.687707 1.029958 1.589655
+v -1.687707 1.077250 1.582165
+v -1.687707 1.119913 1.560427
+v -1.687707 1.134451 1.545889
+v -1.687707 1.327142 1.558205
+v -1.687707 0.876916 1.436614
+v -1.687707 0.884407 1.483906
+v -1.687707 0.906145 1.526569
+v -1.687707 0.940002 1.560427
+v -1.687707 0.982665 1.582165
+v -1.687707 0.656495 1.582165
+v -1.687707 0.699158 1.560427
+v -1.687707 0.733015 1.526569
+v -1.687707 0.754753 1.483906
+v -1.687707 0.762244 1.436614
+v -1.687707 0.754753 1.389322
+v -1.687707 0.733015 1.346659
+v -1.687707 0.699158 1.312801
+v -1.687707 1.487067 1.558205
+v -1.687707 1.487067 1.322838
+v -1.687707 1.327142 1.322838
+v -1.687707 1.153770 1.526569
+v -1.687707 1.175508 1.483906
+v -1.687707 1.182999 1.436614
+v -1.687707 1.175508 1.389322
+v -1.687707 1.153770 1.346659
+v -1.687707 1.119913 1.312801
+v -1.687707 1.077250 1.291063
+v -1.687707 1.029958 1.283573
+v -1.687707 0.982665 1.291063
+v -1.687707 0.940002 1.312801
+v -1.739913 1.386909 1.470244
+v -1.739913 1.427301 1.470244
+v -1.739913 1.427301 1.410798
+v -1.739913 1.386909 1.410798
+v -1.761433 1.029958 1.436614
+v -1.761433 0.609202 1.436614
+v -1.738517 0.981418 -1.886781
+v -1.703394 1.008250 -1.861263
+v -1.751933 1.008250 -1.845492
+v -1.781932 1.008250 -1.886781
+v -1.751933 1.008250 -1.928071
+v -1.703394 1.008250 -1.912300
+v -1.725102 1.051665 -1.845492
+v -1.773641 1.051665 -1.861263
+v -1.773641 1.051665 -1.912300
+v -1.725102 1.051665 -1.928071
+v -1.695103 1.051665 -1.886781
+v -1.738517 1.078497 -1.886781
+v -1.746403 0.988667 -1.862512
+v -1.717872 0.988667 -1.871782
+v -1.725758 1.004439 -1.847513
+v -1.697227 1.004439 -1.886781
+v -1.717872 0.988667 -1.901780
+v -1.764036 0.988668 -1.886781
+v -1.771921 1.004439 -1.862512
+v -1.746403 0.988667 -1.911051
+v -1.771921 1.004439 -1.911051
+v -1.725758 1.004439 -1.926050
+v -1.692354 1.029958 -1.871782
+v -1.692354 1.029958 -1.901780
+v -1.738517 1.029958 -1.838242
+v -1.709987 1.029958 -1.847512
+v -1.784681 1.029958 -1.871782
+v -1.767048 1.029958 -1.847512
+v -1.767048 1.029958 -1.926050
+v -1.784681 1.029958 -1.901780
+v -1.709987 1.029958 -1.926050
+v -1.738517 1.029958 -1.935320
+v -1.705113 1.055476 -1.862512
+v -1.751277 1.055476 -1.847513
+v -1.779807 1.055476 -1.886781
+v -1.751277 1.055476 -1.926050
+v -1.705113 1.055476 -1.911051
+v -1.730632 1.071248 -1.862512
+v -1.712999 1.071247 -1.886781
+v -1.759162 1.071248 -1.871782
+v -1.759162 1.071248 -1.901780
+v -1.730632 1.071248 -1.911051
+v -1.675785 0.831636 -1.886781
+v -1.649292 0.840245 -1.886781
+v -1.632918 0.862781 -1.886781
+v -1.632918 0.890638 -1.886781
+v -1.649292 0.913174 -1.886781
+v -1.675785 0.921782 -1.886781
+v -1.702278 0.913174 -1.886781
+v -1.718652 0.890638 -1.886781
+v -1.718652 0.862781 -1.886781
+v -1.702278 0.840245 -1.886781
+v -1.675785 0.841343 -1.948066
+v -1.649292 0.849530 -1.945406
+v -1.632918 0.870963 -1.938441
+v -1.632918 0.897457 -1.929833
+v -1.649292 0.918890 -1.922869
+v -1.675785 0.927077 -1.920209
+v -1.702278 0.918890 -1.922869
+v -1.718652 0.897457 -1.929833
+v -1.718652 0.870963 -1.938441
+v -1.702278 0.849530 -1.945406
+v -1.675785 0.869512 -2.003351
+v -1.649292 0.876477 -1.998292
+v -1.632918 0.894709 -1.985045
+v -1.632918 0.917245 -1.968671
+v -1.649292 0.935478 -1.955425
+v -1.675785 0.942442 -1.950365
+v -1.702278 0.935478 -1.955425
+v -1.718652 0.917245 -1.968671
+v -1.718652 0.894709 -1.985045
+v -1.702278 0.876477 -1.998292
+v -1.675785 0.913387 -2.047226
+v -1.649292 0.918447 -2.040262
+v -1.632918 0.931694 -2.022029
+v -1.632918 0.948067 -1.999493
+v -1.649292 0.961314 -1.981261
+v -1.675785 0.966374 -1.974297
+v -1.702278 0.961314 -1.981261
+v -1.718652 0.948067 -1.999493
+v -1.718652 0.931694 -2.022029
+v -1.702278 0.918447 -2.040262
+v -1.675785 0.968673 -2.075396
+v -1.649292 0.971333 -2.067209
+v -1.632918 0.978297 -2.045775
+v -1.632918 0.986905 -2.019282
+v -1.649292 0.993870 -1.997848
+v -1.675785 0.996530 -1.989662
+v -1.702278 0.993870 -1.997848
+v -1.718652 0.986905 -2.019282
+v -1.718652 0.978297 -2.045775
+v -1.702278 0.971333 -2.067209
+v -1.675785 1.029958 -2.085102
+v -1.649292 1.029958 -2.076494
+v -1.632918 1.029958 -2.053957
+v -1.632918 1.029958 -2.026101
+v -1.649292 1.029958 -2.003564
+v -1.675785 1.029958 -1.994956
+v -1.702278 1.029958 -2.003564
+v -1.718652 1.029958 -2.026101
+v -1.718652 1.029958 -2.053957
+v -1.702278 1.029958 -2.076494
+v -1.675785 1.091242 -2.075396
+v -1.649292 1.088582 -2.067209
+v -1.632918 1.081618 -2.045775
+v -1.632918 1.073010 -2.019282
+v -1.649292 1.066046 -1.997848
+v -1.675785 1.063386 -1.989662
+v -1.702278 1.066046 -1.997848
+v -1.718652 1.073010 -2.019282
+v -1.718652 1.081618 -2.045775
+v -1.702278 1.088582 -2.067209
+v -1.675785 1.146528 -2.047226
+v -1.649292 1.141468 -2.040262
+v -1.632918 1.128222 -2.022029
+v -1.632918 1.111848 -1.999493
+v -1.649292 1.098601 -1.981261
+v -1.675785 1.093541 -1.974296
+v -1.702278 1.098601 -1.981261
+v -1.718652 1.111848 -1.999493
+v -1.718652 1.128222 -2.022029
+v -1.702278 1.141468 -2.040262
+v -1.675785 1.190403 -2.003351
+v -1.649292 1.183439 -1.998292
+v -1.632918 1.165206 -1.985045
+v -1.632918 1.142670 -1.968671
+v -1.649292 1.124437 -1.955425
+v -1.675785 1.117473 -1.950365
+v -1.702278 1.124437 -1.955425
+v -1.718652 1.142670 -1.968671
+v -1.718652 1.165206 -1.985045
+v -1.702278 1.183439 -1.998292
+v -1.675785 1.218572 -1.948066
+v -1.649292 1.210385 -1.945406
+v -1.632918 1.188952 -1.938441
+v -1.632918 1.162459 -1.929833
+v -1.649292 1.141025 -1.922869
+v -1.675785 1.132838 -1.920209
+v -1.702278 1.141025 -1.922869
+v -1.718652 1.162459 -1.929833
+v -1.718652 1.188952 -1.938441
+v -1.702278 1.210385 -1.945406
+v -1.675785 1.228279 -1.886781
+v -1.649292 1.219671 -1.886781
+v -1.632918 1.197134 -1.886781
+v -1.632918 1.169277 -1.886781
+v -1.649292 1.146741 -1.886781
+v -1.675785 1.138133 -1.886781
+v -1.702278 1.146741 -1.886781
+v -1.718652 1.169277 -1.886781
+v -1.718652 1.197134 -1.886781
+v -1.702278 1.219671 -1.886781
+v -1.675785 1.218572 -1.825496
+v -1.649292 1.210385 -1.828157
+v -1.632918 1.188952 -1.835121
+v -1.632918 1.162459 -1.843729
+v -1.649292 1.141025 -1.850693
+v -1.675785 1.132838 -1.853353
+v -1.702278 1.141025 -1.850693
+v -1.718652 1.162459 -1.843729
+v -1.718652 1.188952 -1.835121
+v -1.702278 1.210385 -1.828157
+v -1.675785 1.190403 -1.770211
+v -1.649292 1.183439 -1.775271
+v -1.632918 1.165206 -1.788517
+v -1.632918 1.142670 -1.804891
+v -1.649292 1.124437 -1.818138
+v -1.675785 1.117473 -1.823197
+v -1.702278 1.124437 -1.818138
+v -1.718652 1.142670 -1.804891
+v -1.718652 1.165206 -1.788517
+v -1.702278 1.183439 -1.775271
+v -1.675785 1.146528 -1.726336
+v -1.649292 1.141468 -1.733300
+v -1.632918 1.128222 -1.751532
+v -1.632918 1.111848 -1.774069
+v -1.649292 1.098601 -1.792301
+v -1.675785 1.093541 -1.799266
+v -1.702278 1.098601 -1.792301
+v -1.718652 1.111848 -1.774069
+v -1.718652 1.128222 -1.751532
+v -1.702278 1.141468 -1.733300
+v -1.675785 1.091242 -1.698166
+v -1.649292 1.088582 -1.706353
+v -1.632918 1.081618 -1.727787
+v -1.632918 1.073010 -1.754280
+v -1.649292 1.066046 -1.775714
+v -1.675785 1.063386 -1.783900
+v -1.702278 1.066046 -1.775714
+v -1.718652 1.073010 -1.754280
+v -1.718652 1.081618 -1.727787
+v -1.702278 1.088582 -1.706353
+v -1.675785 1.029958 -1.688460
+v -1.649292 1.029958 -1.697068
+v -1.632918 1.029958 -1.719605
+v -1.632918 1.029958 -1.747461
+v -1.649292 1.029958 -1.769998
+v -1.675785 1.029958 -1.778606
+v -1.702278 1.029958 -1.769998
+v -1.718652 1.029958 -1.747461
+v -1.718652 1.029958 -1.719605
+v -1.702278 1.029958 -1.697068
+v -1.675785 0.968673 -1.698166
+v -1.649292 0.971333 -1.706353
+v -1.632918 0.978297 -1.727787
+v -1.632918 0.986905 -1.754280
+v -1.649292 0.993870 -1.775714
+v -1.675785 0.996530 -1.783900
+v -1.702278 0.993870 -1.775714
+v -1.718652 0.986905 -1.754280
+v -1.718652 0.978297 -1.727787
+v -1.702278 0.971333 -1.706353
+v -1.675785 0.913387 -1.726336
+v -1.649292 0.918447 -1.733300
+v -1.632918 0.931694 -1.751532
+v -1.632918 0.948067 -1.774069
+v -1.649292 0.961314 -1.792301
+v -1.675785 0.966374 -1.799265
+v -1.702278 0.961314 -1.792301
+v -1.718652 0.948067 -1.774069
+v -1.718652 0.931694 -1.751532
+v -1.702278 0.918447 -1.733300
+v -1.675785 0.869512 -1.770211
+v -1.649292 0.876477 -1.775271
+v -1.632918 0.894709 -1.788517
+v -1.632918 0.917246 -1.804891
+v -1.649292 0.935478 -1.818138
+v -1.675785 0.942442 -1.823197
+v -1.702278 0.935478 -1.818138
+v -1.718652 0.917246 -1.804891
+v -1.718652 0.894709 -1.788517
+v -1.702278 0.876477 -1.775271
+v -1.675785 0.841343 -1.825496
+v -1.649292 0.849530 -1.828157
+v -1.632918 0.870963 -1.835121
+v -1.632918 0.897457 -1.843729
+v -1.649292 0.918890 -1.850693
+v -1.675785 0.927077 -1.853353
+v -1.702278 0.918890 -1.850693
+v -1.718652 0.897457 -1.843729
+v -1.718652 0.870963 -1.835121
+v -1.702278 0.849530 -1.828157
+v -1.738517 0.560977 -1.886781
+v -1.703394 0.587809 -1.861263
+v -1.751933 0.587809 -1.845492
+v -1.781932 0.587809 -1.886781
+v -1.751933 0.587809 -1.928071
+v -1.703394 0.587809 -1.912300
+v -1.725102 0.631224 -1.845492
+v -1.773641 0.631224 -1.861263
+v -1.773641 0.631224 -1.912300
+v -1.725102 0.631224 -1.928071
+v -1.695103 0.631224 -1.886781
+v -1.738517 0.658056 -1.886781
+v -1.746403 0.568227 -1.862512
+v -1.717872 0.568227 -1.871782
+v -1.725758 0.583998 -1.847513
+v -1.697227 0.583998 -1.886781
+v -1.717872 0.568227 -1.901780
+v -1.764036 0.568227 -1.886781
+v -1.771921 0.583998 -1.862512
+v -1.746403 0.568227 -1.911051
+v -1.771921 0.583998 -1.911051
+v -1.725758 0.583998 -1.926050
+v -1.692354 0.609517 -1.871782
+v -1.692354 0.609517 -1.901780
+v -1.738517 0.609517 -1.838242
+v -1.709987 0.609517 -1.847512
+v -1.784681 0.609517 -1.871782
+v -1.767048 0.609517 -1.847512
+v -1.767048 0.609517 -1.926050
+v -1.784681 0.609517 -1.901780
+v -1.709987 0.609517 -1.926050
+v -1.738517 0.609517 -1.935320
+v -1.705113 0.635035 -1.862512
+v -1.751277 0.635036 -1.847513
+v -1.779807 0.635035 -1.886781
+v -1.751277 0.635036 -1.926050
+v -1.705113 0.635035 -1.911051
+v -1.730632 0.650807 -1.862512
+v -1.712999 0.650807 -1.886781
+v -1.759162 0.650807 -1.871782
+v -1.759162 0.650807 -1.901780
+v -1.730632 0.650807 -1.911051
+v -1.675785 0.411196 -1.886781
+v -1.649292 0.419804 -1.886781
+v -1.632918 0.442340 -1.886781
+v -1.632918 0.470197 -1.886781
+v -1.649292 0.492733 -1.886781
+v -1.675785 0.501342 -1.886781
+v -1.702278 0.492733 -1.886781
+v -1.718652 0.470197 -1.886781
+v -1.718652 0.442340 -1.886781
+v -1.702278 0.419804 -1.886781
+v -1.675785 0.420902 -1.948066
+v -1.649292 0.429089 -1.945406
+v -1.632918 0.450522 -1.938441
+v -1.632918 0.477016 -1.929833
+v -1.649292 0.498449 -1.922869
+v -1.675785 0.506636 -1.920209
+v -1.702278 0.498449 -1.922869
+v -1.718652 0.477016 -1.929833
+v -1.718652 0.450522 -1.938441
+v -1.702278 0.429089 -1.945406
+v -1.675785 0.449072 -2.003351
+v -1.649292 0.456036 -1.998292
+v -1.632918 0.474268 -1.985045
+v -1.632918 0.496805 -1.968671
+v -1.649292 0.515037 -1.955425
+v -1.675785 0.522001 -1.950365
+v -1.702278 0.515037 -1.955425
+v -1.718652 0.496805 -1.968671
+v -1.718652 0.474268 -1.985045
+v -1.702278 0.456036 -1.998292
+v -1.675785 0.492947 -2.047226
+v -1.649292 0.498006 -2.040262
+v -1.632918 0.511253 -2.022029
+v -1.632918 0.527627 -1.999493
+v -1.649292 0.540873 -1.981261
+v -1.675785 0.545933 -1.974297
+v -1.702278 0.540873 -1.981261
+v -1.718652 0.527627 -1.999493
+v -1.718652 0.511253 -2.022029
+v -1.702278 0.498006 -2.040262
+v -1.675785 0.548232 -2.075396
+v -1.649292 0.550892 -2.067209
+v -1.632918 0.557856 -2.045775
+v -1.632918 0.566465 -2.019282
+v -1.649292 0.573429 -1.997848
+v -1.675785 0.576089 -1.989662
+v -1.702278 0.573429 -1.997848
+v -1.718652 0.566465 -2.019282
+v -1.718652 0.557856 -2.045775
+v -1.702278 0.550892 -2.067209
+v -1.675785 0.609517 -2.085102
+v -1.649292 0.609517 -2.076494
+v -1.632918 0.609517 -2.053957
+v -1.632918 0.609517 -2.026101
+v -1.649292 0.609517 -2.003564
+v -1.675785 0.609517 -1.994956
+v -1.702278 0.609517 -2.003564
+v -1.718652 0.609517 -2.026101
+v -1.718652 0.609517 -2.053957
+v -1.702278 0.609517 -2.076494
+v -1.675785 0.670801 -2.075396
+v -1.649292 0.668141 -2.067209
+v -1.632918 0.661177 -2.045775
+v -1.632918 0.652569 -2.019282
+v -1.649292 0.645605 -1.997848
+v -1.675785 0.642945 -1.989662
+v -1.702278 0.645605 -1.997848
+v -1.718652 0.652569 -2.019282
+v -1.718652 0.661177 -2.045775
+v -1.702278 0.668141 -2.067209
+v -1.675785 0.726087 -2.047226
+v -1.649292 0.721027 -2.040262
+v -1.632918 0.707781 -2.022029
+v -1.632918 0.691407 -1.999493
+v -1.649292 0.678160 -1.981261
+v -1.675785 0.673101 -1.974296
+v -1.702278 0.678160 -1.981261
+v -1.718652 0.691407 -1.999493
+v -1.718652 0.707781 -2.022029
+v -1.702278 0.721027 -2.040262
+v -1.675785 0.769962 -2.003351
+v -1.649292 0.762998 -1.998292
+v -1.632918 0.744765 -1.985045
+v -1.632918 0.722229 -1.968671
+v -1.649292 0.703996 -1.955425
+v -1.675785 0.697032 -1.950365
+v -1.702278 0.703996 -1.955425
+v -1.718652 0.722229 -1.968671
+v -1.718652 0.744765 -1.985045
+v -1.702278 0.762998 -1.998292
+v -1.675785 0.798131 -1.948066
+v -1.649292 0.789945 -1.945406
+v -1.632918 0.768511 -1.938441
+v -1.632918 0.742018 -1.929833
+v -1.649292 0.720584 -1.922869
+v -1.675785 0.712397 -1.920209
+v -1.702278 0.720584 -1.922869
+v -1.718652 0.742018 -1.929833
+v -1.718652 0.768511 -1.938441
+v -1.702278 0.789945 -1.945406
+v -1.675785 0.807838 -1.886781
+v -1.649292 0.799230 -1.886781
+v -1.632918 0.776693 -1.886781
+v -1.632918 0.748837 -1.886781
+v -1.649292 0.726300 -1.886781
+v -1.675785 0.717692 -1.886781
+v -1.702278 0.726300 -1.886781
+v -1.718652 0.748837 -1.886781
+v -1.718652 0.776693 -1.886781
+v -1.702278 0.799230 -1.886781
+v -1.675785 0.798131 -1.825496
+v -1.649292 0.789945 -1.828157
+v -1.632918 0.768511 -1.835121
+v -1.632918 0.742018 -1.843729
+v -1.649292 0.720584 -1.850693
+v -1.675785 0.712397 -1.853353
+v -1.702278 0.720584 -1.850693
+v -1.718652 0.742018 -1.843729
+v -1.718652 0.768511 -1.835121
+v -1.702278 0.789945 -1.828157
+v -1.675785 0.769962 -1.770211
+v -1.649292 0.762998 -1.775271
+v -1.632918 0.744765 -1.788517
+v -1.632918 0.722229 -1.804891
+v -1.649292 0.703996 -1.818138
+v -1.675785 0.697032 -1.823197
+v -1.702278 0.703996 -1.818138
+v -1.718652 0.722229 -1.804891
+v -1.718652 0.744765 -1.788517
+v -1.702278 0.762998 -1.775271
+v -1.675785 0.726087 -1.726336
+v -1.649292 0.721027 -1.733300
+v -1.632918 0.707781 -1.751532
+v -1.632918 0.691407 -1.774069
+v -1.649292 0.678160 -1.792301
+v -1.675785 0.673101 -1.799266
+v -1.702278 0.678160 -1.792301
+v -1.718652 0.691407 -1.774069
+v -1.718652 0.707781 -1.751532
+v -1.702278 0.721027 -1.733300
+v -1.675785 0.670801 -1.698166
+v -1.649292 0.668141 -1.706353
+v -1.632918 0.661177 -1.727787
+v -1.632918 0.652569 -1.754280
+v -1.649292 0.645605 -1.775714
+v -1.675785 0.642945 -1.783900
+v -1.702278 0.645605 -1.775714
+v -1.718652 0.652569 -1.754280
+v -1.718652 0.661177 -1.727787
+v -1.702278 0.668141 -1.706353
+v -1.675785 0.609517 -1.688460
+v -1.649292 0.609517 -1.697068
+v -1.632918 0.609517 -1.719605
+v -1.632918 0.609517 -1.747461
+v -1.649292 0.609517 -1.769998
+v -1.675785 0.609517 -1.778606
+v -1.702278 0.609517 -1.769998
+v -1.718652 0.609517 -1.747461
+v -1.718652 0.609517 -1.719605
+v -1.702278 0.609517 -1.697068
+v -1.675785 0.548232 -1.698166
+v -1.649292 0.550892 -1.706353
+v -1.632918 0.557856 -1.727787
+v -1.632918 0.566465 -1.754280
+v -1.649292 0.573429 -1.775714
+v -1.675785 0.576089 -1.783900
+v -1.702278 0.573429 -1.775714
+v -1.718652 0.566465 -1.754280
+v -1.718652 0.557856 -1.727787
+v -1.702278 0.550892 -1.706353
+v -1.675785 0.492947 -1.726336
+v -1.649292 0.498006 -1.733300
+v -1.632918 0.511253 -1.751532
+v -1.632918 0.527627 -1.774069
+v -1.649292 0.540873 -1.792301
+v -1.675785 0.545933 -1.799265
+v -1.702278 0.540873 -1.792301
+v -1.718652 0.527627 -1.774069
+v -1.718652 0.511253 -1.751532
+v -1.702278 0.498006 -1.733300
+v -1.675785 0.449072 -1.770211
+v -1.649292 0.456036 -1.775271
+v -1.632918 0.474268 -1.788517
+v -1.632918 0.496805 -1.804891
+v -1.649292 0.515037 -1.818138
+v -1.675785 0.522001 -1.823197
+v -1.702278 0.515037 -1.818138
+v -1.718652 0.496805 -1.804891
+v -1.718652 0.474268 -1.788517
+v -1.702278 0.456036 -1.775271
+v -1.675785 0.420902 -1.825496
+v -1.649292 0.429089 -1.828157
+v -1.632918 0.450522 -1.835121
+v -1.632918 0.477016 -1.843729
+v -1.649292 0.498449 -1.850693
+v -1.675785 0.506636 -1.853353
+v -1.702278 0.498449 -1.850693
+v -1.718652 0.477016 -1.843729
+v -1.718652 0.450522 -1.835121
+v -1.702278 0.429089 -1.828157
+v -2.239033 1.621015 -1.631135
+v -2.239033 1.621015 -2.142427
+v -2.239033 -0.001378 -2.142427
+v -2.239033 -0.001378 -1.631135
+v -1.687707 1.621015 -1.631135
+v -1.687707 -0.001378 -1.631135
+v -1.687707 1.621015 -2.142427
+v -1.687707 -0.001378 -2.142427
+v -1.687707 0.933152 -2.003744
+v -1.687707 0.906145 -1.976736
+v -1.687707 0.884407 -1.934074
+v -1.687707 0.656495 -2.032332
+v -1.687707 0.609202 -2.039822
+v -1.687707 0.561910 -2.032332
+v -1.687707 0.519247 -2.010594
+v -1.687707 0.485389 -1.976736
+v -1.687707 0.463651 -1.934074
+v -1.687707 0.456161 -1.886781
+v -1.687707 0.463651 -1.839489
+v -1.687707 0.485389 -1.796826
+v -1.687707 0.519247 -1.762968
+v -1.687707 0.561910 -1.741230
+v -1.687707 0.609202 -1.733739
+v -1.687707 1.029958 -1.733739
+v -1.687707 1.077250 -1.741230
+v -1.687707 1.119913 -1.762968
+v -1.687707 1.134451 -1.777506
+v -1.687707 1.327142 -1.765190
+v -1.687707 0.876916 -1.886781
+v -1.687707 0.884407 -1.839489
+v -1.687707 0.906145 -1.796826
+v -1.687707 0.940002 -1.762968
+v -1.687707 0.982665 -1.741230
+v -1.687707 0.656495 -1.741230
+v -1.687707 0.699158 -1.762968
+v -1.687707 0.733015 -1.796826
+v -1.687707 0.754753 -1.839489
+v -1.687707 0.762244 -1.886781
+v -1.687707 0.754753 -1.934073
+v -1.687707 0.733015 -1.976736
+v -1.687707 0.699158 -2.010594
+v -1.687707 1.487067 -1.765190
+v -1.687707 1.487067 -2.000557
+v -1.687707 1.327142 -2.000557
+v -1.687707 1.153770 -1.796826
+v -1.687707 1.175508 -1.839489
+v -1.687707 1.182999 -1.886781
+v -1.687707 1.175508 -1.934073
+v -1.687707 1.153770 -1.976736
+v -1.687707 1.119913 -2.010594
+v -1.687707 1.077250 -2.032332
+v -1.687707 1.029958 -2.039822
+v -1.687707 0.982665 -2.032332
+v -1.687707 0.940002 -2.010594
+v -1.739913 1.386909 -1.853151
+v -1.739913 1.427301 -1.853151
+v -1.739913 1.427301 -1.912597
+v -1.739913 1.386909 -1.912597
+v -1.761433 1.029958 -1.886781
+v -1.761433 0.609202 -1.886781
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 1.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 0.0000 -1.0000 0.0000
+vn 1.0000 -0.0000 0.0000
+vn 0.8988 -0.4330 -0.0686
+vn 0.8988 -0.4330 0.0686
+vn 0.8988 -0.3906 -0.1990
+vn 0.8988 -0.3906 0.1990
+vn 0.8988 -0.3100 -0.3100
+vn 0.8988 -0.3100 0.3100
+vn 0.8988 -0.1990 -0.3906
+vn 0.8988 -0.1990 0.3906
+vn 0.8988 -0.0686 -0.4330
+vn 0.8988 -0.0686 0.4330
+vn 0.8988 0.0686 -0.4330
+vn 0.8988 0.0686 0.4330
+vn 0.8988 0.1990 -0.3906
+vn 0.8988 0.1990 0.3906
+vn 0.8988 0.3100 -0.3100
+vn 0.8988 0.3100 0.3100
+vn 0.8988 0.3906 -0.1990
+vn 0.8988 0.3906 0.1990
+vn 0.8988 0.4330 -0.0686
+vn 0.8988 0.4330 0.0686
+vn 0.3056 -0.9404 -0.1490
+vn 0.8055 -0.5853 -0.0927
+vn 0.8055 0.5853 0.0927
+vn 0.3056 0.9404 0.1490
+vn -0.3056 0.9404 0.1490
+vn -0.8055 0.5853 0.0927
+vn -0.8055 -0.5853 -0.0927
+vn -0.3056 -0.9404 -0.1490
+vn 0.3056 -0.8484 -0.4323
+vn 0.8055 -0.5280 -0.2690
+vn 0.8055 0.5280 0.2690
+vn 0.3056 0.8484 0.4323
+vn -0.3056 0.8484 0.4323
+vn -0.8055 0.5280 0.2690
+vn -0.8055 -0.5280 -0.2690
+vn -0.3056 -0.8484 -0.4323
+vn 0.3056 -0.6733 -0.6733
+vn 0.8055 -0.4190 -0.4190
+vn 0.8055 0.4190 0.4190
+vn 0.3056 0.6733 0.6733
+vn -0.3056 0.6733 0.6733
+vn -0.8055 0.4190 0.4190
+vn -0.8055 -0.4190 -0.4190
+vn -0.3056 -0.6733 -0.6733
+vn 0.3056 -0.4323 -0.8484
+vn 0.8055 -0.2690 -0.5280
+vn 0.8055 0.2690 0.5280
+vn 0.3056 0.4323 0.8484
+vn -0.3056 0.4323 0.8484
+vn -0.8055 0.2690 0.5280
+vn -0.8055 -0.2690 -0.5280
+vn -0.3056 -0.4323 -0.8484
+vn 0.3056 -0.1490 -0.9404
+vn 0.8055 -0.0927 -0.5853
+vn 0.8055 0.0927 0.5853
+vn 0.3056 0.1490 0.9404
+vn -0.3056 0.1490 0.9404
+vn -0.8055 0.0927 0.5853
+vn -0.8055 -0.0927 -0.5853
+vn -0.3056 -0.1490 -0.9404
+vn 0.3056 0.1490 -0.9404
+vn 0.8055 0.0927 -0.5853
+vn 0.8055 -0.0927 0.5853
+vn 0.3056 -0.1490 0.9404
+vn -0.3056 -0.1490 0.9404
+vn -0.8055 -0.0927 0.5853
+vn -0.8055 0.0927 -0.5853
+vn -0.3056 0.1490 -0.9404
+vn 0.3056 0.4323 -0.8484
+vn 0.8055 0.2690 -0.5280
+vn 0.8055 -0.2690 0.5280
+vn 0.3056 -0.4323 0.8484
+vn -0.3056 -0.4323 0.8484
+vn -0.8055 -0.2690 0.5280
+vn -0.8055 0.2690 -0.5280
+vn -0.3056 0.4323 -0.8484
+vn 0.3056 0.6733 -0.6733
+vn 0.8055 0.4190 -0.4190
+vn 0.8055 -0.4190 0.4190
+vn 0.3056 -0.6733 0.6733
+vn -0.3056 -0.6733 0.6733
+vn -0.8055 -0.4190 0.4190
+vn -0.8055 0.4190 -0.4190
+vn -0.3056 0.6733 -0.6733
+vn 0.3056 0.8484 -0.4323
+vn 0.8055 0.5280 -0.2690
+vn 0.8055 -0.5280 0.2690
+vn 0.3056 -0.8484 0.4323
+vn -0.3056 -0.8484 0.4323
+vn -0.8055 -0.5280 0.2690
+vn -0.8055 0.5280 -0.2690
+vn -0.3056 0.8484 -0.4323
+vn 0.3056 0.9404 -0.1490
+vn 0.8055 0.5853 -0.0927
+vn 0.8055 -0.5853 0.0927
+vn 0.3056 -0.9404 0.1490
+vn -0.3056 -0.9404 0.1490
+vn -0.8055 -0.5853 0.0927
+vn -0.8055 0.5853 -0.0927
+vn -0.3056 0.9404 -0.1490
+vn 0.8599 0.0000 -0.5104
+vn 0.7531 -0.6579 0.0000
+vn 0.8599 0.0000 0.5104
+vn 0.7531 0.6579 0.0000
+vn -0.8055 0.0927 0.5852
+vn -0.3056 -0.1490 -0.9405
+vn -0.3056 0.1490 -0.9405
+vn 0.1024 -0.9435 0.3151
+vn 0.7002 -0.6617 0.2680
+vn -0.2680 -0.9435 0.1947
+vn -0.2680 -0.9435 -0.1947
+vn 0.1024 -0.9435 -0.3151
+vn 0.9050 -0.3304 0.2680
+vn 0.0247 -0.3304 0.9435
+vn -0.8897 -0.3304 0.3151
+vn -0.5746 -0.3304 -0.7488
+vn 0.5346 -0.3304 -0.7779
+vn 0.8026 -0.1256 0.5831
+vn -0.3066 -0.1256 0.9435
+vn -0.9921 -0.1256 0.0000
+vn -0.3066 -0.1256 -0.9435
+vn 0.8026 -0.1256 -0.5831
+vn 0.4090 0.6617 0.6284
+vn -0.4713 0.6617 0.5831
+vn -0.7002 0.6617 -0.2680
+vn 0.0385 0.6617 -0.7488
+vn 0.7240 0.6617 -0.1947
+vn 0.2680 0.9435 -0.1947
+vn 0.4911 0.7947 -0.3568
+vn 0.4090 0.6617 -0.6284
+vn -0.1024 0.9435 -0.3151
+vn -0.1876 0.7947 -0.5773
+vn -0.4713 0.6617 -0.5831
+vn -0.3313 0.9435 0.0000
+vn -0.6071 0.7947 0.0000
+vn -0.7002 0.6617 0.2680
+vn -0.1024 0.9435 0.3151
+vn -0.1876 0.7947 0.5773
+vn 0.0385 0.6617 0.7488
+vn 0.2680 0.9435 0.1947
+vn 0.4911 0.7947 0.3568
+vn 0.7240 0.6617 0.1947
+vn 0.8897 0.3304 -0.3151
+vn 0.7947 0.1876 -0.5773
+vn 0.5746 0.3304 -0.7488
+vn -0.0247 0.3304 -0.9435
+vn -0.3035 0.1876 -0.9342
+vn -0.5346 0.3304 -0.7779
+vn -0.9050 0.3304 -0.2680
+vn -0.9822 0.1876 0.0000
+vn -0.9050 0.3304 0.2680
+vn -0.5346 0.3304 0.7779
+vn -0.3035 0.1876 0.9342
+vn -0.0248 0.3304 0.9435
+vn 0.5746 0.3304 0.7488
+vn 0.7947 0.1876 0.5774
+vn 0.8897 0.3304 0.3151
+vn 0.3066 0.1256 -0.9435
+vn 0.3035 -0.1876 -0.9342
+vn 0.0248 -0.3304 -0.9435
+vn -0.8026 0.1256 -0.5831
+vn -0.7947 -0.1876 -0.5773
+vn -0.8897 -0.3304 -0.3151
+vn -0.8026 0.1256 0.5831
+vn -0.7947 -0.1876 0.5773
+vn -0.5746 -0.3304 0.7488
+vn 0.3066 0.1256 0.9435
+vn 0.3035 -0.1876 0.9342
+vn 0.5346 -0.3304 0.7779
+vn 0.9921 0.1256 0.0000
+vn 0.9822 -0.1876 0.0000
+vn 0.9050 -0.3304 -0.2680
+vn 0.4713 -0.6617 -0.5831
+vn 0.1876 -0.7947 -0.5774
+vn -0.0385 -0.6617 -0.7488
+vn -0.4089 -0.6617 -0.6284
+vn -0.4911 -0.7947 -0.3568
+vn -0.7240 -0.6617 -0.1947
+vn -0.7240 -0.6617 0.1947
+vn -0.4911 -0.7947 0.3568
+vn -0.4089 -0.6617 0.6284
+vn 0.7002 -0.6617 -0.2680
+vn 0.6071 -0.7947 0.0000
+vn 0.3313 -0.9435 0.0000
+vn -0.0385 -0.6617 0.7488
+vn 0.1876 -0.7947 0.5773
+vn 0.4713 -0.6617 0.5831
+vn 0.4089 0.6617 0.6284
+vn 0.0247 -0.3304 -0.9435
+vn -0.0247 0.3304 0.9435
+usemtl Speaker
+s off
+f 633//59 634//59 635//59 636//59
+f 637//60 633//60 636//60 638//60
+f 637//61 639//61 634//61 633//61
+f 634//62 639//62 640//62 635//62
+f 636//63 635//63 640//63 638//63
+f 637//64 638//64 640//64 641//64 642//64 643//64 644//64 645//64 646//64 647//64 648//64 649//64 650//64 651//64 652//64 653//64 654//64 655//64 656//64 657//64 658//64 659//64 660//64
+f 644//64 643//64 661//64 662//64 663//64 664//64 665//64 656//64 655//64 666//64 667//64 668//64 669//64 670//64 671//64 672//64 673//64
+f 674//64 675//64 639//64 637//64 660//64
+f 641//64 640//64 639//64 675//64 676//64 660//64 659//64 677//64 678//64 679//64 680//64 681//64 682//64 683//64 684//64 685//64 686//64
+f 688//64 687//64 690//64 689//64
+f 679//65 678//65 691//65
+f 680//66 679//66 691//66
+f 678//67 677//67 691//67
+f 681//68 680//68 691//68
+f 677//69 659//69 658//69 691//69
+f 682//70 681//70 691//70
+f 658//71 657//71 691//71
+f 683//72 682//72 691//72
+f 657//73 656//73 691//73
+f 684//74 683//74 691//74
+f 656//75 665//75 691//75
+f 685//76 684//76 691//76
+f 665//77 664//77 691//77
+f 686//78 685//78 691//78
+f 664//79 663//79 691//79
+f 642//80 641//80 686//80 691//80
+f 663//81 662//81 691//81
+f 643//82 642//82 691//82
+f 662//83 661//83 691//83
+f 661//84 643//84 691//84
+f 670//65 669//65 692//65
+f 671//66 670//66 692//66
+f 669//67 668//67 692//67
+f 672//68 671//68 692//68
+f 668//69 667//69 692//69
+f 673//70 672//70 692//70
+f 667//71 666//71 692//71
+f 644//72 673//72 692//72
+f 666//73 655//73 692//73
+f 645//74 644//74 692//74
+f 655//75 654//75 692//75
+f 646//76 645//76 692//76
+f 654//77 653//77 692//77
+f 647//78 646//78 692//78
+f 653//79 652//79 692//79
+f 648//80 647//80 692//80
+f 652//81 651//81 692//81
+f 649//82 648//82 692//82
+f 651//83 650//83 692//83
+f 650//84 649//84 692//84
+f 1177//59 1178//59 1179//59 1180//59
+f 1181//60 1177//60 1180//60 1182//60
+f 1181//61 1183//61 1178//61 1177//61
+f 1178//62 1183//62 1184//62 1179//62
+f 1180//63 1179//63 1184//63 1182//63
+f 1181//64 1182//64 1184//64 1185//64 1186//64 1187//64 1188//64 1189//64 1190//64 1191//64 1192//64 1193//64 1194//64 1195//64 1196//64 1197//64 1198//64 1199//64 1200//64 1201//64 1202//64 1203//64 1204//64
+f 1188//64 1187//64 1205//64 1206//64 1207//64 1208//64 1209//64 1200//64 1199//64 1210//64 1211//64 1212//64 1213//64 1214//64 1215//64 1216//64 1217//64
+f 1218//64 1219//64 1183//64 1181//64 1204//64
+f 1185//64 1184//64 1183//64 1219//64 1220//64 1204//64 1203//64 1221//64 1222//64 1223//64 1224//64 1225//64 1226//64 1227//64 1228//64 1229//64 1230//64
+f 1232//64 1231//64 1234//64 1233//64
+f 1223//65 1222//65 1235//65
+f 1224//66 1223//66 1235//66
+f 1222//67 1221//67 1235//67
+f 1225//68 1224//68 1235//68
+f 1221//69 1203//69 1202//69 1235//69
+f 1226//70 1225//70 1235//70
+f 1202//71 1201//71 1235//71
+f 1227//72 1226//72 1235//72
+f 1201//73 1200//73 1235//73
+f 1228//74 1227//74 1235//74
+f 1200//75 1209//75 1235//75
+f 1229//76 1228//76 1235//76
+f 1209//77 1208//77 1235//77
+f 1230//78 1229//78 1235//78
+f 1208//79 1207//79 1235//79
+f 1186//80 1185//80 1230//80 1235//80
+f 1207//81 1206//81 1235//81
+f 1187//82 1186//82 1235//82
+f 1206//83 1205//83 1235//83
+f 1205//84 1187//84 1235//84
+f 1214//65 1213//65 1236//65
+f 1215//66 1214//66 1236//66
+f 1213//67 1212//67 1236//67
+f 1216//68 1215//68 1236//68
+f 1212//69 1211//69 1236//69
+f 1217//70 1216//70 1236//70
+f 1211//71 1210//71 1236//71
+f 1188//72 1217//72 1236//72
+f 1210//73 1199//73 1236//73
+f 1189//74 1188//74 1236//74
+f 1199//75 1198//75 1236//75
+f 1190//76 1189//76 1236//76
+f 1198//77 1197//77 1236//77
+f 1191//78 1190//78 1236//78
+f 1197//79 1196//79 1236//79
+f 1192//80 1191//80 1236//80
+f 1196//81 1195//81 1236//81
+f 1193//82 1192//82 1236//82
+f 1195//83 1194//83 1236//83
+f 1194//84 1193//84 1236//84
+usemtl Speaker_Puff
+f 191//85 201//85 202//85 192//85
+f 192//86 202//86 203//86 193//86
+f 193//64 203//64 204//64 194//64
+f 194//87 204//87 205//87 195//87
+f 195//88 205//88 206//88 196//88
+f 196//89 206//89 207//89 197//89
+f 197//90 207//90 208//90 198//90
+f 198//59 208//59 209//59 199//59
+f 199//91 209//91 210//91 200//91
+f 191//92 200//92 210//92 201//92
+f 201//93 211//93 212//93 202//93
+f 202//94 212//94 213//94 203//94
+f 203//64 213//64 214//64 204//64
+f 204//95 214//95 215//95 205//95
+f 205//96 215//96 216//96 206//96
+f 206//97 216//97 217//97 207//97
+f 207//98 217//98 218//98 208//98
+f 208//59 218//59 219//59 209//59
+f 209//99 219//99 220//99 210//99
+f 210//100 220//100 211//100 201//100
+f 211//101 221//101 222//101 212//101
+f 212//102 222//102 223//102 213//102
+f 213//64 223//64 224//64 214//64
+f 214//103 224//103 225//103 215//103
+f 215//104 225//104 226//104 216//104
+f 216//105 226//105 227//105 217//105
+f 217//106 227//106 228//106 218//106
+f 218//59 228//59 229//59 219//59
+f 219//107 229//107 230//107 220//107
+f 220//108 230//108 221//108 211//108
+f 221//109 231//109 232//109 222//109
+f 222//110 232//110 233//110 223//110
+f 223//64 233//64 234//64 224//64
+f 224//111 234//111 235//111 225//111
+f 225//112 235//112 236//112 226//112
+f 226//113 236//113 237//113 227//113
+f 227//114 237//114 238//114 228//114
+f 228//59 238//59 239//59 229//59
+f 229//115 239//115 240//115 230//115
+f 230//116 240//116 231//116 221//116
+f 231//117 241//117 242//117 232//117
+f 232//118 242//118 243//118 233//118
+f 233//64 243//64 244//64 234//64
+f 234//119 244//119 245//119 235//119
+f 235//120 245//120 246//120 236//120
+f 236//121 246//121 247//121 237//121
+f 237//122 247//122 248//122 238//122
+f 238//59 248//59 249//59 239//59
+f 239//123 249//123 250//123 240//123
+f 240//124 250//124 241//124 231//124
+f 241//125 251//125 252//125 242//125
+f 242//126 252//126 253//126 243//126
+f 243//64 253//64 254//64 244//64
+f 244//127 254//127 255//127 245//127
+f 245//128 255//128 256//128 246//128
+f 246//129 256//129 257//129 247//129
+f 247//130 257//130 258//130 248//130
+f 248//59 258//59 259//59 249//59
+f 249//131 259//131 260//131 250//131
+f 250//132 260//132 251//132 241//132
+f 251//133 261//133 262//133 252//133
+f 252//134 262//134 263//134 253//134
+f 253//64 263//64 264//64 254//64
+f 254//135 264//135 265//135 255//135
+f 255//136 265//136 266//136 256//136
+f 256//137 266//137 267//137 257//137
+f 257//138 267//138 268//138 258//138
+f 258//59 268//59 269//59 259//59
+f 259//139 269//139 270//139 260//139
+f 260//140 270//140 261//140 251//140
+f 261//141 271//141 272//141 262//141
+f 262//142 272//142 273//142 263//142
+f 263//64 273//64 274//64 264//64
+f 264//143 274//143 275//143 265//143
+f 265//144 275//144 276//144 266//144
+f 266//145 276//145 277//145 267//145
+f 267//146 277//146 278//146 268//146
+f 268//59 278//59 279//59 269//59
+f 269//147 279//147 280//147 270//147
+f 270//148 280//148 271//148 261//148
+f 271//149 281//149 282//149 272//149
+f 272//150 282//150 283//150 273//150
+f 273//64 283//64 284//64 274//64
+f 274//151 284//151 285//151 275//151
+f 275//152 285//152 286//152 276//152
+f 276//153 286//153 287//153 277//153
+f 277//154 287//154 288//154 278//154
+f 278//59 288//59 289//59 279//59
+f 279//155 289//155 290//155 280//155
+f 280//156 290//156 281//156 271//156
+f 281//157 291//157 292//157 282//157
+f 282//158 292//158 293//158 283//158
+f 283//64 293//64 294//64 284//64
+f 284//159 294//159 295//159 285//159
+f 285//160 295//160 296//160 286//160
+f 286//161 296//161 297//161 287//161
+f 287//162 297//162 298//162 288//162
+f 288//59 298//59 299//59 289//59
+f 289//163 299//163 300//163 290//163
+f 290//164 300//164 291//164 281//164
+f 291//88 301//88 302//88 292//88
+f 292//87 302//87 303//87 293//87
+f 293//64 303//64 304//64 294//64
+f 294//86 304//86 305//86 295//86
+f 295//85 305//85 306//85 296//85
+f 296//92 306//92 307//92 297//92
+f 297//91 307//91 308//91 298//91
+f 298//59 308//59 309//59 299//59
+f 299//90 309//90 310//90 300//90
+f 300//89 310//89 301//89 291//89
+f 301//96 311//96 312//96 302//96
+f 302//95 312//95 313//95 303//95
+f 303//64 313//64 314//64 304//64
+f 304//94 314//94 315//94 305//94
+f 305//93 315//93 316//93 306//93
+f 306//100 316//100 317//100 307//100
+f 307//99 317//99 318//99 308//99
+f 308//59 318//59 319//59 309//59
+f 309//98 319//98 320//98 310//98
+f 310//97 320//97 311//97 301//97
+f 311//104 321//104 322//104 312//104
+f 312//103 322//103 323//103 313//103
+f 313//64 323//64 324//64 314//64
+f 314//102 324//102 325//102 315//102
+f 315//101 325//101 326//101 316//101
+f 316//108 326//108 327//108 317//108
+f 317//107 327//107 328//107 318//107
+f 318//59 328//59 329//59 319//59
+f 319//106 329//106 330//106 320//106
+f 320//105 330//105 321//105 311//105
+f 321//112 331//112 332//112 322//112
+f 322//111 332//111 333//111 323//111
+f 323//64 333//64 334//64 324//64
+f 324//110 334//110 335//110 325//110
+f 325//109 335//109 336//109 326//109
+f 326//116 336//116 337//116 327//116
+f 327//115 337//115 338//115 328//115
+f 328//59 338//59 339//59 329//59
+f 329//114 339//114 340//114 330//114
+f 330//113 340//113 331//113 321//113
+f 331//120 341//120 342//120 332//120
+f 332//119 342//119 343//119 333//119
+f 333//64 343//64 344//64 334//64
+f 334//118 344//118 345//118 335//118
+f 335//117 345//117 346//117 336//117
+f 336//124 346//124 347//124 337//124
+f 337//123 347//123 348//123 338//123
+f 338//59 348//59 349//59 339//59
+f 339//122 349//122 350//122 340//122
+f 340//121 350//121 341//121 331//121
+f 341//128 351//128 352//128 342//128
+f 342//127 352//127 353//127 343//127
+f 343//64 353//64 354//64 344//64
+f 344//126 354//126 355//126 345//126
+f 345//125 355//125 356//125 346//125
+f 346//132 356//132 357//132 347//132
+f 347//131 357//131 358//131 348//131
+f 348//59 358//59 359//59 349//59
+f 349//130 359//130 360//130 350//130
+f 350//129 360//129 351//129 341//129
+f 351//136 361//136 362//136 352//136
+f 352//135 362//135 363//135 353//135
+f 353//64 363//64 364//64 354//64
+f 354//134 364//134 365//134 355//134
+f 355//133 365//133 366//133 356//133
+f 356//140 366//140 367//140 357//140
+f 357//139 367//139 368//139 358//139
+f 358//59 368//59 369//59 359//59
+f 359//138 369//138 370//138 360//138
+f 360//137 370//137 361//137 351//137
+f 361//144 371//144 372//144 362//144
+f 362//143 372//143 373//143 363//143
+f 363//64 373//64 374//64 364//64
+f 364//142 374//142 375//142 365//142
+f 365//141 375//141 376//141 366//141
+f 366//148 376//148 377//148 367//148
+f 367//147 377//147 378//147 368//147
+f 368//59 378//59 379//59 369//59
+f 369//146 379//146 380//146 370//146
+f 370//145 380//145 371//145 361//145
+f 371//152 381//152 382//152 372//152
+f 372//151 382//151 383//151 373//151
+f 373//64 383//64 384//64 374//64
+f 374//150 384//150 385//150 375//150
+f 375//149 385//149 386//149 376//149
+f 376//156 386//156 387//156 377//156
+f 377//155 387//155 388//155 378//155
+f 378//59 388//59 389//59 379//59
+f 379//154 389//154 390//154 380//154
+f 380//153 390//153 381//153 371//153
+f 381//160 191//160 192//160 382//160
+f 382//159 192//159 193//159 383//159
+f 383//64 193//64 194//64 384//64
+f 384//158 194//158 195//158 385//158
+f 385//157 195//157 196//157 386//157
+f 386//164 196//164 197//164 387//164
+f 387//163 197//163 198//163 388//163
+f 388//59 198//59 199//59 389//59
+f 389//162 199//162 200//162 390//162
+f 390//161 200//161 191//161 381//161
+f 433//85 443//85 444//85 434//85
+f 434//86 444//86 445//86 435//86
+f 435//64 445//64 446//64 436//64
+f 436//87 446//87 447//87 437//87
+f 437//88 447//88 448//88 438//88
+f 438//89 448//89 449//89 439//89
+f 439//90 449//90 450//90 440//90
+f 440//59 450//59 451//59 441//59
+f 441//91 451//91 452//91 442//91
+f 433//92 442//92 452//92 443//92
+f 443//93 453//93 454//93 444//93
+f 444//94 454//94 455//94 445//94
+f 445//64 455//64 456//64 446//64
+f 446//95 456//95 457//95 447//95
+f 447//96 457//96 458//96 448//96
+f 448//97 458//97 459//97 449//97
+f 449//98 459//98 460//98 450//98
+f 450//59 460//59 461//59 451//59
+f 451//99 461//99 462//99 452//99
+f 452//100 462//100 453//100 443//100
+f 453//101 463//101 464//101 454//101
+f 454//102 464//102 465//102 455//102
+f 455//64 465//64 466//64 456//64
+f 456//103 466//103 467//103 457//103
+f 457//104 467//104 468//104 458//104
+f 458//105 468//105 469//105 459//105
+f 459//106 469//106 470//106 460//106
+f 460//59 470//59 471//59 461//59
+f 461//107 471//107 472//107 462//107
+f 462//108 472//108 463//108 453//108
+f 463//109 473//109 474//109 464//109
+f 464//110 474//110 475//110 465//110
+f 465//64 475//64 476//64 466//64
+f 466//111 476//111 477//111 467//111
+f 467//112 477//112 478//112 468//112
+f 468//113 478//113 479//113 469//113
+f 469//114 479//114 480//114 470//114
+f 470//59 480//59 481//59 471//59
+f 471//115 481//115 482//115 472//115
+f 472//116 482//116 473//116 463//116
+f 473//117 483//117 484//117 474//117
+f 474//118 484//118 485//118 475//118
+f 475//64 485//64 486//64 476//64
+f 476//119 486//119 487//119 477//119
+f 477//120 487//120 488//120 478//120
+f 478//121 488//121 489//121 479//121
+f 479//122 489//122 490//122 480//122
+f 480//59 490//59 491//59 481//59
+f 481//123 491//123 492//123 482//123
+f 482//124 492//124 483//124 473//124
+f 483//125 493//125 494//125 484//125
+f 484//126 494//126 495//126 485//126
+f 485//64 495//64 496//64 486//64
+f 486//127 496//127 497//127 487//127
+f 487//128 497//128 498//128 488//128
+f 488//129 498//129 499//129 489//129
+f 489//130 499//130 500//130 490//130
+f 490//59 500//59 501//59 491//59
+f 491//131 501//131 502//131 492//131
+f 492//132 502//132 493//132 483//132
+f 493//133 503//133 504//133 494//133
+f 494//134 504//134 505//134 495//134
+f 495//64 505//64 506//64 496//64
+f 496//135 506//135 507//135 497//135
+f 497//136 507//136 508//136 498//136
+f 498//137 508//137 509//137 499//137
+f 499//138 509//138 510//138 500//138
+f 500//59 510//59 511//59 501//59
+f 501//139 511//139 512//139 502//139
+f 502//140 512//140 503//140 493//140
+f 503//141 513//141 514//141 504//141
+f 504//142 514//142 515//142 505//142
+f 505//64 515//64 516//64 506//64
+f 506//143 516//143 517//143 507//143
+f 507//144 517//144 518//144 508//144
+f 508//145 518//145 519//145 509//145
+f 509//146 519//146 520//146 510//146
+f 510//59 520//59 521//59 511//59
+f 511//147 521//147 522//147 512//147
+f 512//148 522//148 513//148 503//148
+f 513//149 523//149 524//149 514//149
+f 514//150 524//150 525//150 515//150
+f 515//64 525//64 526//64 516//64
+f 516//151 526//151 527//151 517//151
+f 517//152 527//152 528//152 518//152
+f 518//153 528//153 529//153 519//153
+f 519//154 529//154 530//154 520//154
+f 520//59 530//59 531//59 521//59
+f 521//155 531//155 532//155 522//155
+f 522//156 532//156 523//156 513//156
+f 523//157 533//157 534//157 524//157
+f 524//158 534//158 535//158 525//158
+f 525//64 535//64 536//64 526//64
+f 526//159 536//159 537//159 527//159
+f 527//160 537//160 538//160 528//160
+f 528//161 538//161 539//161 529//161
+f 529//162 539//162 540//162 530//162
+f 530//59 540//59 541//59 531//59
+f 531//163 541//163 542//163 532//163
+f 532//164 542//164 533//164 523//164
+f 533//88 543//88 544//88 534//88
+f 534//87 544//87 545//87 535//87
+f 535//64 545//64 546//64 536//64
+f 536//86 546//86 547//86 537//86
+f 537//85 547//85 548//85 538//85
+f 538//92 548//92 549//92 539//92
+f 539//91 549//91 550//91 540//91
+f 540//59 550//59 551//59 541//59
+f 541//90 551//90 552//90 542//90
+f 542//89 552//89 543//89 533//89
+f 543//96 553//96 554//96 544//96
+f 544//95 554//95 555//95 545//95
+f 545//64 555//64 556//64 546//64
+f 546//94 556//94 557//94 547//94
+f 547//93 557//93 558//93 548//93
+f 548//100 558//100 559//100 549//100
+f 549//99 559//99 560//99 550//99
+f 550//59 560//59 561//59 551//59
+f 551//98 561//98 562//98 552//98
+f 552//97 562//97 553//97 543//97
+f 553//104 563//104 564//104 554//104
+f 554//103 564//103 565//103 555//103
+f 555//64 565//64 566//64 556//64
+f 556//102 566//102 567//102 557//102
+f 557//101 567//101 568//101 558//101
+f 558//108 568//108 569//108 559//108
+f 559//107 569//107 570//107 560//107
+f 560//59 570//59 571//59 561//59
+f 561//106 571//106 572//106 562//106
+f 562//105 572//105 563//105 553//105
+f 563//112 573//112 574//112 564//112
+f 564//111 574//111 575//111 565//111
+f 565//64 575//64 576//64 566//64
+f 566//110 576//110 577//110 567//110
+f 567//109 577//109 578//109 568//109
+f 568//116 578//116 579//116 569//116
+f 569//115 579//115 580//115 570//115
+f 570//59 580//59 581//59 571//59
+f 571//114 581//114 582//114 572//114
+f 572//113 582//113 573//113 563//113
+f 573//120 583//120 584//120 574//120
+f 574//119 584//119 585//119 575//119
+f 575//64 585//64 586//64 576//64
+f 576//118 586//118 587//118 577//118
+f 577//117 587//117 588//117 578//117
+f 578//124 588//124 589//124 579//124
+f 579//123 589//123 590//123 580//123
+f 580//59 590//59 591//59 581//59
+f 581//122 591//122 592//122 582//122
+f 582//121 592//121 583//121 573//121
+f 583//128 593//128 594//128 584//128
+f 584//127 594//127 595//127 585//127
+f 585//64 595//64 596//64 586//64
+f 586//126 596//126 597//126 587//126
+f 587//125 597//125 598//125 588//125
+f 588//132 598//132 599//132 589//132
+f 589//131 599//131 600//131 590//131
+f 590//59 600//59 601//59 591//59
+f 591//130 601//130 602//130 592//130
+f 592//129 602//129 593//129 583//129
+f 593//136 603//136 604//136 594//136
+f 594//135 604//135 605//135 595//135
+f 595//64 605//64 606//64 596//64
+f 596//134 606//134 607//134 597//134
+f 597//133 607//133 608//133 598//133
+f 598//140 608//140 609//140 599//140
+f 599//139 609//139 610//139 600//139
+f 600//59 610//59 611//59 601//59
+f 601//138 611//138 612//138 602//138
+f 602//137 612//137 603//137 593//137
+f 603//144 613//144 614//144 604//144
+f 604//143 614//143 615//143 605//143
+f 605//64 615//64 616//64 606//64
+f 606//142 616//142 617//142 607//142
+f 607//141 617//141 618//141 608//141
+f 608//148 618//148 619//148 609//148
+f 609//147 619//147 620//147 610//147
+f 610//59 620//59 621//59 611//59
+f 611//146 621//146 622//146 612//146
+f 612//145 622//145 613//145 603//145
+f 613//152 623//152 624//152 614//152
+f 614//151 624//151 625//151 615//151
+f 615//64 625//64 626//64 616//64
+f 616//150 626//150 627//150 617//150
+f 617//149 627//149 628//149 618//149
+f 618//156 628//156 629//156 619//156
+f 619//155 629//155 630//155 620//155
+f 620//59 630//59 631//59 621//59
+f 621//154 631//154 632//154 622//154
+f 622//153 632//153 623//153 613//153
+f 623//160 433//160 434//160 624//160
+f 624//159 434//159 435//159 625//159
+f 625//64 435//64 436//64 626//64
+f 626//158 436//158 437//158 627//158
+f 627//157 437//157 438//157 628//157
+f 628//164 438//164 439//164 629//164
+f 629//163 439//163 440//163 630//163
+f 630//59 440//59 441//59 631//59
+f 631//162 441//162 442//162 632//162
+f 632//161 442//161 433//161 623//161
+f 674//165 660//165 687//165 688//165
+f 675//166 674//166 688//166 689//166
+f 676//167 675//167 689//167 690//167
+f 660//168 676//168 690//168 687//168
+f 735//85 745//85 746//85 736//85
+f 736//86 746//86 747//86 737//86
+f 737//64 747//64 748//64 738//64
+f 738//87 748//87 749//87 739//87
+f 739//88 749//88 750//88 740//88
+f 740//89 750//89 751//89 741//89
+f 741//90 751//90 752//90 742//90
+f 742//59 752//59 753//59 743//59
+f 743//91 753//91 754//91 744//91
+f 735//92 744//92 754//92 745//92
+f 745//93 755//93 756//93 746//93
+f 746//94 756//94 757//94 747//94
+f 747//64 757//64 758//64 748//64
+f 748//95 758//95 759//95 749//95
+f 749//96 759//96 760//96 750//96
+f 750//97 760//97 761//97 751//97
+f 751//98 761//98 762//98 752//98
+f 752//59 762//59 763//59 753//59
+f 753//99 763//99 764//99 754//99
+f 754//100 764//100 755//100 745//100
+f 755//101 765//101 766//101 756//101
+f 756//102 766//102 767//102 757//102
+f 757//64 767//64 768//64 758//64
+f 758//103 768//103 769//103 759//103
+f 759//104 769//104 770//104 760//104
+f 760//105 770//105 771//105 761//105
+f 761//106 771//106 772//106 762//106
+f 762//59 772//59 773//59 763//59
+f 763//107 773//107 774//107 764//107
+f 764//108 774//108 765//108 755//108
+f 765//109 775//109 776//109 766//109
+f 766//110 776//110 777//110 767//110
+f 767//64 777//64 778//64 768//64
+f 768//111 778//111 779//111 769//111
+f 769//112 779//112 780//112 770//112
+f 770//113 780//113 781//113 771//113
+f 771//114 781//114 782//114 772//114
+f 772//59 782//59 783//59 773//59
+f 773//115 783//115 784//115 774//115
+f 774//116 784//116 775//116 765//116
+f 775//117 785//117 786//117 776//117
+f 776//118 786//118 787//118 777//118
+f 777//64 787//64 788//64 778//64
+f 778//119 788//119 789//119 779//119
+f 779//120 789//120 790//120 780//120
+f 780//121 790//121 791//121 781//121
+f 781//169 791//169 792//169 782//169
+f 782//59 792//59 793//59 783//59
+f 783//123 793//123 794//123 784//123
+f 784//124 794//124 785//124 775//124
+f 785//125 795//125 796//125 786//125
+f 786//126 796//126 797//126 787//126
+f 787//64 797//64 798//64 788//64
+f 788//127 798//127 799//127 789//127
+f 789//128 799//128 800//128 790//128
+f 790//129 800//129 801//129 791//129
+f 791//130 801//130 802//130 792//130
+f 792//59 802//59 803//59 793//59
+f 793//131 803//131 804//131 794//131
+f 794//132 804//132 795//132 785//132
+f 795//133 805//133 806//133 796//133
+f 796//134 806//134 807//134 797//134
+f 797//64 807//64 808//64 798//64
+f 798//135 808//135 809//135 799//135
+f 799//136 809//136 810//136 800//136
+f 800//137 810//137 811//137 801//137
+f 801//138 811//138 812//138 802//138
+f 802//59 812//59 813//59 803//59
+f 803//139 813//139 814//139 804//139
+f 804//140 814//140 805//140 795//140
+f 805//141 815//141 816//141 806//141
+f 806//142 816//142 817//142 807//142
+f 807//64 817//64 818//64 808//64
+f 808//143 818//143 819//143 809//143
+f 809//144 819//144 820//144 810//144
+f 810//145 820//145 821//145 811//145
+f 811//146 821//146 822//146 812//146
+f 812//59 822//59 823//59 813//59
+f 813//147 823//147 824//147 814//147
+f 814//148 824//148 815//148 805//148
+f 815//149 825//149 826//149 816//149
+f 816//150 826//150 827//150 817//150
+f 817//64 827//64 828//64 818//64
+f 818//151 828//151 829//151 819//151
+f 819//152 829//152 830//152 820//152
+f 820//153 830//153 831//153 821//153
+f 821//154 831//154 832//154 822//154
+f 822//59 832//59 833//59 823//59
+f 823//155 833//155 834//155 824//155
+f 824//156 834//156 825//156 815//156
+f 825//157 835//157 836//157 826//157
+f 826//158 836//158 837//158 827//158
+f 827//64 837//64 838//64 828//64
+f 828//159 838//159 839//159 829//159
+f 829//160 839//160 840//160 830//160
+f 830//161 840//161 841//161 831//161
+f 831//162 841//162 842//162 832//162
+f 832//59 842//59 843//59 833//59
+f 833//163 843//163 844//163 834//163
+f 834//164 844//164 835//164 825//164
+f 835//88 845//88 846//88 836//88
+f 836//87 846//87 847//87 837//87
+f 837//64 847//64 848//64 838//64
+f 838//86 848//86 849//86 839//86
+f 839//85 849//85 850//85 840//85
+f 840//92 850//92 851//92 841//92
+f 841//91 851//91 852//91 842//91
+f 842//59 852//59 853//59 843//59
+f 843//90 853//90 854//90 844//90
+f 844//89 854//89 845//89 835//89
+f 845//96 855//96 856//96 846//96
+f 846//95 856//95 857//95 847//95
+f 847//64 857//64 858//64 848//64
+f 848//94 858//94 859//94 849//94
+f 849//93 859//93 860//93 850//93
+f 850//100 860//100 861//100 851//100
+f 851//99 861//99 862//99 852//99
+f 852//59 862//59 863//59 853//59
+f 853//98 863//98 864//98 854//98
+f 854//97 864//97 855//97 845//97
+f 855//104 865//104 866//104 856//104
+f 856//103 866//103 867//103 857//103
+f 857//64 867//64 868//64 858//64
+f 858//102 868//102 869//102 859//102
+f 859//101 869//101 870//101 860//101
+f 860//108 870//108 871//108 861//108
+f 861//107 871//107 872//107 862//107
+f 862//59 872//59 873//59 863//59
+f 863//106 873//106 874//106 864//106
+f 864//105 874//105 865//105 855//105
+f 865//112 875//112 876//112 866//112
+f 866//111 876//111 877//111 867//111
+f 867//64 877//64 878//64 868//64
+f 868//110 878//110 879//110 869//110
+f 869//109 879//109 880//109 870//109
+f 870//116 880//116 881//116 871//116
+f 871//115 881//115 882//115 872//115
+f 872//59 882//59 883//59 873//59
+f 873//114 883//114 884//114 874//114
+f 874//113 884//113 875//113 865//113
+f 875//120 885//120 886//120 876//120
+f 876//119 886//119 887//119 877//119
+f 877//64 887//64 888//64 878//64
+f 878//118 888//118 889//118 879//118
+f 879//117 889//117 890//117 880//117
+f 880//124 890//124 891//124 881//124
+f 881//123 891//123 892//123 882//123
+f 882//59 892//59 893//59 883//59
+f 883//122 893//122 894//122 884//122
+f 884//121 894//121 885//121 875//121
+f 885//128 895//128 896//128 886//128
+f 886//127 896//127 897//127 887//127
+f 887//64 897//64 898//64 888//64
+f 888//126 898//126 899//126 889//126
+f 889//125 899//125 900//125 890//125
+f 890//132 900//132 901//132 891//132
+f 891//131 901//131 902//131 892//131
+f 892//59 902//59 903//59 893//59
+f 893//130 903//130 904//130 894//130
+f 894//129 904//129 895//129 885//129
+f 895//136 905//136 906//136 896//136
+f 896//135 906//135 907//135 897//135
+f 897//64 907//64 908//64 898//64
+f 898//134 908//134 909//134 899//134
+f 899//133 909//133 910//133 900//133
+f 900//140 910//140 911//140 901//140
+f 901//139 911//139 912//139 902//139
+f 902//59 912//59 913//59 903//59
+f 903//138 913//138 914//138 904//138
+f 904//137 914//137 905//137 895//137
+f 905//144 915//144 916//144 906//144
+f 906//143 916//143 917//143 907//143
+f 907//64 917//64 918//64 908//64
+f 908//142 918//142 919//142 909//142
+f 909//141 919//141 920//141 910//141
+f 910//148 920//148 921//148 911//148
+f 911//147 921//147 922//147 912//147
+f 912//59 922//59 923//59 913//59
+f 913//146 923//146 924//146 914//146
+f 914//145 924//145 915//145 905//145
+f 915//152 925//152 926//152 916//152
+f 916//151 926//151 927//151 917//151
+f 917//64 927//64 928//64 918//64
+f 918//150 928//150 929//150 919//150
+f 919//149 929//149 930//149 920//149
+f 920//156 930//156 931//156 921//156
+f 921//155 931//155 932//155 922//155
+f 922//59 932//59 933//59 923//59
+f 923//154 933//154 934//154 924//154
+f 924//153 934//153 925//153 915//153
+f 925//160 735//160 736//160 926//160
+f 926//159 736//159 737//159 927//159
+f 927//64 737//64 738//64 928//64
+f 928//158 738//158 739//158 929//158
+f 929//157 739//157 740//157 930//157
+f 930//164 740//164 741//164 931//164
+f 931//163 741//163 742//163 932//163
+f 932//59 742//59 743//59 933//59
+f 933//162 743//162 744//162 934//162
+f 934//161 744//161 735//161 925//161
+f 977//85 987//85 988//85 978//85
+f 978//86 988//86 989//86 979//86
+f 979//64 989//64 990//64 980//64
+f 980//87 990//87 991//87 981//87
+f 981//88 991//88 992//88 982//88
+f 982//89 992//89 993//89 983//89
+f 983//90 993//90 994//90 984//90
+f 984//59 994//59 995//59 985//59
+f 985//91 995//91 996//91 986//91
+f 977//92 986//92 996//92 987//92
+f 987//93 997//93 998//93 988//93
+f 988//94 998//94 999//94 989//94
+f 989//64 999//64 1000//64 990//64
+f 990//95 1000//95 1001//95 991//95
+f 991//96 1001//96 1002//96 992//96
+f 992//97 1002//97 1003//97 993//97
+f 993//98 1003//98 1004//98 994//98
+f 994//59 1004//59 1005//59 995//59
+f 995//99 1005//99 1006//99 996//99
+f 996//100 1006//100 997//100 987//100
+f 997//101 1007//101 1008//101 998//101
+f 998//102 1008//102 1009//102 999//102
+f 999//64 1009//64 1010//64 1000//64
+f 1000//103 1010//103 1011//103 1001//103
+f 1001//104 1011//104 1012//104 1002//104
+f 1002//105 1012//105 1013//105 1003//105
+f 1003//106 1013//106 1014//106 1004//106
+f 1004//59 1014//59 1015//59 1005//59
+f 1005//107 1015//107 1016//107 1006//107
+f 1006//108 1016//108 1007//108 997//108
+f 1007//109 1017//109 1018//109 1008//109
+f 1008//110 1018//110 1019//110 1009//110
+f 1009//64 1019//64 1020//64 1010//64
+f 1010//111 1020//111 1021//111 1011//111
+f 1011//112 1021//112 1022//112 1012//112
+f 1012//113 1022//113 1023//113 1013//113
+f 1013//114 1023//114 1024//114 1014//114
+f 1014//59 1024//59 1025//59 1015//59
+f 1015//115 1025//115 1026//115 1016//115
+f 1016//116 1026//116 1017//116 1007//116
+f 1017//117 1027//117 1028//117 1018//117
+f 1018//118 1028//118 1029//118 1019//118
+f 1019//64 1029//64 1030//64 1020//64
+f 1020//119 1030//119 1031//119 1021//119
+f 1021//120 1031//120 1032//120 1022//120
+f 1022//121 1032//121 1033//121 1023//121
+f 1023//122 1033//122 1034//122 1024//122
+f 1024//59 1034//59 1035//59 1025//59
+f 1025//123 1035//123 1036//123 1026//123
+f 1026//124 1036//124 1027//124 1017//124
+f 1027//125 1037//125 1038//125 1028//125
+f 1028//126 1038//126 1039//126 1029//126
+f 1029//64 1039//64 1040//64 1030//64
+f 1030//127 1040//127 1041//127 1031//127
+f 1031//128 1041//128 1042//128 1032//128
+f 1032//129 1042//129 1043//129 1033//129
+f 1033//130 1043//130 1044//130 1034//130
+f 1034//59 1044//59 1045//59 1035//59
+f 1035//131 1045//131 1046//131 1036//131
+f 1036//132 1046//132 1037//132 1027//132
+f 1037//133 1047//133 1048//133 1038//133
+f 1038//134 1048//134 1049//134 1039//134
+f 1039//64 1049//64 1050//64 1040//64
+f 1040//135 1050//135 1051//135 1041//135
+f 1041//136 1051//136 1052//136 1042//136
+f 1042//137 1052//137 1053//137 1043//137
+f 1043//138 1053//138 1054//138 1044//138
+f 1044//59 1054//59 1055//59 1045//59
+f 1045//139 1055//139 1056//139 1046//139
+f 1046//140 1056//140 1047//140 1037//140
+f 1047//141 1057//141 1058//141 1048//141
+f 1048//142 1058//142 1059//142 1049//142
+f 1049//64 1059//64 1060//64 1050//64
+f 1050//143 1060//143 1061//143 1051//143
+f 1051//144 1061//144 1062//144 1052//144
+f 1052//145 1062//145 1063//145 1053//145
+f 1053//146 1063//146 1064//146 1054//146
+f 1054//59 1064//59 1065//59 1055//59
+f 1055//147 1065//147 1066//147 1056//147
+f 1056//148 1066//148 1057//148 1047//148
+f 1057//149 1067//149 1068//149 1058//149
+f 1058//150 1068//150 1069//150 1059//150
+f 1059//64 1069//64 1070//64 1060//64
+f 1060//151 1070//151 1071//151 1061//151
+f 1061//152 1071//152 1072//152 1062//152
+f 1062//153 1072//153 1073//153 1063//153
+f 1063//154 1073//154 1074//154 1064//154
+f 1064//59 1074//59 1075//59 1065//59
+f 1065//155 1075//155 1076//155 1066//155
+f 1066//156 1076//156 1067//156 1057//156
+f 1067//157 1077//157 1078//157 1068//157
+f 1068//158 1078//158 1079//158 1069//158
+f 1069//64 1079//64 1080//64 1070//64
+f 1070//159 1080//159 1081//159 1071//159
+f 1071//160 1081//160 1082//160 1072//160
+f 1072//161 1082//161 1083//161 1073//161
+f 1073//162 1083//162 1084//162 1074//162
+f 1074//59 1084//59 1085//59 1075//59
+f 1075//163 1085//163 1086//163 1076//163
+f 1076//164 1086//164 1077//164 1067//164
+f 1077//88 1087//88 1088//88 1078//88
+f 1078//87 1088//87 1089//87 1079//87
+f 1079//64 1089//64 1090//64 1080//64
+f 1080//86 1090//86 1091//86 1081//86
+f 1081//85 1091//85 1092//85 1082//85
+f 1082//92 1092//92 1093//92 1083//92
+f 1083//91 1093//91 1094//91 1084//91
+f 1084//59 1094//59 1095//59 1085//59
+f 1085//90 1095//90 1096//90 1086//90
+f 1086//89 1096//89 1087//89 1077//89
+f 1087//96 1097//96 1098//96 1088//96
+f 1088//95 1098//95 1099//95 1089//95
+f 1089//64 1099//64 1100//64 1090//64
+f 1090//94 1100//94 1101//94 1091//94
+f 1091//93 1101//93 1102//93 1092//93
+f 1092//100 1102//100 1103//100 1093//100
+f 1093//99 1103//99 1104//99 1094//99
+f 1094//59 1104//59 1105//59 1095//59
+f 1095//98 1105//98 1106//98 1096//98
+f 1096//97 1106//97 1097//97 1087//97
+f 1097//104 1107//104 1108//104 1098//104
+f 1098//103 1108//103 1109//103 1099//103
+f 1099//64 1109//64 1110//64 1100//64
+f 1100//102 1110//102 1111//102 1101//102
+f 1101//101 1111//101 1112//101 1102//101
+f 1102//108 1112//108 1113//108 1103//108
+f 1103//107 1113//107 1114//107 1104//107
+f 1104//59 1114//59 1115//59 1105//59
+f 1105//106 1115//106 1116//106 1106//106
+f 1106//105 1116//105 1107//105 1097//105
+f 1107//112 1117//112 1118//112 1108//112
+f 1108//111 1118//111 1119//111 1109//111
+f 1109//64 1119//64 1120//64 1110//64
+f 1110//110 1120//110 1121//110 1111//110
+f 1111//109 1121//109 1122//109 1112//109
+f 1112//116 1122//116 1123//116 1113//116
+f 1113//115 1123//115 1124//115 1114//115
+f 1114//59 1124//59 1125//59 1115//59
+f 1115//114 1125//114 1126//114 1116//114
+f 1116//113 1126//113 1117//113 1107//113
+f 1117//120 1127//120 1128//120 1118//120
+f 1118//119 1128//119 1129//119 1119//119
+f 1119//64 1129//64 1130//64 1120//64
+f 1120//118 1130//118 1131//118 1121//118
+f 1121//117 1131//117 1132//117 1122//117
+f 1122//170 1132//170 1133//170 1123//170
+f 1123//123 1133//123 1134//123 1124//123
+f 1124//59 1134//59 1135//59 1125//59
+f 1125//122 1135//122 1136//122 1126//122
+f 1126//121 1136//121 1127//121 1117//121
+f 1127//128 1137//128 1138//128 1128//128
+f 1128//127 1138//127 1139//127 1129//127
+f 1129//64 1139//64 1140//64 1130//64
+f 1130//126 1140//126 1141//126 1131//126
+f 1131//125 1141//125 1142//125 1132//125
+f 1132//171 1142//171 1143//171 1133//171
+f 1133//131 1143//131 1144//131 1134//131
+f 1134//59 1144//59 1145//59 1135//59
+f 1135//130 1145//130 1146//130 1136//130
+f 1136//129 1146//129 1137//129 1127//129
+f 1137//136 1147//136 1148//136 1138//136
+f 1138//135 1148//135 1149//135 1139//135
+f 1139//64 1149//64 1150//64 1140//64
+f 1140//134 1150//134 1151//134 1141//134
+f 1141//133 1151//133 1152//133 1142//133
+f 1142//140 1152//140 1153//140 1143//140
+f 1143//139 1153//139 1154//139 1144//139
+f 1144//59 1154//59 1155//59 1145//59
+f 1145//138 1155//138 1156//138 1146//138
+f 1146//137 1156//137 1147//137 1137//137
+f 1147//144 1157//144 1158//144 1148//144
+f 1148//143 1158//143 1159//143 1149//143
+f 1149//64 1159//64 1160//64 1150//64
+f 1150//142 1160//142 1161//142 1151//142
+f 1151//141 1161//141 1162//141 1152//141
+f 1152//148 1162//148 1163//148 1153//148
+f 1153//147 1163//147 1164//147 1154//147
+f 1154//59 1164//59 1165//59 1155//59
+f 1155//146 1165//146 1166//146 1156//146
+f 1156//145 1166//145 1157//145 1147//145
+f 1157//152 1167//152 1168//152 1158//152
+f 1158//151 1168//151 1169//151 1159//151
+f 1159//64 1169//64 1170//64 1160//64
+f 1160//150 1170//150 1171//150 1161//150
+f 1161//149 1171//149 1172//149 1162//149
+f 1162//156 1172//156 1173//156 1163//156
+f 1163//155 1173//155 1174//155 1164//155
+f 1164//59 1174//59 1175//59 1165//59
+f 1165//154 1175//154 1176//154 1166//154
+f 1166//153 1176//153 1167//153 1157//153
+f 1167//160 977//160 978//160 1168//160
+f 1168//159 978//159 979//159 1169//159
+f 1169//64 979//64 980//64 1170//64
+f 1170//158 980//158 981//158 1171//158
+f 1171//157 981//157 982//157 1172//157
+f 1172//164 982//164 983//164 1173//164
+f 1173//163 983//163 984//163 1174//163
+f 1174//59 984//59 985//59 1175//59
+f 1175//162 985//162 986//162 1176//162
+f 1176//161 986//161 977//161 1167//161
+f 1218//165 1204//165 1231//165 1232//165
+f 1219//166 1218//166 1232//166 1233//166
+f 1220//167 1219//167 1233//167 1234//167
+f 1204//168 1220//168 1234//168 1231//168
+usemtl Speaker_Center
+f 149//172 162//172 161//172
+f 150//173 162//173 164//173
+f 149//174 161//174 166//174
+f 149//175 166//175 168//175
+f 149//176 168//176 165//176
+f 150//177 164//177 171//177
+f 151//178 163//178 173//178
+f 152//179 167//179 175//179
+f 153//180 169//180 177//180
+f 154//181 170//181 179//181
+f 150//182 171//182 174//182
+f 151//183 173//183 176//183
+f 152//184 175//184 178//184
+f 153//185 177//185 180//185
+f 154//186 179//186 172//186
+f 155//187 181//187 186//187
+f 156//188 182//188 188//188
+f 157//189 183//189 189//189
+f 158//190 184//190 190//190
+f 159//191 185//191 187//191
+f 187//192 190//192 160//192
+f 187//193 185//193 190//193
+f 185//194 158//194 190//194
+f 190//195 189//195 160//195
+f 190//196 184//196 189//196
+f 184//197 157//197 189//197
+f 189//198 188//198 160//198
+f 189//199 183//199 188//199
+f 183//200 156//200 188//200
+f 188//201 186//201 160//201
+f 188//202 182//202 186//202
+f 182//203 155//203 186//203
+f 186//204 187//204 160//204
+f 186//205 181//205 187//205
+f 181//206 159//206 187//206
+f 172//207 185//207 159//207
+f 172//208 179//208 185//208
+f 179//209 158//209 185//209
+f 180//210 184//210 158//210
+f 180//211 177//211 184//211
+f 177//212 157//212 184//212
+f 178//213 183//213 157//213
+f 178//214 175//214 183//214
+f 175//215 156//215 183//215
+f 176//216 182//216 156//216
+f 176//217 173//217 182//217
+f 173//218 155//218 182//218
+f 174//219 181//219 155//219
+f 174//220 171//220 181//220
+f 171//221 159//221 181//221
+f 179//222 180//222 158//222
+f 179//223 170//223 180//223
+f 170//224 153//224 180//224
+f 177//225 178//225 157//225
+f 177//226 169//226 178//226
+f 169//227 152//227 178//227
+f 175//228 176//228 156//228
+f 175//229 167//229 176//229
+f 167//230 151//230 176//230
+f 173//231 174//231 155//231
+f 173//232 163//232 174//232
+f 163//233 150//233 174//233
+f 171//234 172//234 159//234
+f 171//235 164//235 172//235
+f 164//236 154//236 172//236
+f 165//237 170//237 154//237
+f 165//238 168//238 170//238
+f 168//239 153//239 170//239
+f 168//240 169//240 153//240
+f 168//241 166//241 169//241
+f 166//242 152//242 169//242
+f 166//243 167//243 152//243
+f 166//244 161//244 167//244
+f 161//245 151//245 167//245
+f 164//246 165//246 154//246
+f 164//247 162//247 165//247
+f 162//248 149//248 165//248
+f 161//249 163//249 151//249
+f 161//250 162//250 163//250
+f 162//251 150//251 163//251
+f 391//172 404//172 403//172
+f 392//173 404//173 406//173
+f 391//174 403//174 408//174
+f 391//175 408//175 410//175
+f 391//176 410//176 407//176
+f 392//177 406//177 413//177
+f 393//178 405//178 415//178
+f 394//179 409//179 417//179
+f 395//180 411//180 419//180
+f 396//181 412//181 421//181
+f 392//182 413//182 416//182
+f 393//183 415//183 418//183
+f 394//184 417//184 420//184
+f 395//185 419//185 422//185
+f 396//186 421//186 414//186
+f 397//252 423//252 428//252
+f 398//188 424//188 430//188
+f 399//189 425//189 431//189
+f 400//190 426//190 432//190
+f 401//191 427//191 429//191
+f 429//192 432//192 402//192
+f 429//193 427//193 432//193
+f 427//194 400//194 432//194
+f 432//195 431//195 402//195
+f 432//196 426//196 431//196
+f 426//197 399//197 431//197
+f 431//198 430//198 402//198
+f 431//199 425//199 430//199
+f 425//200 398//200 430//200
+f 430//201 428//201 402//201
+f 430//202 424//202 428//202
+f 424//203 397//203 428//203
+f 428//204 429//204 402//204
+f 428//205 423//205 429//205
+f 423//206 401//206 429//206
+f 414//207 427//207 401//207
+f 414//208 421//208 427//208
+f 421//209 400//209 427//209
+f 422//210 426//210 400//210
+f 422//211 419//211 426//211
+f 419//212 399//212 426//212
+f 420//213 425//213 399//213
+f 420//214 417//214 425//214
+f 417//215 398//215 425//215
+f 418//216 424//216 398//216
+f 418//217 415//217 424//217
+f 415//218 397//218 424//218
+f 416//219 423//219 397//219
+f 416//220 413//220 423//220
+f 413//221 401//221 423//221
+f 421//222 422//222 400//222
+f 421//223 412//223 422//223
+f 412//253 395//253 422//253
+f 419//225 420//225 399//225
+f 419//226 411//226 420//226
+f 411//227 394//227 420//227
+f 417//228 418//228 398//228
+f 417//229 409//229 418//229
+f 409//230 393//230 418//230
+f 415//231 416//231 397//231
+f 415//232 405//232 416//232
+f 405//233 392//233 416//233
+f 413//234 414//234 401//234
+f 413//235 406//235 414//235
+f 406//236 396//236 414//236
+f 407//237 412//237 396//237
+f 407//238 410//238 412//238
+f 410//239 395//239 412//239
+f 410//240 411//240 395//240
+f 410//241 408//241 411//241
+f 408//242 394//242 411//242
+f 408//243 409//243 394//243
+f 408//244 403//244 409//244
+f 403//245 393//245 409//245
+f 406//246 407//246 396//246
+f 406//247 404//247 407//247
+f 404//248 391//248 407//248
+f 403//249 405//249 393//249
+f 403//250 404//250 405//250
+f 404//251 392//251 405//251
+f 693//172 706//172 705//172
+f 694//173 706//173 708//173
+f 693//174 705//174 710//174
+f 693//175 710//175 712//175
+f 693//176 712//176 709//176
+f 694//177 708//177 715//177
+f 695//178 707//178 717//178
+f 696//179 711//179 719//179
+f 697//180 713//180 721//180
+f 698//181 714//181 723//181
+f 694//182 715//182 718//182
+f 695//183 717//183 720//183
+f 696//184 719//184 722//184
+f 697//185 721//185 724//185
+f 698//186 723//186 716//186
+f 699//187 725//187 730//187
+f 700//188 726//188 732//188
+f 701//189 727//189 733//189
+f 702//190 728//190 734//190
+f 703//191 729//191 731//191
+f 731//192 734//192 704//192
+f 731//193 729//193 734//193
+f 729//194 702//194 734//194
+f 734//195 733//195 704//195
+f 734//196 728//196 733//196
+f 728//197 701//197 733//197
+f 733//198 732//198 704//198
+f 733//199 727//199 732//199
+f 727//200 700//200 732//200
+f 732//201 730//201 704//201
+f 732//202 726//202 730//202
+f 726//203 699//203 730//203
+f 730//204 731//204 704//204
+f 730//205 725//205 731//205
+f 725//206 703//206 731//206
+f 716//207 729//207 703//207
+f 716//208 723//208 729//208
+f 723//209 702//209 729//209
+f 724//210 728//210 702//210
+f 724//211 721//211 728//211
+f 721//212 701//212 728//212
+f 722//213 727//213 701//213
+f 722//214 719//214 727//214
+f 719//215 700//215 727//215
+f 720//216 726//216 700//216
+f 720//217 717//217 726//217
+f 717//254 699//254 726//254
+f 718//219 725//219 699//219
+f 718//220 715//220 725//220
+f 715//221 703//221 725//221
+f 723//222 724//222 702//222
+f 723//223 714//223 724//223
+f 714//253 697//253 724//253
+f 721//225 722//225 701//225
+f 721//226 713//226 722//226
+f 713//227 696//227 722//227
+f 719//228 720//228 700//228
+f 719//229 711//229 720//229
+f 711//230 695//230 720//230
+f 717//231 718//231 699//231
+f 717//232 707//232 718//232
+f 707//233 694//233 718//233
+f 715//234 716//234 703//234
+f 715//235 708//235 716//235
+f 708//236 698//236 716//236
+f 709//237 714//237 698//237
+f 709//238 712//238 714//238
+f 712//239 697//239 714//239
+f 712//240 713//240 697//240
+f 712//241 710//241 713//241
+f 710//242 696//242 713//242
+f 710//243 711//243 696//243
+f 710//244 705//244 711//244
+f 705//245 695//245 711//245
+f 708//246 709//246 698//246
+f 708//247 706//247 709//247
+f 706//248 693//248 709//248
+f 705//249 707//249 695//249
+f 705//250 706//250 707//250
+f 706//251 694//251 707//251
+f 935//172 948//172 947//172
+f 936//173 948//173 950//173
+f 935//174 947//174 952//174
+f 935//175 952//175 954//175
+f 935//176 954//176 951//176
+f 936//177 950//177 957//177
+f 937//178 949//178 959//178
+f 938//179 953//179 961//179
+f 939//180 955//180 963//180
+f 940//181 956//181 965//181
+f 936//182 957//182 960//182
+f 937//183 959//183 962//183
+f 938//184 961//184 964//184
+f 939//185 963//185 966//185
+f 940//186 965//186 958//186
+f 941//187 967//187 972//187
+f 942//188 968//188 974//188
+f 943//189 969//189 975//189
+f 944//190 970//190 976//190
+f 945//191 971//191 973//191
+f 973//192 976//192 946//192
+f 973//193 971//193 976//193
+f 971//194 944//194 976//194
+f 976//195 975//195 946//195
+f 976//196 970//196 975//196
+f 970//197 943//197 975//197
+f 975//198 974//198 946//198
+f 975//199 969//199 974//199
+f 969//200 942//200 974//200
+f 974//201 972//201 946//201
+f 974//202 968//202 972//202
+f 968//203 941//203 972//203
+f 972//204 973//204 946//204
+f 972//205 967//205 973//205
+f 967//206 945//206 973//206
+f 958//207 971//207 945//207
+f 958//208 965//208 971//208
+f 965//209 944//209 971//209
+f 966//210 970//210 944//210
+f 966//211 963//211 970//211
+f 963//212 943//212 970//212
+f 964//213 969//213 943//213
+f 964//214 961//214 969//214
+f 961//215 942//215 969//215
+f 962//216 968//216 942//216
+f 962//217 959//217 968//217
+f 959//254 941//254 968//254
+f 960//219 967//219 941//219
+f 960//220 957//220 967//220
+f 957//221 945//221 967//221
+f 965//222 966//222 944//222
+f 965//223 956//223 966//223
+f 956//253 939//253 966//253
+f 963//225 964//225 943//225
+f 963//226 955//226 964//226
+f 955//227 938//227 964//227
+f 961//228 962//228 942//228
+f 961//229 953//229 962//229
+f 953//230 937//230 962//230
+f 959//231 960//231 941//231
+f 959//232 949//232 960//232
+f 949//233 936//233 960//233
+f 957//234 958//234 945//234
+f 957//235 950//235 958//235
+f 950//236 940//236 958//236
+f 951//237 956//237 940//237
+f 951//238 954//238 956//238
+f 954//239 939//239 956//239
+f 954//240 955//240 939//240
+f 954//241 952//241 955//241
+f 952//242 938//242 955//242
+f 952//243 953//243 938//243
+f 952//244 947//244 953//244
+f 947//245 937//245 953//245
+f 950//246 951//246 940//246
+f 950//247 948//247 951//247
+f 948//248 935//248 951//248
+f 947//249 949//249 937//249
+f 947//250 948//250 949//250
+f 948//251 936//251 949//251
+o Cube.009_Cube.024
+v -2.289567 -0.000443 0.991146
+v -2.289567 0.630356 0.991146
+v -2.289567 -0.000443 -1.439865
+v -2.289567 0.630356 -1.439865
+v -1.624002 -0.000443 0.991146
+v -1.624002 0.630356 0.991146
+v -1.624002 -0.000443 -1.439865
+v -1.624002 0.630356 -1.439865
+v -2.289567 0.630356 -0.592358
+v -2.289567 -0.000443 -0.592358
+v -1.624002 0.630356 -0.592358
+v -1.624002 -0.000443 -0.592358
+v -1.624002 0.585490 -0.548149
+v -1.624002 0.585490 0.946937
+v -1.624002 0.044423 0.946937
+v -1.624002 0.044423 -0.548149
+v -2.237647 0.585490 -0.548149
+v -2.237647 0.585490 0.946937
+v -2.237647 0.044423 0.946937
+v -2.237647 0.044423 -0.548149
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 1.0000 0.0000
+usemtl Desk
+s off
+f 1245//255 1240//255 1239//255 1246//255
+f 1240//256 1244//256 1243//256 1239//256
+f 1242//257 1241//257 1251//257 1250//257
+f 1242//258 1238//258 1237//258 1241//258
+f 1246//259 1239//259 1243//259 1248//259
+f 1247//260 1244//260 1240//260 1245//260
+f 1242//260 1247//260 1245//260 1238//260
+f 1237//259 1246//259 1248//259 1241//259
+f 1244//257 1247//257 1248//257 1243//257
+f 1238//255 1245//255 1246//255 1237//255
+f 1252//258 1249//258 1253//258 1256//258
+f 1241//257 1248//257 1252//257 1251//257
+f 1247//257 1242//257 1250//257 1249//257
+f 1248//257 1247//257 1249//257 1252//257
+f 1253//257 1254//257 1255//257 1256//257
+f 1250//256 1251//256 1255//256 1254//256
+f 1251//260 1252//260 1256//260 1255//260
+f 1249//259 1250//259 1254//259 1253//259
+o Cube.010_Cube.042
+v -1.384699 0.492442 0.620012
+v -1.384699 0.519493 0.620012
+v -1.422910 0.492442 0.773422
+v -1.422910 0.519493 0.773422
+v -1.623676 0.492442 0.560488
+v -1.623676 0.519493 0.560488
+v -1.661887 0.492442 0.713898
+v -1.661887 0.519493 0.713898
+v -1.637002 0.519493 0.720096
+v -1.637002 0.492442 0.720096
+v -1.598791 0.519493 0.566687
+v -1.598791 0.492442 0.566687
+vn 0.9704 0.0000 0.2417
+vn 0.2417 0.0000 -0.9704
+vn 0.0000 1.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn -0.2417 0.0000 0.9704
+vn -0.9704 0.0000 -0.2417
+usemtl Grass.001
+s off
+f 1258//261 1260//261 1259//261 1257//261
+f 1267//262 1258//262 1257//262 1268//262
+f 1267//263 1265//263 1260//263 1258//263
+f 1257//264 1259//264 1266//264 1268//264
+f 1260//265 1265//265 1266//265 1259//265
+usemtl Cans
+f 1265//265 1264//265 1263//265 1266//265
+f 1264//266 1262//266 1261//266 1263//266
+f 1268//264 1266//264 1263//264 1261//264
+f 1262//263 1264//263 1265//263 1267//263
+f 1262//262 1267//262 1268//262 1261//262
+o Cube.011_Cube.025
+v -2.120324 0.847893 0.904334
+v -2.120324 2.344323 0.904334
+v -2.120324 0.847893 -1.280333
+v -2.120324 2.344323 -1.280333
+v -2.004221 0.847893 0.904334
+v -2.004221 2.344323 0.904334
+v -2.004221 0.847893 -1.280333
+v -2.004221 2.344323 -1.280333
+v -2.004221 2.284755 -1.215828
+v -2.004221 0.907461 -1.215828
+v -2.004221 2.284755 0.839828
+v -2.004221 0.907461 0.839828
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 1.0000 0.0000
+usemtl TV
+s off
+f 1270//267 1272//267 1271//267 1269//267
+f 1272//268 1276//268 1275//268 1271//268
+f 1275//269 1276//269 1277//269 1278//269
+f 1274//270 1270//270 1269//270 1273//270
+f 1269//271 1271//271 1275//271 1273//271
+f 1274//272 1276//272 1272//272 1270//272
+f 1274//269 1273//269 1280//269 1279//269
+f 1273//269 1275//269 1278//269 1280//269
+f 1276//269 1274//269 1279//269 1277//269
+usemtl TV.001
+f 1277//269 1279//269 1280//269 1278//269
+o Cube.012_Cube.027
+v -2.244719 0.998951 0.128052
+v -2.120345 0.998951 0.128052
+v -2.244719 0.998951 -0.652809
+v -2.120345 0.998951 -0.652809
+v -2.244719 0.630423 0.128052
+v -2.120345 0.630423 0.128052
+v -2.244719 0.630423 -0.652809
+v -2.120345 0.630423 -0.652809
+v -2.244888 0.628901 0.128052
+v -2.244888 0.738545 0.128052
+v -2.244888 0.628901 -0.652809
+v -2.244888 0.738545 -0.652809
+v -1.876360 0.628901 0.128052
+v -1.876360 0.738545 0.128052
+v -1.876360 0.628901 -0.652809
+v -1.876360 0.738545 -0.652809
+vn 0.0000 1.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn -1.0000 0.0000 0.0000
+vn 1.0000 0.0000 0.0000
+usemtl TV_Stand
+s off
+f 1282//273 1284//273 1283//273 1281//273
+f 1284//274 1288//274 1287//274 1283//274
+f 1288//275 1286//275 1285//275 1287//275
+f 1286//276 1282//276 1281//276 1285//276
+f 1281//277 1283//277 1287//277 1285//277
+f 1286//278 1288//278 1284//278 1282//278
+f 1290//277 1292//277 1291//277 1289//277
+f 1292//274 1296//274 1295//274 1291//274
+f 1296//278 1294//278 1293//278 1295//278
+f 1294//276 1290//276 1289//276 1293//276
+f 1289//275 1291//275 1295//275 1293//275
+f 1294//273 1296//273 1292//273 1290//273
+o Cube.013_Cube.043
+v -1.355242 0.463139 0.304401
+v -1.355242 0.492242 0.304401
+v -1.355242 0.463139 0.520160
+v -1.355242 0.492242 0.520160
+v -1.691344 0.463139 0.304401
+v -1.691344 0.492242 0.304401
+v -1.691344 0.463139 0.520160
+v -1.691344 0.492242 0.520160
+v -1.576601 0.492242 0.520160
+v -1.576601 0.463139 0.520160
+v -1.576601 0.492242 0.304401
+v -1.576601 0.463139 0.304401
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 0.0000 1.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn -0.0000 0.0000 1.0000
+vn -1.0000 0.0000 0.0000
+usemtl Orange
+s off
+f 1298//279 1300//279 1299//279 1297//279
+f 1307//280 1298//280 1297//280 1308//280
+f 1307//281 1305//281 1300//281 1298//281
+f 1297//282 1299//282 1306//282 1308//282
+f 1300//283 1305//283 1306//283 1299//283
+usemtl Cans
+f 1305//283 1304//283 1303//283 1306//283
+f 1304//284 1302//284 1301//284 1303//284
+f 1308//282 1306//282 1303//282 1301//282
+f 1302//281 1304//281 1305//281 1307//281
+f 1302//280 1307//280 1308//280 1301//280
+o Cube.014_Cube.029
+v -2.237625 0.044283 0.156554
+v -2.237625 0.585207 0.156554
+v -2.237625 0.585207 0.111687
+v -2.237625 0.044283 0.111688
+v -1.624038 0.585207 0.156554
+v -1.624038 0.044283 0.156554
+v -1.624038 0.585207 0.111687
+v -1.624038 0.044283 0.111688
+vn -1.0000 0.0000 0.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 1.0000 0.0000
+vn 0.0000 -0.0000 -1.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 0.0000 1.0000
+usemtl Desk
+s off
+f 1310//285 1311//285 1312//285 1309//285
+f 1313//286 1314//286 1316//286 1315//286
+f 1311//287 1310//287 1313//287 1315//287
+f 1312//288 1311//288 1315//288 1316//288
+f 1309//289 1312//289 1316//289 1314//289
+f 1310//290 1309//290 1314//290 1313//290
+o Cube.015_Cube.030
+v -2.237625 0.368024 0.156539
+v -2.237625 0.368024 0.946936
+v -2.237625 0.434170 0.946936
+v -2.237625 0.434170 0.156539
+v -1.624038 0.368024 0.946936
+v -1.624038 0.368024 0.156539
+v -1.624038 0.434170 0.946936
+v -1.624038 0.434170 0.156539
+vn -1.0000 0.0000 0.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 1.0000 -0.0000
+vn 0.0000 0.0000 -1.0000
+vn 0.0000 -1.0000 0.0000
+usemtl Desk
+s off
+f 1318//291 1319//291 1320//291 1317//291
+f 1321//292 1322//292 1324//292 1323//292
+f 1319//293 1318//293 1321//293 1323//293
+f 1320//294 1319//294 1323//294 1324//294
+f 1317//295 1320//295 1324//295 1322//295
+f 1318//296 1317//296 1322//296 1321//296
+o Cube.016_Cube.031
+v -2.237625 0.044405 0.156539
+v -2.237625 0.044405 0.946936
+v -2.237625 0.213208 0.946936
+v -2.237625 0.213208 0.156539
+v -1.624038 0.044405 0.946936
+v -1.624038 0.044405 0.156539
+v -1.624038 0.213208 0.946936
+v -1.624038 0.213208 0.156539
+vn -1.0000 -0.0000 0.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 -0.0000 1.0000
+vn 0.0000 1.0000 -0.0000
+vn 0.0000 0.0000 -1.0000
+vn 0.0000 -1.0000 0.0000
+usemtl Desk
+s off
+f 1326//297 1327//297 1328//297 1325//297
+f 1329//298 1330//298 1332//298 1331//298
+f 1327//299 1326//299 1329//299 1331//299
+f 1328//300 1327//300 1331//300 1332//300
+f 1325//301 1328//301 1332//301 1330//301
+f 1326//302 1325//302 1330//302 1329//302
+o Cube.017_Cube.032
+v -2.237625 0.309251 -0.548186
+v -2.237625 0.309252 0.111681
+v -2.237625 0.333938 0.111681
+v -2.237625 0.333938 -0.548186
+v -1.624038 0.309252 0.111681
+v -1.624038 0.309251 -0.548186
+v -1.624038 0.333938 0.111681
+v -1.624038 0.333938 -0.548186
+vn -1.0000 0.0000 0.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 1.0000 -0.0000
+vn 0.0000 0.0000 -1.0000
+vn 0.0000 -1.0000 0.0000
+usemtl Desk
+s off
+f 1334//303 1335//303 1336//303 1333//303
+f 1337//304 1338//304 1340//304 1339//304
+f 1335//305 1334//305 1337//305 1339//305
+f 1336//306 1335//306 1339//306 1340//306
+f 1333//307 1336//307 1340//307 1338//307
+f 1334//308 1333//308 1338//308 1337//308
+o Cube.018_Cube.035
+v -1.328638 0.496729 0.632365
+v -1.328638 0.544757 0.632365
+v -1.328638 0.496729 0.471110
+v -1.328638 0.544757 0.471110
+v -1.299698 0.496729 0.632365
+v -1.299698 0.544757 0.632365
+v -1.299698 0.496729 0.471110
+v -1.299698 0.544757 0.471110
+v -1.920698 0.580165 0.940361
+v -1.920698 0.580165 0.163114
+v -1.920698 0.439212 0.940361
+v -1.920698 0.439212 0.163114
+v -1.328253 0.580165 0.940361
+v -1.328253 0.580165 0.163114
+v -1.328253 0.439212 0.940361
+v -1.328253 0.439212 0.163114
+v -1.894319 0.580165 0.914675
+v -1.894319 0.580165 0.188800
+v -1.354632 0.580165 0.914675
+v -1.354632 0.580165 0.188800
+v -1.894319 0.463628 0.914675
+v -1.894319 0.463628 0.188800
+v -1.354632 0.463628 0.914675
+v -1.354632 0.463628 0.188800
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn -1.0000 -0.0000 0.0000
+vn 0.0000 -0.0000 -1.0000
+vn 0.0000 1.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+usemtl Desk
+s off
+f 1342//309 1341//309 1343//309 1344//309
+f 1344//310 1343//310 1347//310 1348//310
+f 1348//311 1347//311 1345//311 1346//311
+f 1346//312 1345//312 1341//312 1342//312
+f 1341//313 1345//313 1347//313 1343//313
+f 1346//314 1342//314 1344//314 1348//314
+f 1349//309 1351//309 1352//309 1350//309
+f 1353//311 1354//311 1356//311 1355//311
+f 1351//312 1349//312 1353//312 1355//312
+f 1352//313 1351//313 1355//313 1356//313
+f 1350//310 1352//310 1356//310 1354//310
+f 1353//314 1349//314 1357//314 1359//314
+f 1359//310 1357//310 1361//310 1363//310
+f 1354//314 1353//314 1359//314 1360//314
+f 1349//314 1350//314 1358//314 1357//314
+f 1350//314 1354//314 1360//314 1358//314
+f 1361//314 1362//314 1364//314 1363//314
+f 1357//311 1358//311 1362//311 1361//311
+f 1358//312 1360//312 1364//312 1362//312
+f 1360//309 1359//309 1363//309 1364//309
+o Cube.019_Cube.036
+v -1.629456 0.278112 0.632365
+v -1.629456 0.326140 0.632365
+v -1.629456 0.278112 0.471110
+v -1.629456 0.326140 0.471110
+v -1.600516 0.278112 0.632365
+v -1.600516 0.326140 0.632365
+v -1.600516 0.278112 0.471110
+v -1.600516 0.326140 0.471110
+v -2.221516 0.361548 0.940361
+v -2.221516 0.361548 0.163114
+v -2.221516 0.220595 0.940361
+v -2.221516 0.220594 0.163114
+v -1.629071 0.361548 0.940361
+v -1.629071 0.361548 0.163114
+v -1.629071 0.220595 0.940361
+v -1.629071 0.220594 0.163114
+v -2.195137 0.361548 0.914675
+v -2.195137 0.361548 0.188800
+v -1.655450 0.361548 0.914675
+v -1.655450 0.361548 0.188800
+v -2.195137 0.245011 0.914675
+v -2.195137 0.245010 0.188800
+v -1.655450 0.245011 0.914675
+v -1.655450 0.245010 0.188800
+vn 1.0000 -0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn -1.0000 -0.0000 0.0000
+vn 0.0000 -0.0000 -1.0000
+vn 0.0000 1.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+usemtl Desk
+s off
+f 1366//315 1365//315 1367//315 1368//315
+f 1368//316 1367//316 1371//316 1372//316
+f 1372//317 1371//317 1369//317 1370//317
+f 1370//318 1369//318 1365//318 1366//318
+f 1365//319 1369//319 1371//319 1367//319
+f 1370//320 1366//320 1368//320 1372//320
+f 1373//315 1375//315 1376//315 1374//315
+f 1377//317 1378//317 1380//317 1379//317
+f 1375//318 1373//318 1377//318 1379//318
+f 1376//319 1375//319 1379//319 1380//319
+f 1374//316 1376//316 1380//316 1378//316
+f 1377//320 1373//320 1381//320 1383//320
+f 1383//316 1381//316 1385//316 1387//316
+f 1378//320 1377//320 1383//320 1384//320
+f 1373//320 1374//320 1382//320 1381//320
+f 1374//320 1378//320 1384//320 1382//320
+f 1385//320 1386//320 1388//320 1387//320
+f 1381//317 1382//317 1386//317 1385//317
+f 1382//318 1384//318 1388//318 1386//318
+f 1384//315 1383//315 1387//315 1388//315
+o Cube.020_Cube.037
+v -1.624715 0.253253 -0.660351
+v -1.624715 0.410954 -0.660351
+v -1.624715 0.253253 -0.722036
+v -1.624715 0.410954 -0.722036
+v -1.578045 0.253253 -0.660351
+v -1.578045 0.410954 -0.660351
+v -1.578045 0.253253 -0.722036
+v -1.578045 0.410954 -0.722036
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 1.0000 0.0000
+usemtl Desk
+s off
+f 1390//321 1392//321 1391//321 1389//321
+f 1392//322 1396//322 1395//322 1391//322
+f 1396//323 1394//323 1393//323 1395//323
+f 1394//324 1390//324 1389//324 1393//324
+f 1389//325 1391//325 1395//325 1393//325
+f 1394//326 1396//326 1392//326 1390//326
+o Cube.021_Cube.038
+v -0.623114 0.697434 -0.102220
+v -0.623114 0.713724 -0.102220
+v -0.623114 0.697434 -0.232552
+v -0.623114 0.713724 -0.232552
+v -0.606825 0.697434 -0.102220
+v -0.606825 0.713724 -0.102220
+v -0.606825 0.697434 -0.232552
+v -0.606825 0.713724 -0.232552
+v -0.627964 0.713707 -0.251985
+v -0.627964 0.697418 -0.251985
+v -0.613330 0.713707 -0.259140
+v -0.613330 0.697418 -0.259140
+v -0.637321 0.713707 -0.267860
+v -0.637321 0.697418 -0.267860
+v -0.625816 0.713707 -0.279391
+v -0.625816 0.697418 -0.279391
+v -0.650114 0.713707 -0.276896
+v -0.650114 0.697418 -0.276896
+v -0.650114 0.713707 -0.293186
+v -0.650114 0.697418 -0.293186
+v -0.839167 0.713707 -0.276896
+v -0.839167 0.697418 -0.276896
+v -0.839167 0.713707 -0.293186
+v -0.839167 0.697418 -0.293186
+v -0.870499 0.713707 -0.266735
+v -0.870499 0.697418 -0.266735
+v -0.880999 0.713707 -0.279189
+v -0.880999 0.697418 -0.279189
+v -0.894377 0.713707 -0.246527
+v -0.894377 0.697418 -0.246527
+v -0.909988 0.713707 -0.251181
+v -0.909988 0.697418 -0.251181
+v -0.905676 0.713707 -0.209815
+v -0.905676 0.697418 -0.209815
+v -0.921966 0.713707 -0.209815
+v -0.921966 0.697418 -0.209815
+v -0.905676 0.713707 0.332567
+v -0.905676 0.697418 0.332567
+v -0.921966 0.713707 0.332567
+v -0.921966 0.697418 0.332567
+v -0.905676 0.713707 0.349169
+v -0.905676 0.697418 0.349169
+v -0.921966 0.713707 0.349169
+v -0.921966 0.697418 0.349169
+v -0.905676 0.000032 0.332567
+v -0.921966 0.000032 0.332567
+v -0.905676 0.000032 0.349169
+v -0.921966 0.000032 0.349169
+v -0.921966 0.015725 0.349169
+v -0.905676 0.015725 0.349169
+v -0.921966 0.015725 0.332567
+v -0.905676 0.015725 0.332567
+v -0.905676 0.000032 0.687461
+v -0.921966 0.000032 0.687461
+v -0.921966 0.015725 0.687461
+v -0.905676 0.015725 0.687461
+v -0.908482 0.000032 0.715689
+v -0.923041 0.000032 0.708382
+v -0.923041 0.015725 0.708382
+v -0.908482 0.015725 0.715689
+v -0.921373 0.000032 0.742669
+v -0.932223 0.000032 0.730518
+v -0.932223 0.015725 0.730518
+v -0.921373 0.015725 0.742669
+v -0.946950 0.000032 0.760715
+v -0.946950 0.000032 0.744427
+v -0.946950 0.015725 0.744427
+v -0.946950 0.015725 0.760715
+v -1.331554 0.000032 0.760715
+v -1.331554 0.000032 0.744427
+v -1.331554 0.015725 0.744427
+v -1.331554 0.015725 0.760715
+v -1.362516 0.000032 0.743395
+v -1.351148 0.000032 0.731730
+v -1.351148 0.015725 0.731730
+v -1.362516 0.015725 0.743395
+v -1.384192 0.000032 0.715716
+v -1.368172 0.000032 0.712775
+v -1.368172 0.015725 0.712775
+v -1.384192 0.015725 0.715716
+v -1.390543 0.000032 0.680389
+v -1.374254 0.000032 0.680389
+v -1.374254 0.015725 0.680389
+v -1.390543 0.015725 0.680389
+v -1.390543 0.000032 0.077658
+v -1.374254 0.000032 0.077658
+v -1.374254 0.015725 0.077658
+v -1.390543 0.015725 0.077658
+v -1.394566 0.000032 0.044409
+v -1.380094 0.000032 0.036934
+v -1.380094 0.015725 0.036934
+v -1.394566 0.015725 0.044409
+v -1.410665 0.000032 0.026212
+v -1.403691 0.000032 0.011492
+v -1.403691 0.015725 0.011492
+v -1.410665 0.015725 0.026212
+v -1.443622 0.000032 0.000740
+v -1.429488 0.000032 -0.007355
+v -1.429488 0.015725 -0.007355
+v -1.443622 0.015725 0.000740
+v -1.462716 0.000032 -0.034686
+v -1.446429 0.000032 -0.034848
+v -1.446429 0.015725 -0.034848
+v -1.462716 0.015725 -0.034686
+v -1.467729 0.000032 -0.117973
+v -1.453585 0.000032 -0.126052
+v -1.453585 0.015725 -0.126052
+v -1.467729 0.015725 -0.117973
+v -1.484190 0.000032 -0.138190
+v -1.476984 0.000032 -0.152798
+v -1.476984 0.015725 -0.152798
+v -1.484190 0.015725 -0.138190
+v -1.507941 0.000032 -0.149854
+v -1.507941 0.000032 -0.166143
+v -1.507941 0.015725 -0.166143
+v -1.507941 0.015725 -0.149854
+v -1.607782 0.000032 -0.149854
+v -1.607782 0.000032 -0.166143
+v -1.607782 0.015725 -0.166143
+v -1.607782 0.015725 -0.149854
+v -1.623109 0.000032 -0.149854
+v -1.623109 0.000032 -0.166143
+v -1.623109 0.015725 -0.166143
+v -1.623109 0.015725 -0.149854
+v -1.607782 0.333672 -0.166143
+v -1.607782 0.333672 -0.149854
+v -1.623109 0.333672 -0.166143
+v -1.623109 0.333672 -0.149854
+v -1.607782 0.348607 -0.166143
+v -1.607782 0.348607 -0.149854
+v -1.623109 0.348607 -0.166143
+v -1.623109 0.348607 -0.149854
+v -1.745184 0.333672 -0.166143
+v -1.745184 0.333672 -0.149854
+v -1.745184 0.348607 -0.166143
+v -1.745184 0.348607 -0.149854
+v -1.757382 0.333672 -0.171999
+v -1.768113 0.333672 -0.159745
+v -1.757382 0.348607 -0.171999
+v -1.768113 0.348607 -0.159745
+v -1.762961 0.333672 -0.183568
+v -1.779250 0.333672 -0.183568
+v -1.762961 0.348607 -0.183568
+v -1.779250 0.348607 -0.183568
+v -1.762961 0.333672 -0.376474
+v -1.779250 0.333672 -0.376474
+v -1.762961 0.348607 -0.376474
+v -1.779250 0.348607 -0.376474
+v -1.773584 0.333672 -0.400031
+v -1.785363 0.333672 -0.388781
+v -1.773584 0.348607 -0.400031
+v -1.785363 0.348607 -0.388781
+v -1.796381 0.333672 -0.414673
+v -1.796381 0.333672 -0.398385
+v -1.796381 0.348607 -0.414673
+v -1.796381 0.348607 -0.398385
+v -2.015355 0.333672 -0.414673
+v -2.015355 0.333672 -0.398385
+v -2.015355 0.348607 -0.414673
+v -2.015355 0.348607 -0.398385
+vn -1.0000 0.0000 0.0000
+vn 0.9714 0.0000 -0.2377
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 1.0000 0.0000
+vn 0.8512 0.0000 -0.5248
+vn 0.0002 -1.0000 0.0007
+vn -0.0002 1.0000 -0.0007
+vn -0.9702 0.0000 0.2421
+vn -0.8615 0.0000 0.5078
+vn 0.0000 0.0000 -1.0000
+vn 0.4937 0.0000 -0.8696
+vn -0.5770 0.0000 0.8168
+vn -0.3173 0.0000 -0.9483
+vn 0.3085 0.0000 0.9512
+vn -0.9605 0.0000 -0.2781
+vn -0.6948 0.0000 -0.7192
+vn 0.6460 0.0000 0.7633
+vn 0.9558 0.0000 0.2942
+vn 0.9951 0.0000 0.0989
+vn -0.9237 0.0000 -0.3831
+vn -0.9987 0.0000 -0.0513
+vn 0.9023 0.0000 0.4311
+vn 0.5765 0.0000 0.8171
+vn -0.6866 0.0000 -0.7270
+vn 0.5438 0.0000 -0.8392
+vn -0.7873 0.0000 0.6166
+vn -0.4882 0.0000 0.8727
+vn -0.9842 0.0000 0.1769
+vn 0.7440 0.0000 -0.6682
+vn 0.9828 0.0000 -0.1846
+vn -0.9928 0.0000 0.1201
+vn 0.9899 0.0000 -0.1420
+vn 0.5899 0.0000 -0.8075
+vn 0.7332 0.0000 -0.6800
+vn -0.7490 0.0000 0.6626
+vn -0.8803 0.0000 0.4745
+vn -0.6115 0.0000 0.7912
+vn 0.9969 0.0000 -0.0782
+vn 0.8513 0.0000 -0.5246
+vn -0.9982 0.0000 0.0601
+vn -0.4408 0.0000 0.8976
+vn -0.7755 0.0000 0.6314
+vn 0.7526 0.0000 -0.6584
+vn 0.3959 0.0000 -0.9183
+vn -0.3961 0.0000 0.9182
+vn 0.4328 0.0000 -0.9015
+vn 0.9007 0.0000 -0.4344
+vn -0.9059 0.0000 0.4235
+vn -0.8956 0.0000 0.4449
+vn 0.5404 0.0000 -0.8414
+vn 0.9116 0.0000 -0.4111
+vn -0.6571 0.0000 0.7538
+usemtl Wires
+s off
+f 1398//327 1400//327 1399//327 1397//327
+f 1404//328 1403//328 1408//328 1407//328
+f 1404//329 1402//329 1401//329 1403//329
+f 1402//330 1398//330 1397//330 1401//330
+f 1397//331 1399//331 1403//331 1401//331
+f 1402//332 1404//332 1400//332 1398//332
+f 1407//333 1408//333 1412//333 1411//333
+f 1403//334 1399//334 1406//334 1408//334
+f 1400//335 1404//335 1407//335 1405//335
+f 1399//336 1400//336 1405//336 1406//336
+f 1412//331 1410//331 1414//331 1416//331
+f 1406//337 1405//337 1409//337 1410//337
+f 1408//331 1406//331 1410//331 1412//331
+f 1405//332 1407//332 1411//332 1409//332
+f 1415//338 1416//338 1420//338 1419//338
+f 1409//332 1411//332 1415//332 1413//332
+f 1411//339 1412//339 1416//339 1415//339
+f 1410//340 1409//340 1413//340 1414//340
+f 1419//341 1420//341 1424//341 1423//341
+f 1414//330 1413//330 1417//330 1418//330
+f 1416//331 1414//331 1418//331 1420//331
+f 1413//332 1415//332 1419//332 1417//332
+f 1424//331 1422//331 1426//331 1428//331
+f 1418//342 1417//342 1421//342 1422//342
+f 1420//331 1418//331 1422//331 1424//331
+f 1417//332 1419//332 1423//332 1421//332
+f 1427//343 1428//343 1432//343 1431//343
+f 1421//332 1423//332 1427//332 1425//332
+f 1423//344 1424//344 1428//344 1427//344
+f 1422//345 1421//345 1425//345 1426//345
+f 1430//329 1429//329 1433//329 1434//329
+f 1426//346 1425//346 1429//346 1430//346
+f 1428//331 1426//331 1430//331 1432//331
+f 1425//332 1427//332 1431//332 1429//332
+f 1436//338 1434//338 1448//338 1447//338
+f 1432//331 1430//331 1434//331 1436//331
+f 1429//332 1431//332 1435//332 1433//332
+f 1431//327 1432//327 1436//327 1435//327
+f 1437//330 1439//330 1440//330 1438//330
+f 1433//332 1435//332 1439//332 1437//332
+f 1435//327 1436//327 1440//327 1439//327
+f 1434//329 1433//329 1437//329 1438//329
+f 1442//331 1441//331 1443//331 1444//331
+f 1434//329 1438//329 1446//329 1448//329
+f 1448//329 1446//329 1443//329 1441//329
+f 1444//331 1443//331 1449//331 1450//331
+f 1438//330 1440//330 1445//330 1446//330
+f 1440//327 1436//327 1447//327 1445//327
+f 1447//338 1448//338 1441//338 1442//338
+f 1445//327 1447//327 1442//327 1444//327
+f 1449//347 1452//347 1456//347 1453//347
+f 1446//332 1445//332 1451//332 1452//332
+f 1445//327 1444//327 1450//327 1451//327
+f 1443//329 1446//329 1452//329 1449//329
+f 1455//348 1454//348 1458//348 1459//348
+f 1452//332 1451//332 1455//332 1456//332
+f 1451//349 1450//349 1454//349 1455//349
+f 1450//331 1449//331 1453//331 1454//331
+f 1458//331 1457//331 1461//331 1462//331
+f 1454//331 1453//331 1457//331 1458//331
+f 1453//350 1456//350 1460//350 1457//350
+f 1456//332 1455//332 1459//332 1460//332
+f 1461//330 1464//330 1468//330 1465//330
+f 1457//351 1460//351 1464//351 1461//351
+f 1460//332 1459//332 1463//332 1464//332
+f 1459//352 1458//352 1462//352 1463//352
+f 1467//353 1466//353 1470//353 1471//353
+f 1464//332 1463//332 1467//332 1468//332
+f 1463//338 1462//338 1466//338 1467//338
+f 1462//331 1461//331 1465//331 1466//331
+f 1469//354 1472//354 1476//354 1473//354
+f 1466//331 1465//331 1469//331 1470//331
+f 1465//355 1468//355 1472//355 1469//355
+f 1468//332 1467//332 1471//332 1472//332
+f 1473//356 1476//356 1480//356 1477//356
+f 1472//332 1471//332 1475//332 1476//332
+f 1471//357 1470//357 1474//357 1475//357
+f 1470//331 1469//331 1473//331 1474//331
+f 1479//329 1478//329 1482//329 1483//329
+f 1476//332 1475//332 1479//332 1480//332
+f 1475//358 1474//358 1478//358 1479//358
+f 1474//331 1473//331 1477//331 1478//331
+f 1481//359 1484//359 1488//359 1485//359
+f 1478//331 1477//331 1481//331 1482//331
+f 1477//327 1480//327 1484//327 1481//327
+f 1480//332 1479//332 1483//332 1484//332
+f 1488//332 1487//332 1491//332 1492//332
+f 1484//332 1483//332 1487//332 1488//332
+f 1483//360 1482//360 1486//360 1487//360
+f 1482//331 1481//331 1485//331 1486//331
+f 1491//361 1490//361 1494//361 1495//361
+f 1487//362 1486//362 1490//362 1491//362
+f 1486//331 1485//331 1489//331 1490//331
+f 1485//363 1488//363 1492//363 1489//363
+f 1493//364 1496//364 1500//364 1497//364
+f 1490//331 1489//331 1493//331 1494//331
+f 1489//365 1492//365 1496//365 1493//365
+f 1492//332 1491//332 1495//332 1496//332
+f 1499//366 1498//366 1502//366 1503//366
+f 1496//332 1495//332 1499//332 1500//332
+f 1495//367 1494//367 1498//367 1499//367
+f 1494//331 1493//331 1497//331 1498//331
+f 1502//331 1501//331 1505//331 1506//331
+f 1498//331 1497//331 1501//331 1502//331
+f 1497//368 1500//368 1504//368 1501//368
+f 1500//332 1499//332 1503//332 1504//332
+f 1505//369 1508//369 1512//369 1509//369
+f 1501//370 1504//370 1508//370 1505//370
+f 1504//332 1503//332 1507//332 1508//332
+f 1503//371 1502//371 1506//371 1507//371
+f 1511//338 1510//338 1514//338 1515//338
+f 1508//332 1507//332 1511//332 1512//332
+f 1507//372 1506//372 1510//372 1511//372
+f 1506//331 1505//331 1509//331 1510//331
+f 1513//330 1516//330 1520//330 1517//330
+f 1510//331 1509//331 1513//331 1514//331
+f 1509//330 1512//330 1516//330 1513//330
+f 1512//332 1511//332 1515//332 1516//332
+f 1520//327 1519//327 1518//327 1517//327
+f 1519//327 1520//327 1524//327 1523//327
+f 1515//338 1514//338 1518//338 1519//338
+f 1514//331 1513//331 1517//331 1518//331
+f 1521//338 1523//338 1527//338 1525//338
+f 1516//329 1515//329 1521//329 1522//329
+f 1515//338 1519//338 1523//338 1521//338
+f 1520//330 1516//330 1522//330 1524//330
+f 1526//332 1525//332 1527//332 1528//332
+f 1524//330 1528//330 1532//330 1530//330
+f 1524//330 1522//330 1526//330 1528//330
+f 1522//329 1521//329 1525//329 1526//329
+f 1530//373 1532//373 1536//373 1534//373
+f 1523//331 1524//331 1530//331 1529//331
+f 1527//338 1523//338 1529//338 1531//338
+f 1528//332 1527//332 1531//332 1532//332
+f 1536//332 1535//332 1539//332 1540//332
+f 1532//332 1531//332 1535//332 1536//332
+f 1531//374 1529//374 1533//374 1535//374
+f 1529//331 1530//331 1534//331 1533//331
+f 1539//329 1537//329 1541//329 1543//329
+f 1535//375 1533//375 1537//375 1539//375
+f 1533//331 1534//331 1538//331 1537//331
+f 1534//376 1536//376 1540//376 1538//376
+f 1542//377 1544//377 1548//377 1546//377
+f 1537//331 1538//331 1542//331 1541//331
+f 1538//327 1540//327 1544//327 1542//327
+f 1540//332 1539//332 1543//332 1544//332
+f 1547//378 1545//378 1549//378 1551//378
+f 1544//332 1543//332 1547//332 1548//332
+f 1543//379 1541//379 1545//379 1547//379
+f 1541//331 1542//331 1546//331 1545//331
+f 1551//338 1549//338 1553//338 1555//338
+f 1545//331 1546//331 1550//331 1549//331
+f 1546//380 1548//380 1552//380 1550//380
+f 1548//332 1547//332 1551//332 1552//332
+f 1553//327 1554//327 1556//327 1555//327
+f 1549//331 1550//331 1554//331 1553//331
+f 1550//330 1552//330 1556//330 1554//330
+f 1552//332 1551//332 1555//332 1556//332
+o Cube.023_Cube.039
+v -0.487710 0.713707 -0.568514
+v -0.487710 0.697418 -0.568514
+v -0.487710 0.713707 -0.584804
+v -0.487710 0.697418 -0.584804
+v -0.796025 0.713707 -0.568514
+v -0.796025 0.697418 -0.568514
+v -0.796025 0.713707 -0.584804
+v -0.796025 0.697418 -0.584804
+v -0.827357 0.713707 -0.558353
+v -0.827357 0.697418 -0.558353
+v -0.837857 0.713707 -0.570807
+v -0.837857 0.697418 -0.570807
+v -0.851235 0.713707 -0.538145
+v -0.851235 0.697418 -0.538145
+v -0.866846 0.713707 -0.542799
+v -0.866846 0.697418 -0.542799
+v -0.862534 0.713707 -0.501433
+v -0.862534 0.697418 -0.501433
+v -0.878824 0.713707 -0.501433
+v -0.878824 0.697418 -0.501433
+v -0.862534 0.713707 0.332567
+v -0.862534 0.697418 0.332567
+v -0.878824 0.713707 0.332567
+v -0.878824 0.697418 0.332567
+v -0.862534 0.713707 0.349169
+v -0.862534 0.697418 0.349169
+v -0.878824 0.713707 0.349169
+v -0.878824 0.697418 0.349169
+v -0.862534 0.000032 0.332567
+v -0.878824 0.000032 0.332567
+v -0.862534 0.000032 0.349169
+v -0.878824 0.000032 0.349169
+v -0.878824 0.015725 0.349169
+v -0.862534 0.015725 0.349169
+v -0.878824 0.015725 0.332567
+v -0.862534 0.015725 0.332567
+v -0.862534 0.000032 0.568607
+v -0.878824 0.000032 0.568607
+v -0.878824 0.015725 0.568607
+v -0.862534 0.015725 0.568607
+v -0.865339 0.000032 0.596835
+v -0.879898 0.000032 0.589528
+v -0.879898 0.015725 0.589528
+v -0.865339 0.015725 0.596835
+v -0.878231 0.000032 0.623815
+v -0.889080 0.000032 0.611664
+v -0.889080 0.015725 0.611664
+v -0.878231 0.015725 0.623815
+v -0.903808 0.000032 0.641862
+v -0.903808 0.000032 0.625573
+v -0.903808 0.015725 0.625573
+v -0.903808 0.015725 0.641862
+v -1.451787 0.000032 0.641862
+v -1.451787 0.000032 0.625573
+v -1.451787 0.015725 0.625573
+v -1.451787 0.015725 0.641862
+v -1.482749 0.000032 0.624541
+v -1.471380 0.000032 0.612876
+v -1.471380 0.015725 0.612876
+v -1.482749 0.015725 0.624541
+v -1.504425 0.000032 0.596863
+v -1.488404 0.000032 0.593921
+v -1.488404 0.015725 0.593921
+v -1.504425 0.015725 0.596863
+v -1.510775 0.000032 0.561535
+v -1.494487 0.000032 0.561535
+v -1.494487 0.015725 0.561535
+v -1.510775 0.015725 0.561535
+v -1.510775 0.000032 -0.007571
+v -1.494487 0.000032 -0.007571
+v -1.494487 0.015725 -0.007571
+v -1.510775 0.015725 -0.007571
+v -1.609217 0.015725 -0.046758
+v -1.609217 0.000032 -0.046758
+v -1.609217 0.000032 -0.063047
+v -1.609217 0.015725 -0.063047
+v -1.624545 0.000032 -0.046758
+v -1.624545 0.000032 -0.063047
+v -1.624545 0.015725 -0.063047
+v -1.624545 0.015725 -0.046758
+v -1.609217 0.333735 -0.063047
+v -1.609217 0.333735 -0.046758
+v -1.624545 0.333735 -0.063047
+v -1.624545 0.333735 -0.046758
+v -1.609217 0.348670 -0.063047
+v -1.609217 0.348670 -0.046758
+v -1.624545 0.348670 -0.063047
+v -1.624545 0.348670 -0.046758
+v -1.640092 0.333735 -0.063047
+v -1.640092 0.333735 -0.046758
+v -1.640092 0.348670 -0.063047
+v -1.640092 0.348670 -0.046758
+v -1.652289 0.333735 -0.068902
+v -1.663020 0.333735 -0.056648
+v -1.652289 0.348670 -0.068902
+v -1.663020 0.348670 -0.056648
+v -1.657868 0.333735 -0.080472
+v -1.674157 0.333735 -0.080472
+v -1.657868 0.348670 -0.080472
+v -1.674157 0.348670 -0.080472
+v -1.657868 0.333735 -0.290746
+v -1.674157 0.333735 -0.290746
+v -1.657868 0.348670 -0.290746
+v -1.674157 0.348670 -0.290746
+v -1.668491 0.333735 -0.314303
+v -1.680270 0.333735 -0.303053
+v -1.668491 0.348670 -0.314303
+v -1.680270 0.348670 -0.303053
+v -1.691288 0.333735 -0.328945
+v -1.691288 0.333735 -0.312657
+v -1.691288 0.348670 -0.328945
+v -1.691288 0.348670 -0.312657
+v -1.910262 0.333735 -0.328945
+v -1.910262 0.333735 -0.312657
+v -1.910262 0.348670 -0.328945
+v -1.910262 0.348670 -0.312657
+v -1.498646 0.015725 -0.029167
+v -1.514198 0.015725 -0.024321
+v -1.498646 0.000032 -0.029167
+v -1.514198 0.000032 -0.024321
+v -1.513572 0.015725 -0.053293
+v -1.522464 0.015725 -0.039646
+v -1.513572 0.000032 -0.053293
+v -1.522464 0.000032 -0.039646
+v -1.531024 0.015725 -0.063086
+v -1.531024 0.015725 -0.046798
+v -1.531024 0.000032 -0.063086
+v -1.531024 0.000032 -0.046798
+vn 0.0000 0.0000 -1.0000
+vn 1.0000 0.0000 0.0000
+vn -0.3173 0.0000 -0.9483
+vn 0.0000 0.0000 1.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 1.0000 0.0000
+vn 0.3085 0.0000 0.9512
+vn -0.9605 0.0000 -0.2781
+vn -0.6948 0.0000 -0.7192
+vn 0.6460 0.0000 0.7633
+vn 0.9558 0.0000 0.2942
+vn -1.0000 0.0000 0.0000
+vn 0.9951 0.0000 0.0989
+vn -0.9237 0.0000 -0.3831
+vn -0.9987 0.0000 -0.0513
+vn 0.9023 0.0000 0.4311
+vn 0.5765 0.0000 0.8171
+vn -0.6866 0.0000 -0.7270
+vn 0.5438 0.0000 -0.8392
+vn -0.7873 0.0000 0.6166
+vn -0.4882 0.0000 0.8727
+vn -0.9842 0.0000 0.1769
+vn 0.7440 0.0000 -0.6682
+vn 0.9828 0.0000 -0.1846
+vn -0.3961 0.0000 0.9182
+vn 0.4328 0.0000 -0.9015
+vn 0.9007 0.0000 -0.4344
+vn -0.9059 0.0000 0.4235
+vn -0.8956 0.0000 0.4449
+vn 0.5404 0.0000 -0.8414
+vn 0.9116 0.0000 -0.4111
+vn -0.6571 0.0000 0.7538
+vn 0.9819 0.0000 -0.1892
+vn -0.9798 0.0000 0.2002
+vn -0.6412 0.0000 0.7674
+vn -0.8801 0.0000 0.4747
+vn 0.8504 0.0000 -0.5261
+vn 0.4894 0.0000 -0.8721
+vn 0.0005 0.0000 1.0000
+vn -0.0005 0.0000 -1.0000
+usemtl Wires
+s off
+f 1559//381 1560//381 1564//381 1563//381
+f 1558//382 1560//382 1559//382 1557//382
+f 1563//383 1564//383 1568//383 1567//383
+f 1558//384 1557//384 1561//384 1562//384
+f 1560//385 1558//385 1562//385 1564//385
+f 1557//386 1559//386 1563//386 1561//386
+f 1568//385 1566//385 1570//385 1572//385
+f 1562//387 1561//387 1565//387 1566//387
+f 1564//385 1562//385 1566//385 1568//385
+f 1561//386 1563//386 1567//386 1565//386
+f 1571//388 1572//388 1576//388 1575//388
+f 1565//386 1567//386 1571//386 1569//386
+f 1567//389 1568//389 1572//389 1571//389
+f 1566//390 1565//390 1569//390 1570//390
+f 1574//382 1573//382 1577//382 1578//382
+f 1570//391 1569//391 1573//391 1574//391
+f 1572//385 1570//385 1574//385 1576//385
+f 1569//386 1571//386 1575//386 1573//386
+f 1580//381 1578//381 1592//381 1591//381
+f 1576//385 1574//385 1578//385 1580//385
+f 1573//386 1575//386 1579//386 1577//386
+f 1575//392 1576//392 1580//392 1579//392
+f 1581//384 1583//384 1584//384 1582//384
+f 1577//386 1579//386 1583//386 1581//386
+f 1579//392 1580//392 1584//392 1583//392
+f 1578//382 1577//382 1581//382 1582//382
+f 1586//385 1585//385 1587//385 1588//385
+f 1578//382 1582//382 1590//382 1592//382
+f 1592//382 1590//382 1587//382 1585//382
+f 1588//385 1587//385 1593//385 1594//385
+f 1582//384 1584//384 1589//384 1590//384
+f 1584//392 1580//392 1591//392 1589//392
+f 1591//381 1592//381 1585//381 1586//381
+f 1589//392 1591//392 1586//392 1588//392
+f 1593//393 1596//393 1600//393 1597//393
+f 1590//386 1589//386 1595//386 1596//386
+f 1589//392 1588//392 1594//392 1595//392
+f 1587//382 1590//382 1596//382 1593//382
+f 1599//394 1598//394 1602//394 1603//394
+f 1596//386 1595//386 1599//386 1600//386
+f 1595//395 1594//395 1598//395 1599//395
+f 1594//385 1593//385 1597//385 1598//385
+f 1602//385 1601//385 1605//385 1606//385
+f 1598//385 1597//385 1601//385 1602//385
+f 1597//396 1600//396 1604//396 1601//396
+f 1600//386 1599//386 1603//386 1604//386
+f 1605//384 1608//384 1612//384 1609//384
+f 1601//397 1604//397 1608//397 1605//397
+f 1604//386 1603//386 1607//386 1608//386
+f 1603//398 1602//398 1606//398 1607//398
+f 1611//399 1610//399 1614//399 1615//399
+f 1608//386 1607//386 1611//386 1612//386
+f 1607//381 1606//381 1610//381 1611//381
+f 1606//385 1605//385 1609//385 1610//385
+f 1613//400 1616//400 1620//400 1617//400
+f 1610//385 1609//385 1613//385 1614//385
+f 1609//401 1612//401 1616//401 1613//401
+f 1612//386 1611//386 1615//386 1616//386
+f 1617//402 1620//402 1624//402 1621//402
+f 1616//386 1615//386 1619//386 1620//386
+f 1615//403 1614//403 1618//403 1619//403
+f 1614//385 1613//385 1617//385 1618//385
+f 1623//382 1622//382 1626//382 1627//382
+f 1620//386 1619//386 1623//386 1624//386
+f 1619//404 1618//404 1622//404 1623//404
+f 1618//385 1617//385 1621//385 1622//385
+f 1622//385 1621//385 1625//385 1626//385
+f 1621//392 1624//392 1628//392 1625//392
+f 1624//386 1623//386 1627//386 1628//386
+f 1636//384 1629//384 1638//384 1640//384
+f 1629//384 1636//384 1633//384 1630//384
+f 1629//382 1632//382 1637//382 1638//382
+f 1636//392 1635//392 1634//392 1633//392
+f 1635//392 1636//392 1640//392 1639//392
+f 1632//381 1631//381 1634//381 1635//381
+f 1631//385 1630//385 1633//385 1634//385
+f 1637//381 1639//381 1643//381 1641//381
+f 1632//381 1635//381 1639//381 1637//381
+f 1642//386 1641//386 1643//386 1644//386
+f 1640//384 1644//384 1648//384 1646//384
+f 1640//384 1638//384 1642//384 1644//384
+f 1638//382 1637//382 1641//382 1642//382
+f 1646//405 1648//405 1652//405 1650//405
+f 1639//385 1640//385 1646//385 1645//385
+f 1643//381 1639//381 1645//381 1647//381
+f 1644//386 1643//386 1647//386 1648//386
+f 1652//386 1651//386 1655//386 1656//386
+f 1648//386 1647//386 1651//386 1652//386
+f 1647//406 1645//406 1649//406 1651//406
+f 1645//385 1646//385 1650//385 1649//385
+f 1655//382 1653//382 1657//382 1659//382
+f 1651//407 1649//407 1653//407 1655//407
+f 1649//385 1650//385 1654//385 1653//385
+f 1650//408 1652//408 1656//408 1654//408
+f 1658//409 1660//409 1664//409 1662//409
+f 1653//385 1654//385 1658//385 1657//385
+f 1654//392 1656//392 1660//392 1658//392
+f 1656//386 1655//386 1659//386 1660//386
+f 1663//410 1661//410 1665//410 1667//410
+f 1660//386 1659//386 1663//386 1664//386
+f 1659//411 1657//411 1661//411 1663//411
+f 1657//385 1658//385 1662//385 1661//385
+f 1667//381 1665//381 1669//381 1671//381
+f 1661//385 1662//385 1666//385 1665//385
+f 1662//412 1664//412 1668//412 1666//412
+f 1664//386 1663//386 1667//386 1668//386
+f 1669//392 1670//392 1672//392 1671//392
+f 1665//385 1666//385 1670//385 1669//385
+f 1666//384 1668//384 1672//384 1670//384
+f 1668//386 1667//386 1671//386 1672//386
+f 1627//413 1626//413 1675//413 1673//413
+f 1675//385 1676//385 1680//385 1679//385
+f 1626//385 1625//385 1676//385 1675//385
+f 1625//414 1628//414 1674//414 1676//414
+f 1628//386 1627//386 1673//386 1674//386
+f 1680//415 1678//415 1682//415 1684//415
+f 1676//416 1674//416 1678//416 1680//416
+f 1674//386 1673//386 1677//386 1678//386
+f 1673//417 1675//417 1679//417 1677//417
+f 1678//386 1677//386 1681//386 1682//386
+f 1677//418 1679//418 1683//418 1681//418
+f 1679//385 1680//385 1684//385 1683//385
+f 1630//385 1631//385 1683//385 1684//385
+f 1630//419 1684//419 1682//419 1629//419
+f 1631//420 1632//420 1681//420 1683//420
+f 1629//386 1682//386 1681//386 1632//386
+o Cube.024_Cube.040
+v 1.471484 1.202040 1.298473
+v 1.471484 1.223439 1.277073
+v 1.467749 1.202040 1.277073
+v 1.802363 1.202040 1.298473
+v 1.806098 1.202040 1.277073
+v 1.802363 1.223439 1.277073
+v 1.471484 1.202040 -0.152706
+v 1.467749 1.202040 -0.131307
+v 1.471484 1.223439 -0.131307
+v 1.806098 1.202040 -0.131307
+v 1.802363 1.202040 -0.152706
+v 1.802363 1.223439 -0.131307
+v 1.471484 0.612235 1.298473
+v 1.467750 0.612235 1.277073
+v 1.471484 0.590836 1.277073
+v 1.806098 0.612235 1.277073
+v 1.802363 0.612235 1.298473
+v 1.802363 0.590836 1.277073
+v 1.471484 0.590836 -0.131307
+v 1.467750 0.612235 -0.131307
+v 1.471484 0.612235 -0.152706
+v 1.806098 0.612235 -0.131307
+v 1.802363 0.590836 -0.131307
+v 1.802363 0.612235 -0.152706
+v 1.471484 1.202040 -1.631259
+v 1.467749 1.202040 -1.609859
+v 1.471484 1.223439 -1.609859
+v 1.802363 1.202040 -1.631259
+v 1.802363 1.223439 -1.609859
+v 1.806098 1.202040 -1.609859
+v 1.471484 1.202040 -0.180080
+v 1.471484 1.223439 -0.201479
+v 1.467749 1.202040 -0.201479
+v 1.806098 1.202040 -0.201479
+v 1.802363 1.223439 -0.201479
+v 1.802363 1.202040 -0.180080
+v 1.471484 0.612235 -1.631259
+v 1.471484 0.590836 -1.609859
+v 1.467750 0.612235 -1.609859
+v 1.806098 0.612235 -1.609859
+v 1.802363 0.590836 -1.609859
+v 1.802363 0.612235 -1.631259
+v 1.471484 0.590836 -0.201479
+v 1.471484 0.612235 -0.180080
+v 1.467750 0.612235 -0.201479
+v 1.806098 0.612235 -0.201479
+v 1.802363 0.612235 -0.180080
+v 1.802363 0.590836 -0.201479
+vn -1.0000 0.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 1.0000 0.0000
+vn -0.9709 0.1694 0.1694
+vn 0.9709 0.1694 0.1694
+vn -0.9709 0.1694 -0.1694
+vn 0.9709 0.1694 -0.1694
+vn -0.9709 -0.1694 0.1694
+vn 0.9709 -0.1694 0.1694
+vn -0.9709 -0.1694 -0.1694
+vn 0.9709 -0.1694 -0.1694
+vn 0.0000 0.7071 0.7071
+vn 0.9851 0.1719 0.0000
+vn 0.0000 0.7071 -0.7071
+vn -0.9851 0.1719 0.0000
+vn 0.9851 0.0000 -0.1719
+vn 0.0000 -0.7071 -0.7071
+vn -0.9851 -0.0000 -0.1719
+vn 0.9851 -0.1719 0.0000
+vn 0.0000 -0.7071 0.7071
+vn -0.9851 -0.1719 0.0000
+vn 0.9851 0.0000 0.1719
+vn -0.9851 -0.0000 0.1719
+usemtl Orange
+s off
+f 1687//421 1692//421 1704//421 1698//421
+f 1707//422 1702//422 1699//422 1703//422
+f 1726//423 1721//423 1709//423 1712//423
+f 1700//424 1706//424 1694//424 1689//424
+f 1701//425 1688//425 1685//425 1697//425
+f 1695//423 1708//423 1705//423 1691//423
+f 1710//421 1723//421 1729//421 1717//421
+f 1732//422 1727//422 1722//422 1725//422
+f 1713//426 1711//426 1716//426 1719//426
+f 1724//424 1714//424 1718//424 1730//424
+f 1720//425 1715//425 1728//425 1731//425
+f 1685//427 1686//427 1687//427
+f 1688//428 1689//428 1690//428
+f 1691//429 1692//429 1693//429
+f 1694//430 1695//430 1696//430
+f 1697//431 1698//431 1699//431
+f 1700//432 1701//432 1702//432
+f 1703//433 1704//433 1705//433
+f 1706//434 1707//434 1708//434
+f 1709//429 1710//429 1711//429
+f 1712//430 1713//430 1714//430
+f 1715//427 1716//427 1717//427
+f 1718//428 1719//428 1720//428
+f 1721//433 1722//433 1723//433
+f 1724//434 1725//434 1726//434
+f 1727//431 1728//431 1729//431
+f 1730//432 1731//432 1732//432
+f 1685//435 1688//435 1690//435 1686//435
+f 1689//436 1694//436 1696//436 1690//436
+f 1695//437 1691//437 1693//437 1696//437
+f 1692//438 1687//438 1686//438 1693//438
+f 1694//439 1706//439 1708//439 1695//439
+f 1707//440 1703//440 1705//440 1708//440
+f 1704//441 1692//441 1691//441 1705//441
+f 1706//442 1700//442 1702//442 1707//442
+f 1701//443 1697//443 1699//443 1702//443
+f 1698//444 1704//444 1703//444 1699//444
+f 1700//445 1689//445 1688//445 1701//445
+f 1687//446 1698//446 1697//446 1685//446
+f 1711//437 1713//437 1712//437 1709//437
+f 1713//436 1719//436 1718//436 1714//436
+f 1719//435 1716//435 1715//435 1720//435
+f 1716//438 1711//438 1710//438 1717//438
+f 1720//445 1731//445 1730//445 1718//445
+f 1731//443 1728//443 1727//443 1732//443
+f 1728//446 1715//446 1717//446 1729//446
+f 1732//442 1725//442 1724//442 1730//442
+f 1725//440 1722//440 1721//440 1726//440
+f 1722//444 1727//444 1729//444 1723//444
+f 1726//439 1712//439 1714//439 1724//439
+f 1709//441 1721//441 1723//441 1710//441
+f 1690//426 1696//426 1693//426 1686//426
+o Cylinder_Cylinder.001
+v -0.087221 0.908357 0.006024
+v -0.087221 0.913572 0.006024
+v -0.051129 0.908357 0.006024
+v -0.051129 0.913572 0.006024
+v -0.042732 0.908357 0.014420
+v -0.042732 0.913572 0.014420
+v -0.042732 0.908357 0.026294
+v -0.042732 0.913572 0.026294
+v -0.051129 0.908357 0.034691
+v -0.051129 0.913572 0.034691
+v -0.087221 0.908357 0.034691
+v -0.087221 0.913572 0.034691
+v -0.095618 0.908357 0.026294
+v -0.095618 0.913572 0.026294
+v -0.095618 0.908357 0.014420
+v -0.095618 0.913572 0.014420
+v -0.081284 0.693989 -0.053080
+v -0.081284 0.913492 -0.053080
+v -0.038119 0.693989 -0.039055
+v -0.038119 0.913492 -0.039055
+v -0.011441 0.693989 -0.002336
+v -0.011441 0.913492 -0.002336
+v -0.011441 0.693989 0.043050
+v -0.011441 0.913492 0.043050
+v -0.038119 0.693989 0.079769
+v -0.038119 0.913492 0.079769
+v -0.081284 0.693989 0.093794
+v -0.081284 0.913492 0.093794
+v -0.124449 0.693989 0.079769
+v -0.124449 0.913492 0.079769
+v -0.151127 0.693989 0.043050
+v -0.151127 0.913492 0.043050
+v -0.151127 0.693989 -0.002336
+v -0.151127 0.913492 -0.002336
+v -0.124449 0.693989 -0.039055
+v -0.124449 0.913492 -0.039055
+v -0.081284 0.913492 -0.036970
+v -0.047588 0.913492 -0.026021
+v -0.026763 0.913492 0.002642
+v -0.026763 0.913492 0.038072
+v -0.047588 0.913492 0.066736
+v -0.081284 0.913492 0.077684
+v -0.114980 0.913492 0.066736
+v -0.135805 0.913492 0.038072
+v -0.135805 0.913492 0.002642
+v -0.114980 0.913492 -0.026021
+v -0.081284 0.908450 -0.036970
+v -0.047588 0.908450 -0.026021
+v -0.026763 0.908450 0.002642
+v -0.026763 0.908450 0.038072
+v -0.047588 0.908450 0.066736
+v -0.081284 0.908450 0.077684
+v -0.114980 0.908450 0.066736
+v -0.135805 0.908450 0.038072
+v -0.135805 0.908450 0.002642
+v -0.114980 0.908450 -0.026021
+v -0.270209 0.908357 -0.901658
+v -0.270209 0.913572 -0.901658
+v -0.234117 0.908357 -0.901658
+v -0.234117 0.913572 -0.901658
+v -0.225720 0.908357 -0.893262
+v -0.225720 0.913572 -0.893262
+v -0.225720 0.908357 -0.881387
+v -0.225720 0.913572 -0.881387
+v -0.234117 0.908357 -0.872991
+v -0.234117 0.913572 -0.872991
+v -0.270209 0.908357 -0.872991
+v -0.270209 0.913572 -0.872991
+v -0.278606 0.908357 -0.881387
+v -0.278606 0.913572 -0.881387
+v -0.278606 0.908357 -0.893262
+v -0.278606 0.913572 -0.893262
+v -0.264272 0.693989 -0.960762
+v -0.264272 0.913492 -0.960762
+v -0.221107 0.693989 -0.946737
+v -0.221107 0.913492 -0.946737
+v -0.194430 0.693989 -0.910018
+v -0.194430 0.913492 -0.910018
+v -0.194430 0.693989 -0.864631
+v -0.194430 0.913492 -0.864631
+v -0.221107 0.693989 -0.827913
+v -0.221107 0.913492 -0.827913
+v -0.264272 0.693989 -0.813888
+v -0.264272 0.913492 -0.813888
+v -0.307438 0.693989 -0.827913
+v -0.307438 0.913492 -0.827913
+v -0.334115 0.693989 -0.864631
+v -0.334115 0.913492 -0.864631
+v -0.334115 0.693989 -0.910018
+v -0.334115 0.913492 -0.910018
+v -0.307437 0.693989 -0.946737
+v -0.307437 0.913492 -0.946737
+v -0.264272 0.913492 -0.944652
+v -0.230576 0.913492 -0.933703
+v -0.209751 0.913492 -0.905040
+v -0.209751 0.913492 -0.869610
+v -0.230576 0.913492 -0.840946
+v -0.264272 0.913492 -0.829998
+v -0.297968 0.913492 -0.840946
+v -0.318794 0.913492 -0.869610
+v -0.318794 0.913492 -0.905040
+v -0.297968 0.913492 -0.933703
+v -0.264272 0.908450 -0.944652
+v -0.230576 0.908450 -0.933703
+v -0.209751 0.908450 -0.905040
+v -0.209751 0.908450 -0.869610
+v -0.230576 0.908450 -0.840946
+v -0.264272 0.908450 -0.829998
+v -0.297968 0.908450 -0.840946
+v -0.318794 0.908450 -0.869610
+v -0.318794 0.908450 -0.905040
+v -0.297968 0.908450 -0.933703
+vn 0.3090 0.0000 -0.9511
+vn 0.8090 0.0000 -0.5878
+vn 1.0000 0.0000 0.0000
+vn 0.8090 0.0000 0.5878
+vn 0.3090 0.0000 0.9511
+vn -0.3090 0.0000 0.9511
+vn -0.8090 0.0000 0.5878
+vn -1.0000 0.0000 0.0000
+vn 0.0000 1.0000 0.0000
+vn -0.8090 0.0000 -0.5878
+vn -0.3090 0.0000 -0.9511
+vn 0.0000 -1.0000 -0.0000
+vn 0.0000 0.0000 -1.0000
+vn 0.7071 0.0000 -0.7071
+vn 0.7071 0.0000 0.7071
+vn -0.0000 0.0000 1.0000
+vn -0.7071 0.0000 0.7071
+vn -0.7071 0.0000 -0.7071
+usemtl Cans
+s off
+f 1749//447 1750//447 1752//447 1751//447
+f 1751//448 1752//448 1754//448 1753//448
+f 1753//449 1754//449 1756//449 1755//449
+f 1755//450 1756//450 1758//450 1757//450
+f 1757//451 1758//451 1760//451 1759//451
+f 1759//452 1760//452 1762//452 1761//452
+f 1761//453 1762//453 1764//453 1763//453
+f 1763//454 1764//454 1766//454 1765//454
+f 1768//455 1766//455 1777//455 1778//455
+f 1765//456 1766//456 1768//456 1767//456
+f 1767//457 1768//457 1750//457 1749//457
+f 1749//458 1751//458 1753//458 1755//458 1757//458 1759//458 1761//458 1763//458 1765//458 1767//458
+f 1776//448 1775//448 1785//448 1786//448
+f 1766//455 1764//455 1776//455 1777//455
+f 1764//455 1762//455 1775//455 1776//455
+f 1762//455 1760//455 1774//455 1775//455
+f 1760//455 1758//455 1773//455 1774//455
+f 1758//455 1756//455 1772//455 1773//455
+f 1752//455 1750//455 1769//455 1770//455
+f 1756//455 1754//455 1771//455 1772//455
+f 1754//455 1752//455 1770//455 1771//455
+f 1750//455 1768//455 1778//455 1769//455
+f 1780//455 1779//455 1788//455 1787//455 1786//455 1785//455 1784//455 1783//455 1782//455 1781//455
+f 1773//456 1772//456 1782//456 1783//456
+f 1770//452 1769//452 1779//452 1780//452
+f 1777//449 1776//449 1786//449 1787//449
+f 1774//457 1773//457 1783//457 1784//457
+f 1771//453 1770//453 1780//453 1781//453
+f 1778//450 1777//450 1787//450 1788//450
+f 1775//447 1774//447 1784//447 1785//447
+f 1772//454 1771//454 1781//454 1782//454
+f 1769//451 1778//451 1788//451 1779//451
+f 1805//447 1806//447 1808//447 1807//447
+f 1807//448 1808//448 1810//448 1809//448
+f 1809//449 1810//449 1812//449 1811//449
+f 1811//450 1812//450 1814//450 1813//450
+f 1813//451 1814//451 1816//451 1815//451
+f 1815//452 1816//452 1818//452 1817//452
+f 1817//453 1818//453 1820//453 1819//453
+f 1819//454 1820//454 1822//454 1821//454
+f 1824//455 1822//455 1833//455 1834//455
+f 1821//456 1822//456 1824//456 1823//456
+f 1823//457 1824//457 1806//457 1805//457
+f 1805//458 1807//458 1809//458 1811//458 1813//458 1815//458 1817//458 1819//458 1821//458 1823//458
+f 1832//448 1831//448 1841//448 1842//448
+f 1822//455 1820//455 1832//455 1833//455
+f 1820//455 1818//455 1831//455 1832//455
+f 1818//455 1816//455 1830//455 1831//455
+f 1816//455 1814//455 1829//455 1830//455
+f 1814//455 1812//455 1828//455 1829//455
+f 1808//455 1806//455 1825//455 1826//455
+f 1812//455 1810//455 1827//455 1828//455
+f 1810//455 1808//455 1826//455 1827//455
+f 1806//455 1824//455 1834//455 1825//455
+f 1836//455 1835//455 1844//455 1843//455 1842//455 1841//455 1840//455 1839//455 1838//455 1837//455
+f 1829//456 1828//456 1838//456 1839//456
+f 1826//452 1825//452 1835//452 1836//452
+f 1833//449 1832//449 1842//449 1843//449
+f 1830//457 1829//457 1839//457 1840//457
+f 1827//453 1826//453 1836//453 1837//453
+f 1834//450 1833//450 1843//450 1844//450
+f 1831//447 1830//447 1840//447 1841//447
+f 1828//454 1827//454 1837//454 1838//454
+f 1825//451 1834//451 1844//451 1835//451
+usemtl Cans.001
+f 1733//459 1734//459 1736//459 1735//459
+f 1735//460 1736//460 1738//460 1737//460
+f 1737//449 1738//449 1740//449 1739//449
+f 1739//461 1740//461 1742//461 1741//461
+f 1741//462 1742//462 1744//462 1743//462
+f 1743//463 1744//463 1746//463 1745//463
+f 1736//455 1734//455 1748//455 1746//455 1744//455 1742//455 1740//455 1738//455
+f 1745//454 1746//454 1748//454 1747//454
+f 1747//464 1748//464 1734//464 1733//464
+f 1733//458 1735//458 1737//458 1739//458 1741//458 1743//458 1745//458 1747//458
+f 1789//459 1790//459 1792//459 1791//459
+f 1791//460 1792//460 1794//460 1793//460
+f 1793//449 1794//449 1796//449 1795//449
+f 1795//461 1796//461 1798//461 1797//461
+f 1797//462 1798//462 1800//462 1799//462
+f 1799//463 1800//463 1802//463 1801//463
+f 1792//455 1790//455 1804//455 1802//455 1800//455 1798//455 1796//455 1794//455
+f 1801//454 1802//454 1804//454 1803//454
+f 1803//464 1804//464 1790//464 1789//464
+f 1789//458 1791//458 1793//458 1795//458 1797//458 1799//458 1801//458 1803//458
+o Cylinder.003_Cylinder.002
+v -0.520836 0.741448 -0.018863
+v -0.520836 0.744979 -0.018863
+v -0.520836 0.741448 -0.035788
+v -0.520836 0.744979 -0.035788
+v -0.483715 0.741448 -0.018863
+v -0.483715 0.744979 -0.018863
+v -0.483715 0.741448 -0.035788
+v -0.483715 0.744979 -0.035788
+v -0.426429 0.741599 -0.062171
+v -0.426429 0.746318 -0.062171
+v -0.404369 0.741599 -0.053034
+v -0.404369 0.746318 -0.053034
+v -0.395232 0.741599 -0.030974
+v -0.395232 0.746318 -0.030974
+v -0.404369 0.741599 -0.008915
+v -0.404369 0.746318 -0.008915
+v -0.426429 0.741599 0.000222
+v -0.426429 0.746318 0.000222
+v -0.448488 0.741599 -0.008915
+v -0.448488 0.746318 -0.008915
+v -0.457626 0.741599 -0.030974
+v -0.457626 0.746318 -0.030974
+v -0.448488 0.741599 -0.053034
+v -0.448488 0.746318 -0.053034
+v -0.536719 0.741448 -0.018863
+v -0.536719 0.744979 -0.018863
+v -0.536719 0.741448 -0.035788
+v -0.536719 0.744979 -0.035788
+v -0.573840 0.741448 -0.018863
+v -0.573840 0.744979 -0.018863
+v -0.573840 0.741448 -0.035788
+v -0.573840 0.744979 -0.035788
+v -0.631126 0.741599 -0.062171
+v -0.631126 0.746318 -0.062171
+v -0.653186 0.741599 -0.053034
+v -0.653186 0.746318 -0.053034
+v -0.662323 0.741599 -0.030974
+v -0.662323 0.746318 -0.030974
+v -0.653186 0.741599 -0.008915
+v -0.653186 0.746318 -0.008915
+v -0.631126 0.741599 0.000222
+v -0.631126 0.746318 0.000222
+v -0.609067 0.741599 -0.008915
+v -0.609067 0.746318 -0.008915
+v -0.599929 0.741599 -0.030974
+v -0.599929 0.746318 -0.030974
+v -0.609067 0.741599 -0.053034
+v -0.609067 0.746318 -0.053034
+v -0.410935 0.695125 0.033162
+v -0.410935 0.741688 0.033162
+v -0.323374 0.741688 0.035022
+v -0.323374 0.695125 0.035022
+v -0.394297 0.741688 0.067119
+v -0.394297 0.695125 0.067119
+v -0.423088 0.695125 0.067119
+v -0.423088 0.741688 0.067119
+v -0.424077 0.695125 -0.111168
+v -0.403439 0.695125 -0.104558
+v -0.410935 0.695125 -0.103120
+v -0.416388 0.695125 -0.110964
+v -0.408097 0.695125 -0.108308
+v -0.403439 0.741688 -0.104558
+v -0.424077 0.741688 -0.111168
+v -0.410935 0.741688 -0.103120
+v -0.408098 0.741688 -0.108309
+v -0.416390 0.741688 -0.110964
+v -0.355169 0.741688 -0.049149
+v -0.380854 0.741688 -0.084642
+v -0.359865 0.741688 -0.060578
+v -0.370185 0.741688 -0.074837
+v -0.380854 0.695125 -0.084642
+v -0.355169 0.695125 -0.049149
+v -0.370183 0.695125 -0.074835
+v -0.359864 0.695125 -0.060576
+v -0.436794 0.695125 0.039147
+v -0.449930 0.695125 0.033162
+v -0.429522 0.695125 0.033162
+v -0.438773 0.695125 0.035751
+v -0.444050 0.695125 0.033347
+v -0.449930 0.741688 0.033162
+v -0.436794 0.741688 0.039147
+v -0.429522 0.741688 0.033162
+v -0.444049 0.741688 0.033347
+v -0.438772 0.741688 0.035751
+v -0.646620 0.695125 0.033162
+v -0.646620 0.741688 0.033162
+v -0.528777 0.741688 -0.111168
+v -0.528777 0.695125 -0.111168
+v -0.528777 0.741688 0.033162
+v -0.528777 0.695125 0.033162
+v -0.734180 0.741688 0.035022
+v -0.734180 0.695125 0.035022
+v -0.663257 0.741688 0.067119
+v -0.663257 0.695125 0.067119
+v -0.634466 0.695125 0.067119
+v -0.634466 0.741688 0.067119
+v -0.633478 0.695125 -0.111168
+v -0.654116 0.695125 -0.104558
+v -0.646620 0.695125 -0.103120
+v -0.641166 0.695125 -0.110964
+v -0.649458 0.695125 -0.108308
+v -0.654116 0.741688 -0.104558
+v -0.633478 0.741688 -0.111168
+v -0.646620 0.741688 -0.103120
+v -0.649457 0.741688 -0.108309
+v -0.641165 0.741688 -0.110964
+v -0.702386 0.741688 -0.049149
+v -0.676701 0.741688 -0.084642
+v -0.697690 0.741688 -0.060578
+v -0.687370 0.741688 -0.074837
+v -0.676701 0.695125 -0.084642
+v -0.702386 0.695125 -0.049149
+v -0.687372 0.695125 -0.074835
+v -0.697691 0.695125 -0.060576
+v -0.620761 0.695125 0.039147
+v -0.607625 0.695125 0.033162
+v -0.628033 0.695125 0.033162
+v -0.618782 0.695125 0.035751
+v -0.613504 0.695125 0.033347
+v -0.607625 0.741688 0.033162
+v -0.620761 0.741688 0.039147
+v -0.628033 0.741688 0.033162
+v -0.613505 0.741688 0.033347
+v -0.618783 0.741688 0.035751
+v -0.373355 0.695257 -0.001363
+v -0.373355 0.741833 -0.001363
+v -0.342614 0.695257 0.008625
+v -0.342614 0.741833 0.008625
+v -0.323615 0.695257 0.034775
+v -0.323615 0.741833 0.034775
+v -0.323615 0.695257 0.067098
+v -0.323615 0.741833 0.067098
+v -0.342614 0.695257 0.093247
+v -0.342614 0.741833 0.093247
+v -0.373355 0.695257 0.103235
+v -0.373355 0.741833 0.103235
+v -0.404095 0.695257 0.093247
+v -0.404095 0.741833 0.093247
+v -0.423094 0.695257 0.067098
+v -0.423094 0.741833 0.067098
+v -0.423094 0.695257 0.034775
+v -0.423094 0.741833 0.034775
+v -0.404095 0.695257 0.008625
+v -0.404095 0.741833 0.008625
+v -0.684200 0.695257 -0.001363
+v -0.684200 0.741833 -0.001363
+v -0.653460 0.695257 0.008625
+v -0.653460 0.741833 0.008625
+v -0.634461 0.695257 0.034775
+v -0.634461 0.741833 0.034775
+v -0.634461 0.695257 0.067098
+v -0.634461 0.741833 0.067098
+v -0.653460 0.695257 0.093247
+v -0.653460 0.741833 0.093247
+v -0.684200 0.695257 0.103235
+v -0.684200 0.741833 0.103235
+v -0.714941 0.695257 0.093247
+v -0.714941 0.741833 0.093247
+v -0.733940 0.695257 0.067098
+v -0.733940 0.741833 0.067098
+v -0.733940 0.695257 0.034775
+v -0.733940 0.741833 0.034775
+v -0.714941 0.695257 0.008625
+v -0.714941 0.741833 0.008625
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 0.0000 1.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 1.0000 0.0000
+vn 0.3827 0.0000 -0.9239
+vn 0.9239 0.0000 -0.3827
+vn 0.9239 0.0000 0.3827
+vn 0.3827 0.0000 0.9239
+vn -0.3827 0.0000 0.9239
+vn -0.9239 0.0000 0.3827
+vn -0.9239 0.0000 -0.3827
+vn -0.3827 0.0000 -0.9239
+vn 0.9355 -0.0000 -0.3534
+vn -0.8980 0.0000 0.4400
+vn -0.0212 0.0000 0.9998
+vn 0.8980 0.0000 -0.4400
+vn 0.0000 -1.0000 -0.0005
+vn 0.6271 0.0000 -0.7790
+vn 0.3050 0.0000 -0.9523
+vn 0.0265 -0.0000 -0.9996
+vn 0.9250 0.0000 -0.3801
+vn 0.8101 -0.0000 -0.5863
+vn 0.6766 -0.0000 -0.7363
+vn -0.0314 -0.0000 0.9995
+vn -0.4146 0.0000 0.9100
+vn -0.8640 0.0000 0.5035
+vn 0.6614 0.0000 -0.7500
+vn -0.9355 0.0000 -0.3534
+vn 0.8980 0.0000 0.4400
+vn 0.0212 0.0000 0.9998
+vn -0.8980 0.0000 -0.4400
+vn -0.6271 0.0000 -0.7790
+vn -0.3050 0.0000 -0.9523
+vn -0.0265 -0.0000 -0.9996
+vn -0.9250 0.0000 -0.3801
+vn -0.8101 -0.0000 -0.5863
+vn -0.6767 -0.0000 -0.7363
+vn 0.0314 -0.0000 0.9995
+vn 0.4146 0.0000 0.9100
+vn 0.8640 0.0000 0.5035
+vn -0.6614 0.0000 -0.7500
+vn 0.3090 0.0000 -0.9511
+vn 0.8090 0.0000 -0.5878
+vn 0.8090 0.0000 0.5878
+vn 0.3090 0.0000 0.9511
+vn -0.3090 0.0000 0.9511
+vn -0.8090 0.0000 0.5878
+vn -0.8090 0.0000 -0.5878
+vn -0.3090 0.0000 -0.9511
+usemtl GameController
+s off
+f 1846//465 1848//465 1847//465 1845//465
+f 1848//466 1852//466 1851//466 1847//466
+f 1852//467 1850//467 1849//467 1851//467
+f 1850//468 1846//468 1845//468 1849//468
+f 1845//469 1847//469 1851//469 1849//469
+f 1850//470 1852//470 1848//470 1846//470
+f 1853//471 1854//471 1856//471 1855//471
+f 1855//472 1856//472 1858//472 1857//472
+f 1857//473 1858//473 1860//473 1859//473
+f 1859//474 1860//474 1862//474 1861//474
+f 1861//475 1862//475 1864//475 1863//475
+f 1863//476 1864//476 1866//476 1865//476
+f 1856//470 1854//470 1868//470 1866//470 1864//470 1862//470 1860//470 1858//470
+f 1865//477 1866//477 1868//477 1867//477
+f 1867//478 1868//478 1854//478 1853//478
+f 1853//469 1855//469 1857//469 1859//469 1861//469 1863//469 1865//469 1867//469
+f 1870//467 1869//467 1871//467 1872//467
+f 1872//466 1871//466 1875//466 1876//466
+f 1876//465 1875//465 1873//465 1874//465
+f 1874//468 1873//468 1869//468 1870//468
+f 1869//469 1873//469 1875//469 1871//469
+f 1874//470 1870//470 1872//470 1876//470
+f 1877//478 1879//478 1880//478 1878//478
+f 1879//477 1881//477 1882//477 1880//477
+f 1881//476 1883//476 1884//476 1882//476
+f 1883//475 1885//475 1886//475 1884//475
+f 1885//474 1887//474 1888//474 1886//474
+f 1887//473 1889//473 1890//473 1888//473
+f 1880//470 1882//470 1884//470 1886//470 1888//470 1890//470 1892//470 1878//470
+f 1889//472 1891//472 1892//472 1890//472
+f 1891//471 1877//471 1878//471 1892//471
+f 1877//469 1891//469 1889//469 1887//469 1885//469 1883//469 1881//469 1879//469
+f 1932//469 1901//469 1903//469 1893//469 1921//469 1920//469 1934//469
+f 1893//469 1903//469 1902//469 1915//469 1917//469 1918//469 1916//469 1896//469
+f 1911//479 1895//479 1896//479 1916//479
+f 1925//480 1919//480 1899//480 1900//480
+f 1919//469 1921//469 1893//469 1898//469 1899//469
+f 1931//466 1907//466 1901//466 1932//466
+f 1908//470 1907//470 1931//470 1933//470 1924//470 1926//470 1894//470
+f 1894//481 1893//481 1896//481 1895//481
+f 1906//470 1908//470 1894//470 1895//470 1911//470 1913//470 1914//470 1912//470
+f 1897//468 1900//468 1899//468 1898//468
+f 1924//468 1933//468 1934//468 1920//468
+f 1893//482 1894//482 1897//482 1898//482
+f 1894//470 1926//470 1925//470 1900//470 1897//470
+f 1901//469 1904//469 1903//469
+f 1904//469 1905//469 1903//469
+f 1905//469 1902//469 1903//469
+f 1906//470 1909//470 1908//470
+f 1909//470 1910//470 1908//470
+f 1910//470 1907//470 1908//470
+f 1919//469 1922//469 1921//469
+f 1922//469 1923//469 1921//469
+f 1923//483 1920//483 1921//483
+f 1924//470 1927//470 1926//470
+f 1927//470 1928//470 1926//470
+f 1928//470 1925//470 1926//470
+f 1906//484 1902//484 1905//484 1909//484
+f 1909//485 1905//485 1904//485 1910//485
+f 1910//486 1904//486 1901//486 1907//486
+f 1911//487 1916//487 1918//487 1913//487
+f 1913//488 1918//488 1917//488 1914//488
+f 1914//489 1917//489 1915//489 1912//489
+f 1924//490 1920//490 1923//490 1927//490
+f 1927//491 1923//491 1922//491 1928//491
+f 1928//492 1922//492 1919//492 1925//492
+f 1902//493 1906//493 1912//493 1915//493
+f 1932//469 1934//469 1960//469 1961//469 1929//469 1943//469 1941//469
+f 1929//469 1936//469 1956//469 1958//469 1957//469 1955//469 1942//469 1943//469
+f 1951//494 1956//494 1936//494 1935//494
+f 1965//495 1940//495 1939//495 1959//495
+f 1959//469 1939//469 1938//469 1929//469 1961//469
+f 1931//466 1932//466 1941//466 1947//466
+f 1948//470 1930//470 1966//470 1964//470 1933//470 1931//470 1947//470
+f 1930//496 1935//496 1936//496 1929//496
+f 1946//470 1952//470 1954//470 1953//470 1951//470 1935//470 1930//470 1948//470
+f 1937//468 1938//468 1939//468 1940//468
+f 1964//468 1960//468 1934//468 1933//468
+f 1929//497 1938//497 1937//497 1930//497
+f 1930//470 1937//470 1940//470 1965//470 1966//470
+f 1941//469 1943//469 1944//469
+f 1944//469 1943//469 1945//469
+f 1945//469 1943//469 1942//469
+f 1946//470 1948//470 1949//470
+f 1949//470 1948//470 1950//470
+f 1950//470 1948//470 1947//470
+f 1959//469 1961//469 1962//469
+f 1962//469 1961//469 1963//469
+f 1963//469 1961//469 1960//469
+f 1964//470 1966//470 1967//470
+f 1967//470 1966//470 1968//470
+f 1968//470 1966//470 1965//470
+f 1946//498 1949//498 1945//498 1942//498
+f 1949//499 1950//499 1944//499 1945//499
+f 1950//500 1947//500 1941//500 1944//500
+f 1951//501 1953//501 1958//501 1956//501
+f 1953//502 1954//502 1957//502 1958//502
+f 1954//503 1952//503 1955//503 1957//503
+f 1964//504 1967//504 1963//504 1960//504
+f 1967//505 1968//505 1962//505 1963//505
+f 1968//506 1965//506 1959//506 1962//506
+f 1942//507 1955//507 1952//507 1946//507
+f 1969//508 1970//508 1972//508 1971//508
+f 1971//509 1972//509 1974//509 1973//509
+f 1973//467 1974//467 1976//467 1975//467
+f 1975//510 1976//510 1978//510 1977//510
+f 1977//511 1978//511 1980//511 1979//511
+f 1979//512 1980//512 1982//512 1981//512
+f 1981//513 1982//513 1984//513 1983//513
+f 1983//465 1984//465 1986//465 1985//465
+f 1972//470 1970//470 1988//470 1986//470 1984//470 1982//470 1980//470 1978//470 1976//470 1974//470
+f 1985//514 1986//514 1988//514 1987//514
+f 1987//515 1988//515 1970//515 1969//515
+f 1969//469 1971//469 1973//469 1975//469 1977//469 1979//469 1981//469 1983//469 1985//469 1987//469
+f 1989//508 1990//508 1992//508 1991//508
+f 1991//509 1992//509 1994//509 1993//509
+f 1993//467 1994//467 1996//467 1995//467
+f 1995//510 1996//510 1998//510 1997//510
+f 1997//511 1998//511 2000//511 1999//511
+f 1999//512 2000//512 2002//512 2001//512
+f 2001//513 2002//513 2004//513 2003//513
+f 2003//465 2004//465 2006//465 2005//465
+f 1992//470 1990//470 2008//470 2006//470 2004//470 2002//470 2000//470 1998//470 1996//470 1994//470
+f 2005//514 2006//514 2008//514 2007//514
+f 2007//515 2008//515 1990//515 1989//515
+f 1989//469 1991//469 1993//469 1995//469 1997//469 1999//469 2001//469 2003//469 2005//469 2007//469
+o Cylinder.005_Cylinder.003
+v -0.403614 0.741448 -0.501797
+v -0.403614 0.744979 -0.501797
+v -0.420539 0.741448 -0.501797
+v -0.420539 0.744979 -0.501797
+v -0.403614 0.741448 -0.538918
+v -0.403614 0.744979 -0.538918
+v -0.420539 0.741448 -0.538918
+v -0.420539 0.744979 -0.538918
+v -0.446922 0.741599 -0.596204
+v -0.446922 0.746318 -0.596204
+v -0.437785 0.741599 -0.618263
+v -0.437785 0.746318 -0.618263
+v -0.415725 0.741599 -0.627401
+v -0.415725 0.746318 -0.627401
+v -0.393666 0.741599 -0.618263
+v -0.393666 0.746318 -0.618263
+v -0.384529 0.741599 -0.596204
+v -0.384529 0.746318 -0.596204
+v -0.393666 0.741599 -0.574144
+v -0.393666 0.746318 -0.574144
+v -0.415725 0.741599 -0.565007
+v -0.415725 0.746318 -0.565007
+v -0.437785 0.741599 -0.574144
+v -0.437785 0.746318 -0.574144
+v -0.403614 0.741448 -0.485913
+v -0.403614 0.744979 -0.485913
+v -0.420539 0.741448 -0.485913
+v -0.420539 0.744979 -0.485913
+v -0.403614 0.741448 -0.448792
+v -0.403614 0.744979 -0.448792
+v -0.420539 0.741448 -0.448792
+v -0.420539 0.744979 -0.448792
+v -0.446922 0.741599 -0.391506
+v -0.446922 0.746318 -0.391506
+v -0.437785 0.741599 -0.369447
+v -0.437785 0.746318 -0.369447
+v -0.415725 0.741599 -0.360310
+v -0.415725 0.746318 -0.360310
+v -0.393666 0.741599 -0.369447
+v -0.393666 0.746318 -0.369447
+v -0.384529 0.741599 -0.391506
+v -0.384529 0.746318 -0.391506
+v -0.393666 0.741599 -0.413566
+v -0.393666 0.746318 -0.413566
+v -0.415725 0.741599 -0.422703
+v -0.415725 0.746318 -0.422703
+v -0.437785 0.741599 -0.413566
+v -0.437785 0.746318 -0.413566
+v -0.351589 0.695125 -0.611698
+v -0.351589 0.741688 -0.611698
+v -0.349729 0.741688 -0.699258
+v -0.349729 0.695125 -0.699258
+v -0.317632 0.741688 -0.628335
+v -0.317632 0.695125 -0.628335
+v -0.317632 0.695125 -0.599544
+v -0.317632 0.741688 -0.599544
+v -0.495919 0.695125 -0.598556
+v -0.489309 0.695125 -0.619194
+v -0.487871 0.695125 -0.611698
+v -0.495715 0.695125 -0.606244
+v -0.493059 0.695125 -0.614535
+v -0.489309 0.741688 -0.619194
+v -0.495919 0.741688 -0.598556
+v -0.487871 0.741688 -0.611698
+v -0.493060 0.741688 -0.614534
+v -0.495715 0.741688 -0.606243
+v -0.433900 0.741688 -0.667464
+v -0.469393 0.741688 -0.641778
+v -0.445329 0.741688 -0.662768
+v -0.459588 0.741688 -0.652448
+v -0.469393 0.695125 -0.641778
+v -0.433900 0.695125 -0.667464
+v -0.459587 0.695125 -0.652450
+v -0.445327 0.695125 -0.662769
+v -0.345604 0.695125 -0.585839
+v -0.351589 0.695125 -0.572703
+v -0.351589 0.695125 -0.593110
+v -0.349000 0.695125 -0.583860
+v -0.351405 0.695125 -0.578582
+v -0.351589 0.741688 -0.572703
+v -0.345604 0.741688 -0.585839
+v -0.351589 0.741688 -0.593110
+v -0.351405 0.741688 -0.578583
+v -0.349000 0.741688 -0.583860
+v -0.351589 0.695125 -0.376013
+v -0.351589 0.741688 -0.376013
+v -0.495919 0.741688 -0.493855
+v -0.495919 0.695125 -0.493855
+v -0.351589 0.741688 -0.493855
+v -0.351589 0.695125 -0.493855
+v -0.349729 0.741688 -0.288452
+v -0.349729 0.695125 -0.288452
+v -0.317632 0.741688 -0.359375
+v -0.317632 0.695125 -0.359375
+v -0.317632 0.695125 -0.388166
+v -0.317632 0.741688 -0.388166
+v -0.495919 0.695125 -0.389154
+v -0.489309 0.695125 -0.368517
+v -0.487871 0.695125 -0.376013
+v -0.495715 0.695125 -0.381466
+v -0.493059 0.695125 -0.373175
+v -0.489309 0.741688 -0.368517
+v -0.495919 0.741688 -0.389154
+v -0.487871 0.741688 -0.376013
+v -0.493060 0.741688 -0.373176
+v -0.495715 0.741688 -0.381467
+v -0.433900 0.741688 -0.320246
+v -0.469393 0.741688 -0.345932
+v -0.445329 0.741688 -0.324943
+v -0.459589 0.741688 -0.335262
+v -0.469393 0.695125 -0.345932
+v -0.433900 0.695125 -0.320246
+v -0.459587 0.695125 -0.335260
+v -0.445327 0.695125 -0.324942
+v -0.345604 0.695125 -0.401871
+v -0.351589 0.695125 -0.415007
+v -0.351589 0.695125 -0.394600
+v -0.349000 0.695125 -0.403850
+v -0.351405 0.695125 -0.409128
+v -0.351589 0.741688 -0.415007
+v -0.345604 0.741688 -0.401871
+v -0.351589 0.741688 -0.394600
+v -0.351405 0.741688 -0.409127
+v -0.349000 0.741688 -0.403850
+v -0.386114 0.695257 -0.649278
+v -0.386114 0.741833 -0.649278
+v -0.376126 0.695257 -0.680019
+v -0.376126 0.741833 -0.680019
+v -0.349976 0.695257 -0.699017
+v -0.349976 0.741833 -0.699017
+v -0.317654 0.695257 -0.699017
+v -0.317654 0.741833 -0.699017
+v -0.291504 0.695257 -0.680019
+v -0.291504 0.741833 -0.680019
+v -0.281516 0.695257 -0.649278
+v -0.281516 0.741833 -0.649278
+v -0.291504 0.695257 -0.618537
+v -0.291504 0.741833 -0.618537
+v -0.317654 0.695257 -0.599538
+v -0.317654 0.741833 -0.599538
+v -0.349976 0.695257 -0.599538
+v -0.349976 0.741833 -0.599538
+v -0.376126 0.695257 -0.618537
+v -0.376126 0.741833 -0.618537
+v -0.386114 0.695257 -0.338432
+v -0.386114 0.741833 -0.338432
+v -0.376126 0.695257 -0.369173
+v -0.376126 0.741833 -0.369173
+v -0.349976 0.695257 -0.388172
+v -0.349976 0.741833 -0.388172
+v -0.317654 0.695257 -0.388172
+v -0.317654 0.741833 -0.388172
+v -0.291504 0.695257 -0.369173
+v -0.291504 0.741833 -0.369173
+v -0.281516 0.695257 -0.338432
+v -0.281516 0.741833 -0.338432
+v -0.291504 0.695257 -0.307692
+v -0.291504 0.741833 -0.307692
+v -0.317654 0.695257 -0.288693
+v -0.317654 0.741833 -0.288693
+v -0.349976 0.695257 -0.288693
+v -0.349976 0.741833 -0.288693
+v -0.376126 0.695257 -0.307692
+v -0.376126 0.741833 -0.307692
+vn 0.0000 0.0000 1.0000
+vn -1.0000 0.0000 0.0000
+vn 0.0000 0.0000 -1.0000
+vn 1.0000 0.0000 0.0000
+vn 0.0000 -1.0000 0.0000
+vn 0.0000 1.0000 0.0000
+vn -0.9239 0.0000 -0.3827
+vn -0.3827 0.0000 -0.9239
+vn 0.3827 0.0000 -0.9239
+vn 0.9239 0.0000 -0.3827
+vn 0.9239 0.0000 0.3827
+vn 0.3827 0.0000 0.9239
+vn -0.3827 0.0000 0.9239
+vn -0.9239 0.0000 0.3827
+vn -0.3534 -0.0000 -0.9355
+vn 0.4400 0.0000 0.8980
+vn 0.9998 0.0000 0.0212
+vn -0.4400 0.0000 -0.8980
+vn -0.7790 0.0000 -0.6271
+vn -0.9523 -0.0000 -0.3050
+vn -0.9996 -0.0000 -0.0265
+vn -0.3801 0.0000 -0.9250
+vn -0.5863 0.0000 -0.8101
+vn -0.7363 -0.0000 -0.6767
+vn 0.9995 -0.0000 0.0314
+vn 0.9100 -0.0000 0.4146
+vn 0.5035 0.0000 0.8640
+vn -0.7500 0.0000 -0.6614
+vn -0.3534 0.0000 0.9355
+vn 0.4400 0.0000 -0.8980
+vn 0.9998 0.0000 -0.0212
+vn -0.4400 0.0000 0.8980
+vn -0.7790 0.0000 0.6271
+vn -0.9523 0.0000 0.3050
+vn -0.9996 -0.0000 0.0265
+vn -0.3801 0.0000 0.9250
+vn -0.5863 -0.0000 0.8101
+vn -0.7363 -0.0000 0.6766
+vn 0.9995 -0.0000 -0.0314
+vn 0.9100 0.0000 -0.4146
+vn 0.5035 0.0000 -0.8640
+vn -0.7500 0.0000 0.6614
+vn -0.9511 0.0000 -0.3090
+vn -0.5878 0.0000 -0.8090
+vn 0.5878 0.0000 -0.8090
+vn 0.9511 0.0000 -0.3090
+vn 0.9511 0.0000 0.3090
+vn 0.5878 0.0000 0.8090
+vn -0.5878 0.0000 0.8090
+vn -0.9511 0.0000 0.3090
+usemtl GameController
+s off
+f 2010//516 2012//516 2011//516 2009//516
+f 2012//517 2016//517 2015//517 2011//517
+f 2016//518 2014//518 2013//518 2015//518
+f 2014//519 2010//519 2009//519 2013//519
+f 2009//520 2011//520 2015//520 2013//520
+f 2014//521 2016//521 2012//521 2010//521
+f 2017//522 2018//522 2020//522 2019//522
+f 2019//523 2020//523 2022//523 2021//523
+f 2021//524 2022//524 2024//524 2023//524
+f 2023//525 2024//525 2026//525 2025//525
+f 2025//526 2026//526 2028//526 2027//526
+f 2027//527 2028//527 2030//527 2029//527
+f 2020//521 2018//521 2032//521 2030//521 2028//521 2026//521 2024//521 2022//521
+f 2029//528 2030//528 2032//528 2031//528
+f 2031//529 2032//529 2018//529 2017//529
+f 2017//520 2019//520 2021//520 2023//520 2025//520 2027//520 2029//520 2031//520
+f 2034//518 2033//518 2035//518 2036//518
+f 2036//517 2035//517 2039//517 2040//517
+f 2040//516 2039//516 2037//516 2038//516
+f 2038//519 2037//519 2033//519 2034//519
+f 2033//520 2037//520 2039//520 2035//520
+f 2038//521 2034//521 2036//521 2040//521
+f 2041//529 2043//529 2044//529 2042//529
+f 2043//528 2045//528 2046//528 2044//528
+f 2045//527 2047//527 2048//527 2046//527
+f 2047//526 2049//526 2050//526 2048//526
+f 2049//525 2051//525 2052//525 2050//525
+f 2051//524 2053//524 2054//524 2052//524
+f 2044//521 2046//521 2048//521 2050//521 2052//521 2054//521 2056//521 2042//521
+f 2053//523 2055//523 2056//523 2054//523
+f 2055//522 2041//522 2042//522 2056//522
+f 2041//520 2055//520 2053//520 2051//520 2049//520 2047//520 2045//520 2043//520
+f 2096//520 2065//520 2067//520 2057//520 2085//520 2084//520 2098//520
+f 2057//520 2067//520 2066//520 2079//520 2081//520 2082//520 2080//520 2060//520
+f 2075//530 2059//530 2060//530 2080//530
+f 2089//531 2083//531 2063//531 2064//531
+f 2083//520 2085//520 2057//520 2062//520 2063//520
+f 2095//517 2071//517 2065//517 2096//517
+f 2072//521 2071//521 2095//521 2097//521 2088//521 2090//521 2058//521
+f 2058//532 2057//532 2060//532 2059//532
+f 2070//521 2072//521 2058//521 2059//521 2075//521 2077//521 2078//521 2076//521
+f 2061//519 2064//519 2063//519 2062//519
+f 2088//519 2097//519 2098//519 2084//519
+f 2057//533 2058//533 2061//533 2062//533
+f 2058//521 2090//521 2089//521 2064//521 2061//521
+f 2065//520 2068//520 2067//520
+f 2068//520 2069//520 2067//520
+f 2069//520 2066//520 2067//520
+f 2070//521 2073//521 2072//521
+f 2073//521 2074//521 2072//521
+f 2074//521 2071//521 2072//521
+f 2083//520 2086//520 2085//520
+f 2086//520 2087//520 2085//520
+f 2087//520 2084//520 2085//520
+f 2088//521 2091//521 2090//521
+f 2091//521 2092//521 2090//521
+f 2092//521 2089//521 2090//521
+f 2070//534 2066//534 2069//534 2073//534
+f 2073//535 2069//535 2068//535 2074//535
+f 2074//536 2068//536 2065//536 2071//536
+f 2075//537 2080//537 2082//537 2077//537
+f 2077//538 2082//538 2081//538 2078//538
+f 2078//539 2081//539 2079//539 2076//539
+f 2088//540 2084//540 2087//540 2091//540
+f 2091//541 2087//541 2086//541 2092//541
+f 2092//542 2086//542 2083//542 2089//542
+f 2066//543 2070//543 2076//543 2079//543
+f 2096//520 2098//520 2124//520 2125//520 2093//520 2107//520 2105//520
+f 2093//520 2100//520 2120//520 2122//520 2121//520 2119//520 2106//520 2107//520
+f 2115//544 2120//544 2100//544 2099//544
+f 2129//545 2104//545 2103//545 2123//545
+f 2123//520 2103//520 2102//520 2093//520 2125//520
+f 2095//517 2096//517 2105//517 2111//517
+f 2112//521 2094//521 2130//521 2128//521 2097//521 2095//521 2111//521
+f 2094//546 2099//546 2100//546 2093//546
+f 2110//521 2116//521 2118//521 2117//521 2115//521 2099//521 2094//521 2112//521
+f 2101//519 2102//519 2103//519 2104//519
+f 2128//519 2124//519 2098//519 2097//519
+f 2093//547 2102//547 2101//547 2094//547
+f 2094//521 2101//521 2104//521 2129//521 2130//521
+f 2105//520 2107//520 2108//520
+f 2108//520 2107//520 2109//520
+f 2109//520 2107//520 2106//520
+f 2110//521 2112//521 2113//521
+f 2113//521 2112//521 2114//521
+f 2114//521 2112//521 2111//521
+f 2123//520 2125//520 2126//520
+f 2126//520 2125//520 2127//520
+f 2127//520 2125//520 2124//520
+f 2128//521 2130//521 2131//521
+f 2131//521 2130//521 2132//521
+f 2132//521 2130//521 2129//521
+f 2110//548 2113//548 2109//548 2106//548
+f 2113//549 2114//549 2108//549 2109//549
+f 2114//550 2111//550 2105//550 2108//550
+f 2115//551 2117//551 2122//551 2120//551
+f 2117//552 2118//552 2121//552 2122//552
+f 2118//553 2116//553 2119//553 2121//553
+f 2128//554 2131//554 2127//554 2124//554
+f 2131//555 2132//555 2126//555 2127//555
+f 2132//556 2129//556 2123//556 2126//556
+f 2106//557 2119//557 2116//557 2110//557
+f 2133//558 2134//558 2136//558 2135//558
+f 2135//559 2136//559 2138//559 2137//559
+f 2137//518 2138//518 2140//518 2139//518
+f 2139//560 2140//560 2142//560 2141//560
+f 2141//561 2142//561 2144//561 2143//561
+f 2143//562 2144//562 2146//562 2145//562
+f 2145//563 2146//563 2148//563 2147//563
+f 2147//516 2148//516 2150//516 2149//516
+f 2136//521 2134//521 2152//521 2150//521 2148//521 2146//521 2144//521 2142//521 2140//521 2138//521
+f 2149//564 2150//564 2152//564 2151//564
+f 2151//565 2152//565 2134//565 2133//565
+f 2133//520 2135//520 2137//520 2139//520 2141//520 2143//520 2145//520 2147//520 2149//520 2151//520
+f 2153//558 2154//558 2156//558 2155//558
+f 2155//559 2156//559 2158//559 2157//559
+f 2157//518 2158//518 2160//518 2159//518
+f 2159//560 2160//560 2162//560 2161//560
+f 2161//561 2162//561 2164//561 2163//561
+f 2163//562 2164//562 2166//562 2165//562
+f 2165//563 2166//563 2168//563 2167//563
+f 2167//516 2168//516 2170//516 2169//516
+f 2156//521 2154//521 2172//521 2170//521 2168//521 2166//521 2164//521 2162//521 2160//521 2158//521
+f 2169//564 2170//564 2172//564 2171//564
+f 2171//565 2172//565 2154//565 2153//565
+f 2153//520 2155//520 2157//520 2159//520 2161//520 2163//520 2165//520 2167//520 2169//520 2171//520
+o Plane_Plane.001
+v -2.650709 0.000000 2.128957
+v 2.650709 0.000000 2.128957
+v -2.650709 0.000000 -2.440231
+v 2.650709 0.000000 -2.440231
+vn 0.0000 1.0000 0.0000
+usemtl White.001
+s off
+f 2173//566 2174//566 2176//566 2175//566
+o Plane.001_Plane
+v -2.004128 1.859685 0.604471
+v -2.004128 1.529704 0.604471
+v -2.004128 1.859685 0.080365
+v -2.004128 1.529704 0.080365
+vn 1.0000 0.0000 0.0000
+usemtl TV.002
+s off
+f 2177//567 2178//567 2180//567 2179//567
+o Plane.002_Plane.003
+v -2.004128 1.427818 0.604471
+v -2.004128 1.097837 0.604471
+v -2.004128 1.427818 0.080365
+v -2.004128 1.097837 0.080365
+vn 1.0000 0.0000 0.0000
+usemtl TV.002
+s off
+f 2181//568 2182//568 2184//568 2183//568
+o Plane.003_Plane.004
+v -2.004128 2.284708 0.839774
+v -2.004128 2.081662 0.839774
+v -2.004128 2.284708 -1.215768
+v -2.004128 2.081662 -1.215768
+vn 1.0000 0.0000 0.0000
+usemtl TV.003
+s off
+f 2185//569 2186//569 2188//569 2187//569
diff --git a/Assets/Placenote/Models/Materials/Cans.001.mat b/Assets/Placenote/Models/Materials/Cans.001.mat
new file mode 100644
index 00000000..9fce2016
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/Cans.001.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: Cans.001
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.334308, g: 0.330034, b: 0.309144, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/Cans.mat b/Assets/Placenote/Models/Materials/Cans.mat
new file mode 100644
index 00000000..e28f2f2b
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/Cans.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: Cans
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.467263, g: 0.4569, b: 0.416797, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/Desk.mat b/Assets/Placenote/Models/Materials/Desk.mat
new file mode 100644
index 00000000..3243a55a
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/Desk.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: Desk
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.24399, g: 0.233417, b: 0.209801, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/GameController.mat b/Assets/Placenote/Models/Materials/GameController.mat
new file mode 100644
index 00000000..ac955987
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/GameController.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: GameController
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.30101, g: 0.30101, b: 0.30101, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/Grass.001.mat b/Assets/Placenote/Models/Materials/Grass.001.mat
new file mode 100644
index 00000000..bf74f713
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/Grass.001.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: Grass.001
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.38812, g: 0.5267, b: 0.115303, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/Orange.mat b/Assets/Placenote/Models/Materials/Orange.mat
new file mode 100644
index 00000000..579a44be
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/Orange.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: Orange
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.635211, g: 0.392101, b: 0.163101, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/Speaker.mat b/Assets/Placenote/Models/Materials/Speaker.mat
new file mode 100644
index 00000000..e555654c
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/Speaker.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: Speaker
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.018523, g: 0.018523, b: 0.018523, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/Speaker_Center.mat b/Assets/Placenote/Models/Materials/Speaker_Center.mat
new file mode 100644
index 00000000..23dcd4a0
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/Speaker_Center.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: Speaker_Center
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.005596, g: 0.005596, b: 0.005596, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/Speaker_Puff.mat b/Assets/Placenote/Models/Materials/Speaker_Puff.mat
new file mode 100644
index 00000000..b032cff0
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/Speaker_Puff.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: Speaker_Puff
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.026484, g: 0.024571, b: 0.023645, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/TV.001.mat b/Assets/Placenote/Models/Materials/TV.001.mat
new file mode 100644
index 00000000..cb6d88f7
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/TV.001.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: TV.001
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.067501, g: 0.067501, b: 0.067501, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/TV.002.mat b/Assets/Placenote/Models/Materials/TV.002.mat
new file mode 100644
index 00000000..1b023bd0
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/TV.002.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: TV.002
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.089546, g: 0.089546, b: 0.089546, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/TV.003.mat b/Assets/Placenote/Models/Materials/TV.003.mat
new file mode 100644
index 00000000..65ceba49
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/TV.003.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: TV.003
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.044903, g: 0.044903, b: 0.044903, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/TV.mat b/Assets/Placenote/Models/Materials/TV.mat
new file mode 100644
index 00000000..68f4745e
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/TV.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: TV
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.031637, g: 0.031637, b: 0.031637, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/TV_Stand.mat b/Assets/Placenote/Models/Materials/TV_Stand.mat
new file mode 100644
index 00000000..ec327566
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/TV_Stand.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: TV_Stand
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.060948, g: 0.060948, b: 0.060948, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/Table.mat b/Assets/Placenote/Models/Materials/Table.mat
new file mode 100644
index 00000000..a3ff537c
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/Table.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: Table
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.549348, g: 0.421692, b: 0.254837, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/White.001.mat b/Assets/Placenote/Models/Materials/White.001.mat
new file mode 100644
index 00000000..7c01072a
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/White.001.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: White.001
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.8, g: 0.8, b: 0.8, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/Wires.mat b/Assets/Placenote/Models/Materials/Wires.mat
new file mode 100644
index 00000000..15cc728d
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/Wires.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: Wires
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.064176, g: 0.06255, b: 0.060948, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Models/Materials/defaultMat.mat b/Assets/Placenote/Models/Materials/defaultMat.mat
new file mode 100644
index 00000000..0c217bc2
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/defaultMat.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: defaultMat
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.8, g: 0.8, b: 0.8, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
diff --git a/Assets/Placenote/Models/Materials/dvd.mat b/Assets/Placenote/Models/Materials/dvd.mat
new file mode 100644
index 00000000..1f62e7f3
--- /dev/null
+++ b/Assets/Placenote/Models/Materials/dvd.mat
@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: dvd
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 0.115303, g: 0.219742, b: 0.5267, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/Placenote/Plugins/iOS/.DS_Store b/Assets/Placenote/Plugins/iOS/.DS_Store
new file mode 100644
index 00000000..4cf4a220
Binary files /dev/null and b/Assets/Placenote/Plugins/iOS/.DS_Store differ
diff --git a/Assets/Placenote/Plugins/iOS/Placenote.framework/Headers/Placenote.h b/Assets/Placenote/Plugins/iOS/Placenote.framework/Headers/Placenote.h
new file mode 100644
index 00000000..922d44cd
--- /dev/null
+++ b/Assets/Placenote/Plugins/iOS/Placenote.framework/Headers/Placenote.h
@@ -0,0 +1,19 @@
+//
+// Placenote.h
+// Placenote
+//
+// Created by Brad Hoekstra on 2018-01-17.
+// Copyright © 2018 Yan Ma. All rights reserved.
+//
+
+#import
+
+//! Project version number for Placenote.
+FOUNDATION_EXPORT double PlacenoteVersionNumber;
+
+//! Project version string for Placenote.
+FOUNDATION_EXPORT const unsigned char PlacenoteVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import
+
+
diff --git a/Assets/Placenote/Plugins/iOS/Placenote.framework/Headers/libPlacenote.h b/Assets/Placenote/Plugins/iOS/Placenote.framework/Headers/libPlacenote.h
new file mode 100644
index 00000000..516159b1
--- /dev/null
+++ b/Assets/Placenote/Plugins/iOS/Placenote.framework/Headers/libPlacenote.h
@@ -0,0 +1,128 @@
+//
+// LibPlacenote.h
+// C header of LibPlacenote SDK
+//
+// Created by Yan Ma on 2017-09-01.
+// Copyright © 2017 Vertical AI. All rights reserved.
+
+#ifndef LIBPLACENOTE_H
+#define LIBPLACENOTE_H
+
+#include
+
+#ifndef FOUNDATION_EXPORT
+#ifdef __cplusplus
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+
+
+typedef struct PNCameraInstrinsics_t
+{
+ int width;
+ int height;
+
+ double fx;
+ double fy;
+ double cx;
+ double cy;
+ double k1;
+ double k2;
+ double p1;
+ double p2;
+} PNCameraInstrinsics;
+
+typedef struct PNInitParams_t
+{
+ const char* apiKey;
+ const char* appBasePath;
+ const char* mapPath;
+} PNInitParams;
+
+typedef struct PNCallbackResult_t
+{
+ bool success;
+ const char* msg;
+} PNCallbackResult;
+
+typedef struct PNVector3_t
+{
+ float x;
+ float y;
+ float z;
+} PNVector3;
+
+typedef struct PNQuaternion_t
+{
+ float x;
+ float y;
+ float z;
+ float w;
+} PNQuaternion;
+
+typedef struct PNTransform_t
+{
+ PNVector3 position;
+ PNQuaternion rotation;
+} PNTransform;
+
+typedef struct PNImagePlane_t
+{
+ void* buf;
+ int width;
+ int height;
+ int stride;
+} PNImagePlane;
+
+typedef struct PNFeaturePoint_t
+{
+ int idx;
+ int measCount;
+ float maxViewAngle;
+ PNVector3 point;
+} PNFeaturePoint;
+
+typedef struct PNKeyframe_t
+{
+ int idx;
+ PNTransform pose;
+} PNKeyframe;
+
+typedef struct PNTransferStatus_t
+{
+ const char* mapId;
+ bool completed;
+ bool faulted;
+ int bytesTransferred;
+ int bytesTotal;
+} PNTransferStatus;
+
+typedef void (*result_callback) (PNCallbackResult* result, void* context);
+typedef void (*transfer_map_callback) (PNTransferStatus* status, void* context);
+typedef void (*pose_callback) (PNTransform* placenotePose, PNTransform* arkitPose, void* context);
+
+
+FOUNDATION_EXPORT int PNInitialize(PNInitParams* params, result_callback cb, void* context);
+FOUNDATION_EXPORT int PNGetStatus ();
+FOUNDATION_EXPORT int PNGetTrackedLandmarks (PNFeaturePoint* points, int size);
+FOUNDATION_EXPORT int PNGetAllLandmarks (PNFeaturePoint* points, int size);
+FOUNDATION_EXPORT int PNListMaps (result_callback cb, void* context);
+FOUNDATION_EXPORT int PNSearchMaps (const char* searchJson, result_callback cb, void* context);
+FOUNDATION_EXPORT int PNSaveMap (const char* mapId, transfer_map_callback cb, void* context);
+FOUNDATION_EXPORT int PNLoadMap (const char* mapId, transfer_map_callback cb, void* context);
+FOUNDATION_EXPORT int PNDeleteMap (const char* mapId, result_callback cb, void* context);
+FOUNDATION_EXPORT int PNAddMap (result_callback cb, void* context);
+FOUNDATION_EXPORT int PNStartSession (pose_callback cb, bool extending, void* context);
+FOUNDATION_EXPORT int PNStopSession ();
+FOUNDATION_EXPORT int PNStartRecordDataset(transfer_map_callback cb, void* context);
+FOUNDATION_EXPORT int PNGetMetadata (const char* mapId, result_callback cb, void* context);
+FOUNDATION_EXPORT int PNSetMetadata (const char* mapId, const char* metadataUnvalidated, result_callback cb, void* context);
+FOUNDATION_EXPORT int PNGetPose(PNTransform* transform);
+FOUNDATION_EXPORT int PNSetIntrinsics(PNCameraInstrinsics* instrinsics);
+FOUNDATION_EXPORT int PNSetFrame(PNImagePlane* yPlane, PNImagePlane* vuPlane, PNTransform* arPose);
+FOUNDATION_EXPORT int PNShutdown();
+
+
+#endif // LIBPLACENOTE_H
diff --git a/Assets/Placenote/Plugins/iOS/Placenote.framework/Info.plist b/Assets/Placenote/Plugins/iOS/Placenote.framework/Info.plist
new file mode 100644
index 00000000..eaa54d67
Binary files /dev/null and b/Assets/Placenote/Plugins/iOS/Placenote.framework/Info.plist differ
diff --git a/Assets/Placenote/Plugins/iOS/Placenote.framework/Modules/module.modulemap b/Assets/Placenote/Plugins/iOS/Placenote.framework/Modules/module.modulemap
new file mode 100644
index 00000000..168b4ebd
--- /dev/null
+++ b/Assets/Placenote/Plugins/iOS/Placenote.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module Placenote {
+ umbrella header "Placenote.h"
+
+ export *
+ module * { export * }
+}
diff --git a/Assets/Placenote/Plugins/iOS/Placenote.framework/Placenote b/Assets/Placenote/Plugins/iOS/Placenote.framework/Placenote
new file mode 100755
index 00000000..3c8cb06f
Binary files /dev/null and b/Assets/Placenote/Plugins/iOS/Placenote.framework/Placenote differ
diff --git a/Assets/Placenote/Plugins/iOS/Placenote.framework/_CodeSignature/CodeResources b/Assets/Placenote/Plugins/iOS/Placenote.framework/_CodeSignature/CodeResources
new file mode 100644
index 00000000..76f0dbf0
--- /dev/null
+++ b/Assets/Placenote/Plugins/iOS/Placenote.framework/_CodeSignature/CodeResources
@@ -0,0 +1,154 @@
+
+
+
+
+ files
+
+ Headers/Placenote.h
+
+ En6ZeTNirflaFP+ZkcO291IqkXE=
+
+ Headers/libPlacenote.h
+
+ jPXkxCylBGdrwUtg5yfObmqNXpY=
+
+ Info.plist
+
+ AbVKqAILOmdtyohXgIvah3UbYnI=
+
+ Modules/module.modulemap
+
+ 7Y58iNxAz5P3ISzEWCSB6z4NG9E=
+
+
+ files2
+
+ Headers/Placenote.h
+
+ hash2
+
+ dSGanwvUdGeoddwCMZejkMIgQ1oWmDmujPigAgDyMoI=
+
+
+ Headers/libPlacenote.h
+
+ hash2
+
+ WAF064gRp3h0m7ZzxNk21wk28MsE0TgdhDTkpURjapQ=
+
+
+ Modules/module.modulemap
+
+ hash2
+
+ zIlJpdS78cE1vAOESS/BX/tEMXqyKqZu9PYmyv1bMtA=
+
+
+
+ rules
+
+ ^
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^
+
+ weight
+ 20
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/Assets/Placenote/Prefabs/ARKitPlaneGeometry.prefab b/Assets/Placenote/Prefabs/ARKitPlaneGeometry.prefab
new file mode 100755
index 00000000..d6e644b3
--- /dev/null
+++ b/Assets/Placenote/Prefabs/ARKitPlaneGeometry.prefab
@@ -0,0 +1,180 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications: []
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 1454536478891118}
+ m_IsPrefabParent: 1
+--- !u!1 &1454536478891118
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 4397932033875444}
+ - component: {fileID: 114859492272288308}
+ - component: {fileID: 33944727969295592}
+ - component: {fileID: 23418819279109146}
+ - component: {fileID: 120946215887499020}
+ m_Layer: 0
+ m_Name: ARKitPlaneGeometry
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4397932033875444
+Transform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1454536478891118}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23418819279109146
+MeshRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1454536478891118}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 2100000, guid: 04845b76859034d95b1487d887525145, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &33944727969295592
+MeshFilter:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1454536478891118}
+ m_Mesh: {fileID: 0}
+--- !u!114 &114859492272288308
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1454536478891118}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8f00a64c492cd4359bd7bb812d8f9902, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ meshFilter: {fileID: 33944727969295592}
+ lineRenderer: {fileID: 120946215887499020}
+--- !u!120 &120946215887499020
+LineRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1454536478891118}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_MotionVectors: 0
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 0
+ m_Materials:
+ - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_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_Positions: []
+ m_Parameters:
+ serializedVersion: 2
+ widthMultiplier: 0.01
+ widthCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 2
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ colorGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ numCornerVertices: 0
+ numCapVertices: 0
+ alignment: 0
+ textureMode: 1
+ m_UseWorldSpace: 0
+ m_Loop: 1
diff --git a/Assets/Placenote/Prefabs/MapInfoElement.prefab b/Assets/Placenote/Prefabs/MapInfoElement.prefab
new file mode 100755
index 00000000..ba24e1d2
--- /dev/null
+++ b/Assets/Placenote/Prefabs/MapInfoElement.prefab
@@ -0,0 +1,348 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications: []
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 1170995837258984}
+ m_IsPrefabParent: 1
+--- !u!1 &1170995837258984
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 224519482559380400}
+ - component: {fileID: 114412154857862966}
+ - component: {fileID: 114925735445586092}
+ - component: {fileID: 114643510226781046}
+ - component: {fileID: 222251976208781298}
+ - component: {fileID: 114764462638362998}
+ - component: {fileID: 114088500112869464}
+ - component: {fileID: 114562888255050166}
+ m_Layer: 5
+ m_Name: MapInfoElement
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &1314862415149014
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 224236679960709492}
+ - component: {fileID: 222432121713120712}
+ - component: {fileID: 114936849133745424}
+ m_Layer: 5
+ m_Name: MapIdLabel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &1556233652023038
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 224557590834245168}
+ - component: {fileID: 222778833536014780}
+ - component: {fileID: 114220418642629960}
+ m_Layer: 5
+ m_Name: LocationLabel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &114088500112869464
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1170995837258984}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 48
+ m_Right: 48
+ m_Top: 24
+ m_Bottom: 24
+ m_ChildAlignment: 0
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 0
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+--- !u!114 &114220418642629960
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1556233652023038}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 21
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 0
+ m_MaxSize: 50
+ m_Alignment: 3
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 1
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Distance Unknown
+--- !u!114 &114412154857862966
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1170995837258984}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.77205884, g: 0.77205884, b: 0.77205884, a: 1}
+ m_PressedColor: {r: 0.6838235, g: 0.6838235, b: 0.6838235, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 114764462638362998}
+ toggleTransition: 1
+ graphic: {fileID: 0}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+ m_IsOn: 0
+--- !u!114 &114562888255050166
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1170995837258984}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 0
+ m_VerticalFit: 2
+--- !u!114 &114643510226781046
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1170995837258984}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: bb32a228281f44136a91cedffbc6dbc2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ mMapIdText: {fileID: 114936849133745424}
+ mLocationText: {fileID: 114220418642629960}
+ mToggle: {fileID: 114412154857862966}
+--- !u!114 &114764462638362998
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1170995837258984}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &114925735445586092
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1170995837258984}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, 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
+--- !u!114 &114936849133745424
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1314862415149014}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 28
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 0
+ m_MaxSize: 50
+ m_Alignment: 3
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 1
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Map ID
+--- !u!222 &222251976208781298
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1170995837258984}
+--- !u!222 &222432121713120712
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1314862415149014}
+--- !u!222 &222778833536014780
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1556233652023038}
+--- !u!224 &224236679960709492
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1314862415149014}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 224519482559380400}
+ m_RootOrder: 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.5}
+--- !u!224 &224519482559380400
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1170995837258984}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 224236679960709492}
+ - {fileID: 224557590834245168}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 962.5, y: 0}
+ m_SizeDelta: {x: 1925, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224557590834245168
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1556233652023038}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 224519482559380400}
+ m_RootOrder: 1
+ 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.5}
diff --git a/Assets/Placenote/Prefabs/PlacenoteCameraManager.prefab b/Assets/Placenote/Prefabs/PlacenoteCameraManager.prefab
new file mode 100644
index 00000000..2d6baf91
--- /dev/null
+++ b/Assets/Placenote/Prefabs/PlacenoteCameraManager.prefab
@@ -0,0 +1,256 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications: []
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 1897422567992072}
+ m_IsPrefabParent: 1
+--- !u!1 &1897422567992072
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 4701138610990218}
+ - component: {fileID: 114158884247981124}
+ - component: {fileID: 114906711766776928}
+ - component: {fileID: 114272985623773098}
+ - component: {fileID: 114444687120321750}
+ - component: {fileID: 114035732046362572}
+ m_Layer: 0
+ m_Name: PlacenoteCameraManager
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &1953550785582132
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 4740974621041454}
+ - component: {fileID: 20477165370597950}
+ - component: {fileID: 92205011384687874}
+ - component: {fileID: 124027832657201274}
+ - component: {fileID: 81524713713832756}
+ - component: {fileID: 114384528983729326}
+ - component: {fileID: 114428975530045452}
+ - component: {fileID: 114438988695418122}
+ - component: {fileID: 114135137818804764}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4701138610990218
+Transform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1897422567992072}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 4740974621041454}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4740974621041454
+Transform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1953550785582132}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 4701138610990218}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!20 &20477165370597950
+Camera:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1953550785582132}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 3
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.01
+ far clip plane: 10
+ 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: 0
+ m_AllowMSAA: 1
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+ m_StereoMirrorMode: 0
+--- !u!81 &81524713713832756
+AudioListener:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1953550785582132}
+ m_Enabled: 1
+--- !u!92 &92205011384687874
+Behaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1953550785582132}
+ m_Enabled: 1
+--- !u!114 &114035732046362572
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1897422567992072}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 712951c32e29b490fa39ee46067ee5cb, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ DisableARRemote: 1
+--- !u!114 &114135137818804764
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1953550785582132}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a341b2177fbb649d6889d31dcff2b302, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ mCamera: {fileID: 20477165370597950}
+--- !u!114 &114158884247981124
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1897422567992072}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 462d46d2423bb4f738d2497a397b1590, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_camera: {fileID: 20477165370597950}
+ startAlignment: 0
+ planeDetection: 3
+ detectionImages: {fileID: 0}
+ getPointCloud: 1
+ enableLightEstimation: 1
+ enableAutoFocus: 1
+--- !u!114 &114272985623773098
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1897422567992072}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ff5f4fbe82b37418195b1f108716eb40, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ cameraChild: {fileID: 20477165370597950}
+ cameraParent: {fileID: 1897422567992072}
+--- !u!114 &114384528983729326
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1953550785582132}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b58ecea7a196242dd879c814ac05084c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ClearMaterial: {fileID: 2100000, guid: f1d9352050a75486f878ab19fa578f16, type: 2}
+--- !u!114 &114428975530045452
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1953550785582132}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ce437cef046e841aabd6070890e79d41, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &114438988695418122
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1953550785582132}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ab1cfe8be4ce60040bb3c1f3d8f38337, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ translateSpeed: 2
+ rotateSpeed: 90
+ randomOffset: 0.01
+ enableSimulatedHandshake: 0
+--- !u!114 &114444687120321750
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1897422567992072}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b1876410d8b514981a4b6492316ae3e0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &114906711766776928
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1897422567992072}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8244b0a8db9044970b67cdf6b966240b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ apiKey:
+--- !u!124 &124027832657201274
+Behaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1953550785582132}
+ m_Enabled: 1
diff --git a/Assets/Placenote/Prefabs/PlacenoteMap.prefab b/Assets/Placenote/Prefabs/PlacenoteMap.prefab
new file mode 100755
index 00000000..622e28fb
--- /dev/null
+++ b/Assets/Placenote/Prefabs/PlacenoteMap.prefab
@@ -0,0 +1,96 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications: []
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 1271650370769016}
+ m_IsPrefabParent: 1
+--- !u!1 &1271650370769016
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 4969268942342744}
+ - component: {fileID: 114499044807483482}
+ - component: {fileID: 33929142665424960}
+ - component: {fileID: 23574166122694340}
+ m_Layer: 0
+ m_Name: PlacenoteMap
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4969268942342744
+Transform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1271650370769016}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23574166122694340
+MeshRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1271650370769016}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &33929142665424960
+MeshFilter:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1271650370769016}
+ m_Mesh: {fileID: 0}
+--- !u!114 &114499044807483482
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1271650370769016}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1dc6d171d179d4740bc550e69a938e46, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ mPtCloudMat: {fileID: 2100000, guid: 66bd9910888c24617939470d60a5b27f, type: 2}
+ mMap: {fileID: 1271650370769016}
diff --git a/Assets/Placenote/Prefabs/debugPlanePrefab.prefab b/Assets/Placenote/Prefabs/debugPlanePrefab.prefab
new file mode 100755
index 00000000..552c7258
--- /dev/null
+++ b/Assets/Placenote/Prefabs/debugPlanePrefab.prefab
@@ -0,0 +1,139 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications: []
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 1372998203143648}
+ m_IsPrefabParent: 1
+--- !u!1 &1243282721867180
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 4459804331441636}
+ - component: {fileID: 33784412182206160}
+ - component: {fileID: 64007261467877126}
+ - component: {fileID: 23522069187022562}
+ - component: {fileID: 65567926102939020}
+ m_Layer: 10
+ m_Name: Plane
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &1372998203143648
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 4787822665528772}
+ m_Layer: 0
+ m_Name: debugPlanePrefab
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4459804331441636
+Transform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1243282721867180}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+ m_Children: []
+ m_Father: {fileID: 4787822665528772}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4787822665528772
+Transform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1372998203143648}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 4459804331441636}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23522069187022562
+MeshRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1243282721867180}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 2100000, guid: b36939cf153274ec29fbf2f10d0a49d7, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 1
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &33784412182206160
+MeshFilter:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1243282721867180}
+ m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!64 &64007261467877126
+MeshCollider:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1243282721867180}
+ m_Material: {fileID: 13400000, guid: beba2f308446f43da8e82c54f30f93b5, type: 2}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Convex: 0
+ m_InflateMesh: 0
+ m_SkinWidth: 0.01
+ m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65567926102939020
+BoxCollider:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1243282721867180}
+ m_Material: {fileID: 13400000, guid: beba2f308446f43da8e82c54f30f93b5, type: 2}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 10, y: 0.1, z: 10}
+ m_Center: {x: 0, y: 0, z: 0}
diff --git a/Assets/Placenote/Scenes/placenote.unity b/Assets/Placenote/Scenes/placenote.unity
new file mode 100644
index 00000000..e89dd1ac
--- /dev/null
+++ b/Assets/Placenote/Scenes/placenote.unity
@@ -0,0 +1,4400 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 8
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0.44657868, g: 0.49641263, b: 0.57481706, a: 1}
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_GIWorkflowMode: 0
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_TemporalCoherenceThreshold: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 1
+ m_LightmapEditorSettings:
+ serializedVersion: 8
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_TextureWidth: 1024
+ m_TextureHeight: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVRFilteringMode: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_LightingDataAsset: {fileID: 0}
+ m_ShadowMaskMode: 2
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &24670475
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 24670476}
+ - component: {fileID: 24670479}
+ - component: {fileID: 24670478}
+ - component: {fileID: 24670477}
+ m_Layer: 5
+ m_Name: NewMapButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &24670476
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 24670475}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1805393951}
+ m_Father: {fileID: 891097825}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: -50, y: 50}
+ m_SizeDelta: {x: 200, y: 160}
+ m_Pivot: {x: 1, y: 0}
+--- !u!114 &24670477
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 24670475}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 24670478}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 420322408}
+ m_MethodName: OnNewMapClick
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &24670478
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 24670475}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &24670479
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 24670475}
+--- !u!1001 &42278779
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 1314168817}
+ m_Modifications:
+ - target: {fileID: 400002, guid: 12e5b8d681efa4d49913e121a0d9db5c, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0.66
+ objectReference: {fileID: 0}
+ - target: {fileID: 400002, guid: 12e5b8d681efa4d49913e121a0d9db5c, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: -1.99
+ objectReference: {fileID: 0}
+ - target: {fileID: 400002, guid: 12e5b8d681efa4d49913e121a0d9db5c, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 6.21
+ objectReference: {fileID: 0}
+ - target: {fileID: 400002, guid: 12e5b8d681efa4d49913e121a0d9db5c, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 400002, guid: 12e5b8d681efa4d49913e121a0d9db5c, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0.919102
+ objectReference: {fileID: 0}
+ - target: {fileID: 400002, guid: 12e5b8d681efa4d49913e121a0d9db5c, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 400002, guid: 12e5b8d681efa4d49913e121a0d9db5c, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 0.39401978
+ objectReference: {fileID: 0}
+ - target: {fileID: 400002, guid: 12e5b8d681efa4d49913e121a0d9db5c, type: 3}
+ propertyPath: m_RootOrder
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 400002, guid: 12e5b8d681efa4d49913e121a0d9db5c, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: -133.59001
+ objectReference: {fileID: 0}
+ - target: {fileID: 100002, guid: 12e5b8d681efa4d49913e121a0d9db5c, type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: 12e5b8d681efa4d49913e121a0d9db5c, type: 3}
+ m_IsPrefabParent: 0
+--- !u!1 &187998737
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 187998738}
+ - component: {fileID: 187998740}
+ - component: {fileID: 187998739}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &187998738
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 187998737}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 641974779}
+ m_RootOrder: 0
+ 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 &187998739
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 187998737}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 40
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 4
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'Delete Map
+
+'
+--- !u!222 &187998740
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 187998737}
+--- !u!1 &202937930
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 202937931}
+ - component: {fileID: 202937933}
+ - component: {fileID: 202937932}
+ m_Layer: 5
+ m_Name: Label
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &202937931
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 202937930}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 340443979}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 9, y: -0.5}
+ m_SizeDelta: {x: -28, y: -3}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &202937932
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 202937930}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 40
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 0
+ m_MaxSize: 50
+ m_Alignment: 0
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Plane Detection
+--- !u!222 &202937933
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 202937930}
+--- !u!1 &233335325
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 233335326}
+ - component: {fileID: 233335329}
+ - component: {fileID: 233335328}
+ - component: {fileID: 233335327}
+ m_Layer: 5
+ m_Name: Scrollbar Horizontal
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &233335326
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 233335325}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1260522029}
+ m_Father: {fileID: 366217782}
+ m_RootOrder: 1
+ 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: 20}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &233335327
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 233335325}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -2061169968, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 844886572}
+ m_HandleRect: {fileID: 844886571}
+ m_Direction: 0
+ m_Value: 0
+ m_Size: 1
+ m_NumberOfSteps: 0
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &233335328
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 233335325}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &233335329
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 233335325}
+--- !u!1001 &273451938
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 601585232}
+ m_Modifications:
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_RootOrder
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_AnchoredPosition.x
+ value: 301.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_AnchoredPosition.y
+ value: -51
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_SizeDelta.x
+ value: 603
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_SizeDelta.y
+ value: 102
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_AnchorMin.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_AnchorMax.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224519482559380400, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_Pivot.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224236679960709492, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224236679960709492, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224236679960709492, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_AnchoredPosition.x
+ value: 48
+ objectReference: {fileID: 0}
+ - target: {fileID: 224236679960709492, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_AnchoredPosition.y
+ value: -39.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224236679960709492, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_SizeDelta.x
+ value: 91
+ objectReference: {fileID: 0}
+ - target: {fileID: 224236679960709492, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_SizeDelta.y
+ value: 31
+ objectReference: {fileID: 0}
+ - target: {fileID: 224557590834245168, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224557590834245168, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 224557590834245168, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_AnchoredPosition.x
+ value: 48
+ objectReference: {fileID: 0}
+ - target: {fileID: 224557590834245168, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_AnchoredPosition.y
+ value: -66.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 224557590834245168, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_SizeDelta.x
+ value: 179
+ objectReference: {fileID: 0}
+ - target: {fileID: 224557590834245168, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ propertyPath: m_SizeDelta.y
+ value: 23
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 0}
+ m_IsPrefabParent: 0
+--- !u!4 &273451939
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 273451938}
+ m_GameObject: {fileID: 960542472}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 429881559}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &281130535
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 4701138610990218, guid: e19a1438a65c942e79c50c51765da920, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4701138610990218, guid: e19a1438a65c942e79c50c51765da920, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4701138610990218, guid: e19a1438a65c942e79c50c51765da920, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4701138610990218, guid: e19a1438a65c942e79c50c51765da920, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4701138610990218, guid: e19a1438a65c942e79c50c51765da920, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4701138610990218, guid: e19a1438a65c942e79c50c51765da920, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4701138610990218, guid: e19a1438a65c942e79c50c51765da920, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4701138610990218, guid: e19a1438a65c942e79c50c51765da920, type: 2}
+ propertyPath: m_RootOrder
+ value: 4
+ objectReference: {fileID: 0}
+ - target: {fileID: 114906711766776928, guid: e19a1438a65c942e79c50c51765da920,
+ type: 2}
+ propertyPath: apiKey
+ value:
+ objectReference: {fileID: 0}
+ - target: {fileID: 114438988695418122, guid: e19a1438a65c942e79c50c51765da920,
+ type: 2}
+ propertyPath: rotateSpeed
+ value: 40
+ objectReference: {fileID: 0}
+ - target: {fileID: 4740974621041454, guid: e19a1438a65c942e79c50c51765da920, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 20477165370597950, guid: e19a1438a65c942e79c50c51765da920,
+ type: 2}
+ propertyPath: far clip plane
+ value: 30
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: e19a1438a65c942e79c50c51765da920, type: 2}
+ m_IsPrefabParent: 0
+--- !u!1001 &285439512
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 4969268942342744, guid: 67dc9e8d1405441ad9d95c2b7b1f3112, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4969268942342744, guid: 67dc9e8d1405441ad9d95c2b7b1f3112, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4969268942342744, guid: 67dc9e8d1405441ad9d95c2b7b1f3112, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4969268942342744, guid: 67dc9e8d1405441ad9d95c2b7b1f3112, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4969268942342744, guid: 67dc9e8d1405441ad9d95c2b7b1f3112, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4969268942342744, guid: 67dc9e8d1405441ad9d95c2b7b1f3112, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4969268942342744, guid: 67dc9e8d1405441ad9d95c2b7b1f3112, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4969268942342744, guid: 67dc9e8d1405441ad9d95c2b7b1f3112, type: 2}
+ propertyPath: m_RootOrder
+ value: 5
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: 67dc9e8d1405441ad9d95c2b7b1f3112, type: 2}
+ m_IsPrefabParent: 0
+--- !u!1 &340443978
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 340443979}
+ - component: {fileID: 340443980}
+ m_Layer: 5
+ m_Name: PlaneDetectionToggle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &340443979
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 340443978}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1480243536}
+ - {fileID: 202937931}
+ m_Father: {fileID: 615359012}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: -150, y: 350}
+ m_SizeDelta: {x: 350, y: 75}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &340443980
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 340443978}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 2109663825, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1480243537}
+ toggleTransition: 1
+ graphic: {fileID: 1797445447}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 420322408}
+ m_MethodName: OnTogglePlaneDetection
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+ m_IsOn: 0
+--- !u!1 &366217781
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 366217782}
+ - component: {fileID: 366217785}
+ - component: {fileID: 366217784}
+ - component: {fileID: 366217783}
+ m_Layer: 5
+ m_Name: MapListPanel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &366217782
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 366217781}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1316756157}
+ - {fileID: 233335326}
+ - {fileID: 1574856832}
+ m_Father: {fileID: 927060901}
+ m_RootOrder: 0
+ 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: 35}
+ m_SizeDelta: {x: -100, y: -430}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &366217783
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 366217781}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &366217784
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 366217781}
+--- !u!114 &366217785
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 366217781}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1367256648, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Content: {fileID: 601585232}
+ m_Horizontal: 0
+ m_Vertical: 1
+ m_MovementType: 1
+ m_Elasticity: 0.1
+ m_Inertia: 1
+ m_DecelerationRate: 0.135
+ m_ScrollSensitivity: 1
+ m_Viewport: {fileID: 1316756157}
+ m_HorizontalScrollbar: {fileID: 233335327}
+ m_VerticalScrollbar: {fileID: 1574856833}
+ m_HorizontalScrollbarVisibility: 2
+ m_VerticalScrollbarVisibility: 2
+ m_HorizontalScrollbarSpacing: -3
+ m_VerticalScrollbarSpacing: -3
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!1 &420322404
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 420322405}
+ - component: {fileID: 420322407}
+ - component: {fileID: 420322406}
+ - component: {fileID: 420322408}
+ - component: {fileID: 420322409}
+ m_Layer: 5
+ m_Name: SamplePanel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &420322405
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 420322404}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 2079196987}
+ - {fileID: 891097825}
+ - {fileID: 615359012}
+ - {fileID: 927060901}
+ m_Father: {fileID: 832629687}
+ m_RootOrder: 1
+ 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 &420322406
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 420322404}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &420322407
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 420322404}
+--- !u!114 &420322408
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 420322404}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0956e3adc39844872bb81e774c3418ab, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ mMapSelectedPanel: {fileID: 1788237316}
+ mInitButtonPanel: {fileID: 891097824}
+ mMappingButtonPanel: {fileID: 615359011}
+ mSimulatorAddShapeButton: {fileID: 1260712031}
+ mMapListPanel: {fileID: 927060900}
+ mExitButton: {fileID: 2079196986}
+ mListElement: {fileID: 1170995837258984, guid: a3ef81b9c1147467396e3a086b211961,
+ type: 2}
+ mListContentParent: {fileID: 601585232}
+ mToggleGroup: {fileID: 601585235}
+ mPlaneDetectionToggle: {fileID: 340443978}
+ mLabelText: {fileID: 2097528938}
+ mPNPlaneManager: {fileID: 664246220}
+ mRadiusSlider: {fileID: 743025636}
+ mMaxRadiusSearch: 500
+ mRadiusLabel: {fileID: 1139976253}
+--- !u!114 &420322409
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 420322404}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 69c9f6fdeeb394a07b35cd0d68a21cba, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ shapeInfoList: []
+ shapeObjList: []
+ mShapeMaterial: {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0}
+--- !u!1 &429881558
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 273451938}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 429881559}
+ m_Layer: 0
+ m_Name: Missing Prefab
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &429881559
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 273451938}
+ m_GameObject: {fileID: 429881558}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 273451939}
+ m_Father: {fileID: 601585232}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &454494840
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 454494841}
+ - component: {fileID: 454494843}
+ - component: {fileID: 454494842}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &454494841
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 454494840}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 593708274}
+ m_RootOrder: 0
+ 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 &454494842
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 454494840}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 40
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 4
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Load Map
+--- !u!222 &454494843
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 454494840}
+--- !u!1 &459953268
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 459953269}
+ - component: {fileID: 459953271}
+ - component: {fileID: 459953270}
+ m_Layer: 5
+ m_Name: MessageLabel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &459953269
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 459953268}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 743025635}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: 0, y: -65}
+ m_SizeDelta: {x: 0, y: 40}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &459953270
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 459953268}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 1
+ 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: Name, Time and Raw JSON Search Possible
+--- !u!222 &459953271
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 459953268}
+--- !u!1 &471781809
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 471781813}
+ - component: {fileID: 471781812}
+ - component: {fileID: 471781811}
+ - component: {fileID: 471781810}
+ m_Layer: 0
+ m_Name: SamplePlaneGrid
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!23 &471781810
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 471781809}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 2100000, guid: d54d918a19dea417590657f6bea410b6, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 1
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!64 &471781811
+MeshCollider:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 471781809}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Convex: 0
+ m_InflateMesh: 0
+ m_SkinWidth: 0.01
+ m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &471781812
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 471781809}
+ m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &471781813
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 471781809}
+ m_LocalRotation: {x: -0, y: -0.38163185, z: -0, w: 0.92431444}
+ m_LocalPosition: {x: 0.59, y: -2, z: 6.58}
+ m_LocalScale: {x: 2, y: 2, z: 2}
+ m_Children: []
+ m_Father: {fileID: 1314168817}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: -44.870003, z: 0}
+--- !u!1 &485102413
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 485102414}
+ - component: {fileID: 485102416}
+ - component: {fileID: 485102415}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &485102414
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 485102413}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 743025635}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.25}
+ m_AnchorMax: {x: 1, y: 0.75}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &485102415
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 485102413}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &485102416
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 485102413}
+--- !u!1 &563750854
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 563750855}
+ - component: {fileID: 563750858}
+ - component: {fileID: 563750857}
+ - component: {fileID: 563750856}
+ m_Layer: 5
+ m_Name: SaveMapButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &563750855
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 563750854}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1158665240}
+ m_Father: {fileID: 615359012}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: -50, y: 50}
+ m_SizeDelta: {x: 200, y: 160}
+ m_Pivot: {x: 1, y: 0}
+--- !u!114 &563750856
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 563750854}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 563750857}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 420322408}
+ m_MethodName: OnSaveMapClick
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &563750857
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 563750854}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &563750858
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 563750854}
+--- !u!1 &593708273
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 593708274}
+ - component: {fileID: 593708277}
+ - component: {fileID: 593708276}
+ - component: {fileID: 593708275}
+ m_Layer: 5
+ m_Name: LoadButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &593708274
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 593708273}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 454494841}
+ m_Father: {fileID: 1788237317}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: -50, y: 50}
+ m_SizeDelta: {x: 160, y: 100}
+ m_Pivot: {x: 1, y: 0}
+--- !u!114 &593708275
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 593708273}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 593708276}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 420322408}
+ m_MethodName: OnLoadMapClicked
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &593708276
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 593708273}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &593708277
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 593708273}
+--- !u!1 &601585231
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 601585232}
+ - component: {fileID: 601585234}
+ - component: {fileID: 601585233}
+ - component: {fileID: 601585235}
+ m_Layer: 5
+ m_Name: Content
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &601585232
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 601585231}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 429881559}
+ m_Father: {fileID: 1316756157}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 1}
+--- !u!114 &601585233
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 601585231}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 0
+ m_VerticalFit: 2
+--- !u!114 &601585234
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 601585231}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, 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: 0
+ m_ChildForceExpandWidth: 0
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+--- !u!114 &601585235
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 601585231}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -1184210157, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_AllowSwitchOff: 0
+--- !u!1 &615359011
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 615359012}
+ m_Layer: 5
+ m_Name: MappingPanel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &615359012
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 615359011}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 340443979}
+ - {fileID: 1260712032}
+ - {fileID: 563750855}
+ m_Father: {fileID: 420322405}
+ m_RootOrder: 2
+ 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!1 &641974778
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 641974779}
+ - component: {fileID: 641974782}
+ - component: {fileID: 641974781}
+ - component: {fileID: 641974780}
+ m_Layer: 5
+ m_Name: DeleteButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &641974779
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 641974778}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 187998738}
+ m_Father: {fileID: 1788237317}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 50}
+ m_SizeDelta: {x: 160, y: 100}
+ m_Pivot: {x: 0.5, y: 0}
+--- !u!114 &641974780
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 641974778}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 641974781}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 420322408}
+ m_MethodName: OnDeleteMapClicked
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &641974781
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 641974778}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &641974782
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 641974778}
+--- !u!1 &664246219
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 664246221}
+ - component: {fileID: 664246220}
+ m_Layer: 0
+ m_Name: GeneratePlanes
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &664246220
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 664246219}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b2f7cb8816c7e467eaa6355a42a978ce, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ planePrefab: {fileID: 1372998203143648, guid: f879aaf3eeb0c467eb22cbaf08dc97a4,
+ type: 2}
+ meshPrefab: {fileID: 1454536478891118, guid: 24a8c4888599c4670ba129e2f2345e92, type: 2}
+--- !u!4 &664246221
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 664246219}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &722239291
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 722239292}
+ - component: {fileID: 722239294}
+ - component: {fileID: 722239293}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &722239292
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 722239291}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1774105465}
+ m_RootOrder: 0
+ 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 &722239293
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 722239291}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 40
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 4
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'Load
+
+ Map'
+--- !u!222 &722239294
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 722239291}
+--- !u!1 &735275018
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 735275019}
+ m_Layer: 5
+ m_Name: Handle Slide Area
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &735275019
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 735275018}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1048764101}
+ m_Father: {fileID: 743025635}
+ m_RootOrder: 2
+ 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: -20, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &743025634
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 743025635}
+ - component: {fileID: 743025636}
+ - component: {fileID: 743025637}
+ m_Layer: 5
+ m_Name: Slider
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &743025635
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 743025634}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 485102414}
+ - {fileID: 875995122}
+ - {fileID: 735275019}
+ - {fileID: 1139976252}
+ - {fileID: 459953269}
+ m_Father: {fileID: 927060901}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: 110, y: 140}
+ m_SizeDelta: {x: -380, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &743025636
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 743025634}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -113659843, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1048764102}
+ m_FillRect: {fileID: 1649623281}
+ m_HandleRect: {fileID: 1048764101}
+ m_Direction: 0
+ m_MinValue: 0
+ m_MaxValue: 1
+ m_WholeNumbers: 0
+ m_Value: 0
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &743025637
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 743025634}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -1862395651, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Delegates:
+ - eventID: 14
+ callback:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 420322408}
+ m_MethodName: OnRadiusSelect
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ delegates: []
+--- !u!1 &800071334
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 800071335}
+ - component: {fileID: 800071337}
+ - component: {fileID: 800071336}
+ m_Layer: 5
+ m_Name: LabelPanel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &800071335
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 800071334}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 2097528937}
+ m_Father: {fileID: 832629687}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: -50}
+ m_SizeDelta: {x: 0, y: 100}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &800071336
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 800071334}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &800071337
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 800071334}
+--- !u!1 &832629683
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 832629687}
+ - component: {fileID: 832629686}
+ - component: {fileID: 832629685}
+ - component: {fileID: 832629684}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &832629684
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 832629683}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &832629685
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 832629683}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ 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
+--- !u!223 &832629686
+Canvas:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 832629683}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 1
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 25
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &832629687
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 832629683}
+ 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_Children:
+ - {fileID: 800071335}
+ - {fileID: 420322405}
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ 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 &843292803
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 843292805}
+ - component: {fileID: 843292804}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &843292804
+Light:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 843292803}
+ m_Enabled: 1
+ serializedVersion: 8
+ m_Type: 1
+ m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 2
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_Lightmapping: 4
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &843292805
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 843292803}
+ m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+ m_LocalPosition: {x: 0, y: 3, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &844886570
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 844886571}
+ - component: {fileID: 844886573}
+ - component: {fileID: 844886572}
+ m_Layer: 5
+ m_Name: Handle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &844886571
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 844886570}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1260522029}
+ m_RootOrder: 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: 20, y: 20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &844886572
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 844886570}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &844886573
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 844886570}
+--- !u!1 &875995121
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 875995122}
+ m_Layer: 5
+ m_Name: Fill Area
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &875995122
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 875995121}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1649623281}
+ m_Father: {fileID: 743025635}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.25}
+ m_AnchorMax: {x: 1, y: 0.75}
+ m_AnchoredPosition: {x: -5, y: 0}
+ m_SizeDelta: {x: -20, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &891097824
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 891097825}
+ m_Layer: 5
+ m_Name: InitPanel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &891097825
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 891097824}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 24670476}
+ - {fileID: 1774105465}
+ m_Father: {fileID: 420322405}
+ m_RootOrder: 1
+ 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!1 &927060900
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 927060901}
+ m_Layer: 5
+ m_Name: MapListPanel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &927060901
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 927060900}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 366217782}
+ - {fileID: 1391172707}
+ - {fileID: 1788237317}
+ - {fileID: 743025635}
+ m_Father: {fileID: 420322405}
+ m_RootOrder: 3
+ 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!1 &960542472
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 273451938}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 273451939}
+ m_Layer: 0
+ m_Name: Missing Prefab (Dummy)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &1033654287
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1033654288}
+ - component: {fileID: 1033654290}
+ - component: {fileID: 1033654289}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1033654288
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1033654287}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 2079196987}
+ m_RootOrder: 0
+ 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 &1033654289
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1033654287}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 40
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 4
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Exit
+--- !u!222 &1033654290
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1033654287}
+--- !u!1 &1048764100
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1048764101}
+ - component: {fileID: 1048764103}
+ - component: {fileID: 1048764102}
+ m_Layer: 5
+ m_Name: Handle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1048764101
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1048764100}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 735275019}
+ m_RootOrder: 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: 20, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1048764102
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1048764100}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1048764103
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1048764100}
+--- !u!1 &1069599697
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1069599698}
+ - component: {fileID: 1069599700}
+ - component: {fileID: 1069599699}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1069599698
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1069599697}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1391172707}
+ m_RootOrder: 0
+ 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 &1069599699
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1069599697}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 40
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 4
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Cancel
+--- !u!222 &1069599700
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1069599697}
+--- !u!1 &1139976251
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1139976252}
+ - component: {fileID: 1139976254}
+ - component: {fileID: 1139976253}
+ m_Layer: 5
+ m_Name: DistanceLabel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1139976252
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1139976251}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 743025635}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: 0, y: -25}
+ m_SizeDelta: {x: 0, y: 40}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1139976253
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1139976251}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 1
+ 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: 'Distance Filter: Off'
+--- !u!222 &1139976254
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1139976251}
+--- !u!1 &1158665239
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1158665240}
+ - component: {fileID: 1158665242}
+ - component: {fileID: 1158665241}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1158665240
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1158665239}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 563750855}
+ m_RootOrder: 0
+ 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 &1158665241
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1158665239}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 40
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 4
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'Save
+
+ Map'
+--- !u!222 &1158665242
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1158665239}
+--- !u!1 &1226962336
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1226962337}
+ m_Layer: 5
+ m_Name: Sliding Area
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1226962337
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1226962336}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1454765732}
+ m_Father: {fileID: 1574856832}
+ m_RootOrder: 0
+ 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: -20, y: -20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1260522028
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1260522029}
+ m_Layer: 5
+ m_Name: Sliding Area
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1260522029
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1260522028}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 844886571}
+ m_Father: {fileID: 233335326}
+ m_RootOrder: 0
+ 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: -20, y: -20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1260712031
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1260712032}
+ - component: {fileID: 1260712035}
+ - component: {fileID: 1260712034}
+ - component: {fileID: 1260712033}
+ m_Layer: 5
+ m_Name: AddShapeButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &1260712032
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1260712031}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1419364656}
+ m_Father: {fileID: 615359012}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 50}
+ m_SizeDelta: {x: 200, y: 160}
+ m_Pivot: {x: 0.5, y: 0}
+--- !u!114 &1260712033
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1260712031}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1260712034}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 420322409}
+ m_MethodName: OnSimulatorDropShape
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1260712034
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1260712031}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1260712035
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1260712031}
+--- !u!1 &1314168816
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1314168817}
+ - component: {fileID: 1314168818}
+ m_Layer: 0
+ m_Name: SampleTerrain
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1314168817
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1314168816}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1923467232}
+ - {fileID: 471781813}
+ m_Father: {fileID: 0}
+ m_RootOrder: 6
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1314168818
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1314168816}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7de68137ec784374ca0ab273ec974181, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &1316756156
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1316756157}
+ - component: {fileID: 1316756160}
+ - component: {fileID: 1316756159}
+ - component: {fileID: 1316756158}
+ m_Layer: 5
+ m_Name: Viewport
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1316756157
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1316756156}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 601585232}
+ m_Father: {fileID: 366217782}
+ m_RootOrder: 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: 1}
+--- !u!114 &1316756158
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1316756156}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1316756159
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1316756156}
+--- !u!114 &1316756160
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1316756156}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -1200242548, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ShowMaskGraphic: 0
+--- !u!1 &1391172706
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1391172707}
+ - component: {fileID: 1391172710}
+ - component: {fileID: 1391172709}
+ - component: {fileID: 1391172708}
+ m_Layer: 5
+ m_Name: CancelButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1391172707
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1391172706}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1069599698}
+ m_Father: {fileID: 927060901}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 50, y: 50}
+ m_SizeDelta: {x: 160, y: 100}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &1391172708
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1391172706}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1391172709}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 420322408}
+ m_MethodName: OnCancelClick
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1391172709
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1391172706}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1391172710
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1391172706}
+--- !u!1 &1419364655
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1419364656}
+ - component: {fileID: 1419364658}
+ - component: {fileID: 1419364657}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1419364656
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1419364655}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1260712032}
+ m_RootOrder: 0
+ 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 &1419364657
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1419364655}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 40
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 4
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Drop Shape
+--- !u!222 &1419364658
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1419364655}
+--- !u!1 &1454765731
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1454765732}
+ - component: {fileID: 1454765734}
+ - component: {fileID: 1454765733}
+ m_Layer: 5
+ m_Name: Handle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1454765732
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1454765731}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1226962337}
+ m_RootOrder: 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: 20, y: 20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1454765733
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1454765731}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1454765734
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1454765731}
+--- !u!1 &1480243535
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1480243536}
+ - component: {fileID: 1480243538}
+ - component: {fileID: 1480243537}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1480243536
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1480243535}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1797445446}
+ m_Father: {fileID: 340443979}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: -20, y: -25}
+ m_SizeDelta: {x: 40, y: 40}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1480243537
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1480243535}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1480243538
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1480243535}
+--- !u!1 &1574856831
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1574856832}
+ - component: {fileID: 1574856835}
+ - component: {fileID: 1574856834}
+ - component: {fileID: 1574856833}
+ m_Layer: 5
+ m_Name: Scrollbar Vertical
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1574856832
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1574856831}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1226962337}
+ m_Father: {fileID: 366217782}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 20, y: 0}
+ m_Pivot: {x: 1, y: 1}
+--- !u!114 &1574856833
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1574856831}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -2061169968, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1454765733}
+ m_HandleRect: {fileID: 1454765732}
+ m_Direction: 2
+ m_Value: 0
+ m_Size: 1
+ m_NumberOfSteps: 0
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1574856834
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1574856831}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1574856835
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1574856831}
+--- !u!1 &1649623280
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1649623281}
+ - component: {fileID: 1649623283}
+ - component: {fileID: 1649623282}
+ m_Layer: 5
+ m_Name: Fill
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1649623281
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1649623280}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 875995122}
+ m_RootOrder: 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: 10, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1649623282
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1649623280}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1649623283
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1649623280}
+--- !u!1 &1684692008
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1684692011}
+ - component: {fileID: 1684692010}
+ - component: {fileID: 1684692009}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1684692009
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1684692008}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &1684692010
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1684692008}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 5
+--- !u!4 &1684692011
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1684692008}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1774105464
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1774105465}
+ - component: {fileID: 1774105468}
+ - component: {fileID: 1774105467}
+ - component: {fileID: 1774105466}
+ m_Layer: 5
+ m_Name: LoadMapButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1774105465
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1774105464}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 722239292}
+ m_Father: {fileID: 891097825}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 50, y: 50}
+ m_SizeDelta: {x: 200, y: 160}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &1774105466
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1774105464}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1774105467}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 420322408}
+ m_MethodName: OnListMapClick
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1774105467
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1774105464}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1774105468
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1774105464}
+--- !u!1 &1788237316
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1788237317}
+ m_Layer: 5
+ m_Name: MapSelectedPanel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &1788237317
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1788237316}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 593708274}
+ - {fileID: 641974779}
+ m_Father: {fileID: 927060901}
+ m_RootOrder: 2
+ 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!1 &1797445445
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1797445446}
+ - component: {fileID: 1797445448}
+ - component: {fileID: 1797445447}
+ m_Layer: 5
+ m_Name: Checkmark
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1797445446
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1797445445}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1480243536}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 50, y: 50}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1797445447
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1797445445}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1797445448
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1797445445}
+--- !u!1 &1805393950
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1805393951}
+ - component: {fileID: 1805393953}
+ - component: {fileID: 1805393952}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1805393951
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1805393950}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 24670476}
+ m_RootOrder: 0
+ 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 &1805393952
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1805393950}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 40
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 4
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'New
+
+ Map'
+--- !u!222 &1805393953
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1805393950}
+--- !u!4 &1923467232 stripped
+Transform:
+ m_PrefabParentObject: {fileID: 400002, guid: 12e5b8d681efa4d49913e121a0d9db5c, type: 3}
+ m_PrefabInternal: {fileID: 42278779}
+--- !u!1 &2079196986
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 2079196987}
+ - component: {fileID: 2079196990}
+ - component: {fileID: 2079196989}
+ - component: {fileID: 2079196988}
+ m_Layer: 5
+ m_Name: ExitButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &2079196987
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2079196986}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1033654288}
+ m_Father: {fileID: 420322405}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 50, y: 50}
+ m_SizeDelta: {x: 200, y: 160}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &2079196988
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2079196986}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 2079196989}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 420322408}
+ m_MethodName: OnExitClick
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &2079196989
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2079196986}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &2079196990
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2079196986}
+--- !u!1 &2097528936
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 2097528937}
+ - component: {fileID: 2097528939}
+ - component: {fileID: 2097528938}
+ m_Layer: 5
+ m_Name: LabelText
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2097528937
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2097528936}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 800071335}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.5}
+ m_AnchorMax: {x: 1, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2097528938
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2097528936}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 40
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 3
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Placenote Sample
+--- !u!222 &2097528939
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2097528936}
diff --git a/Assets/Placenote/Shaders/PointCloud.shader b/Assets/Placenote/Shaders/PointCloud.shader
new file mode 100755
index 00000000..1884eac4
--- /dev/null
+++ b/Assets/Placenote/Shaders/PointCloud.shader
@@ -0,0 +1,52 @@
+// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
+
+Shader "Custom/PointCloud" {
+Properties{
+ point_size("Point Size", Float) = 5.0
+}
+ SubShader {
+ Pass {
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+
+ #include "UnityCG.cginc"
+
+ struct appdata
+ {
+ float4 vertex : POSITION;
+ };
+
+ struct v2f
+ {
+ float4 vertex : SV_POSITION;
+ float4 color : COLOR;
+ float size : PSIZE;
+ };
+
+ float4x4 depthCameraTUnityWorld;
+ float point_size;
+
+ v2f vert (appdata v)
+ {
+ v2f o;
+ o.vertex = UnityObjectToClipPos(v.vertex);
+ o.size = point_size;
+
+ // Color should be based on pose relative info
+ o.color = v.vertex;
+ o.color.x = v.vertex.y / 2 + 0.5;
+ o.color.y = 0;
+ o.color.z = 1 - o.color.x;
+ return o;
+ }
+
+ fixed4 frag (v2f i) : SV_Target
+ {
+ return i.color;
+ }
+ ENDCG
+ }
+ }
+}
+
diff --git a/Assets/Placenote/Shaders/VertexColorPointCloud.shader b/Assets/Placenote/Shaders/VertexColorPointCloud.shader
new file mode 100755
index 00000000..ed27a5b6
--- /dev/null
+++ b/Assets/Placenote/Shaders/VertexColorPointCloud.shader
@@ -0,0 +1,56 @@
+// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
+
+Shader "Custom/UnlitVertexColorSize" {
+Properties{
+ point_size("Point Size", Float) = 5.0
+}
+
+SubShader {
+ Tags { "Queue" = "Transparent" }
+ Pass {
+ ZWrite Off // don't write to depth buffer
+ // in order not to occlude other objects
+
+ Blend SrcAlpha OneMinusSrcAlpha // use alpha blending
+
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+
+ #include "UnityCG.cginc"
+
+ struct IN
+ {
+ float4 pos : POSITION;
+ float4 color : COLOR;
+ };
+
+ struct v2f
+ {
+ float4 vertex : SV_POSITION;
+ float4 color : COLOR;
+ float size : PSIZE;
+ };
+
+ float point_size;
+
+ v2f vert (IN v)
+ {
+ v2f o;
+ o.vertex = UnityObjectToClipPos(v.pos);
+ o.size = point_size;
+
+ // Color should be based on pose relative info
+ o.color = v.color;
+ return o;
+ }
+
+ fixed4 frag (v2f i) : SV_Target
+ {
+ return i.color;
+ }
+ ENDCG
+ }
+}
+}
+
diff --git a/Assets/Prefabs/Arrow.prefab b/Assets/Prefabs/Arrow.prefab
new file mode 100755
index 00000000..8d9c6ca4
--- /dev/null
+++ b/Assets/Prefabs/Arrow.prefab
@@ -0,0 +1,242 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications: []
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 1078755997285888}
+ m_IsPrefabAsset: 1
+--- !u!1 &1078755997285888
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4765971397706330}
+ - component: {fileID: 114228278727972802}
+ - component: {fileID: 65565477974245764}
+ m_Layer: 8
+ m_Name: Arrow
+ m_TagString: waypoint
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &1524812944869476
+GameObject:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4583609937140868}
+ - component: {fileID: 33982775439823542}
+ - component: {fileID: 23297859635034978}
+ m_Layer: 8
+ m_Name: Cube
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &1691194071028530
+GameObject:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4475596762820292}
+ - component: {fileID: 33477567300530208}
+ - component: {fileID: 23765290675333890}
+ m_Layer: 8
+ m_Name: Cube (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &1994986859528856
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4160941132913520}
+ m_Layer: 0
+ m_Name: Arrow
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4160941132913520
+Transform:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1994986859528856}
+ m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068}
+ m_LocalPosition: {x: -0.215, y: 0, z: -0.214}
+ m_LocalScale: {x: 3.333333, y: 3.333333, z: 3.333333}
+ m_Children:
+ - {fileID: 4583609937140868}
+ - {fileID: 4475596762820292}
+ m_Father: {fileID: 4765971397706330}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
+--- !u!4 &4475596762820292
+Transform:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1691194071028530}
+ m_LocalRotation: {x: 0, y: -0.38268343, z: 0, w: 0.92387956}
+ m_LocalPosition: {x: -0.026, y: 0, z: 0.168}
+ m_LocalScale: {x: 0.35, y: 0.049999997, z: 0.050000004}
+ m_Children: []
+ m_Father: {fileID: 4160941132913520}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: -45, z: 0}
+--- !u!4 &4583609937140868
+Transform:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1524812944869476}
+ m_LocalRotation: {x: 0, y: 0.38268343, z: 0, w: 0.92387956}
+ m_LocalPosition: {x: -0.026, y: 0, z: -0.046}
+ m_LocalScale: {x: 0.35, y: 0.05, z: 0.05}
+ m_Children: []
+ m_Father: {fileID: 4160941132913520}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 45, z: 0}
+--- !u!4 &4765971397706330
+Transform:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1078755997285888}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.3, y: 0.3, z: 0.3}
+ m_Children:
+ - {fileID: 4160941132913520}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23297859635034978
+MeshRenderer:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1524812944869476}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 4294967295
+ m_Materials:
+ - {fileID: 2100000, guid: c56002505e3bf4ab7bedc75f696b6447, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!23 &23765290675333890
+MeshRenderer:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1691194071028530}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 4294967295
+ m_Materials:
+ - {fileID: 2100000, guid: c56002505e3bf4ab7bedc75f696b6447, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &33477567300530208
+MeshFilter:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1691194071028530}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!33 &33982775439823542
+MeshFilter:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1524812944869476}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65565477974245764
+BoxCollider:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1078755997285888}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &114228278727972802
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1078755997285888}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f52ea4ebd238041d38b5b00aa7e3034d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ wayPointNeighbor: {fileID: 0}
diff --git a/Assets/Prefabs/diamond.prefab b/Assets/Prefabs/diamond.prefab
new file mode 100644
index 00000000..f454bb1b
--- /dev/null
+++ b/Assets/Prefabs/diamond.prefab
@@ -0,0 +1,4851 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1160887633394466
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4872432487387244}
+ - component: {fileID: 114848763398544908}
+ - component: {fileID: 65097387241351288}
+ - component: {fileID: 114517702106885618}
+ m_Layer: 8
+ m_Name: diamond
+ m_TagString: waypoint
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4872432487387244
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1160887633394466}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 5}
+ m_LocalScale: {x: 0.3, y: 0.3, z: 0.3}
+ m_Children:
+ - {fileID: 4542737352643124}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114848763398544908
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1160887633394466}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 106cb6f19d9a745b1a2d6d51760d219b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ diamond: {fileID: 1889600940015092}
+--- !u!65 &65097387241351288
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1160887633394466}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 2.009786, y: 1, z: 2.0882883}
+ m_Center: {x: -0.21466413, y: 0, z: -0.032519102}
+--- !u!114 &114517702106885618
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1160887633394466}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f52ea4ebd238041d38b5b00aa7e3034d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ pos: {x: 0, y: 0, z: 0}
+ neighbors: []
+--- !u!1 &1889600940015092
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4542737352643124}
+ - component: {fileID: 33245775615253928}
+ - component: {fileID: 23965354378215418}
+ m_Layer: 8
+ m_Name: model
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4542737352643124
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1889600940015092}
+ m_LocalRotation: {x: 0, y: 0, z: -0.35020733, w: 0.9366723}
+ m_LocalPosition: {x: 0.46, y: -1.5, z: -0.75}
+ m_LocalScale: {x: 0.07, y: 0.07, z: 0.07}
+ m_Children:
+ - {fileID: 4640925069860916079}
+ m_Father: {fileID: 4872432487387244}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: -41}
+--- !u!33 &33245775615253928
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1889600940015092}
+ m_Mesh: {fileID: 4300004, guid: 6441887ee4d024062ab5a99134bc3bb1, type: 3}
+--- !u!23 &23965354378215418
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1889600940015092}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 4294967295
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: dbc6cac24fff041bd9050cbc45d06b77, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!1 &1835727936811475637
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4640925069860916079}
+ - component: {fileID: 9073426731880853896}
+ - component: {fileID: 6797106779331792012}
+ m_Layer: 8
+ m_Name: Particle System
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4640925069860916079
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1835727936811475637}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -21.2, y: 6.7, z: 8.1}
+ m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+ m_Children: []
+ m_Father: {fileID: 4542737352643124}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
+--- !u!198 &9073426731880853896
+ParticleSystem:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1835727936811475637}
+ serializedVersion: 6
+ lengthInSec: 1
+ simulationSpeed: 1
+ stopAction: 0
+ cullingMode: 1
+ ringBufferMode: 0
+ ringBufferLoopRange: {x: 0, y: 1}
+ looping: 1
+ prewarm: 0
+ playOnAwake: 1
+ useUnscaledTime: 0
+ autoRandomSeed: 1
+ useRigidbodyForVelocity: 1
+ startDelay:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ moveWithTransform: 0
+ moveWithCustomTransform: {fileID: 0}
+ scalingMode: 1
+ randomSeed: 0
+ InitialModule:
+ serializedVersion: 3
+ enabled: 1
+ startLifetime:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 5
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ startSpeed:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 5
+ minScalar: 5
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ startColor:
+ serializedVersion: 2
+ minMaxState: 0
+ minColor: {r: 1, g: 1, b: 1, a: 1}
+ maxColor: {r: 1, g: 1, b: 1, a: 1}
+ maxGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ minGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ startSize:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ startSizeY:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ startSizeZ:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ startRotationX:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ startRotationY:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ startRotation:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ randomizeRotationDirection: 0
+ maxNumParticles: 200
+ size3D: 0
+ rotation3D: 0
+ gravityModifier:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ ShapeModule:
+ serializedVersion: 6
+ enabled: 1
+ type: 0
+ angle: 25
+ length: 5
+ boxThickness: {x: 0, y: 0, z: 0}
+ radiusThickness: 1
+ donutRadius: 0.2
+ m_Position: {x: 0, y: 0, z: 0}
+ m_Rotation: {x: 0, y: 0, z: 0}
+ m_Scale: {x: 1, y: 1, z: 1}
+ placementMode: 0
+ m_MeshMaterialIndex: 0
+ m_MeshNormalOffset: 0
+ m_MeshSpawn:
+ mode: 0
+ spread: 0
+ speed:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ m_Mesh: {fileID: 0}
+ m_MeshRenderer: {fileID: 0}
+ m_SkinnedMeshRenderer: {fileID: 0}
+ m_Sprite: {fileID: 0}
+ m_SpriteRenderer: {fileID: 0}
+ m_UseMeshMaterialIndex: 0
+ m_UseMeshColors: 1
+ alignToDirection: 0
+ m_Texture: {fileID: 2800000, guid: e2eca2b854827436c9de1b8a438559b9, type: 3}
+ m_TextureClipChannel: 3
+ m_TextureClipThreshold: 0
+ m_TextureUVChannel: 0
+ m_TextureColorAffectsParticles: 1
+ m_TextureAlphaAffectsParticles: 1
+ m_TextureBilinearFiltering: 0
+ randomDirectionAmount: 0
+ sphericalDirectionAmount: 0
+ randomPositionAmount: 0
+ radius:
+ value: 1
+ mode: 0
+ spread: 0
+ speed:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ arc:
+ value: 360
+ mode: 0
+ spread: 0
+ speed:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ EmissionModule:
+ enabled: 1
+ serializedVersion: 4
+ rateOverTime:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 100
+ minScalar: 10
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ rateOverDistance:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 100
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ m_BurstCount: 0
+ m_Bursts: []
+ SizeModule:
+ enabled: 0
+ curve:
+ serializedVersion: 2
+ minMaxState: 1
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ y:
+ serializedVersion: 2
+ minMaxState: 1
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ z:
+ serializedVersion: 2
+ minMaxState: 1
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ separateAxes: 0
+ RotationModule:
+ enabled: 0
+ x:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ y:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curve:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0.7853982
+ minScalar: 0.7853982
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ separateAxes: 0
+ ColorModule:
+ enabled: 0
+ gradient:
+ serializedVersion: 2
+ minMaxState: 1
+ minColor: {r: 1, g: 1, b: 1, a: 1}
+ maxColor: {r: 1, g: 1, b: 1, a: 1}
+ maxGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ minGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ UVModule:
+ enabled: 0
+ mode: 0
+ timeMode: 0
+ fps: 30
+ frameOverTime:
+ serializedVersion: 2
+ minMaxState: 1
+ scalar: 0.9999
+ minScalar: 0.9999
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ startFrame:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ speedRange: {x: 0, y: 1}
+ tilesX: 1
+ tilesY: 1
+ animationType: 0
+ rowIndex: 0
+ cycles: 1
+ uvChannelMask: -1
+ randomRow: 1
+ sprites:
+ - sprite: {fileID: 0}
+ flipU: 0
+ flipV: 0
+ VelocityModule:
+ enabled: 0
+ x:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ y:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ z:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ orbitalX:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ orbitalY:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ orbitalZ:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ orbitalOffsetX:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ orbitalOffsetY:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ orbitalOffsetZ:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ radial:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ speedModifier:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ inWorldSpace: 0
+ InheritVelocityModule:
+ enabled: 0
+ m_Mode: 0
+ m_Curve:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ ForceModule:
+ enabled: 0
+ x:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ y:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ z:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ inWorldSpace: 0
+ randomizePerFrame: 0
+ ExternalForcesModule:
+ enabled: 0
+ multiplier: 1
+ influenceFilter: 0
+ influenceMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ influenceList: []
+ ClampVelocityModule:
+ enabled: 0
+ x:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ y:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ z:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ magnitude:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ separateAxis: 0
+ inWorldSpace: 0
+ multiplyDragByParticleSize: 1
+ multiplyDragByParticleVelocity: 1
+ dampen: 0
+ drag:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ NoiseModule:
+ enabled: 0
+ strength:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ strengthY:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ strengthZ:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ separateAxes: 0
+ frequency: 0.5
+ damping: 1
+ octaves: 1
+ octaveMultiplier: 0.5
+ octaveScale: 2
+ quality: 2
+ scrollSpeed:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ remap:
+ serializedVersion: 2
+ minMaxState: 1
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ remapY:
+ serializedVersion: 2
+ minMaxState: 1
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ remapZ:
+ serializedVersion: 2
+ minMaxState: 1
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ remapEnabled: 0
+ positionAmount:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ rotationAmount:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ sizeAmount:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ SizeBySpeedModule:
+ enabled: 0
+ curve:
+ serializedVersion: 2
+ minMaxState: 1
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ y:
+ serializedVersion: 2
+ minMaxState: 1
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ z:
+ serializedVersion: 2
+ minMaxState: 1
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ range: {x: 0, y: 1}
+ separateAxes: 0
+ RotationBySpeedModule:
+ enabled: 1
+ x:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ y:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curve:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 3.4906585
+ minScalar: 0.7853982
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ separateAxes: 0
+ range: {x: 0, y: 1}
+ ColorBySpeedModule:
+ enabled: 0
+ gradient:
+ serializedVersion: 2
+ minMaxState: 1
+ minColor: {r: 1, g: 1, b: 1, a: 1}
+ maxColor: {r: 1, g: 1, b: 1, a: 1}
+ maxGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ minGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ range: {x: 0, y: 1}
+ CollisionModule:
+ enabled: 0
+ serializedVersion: 3
+ type: 0
+ collisionMode: 0
+ colliderForce: 0
+ multiplyColliderForceByParticleSize: 0
+ multiplyColliderForceByParticleSpeed: 0
+ multiplyColliderForceByCollisionAngle: 1
+ plane0: {fileID: 0}
+ plane1: {fileID: 0}
+ plane2: {fileID: 0}
+ plane3: {fileID: 0}
+ plane4: {fileID: 0}
+ plane5: {fileID: 0}
+ m_Dampen:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ m_Bounce:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ m_EnergyLossOnCollision:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minKillSpeed: 0
+ maxKillSpeed: 10000
+ radiusScale: 1
+ collidesWith:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ maxCollisionShapes: 256
+ quality: 0
+ voxelSize: 0.5
+ collisionMessages: 0
+ collidesWithDynamic: 1
+ interiorCollisions: 0
+ TriggerModule:
+ enabled: 0
+ collisionShape0: {fileID: 0}
+ collisionShape1: {fileID: 0}
+ collisionShape2: {fileID: 0}
+ collisionShape3: {fileID: 0}
+ collisionShape4: {fileID: 0}
+ collisionShape5: {fileID: 0}
+ inside: 1
+ outside: 0
+ enter: 0
+ exit: 0
+ radiusScale: 1
+ SubModule:
+ serializedVersion: 2
+ enabled: 0
+ subEmitters:
+ - serializedVersion: 2
+ emitter: {fileID: 0}
+ type: 0
+ properties: 0
+ emitProbability: 1
+ LightsModule:
+ enabled: 0
+ ratio: 0
+ light: {fileID: 0}
+ randomDistribution: 1
+ color: 1
+ range: 1
+ intensity: 1
+ rangeCurve:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ intensityCurve:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ maxLights: 20
+ TrailModule:
+ enabled: 0
+ mode: 0
+ ratio: 1
+ lifetime:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minVertexDistance: 0.2
+ textureMode: 0
+ ribbonCount: 1
+ shadowBias: 0.5
+ worldSpace: 0
+ dieWithParticles: 1
+ sizeAffectsWidth: 1
+ sizeAffectsLifetime: 0
+ inheritParticleColor: 1
+ generateLightingData: 0
+ splitSubEmitterRibbons: 0
+ colorOverLifetime:
+ serializedVersion: 2
+ minMaxState: 0
+ minColor: {r: 1, g: 1, b: 1, a: 1}
+ maxColor: {r: 1, g: 1, b: 1, a: 1}
+ maxGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ minGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ widthOverTrail:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 1
+ minScalar: 1
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ colorOverTrail:
+ serializedVersion: 2
+ minMaxState: 0
+ minColor: {r: 1, g: 1, b: 1, a: 1}
+ maxColor: {r: 1, g: 1, b: 1, a: 1}
+ maxGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ minGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ CustomDataModule:
+ enabled: 0
+ mode0: 0
+ vectorComponentCount0: 4
+ color0:
+ serializedVersion: 2
+ minMaxState: 0
+ minColor: {r: 1, g: 1, b: 1, a: 1}
+ maxColor: {r: 1, g: 1, b: 1, a: 1}
+ maxGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ minGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ colorLabel0: Color
+ vector0_0:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ vectorLabel0_0: X
+ vector0_1:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ vectorLabel0_1: Y
+ vector0_2:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ vectorLabel0_2: Z
+ vector0_3:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ vectorLabel0_3: W
+ mode1: 0
+ vectorComponentCount1: 4
+ color1:
+ serializedVersion: 2
+ minMaxState: 0
+ minColor: {r: 1, g: 1, b: 1, a: 1}
+ maxColor: {r: 1, g: 1, b: 1, a: 1}
+ maxGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ minGradient:
+ serializedVersion: 2
+ key0: {r: 1, g: 1, b: 1, a: 1}
+ key1: {r: 1, g: 1, b: 1, a: 1}
+ key2: {r: 0, g: 0, b: 0, a: 0}
+ key3: {r: 0, g: 0, b: 0, a: 0}
+ key4: {r: 0, g: 0, b: 0, a: 0}
+ key5: {r: 0, g: 0, b: 0, a: 0}
+ key6: {r: 0, g: 0, b: 0, a: 0}
+ key7: {r: 0, g: 0, b: 0, a: 0}
+ ctime0: 0
+ ctime1: 65535
+ ctime2: 0
+ ctime3: 0
+ ctime4: 0
+ ctime5: 0
+ ctime6: 0
+ ctime7: 0
+ atime0: 0
+ atime1: 65535
+ atime2: 0
+ atime3: 0
+ atime4: 0
+ atime5: 0
+ atime6: 0
+ atime7: 0
+ m_Mode: 0
+ m_NumColorKeys: 2
+ m_NumAlphaKeys: 2
+ colorLabel1: Color
+ vector1_0:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ vectorLabel1_0: X
+ vector1_1:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ vectorLabel1_1: Y
+ vector1_2:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ vectorLabel1_2: Z
+ vector1_3:
+ serializedVersion: 2
+ minMaxState: 0
+ scalar: 0
+ minScalar: 0
+ maxCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ minCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ vectorLabel1_3: W
+--- !u!199 &6797106779331792012
+ParticleSystemRenderer:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1835727936811475637}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 9aac903a9b4734c478caa0735c4c010d, type: 2}
+ - {fileID: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_RenderMode: 0
+ m_SortMode: 0
+ m_MinParticleSize: 0.01
+ m_MaxParticleSize: 0.02
+ m_CameraVelocityScale: 0
+ m_VelocityScale: 0
+ m_LengthScale: 2
+ m_SortingFudge: 0
+ m_NormalDirection: 1
+ m_ShadowBias: 0
+ m_RenderAlignment: 0
+ m_Pivot: {x: 0, y: 0, z: 0}
+ m_Flip: {x: 0, y: 0, z: 0}
+ m_UseCustomVertexStreams: 0
+ m_EnableGPUInstancing: 1
+ m_ApplyActiveColorSpace: 1
+ m_AllowRoll: 1
+ m_VertexStreams: 00010304
+ m_Mesh: {fileID: 0}
+ m_Mesh1: {fileID: 0}
+ m_Mesh2: {fileID: 0}
+ m_Mesh3: {fileID: 0}
+ m_MaskInteraction: 0
diff --git a/Assets/Prefabs/waypoint.prefab b/Assets/Prefabs/waypoint.prefab
new file mode 100755
index 00000000..a9d2a083
--- /dev/null
+++ b/Assets/Prefabs/waypoint.prefab
@@ -0,0 +1,127 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications: []
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 1417247514451880}
+ m_IsPrefabAsset: 1
+--- !u!1 &1417247514451880
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4992156723522432}
+ - component: {fileID: 65106213346310694}
+ m_Layer: 8
+ m_Name: waypoint
+ m_TagString: waypoint
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &1923690200426668
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4203816378857246}
+ - component: {fileID: 23502613972932210}
+ - component: {fileID: 33223278109399234}
+ m_Layer: 8
+ m_Name: Circle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4203816378857246
+Transform:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1923690200426668}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 4992156723522432}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4992156723522432
+Transform:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1417247514451880}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.3, y: 0.3, z: 0.3}
+ m_Children:
+ - {fileID: 4203816378857246}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!23 &23502613972932210
+MeshRenderer:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1923690200426668}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 4294967295
+ m_Materials:
+ - {fileID: 2100000, guid: 79a11e4e0262446209f4d0f8c6ccbc2f, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &33223278109399234
+MeshFilter:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1923690200426668}
+ m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &65106213346310694
+BoxCollider:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1417247514451880}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
diff --git a/Assets/Scenes/CreateMap.unity b/Assets/Scenes/CreateMap.unity
new file mode 100644
index 00000000..c9d869ed
--- /dev/null
+++ b/Assets/Scenes/CreateMap.unity
@@ -0,0 +1,1627 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0.44657838, g: 0.49641234, b: 0.57481676, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_GIWorkflowMode: 0
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 1
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 500
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 2
+ m_PVRDenoiserTypeDirect: 0
+ m_PVRDenoiserTypeIndirect: 0
+ m_PVRDenoiserTypeAO: 0
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 0
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &101716590
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 101716591}
+ - component: {fileID: 101716595}
+ - component: {fileID: 101716594}
+ - component: {fileID: 101716596}
+ - component: {fileID: 101716592}
+ - component: {fileID: 101716593}
+ m_Layer: 5
+ m_Name: MainPanel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &101716591
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 101716590}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 846997176}
+ - {fileID: 2071961465}
+ - {fileID: 1291491901}
+ m_Father: {fileID: 1743309243}
+ m_RootOrder: 0
+ 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 &101716592
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 101716590}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 79300b06bab93423993c4c10e67efb8f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &101716593
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 101716590}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1230385270b634cfc9f9dcb3cea1bb82, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ navController: {fileID: 0}
+ ShapePrefabs:
+ - {fileID: 1417247514451880, guid: 756520d3983b446779ee0b9bbd119c15, type: 3}
+ - {fileID: 1160887633394466, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+ - {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ shapeInfoList: []
+ shapeObjList: []
+--- !u!114 &101716594
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 101716590}
+ 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_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ 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 &101716595
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 101716590}
+ m_CullTransparentMesh: 0
+--- !u!114 &101716596
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 101716590}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0a9f92eaed990465fa4f99d7e8103343, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ debugText: {fileID: 1291491902}
+--- !u!1 &400757283
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 400757284}
+ - component: {fileID: 400757286}
+ - component: {fileID: 400757285}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &400757284
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 400757283}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 846997176}
+ m_RootOrder: 0
+ 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 &400757285
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 400757283}
+ 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: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 34
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 4
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'Start New
+
+ Map'
+--- !u!222 &400757286
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 400757283}
+ m_CullTransparentMesh: 0
+--- !u!1 &846997175
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 846997176}
+ - component: {fileID: 846997179}
+ - component: {fileID: 846997178}
+ - component: {fileID: 846997177}
+ m_Layer: 5
+ m_Name: StartNew
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &846997176
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 846997175}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 400757284}
+ m_Father: {fileID: 101716591}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 258.9, y: 49.999996}
+ m_SizeDelta: {x: 200, y: 97.3}
+ m_Pivot: {x: 1, y: 0}
+--- !u!114 &846997177
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 846997175}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 846997178}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 101716596}
+ m_MethodName: OnStartNewClick
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ - m_Target: {fileID: 2071961464}
+ m_MethodName: SetActive
+ m_Mode: 6
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 1
+ m_CallState: 2
+ - m_Target: {fileID: 846997175}
+ m_MethodName: SetActive
+ m_Mode: 6
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &846997178
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 846997175}
+ 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.21698111, g: 0.20367567, b: 0.20367567, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ 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 &846997179
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 846997175}
+ m_CullTransparentMesh: 0
+--- !u!1 &1008464693
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1008464694}
+ - component: {fileID: 1008464697}
+ - component: {fileID: 1008464696}
+ - component: {fileID: 1008464695}
+ m_Layer: 5
+ m_Name: DropDestination
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1008464694
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1008464693}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1779024564}
+ m_Father: {fileID: 2071961465}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: 961.5, y: 0}
+ m_SizeDelta: {x: 200, y: 97.3}
+ m_Pivot: {x: 1, y: 0}
+--- !u!114 &1008464695
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1008464693}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1008464696}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 101716596}
+ m_MethodName: CreateDestination
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ - m_Target: {fileID: 1008464693}
+ m_MethodName: SetActive
+ m_Mode: 6
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1008464696
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1008464693}
+ 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.21698111, g: 0.20367567, b: 0.20367567, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ 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 &1008464697
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1008464693}
+ m_CullTransparentMesh: 0
+--- !u!1 &1094161564
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1094161572}
+ - component: {fileID: 1094161565}
+ - component: {fileID: 1094161571}
+ - component: {fileID: 1094161570}
+ - component: {fileID: 1094161569}
+ - component: {fileID: 1094161568}
+ - component: {fileID: 1094161566}
+ - component: {fileID: 1094161567}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!20 &1094161565
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1094161564}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 3
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_FocalLength: 50
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.01
+ far clip plane: 10
+ field of view: 26.991467
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: 0
+ 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: 1
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!114 &1094161566
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1094161564}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a341b2177fbb649d6889d31dcff2b302, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ mCamera: {fileID: 1094161565}
+--- !u!114 &1094161567
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1094161564}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f87e4989c5e703e428df4339d59e2c72, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ showMainBehavior: 1
+ showInnerGlowBehavior: 1
+ rtFormat: 0
+ blurShader: {fileID: 4800000, guid: 1855d9636fad3914bacc4a543165c974, type: 3}
+ compositeShader: {fileID: 4800000, guid: e384de4389ba527479054baf0ddb1d3e, type: 3}
+ selectiveRenderShader: {fileID: 4800000, guid: c04b7cae8accdfb4e9c2648823ff39d7,
+ type: 3}
+ glowLayer:
+ serializedVersion: 2
+ m_Bits: 256
+ glowType: 0
+ glowTint: {r: 1, g: 1, b: 1, a: 0}
+ blurSpreadInner: 1.82
+ blurIterations: 10
+ glowIntensityInner: 0.158
+ samples: 2
+--- !u!114 &1094161568
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1094161564}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ce437cef046e841aabd6070890e79d41, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &1094161569
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1094161564}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b58ecea7a196242dd879c814ac05084c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ClearMaterial: {fileID: 2100000, guid: f1d9352050a75486f878ab19fa578f16, type: 2}
+--- !u!81 &1094161570
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1094161564}
+ m_Enabled: 1
+--- !u!124 &1094161571
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1094161564}
+ m_Enabled: 1
+--- !u!4 &1094161572
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1094161564}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1251828896}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1251828890
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1251828896}
+ - component: {fileID: 1251828895}
+ - component: {fileID: 1251828894}
+ - component: {fileID: 1251828893}
+ - component: {fileID: 1251828892}
+ - component: {fileID: 1251828891}
+ m_Layer: 0
+ m_Name: PlacenoteCameraManager
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1251828891
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251828890}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 712951c32e29b490fa39ee46067ee5cb, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ DisableARRemote: 1
+--- !u!114 &1251828892
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251828890}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b1876410d8b514981a4b6492316ae3e0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &1251828893
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251828890}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ff5f4fbe82b37418195b1f108716eb40, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ cameraChild: {fileID: 1094161565}
+ cameraParent: {fileID: 1251828890}
+--- !u!114 &1251828894
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251828890}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8244b0a8db9044970b67cdf6b966240b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ apiKey: 0r72o98szfeiq82vtg4bwemkp1xaejedfbtf1oaw18rmvvp673q6roezc2f2okm81dl93ng26dkj0q1r8lep0bnqf7wrrufgfuu1
+--- !u!114 &1251828895
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251828890}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 462d46d2423bb4f738d2497a397b1590, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_camera: {fileID: 1094161565}
+ startAlignment: 0
+ planeDetection: 3
+ detectionImages: {fileID: 0}
+ getPointCloud: 1
+ enableLightEstimation: 1
+ enableAutoFocus: 1
+--- !u!4 &1251828896
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251828890}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1094161572}
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1291491900
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1291491901}
+ - component: {fileID: 1291491903}
+ - component: {fileID: 1291491902}
+ m_Layer: 5
+ m_Name: txtMapSaved
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1291491901
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1291491900}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 101716591}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: -16.19}
+ m_SizeDelta: {x: 160, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1291491902
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1291491900}
+ 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: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 120
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 120
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 1
+ m_VerticalOverflow: 1
+ m_LineSpacing: 1
+ m_Text:
+--- !u!222 &1291491903
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1291491900}
+ m_CullTransparentMesh: 0
+--- !u!1 &1345559384
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1345559387}
+ - component: {fileID: 1345559386}
+ - component: {fileID: 1345559385}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1345559385
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1345559384}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &1345559386
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1345559384}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 5
+--- !u!4 &1345559387
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1345559384}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1601649420
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1601649422}
+ - component: {fileID: 1601649421}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &1601649421
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1601649420}
+ m_Enabled: 1
+ serializedVersion: 9
+ m_Type: 1
+ m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.802082
+ 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_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &1601649422
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1601649420}
+ m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+ m_LocalPosition: {x: 0, y: 3, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &1700857439
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1700857440}
+ - component: {fileID: 1700857442}
+ - component: {fileID: 1700857441}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1700857440
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1700857439}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 2071961465}
+ m_RootOrder: 0
+ 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 &1700857441
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1700857439}
+ 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: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 34
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 4
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Save Map
+--- !u!222 &1700857442
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1700857439}
+ m_CullTransparentMesh: 0
+--- !u!1 &1743309239
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1743309243}
+ - component: {fileID: 1743309242}
+ - component: {fileID: 1743309241}
+ - component: {fileID: 1743309240}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1743309240
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1743309239}
+ 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 &1743309241
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1743309239}
+ 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: 1280, y: 720}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+--- !u!223 &1743309242
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1743309239}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 1
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 25
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &1743309243
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1743309239}
+ 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_Children:
+ - {fileID: 101716591}
+ m_Father: {fileID: 0}
+ m_RootOrder: 3
+ 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 &1751522914
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1751522918}
+ - component: {fileID: 1751522917}
+ - component: {fileID: 1751522916}
+ - component: {fileID: 1751522915}
+ m_Layer: 0
+ m_Name: PlacenoteMap
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!23 &1751522915
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1751522914}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 4294967295
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &1751522916
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1751522914}
+ m_Mesh: {fileID: 0}
+--- !u!114 &1751522917
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1751522914}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1dc6d171d179d4740bc550e69a938e46, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ mPtCloudMat: {fileID: 2100000, guid: 4742e6c756dd5477da6adeeb81de6a89, type: 2}
+ mMap: {fileID: 1751522914}
+--- !u!4 &1751522918
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1751522914}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1779024563
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1779024564}
+ - component: {fileID: 1779024566}
+ - component: {fileID: 1779024565}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1779024564
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1779024563}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1008464694}
+ m_RootOrder: 0
+ 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 &1779024565
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1779024563}
+ 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: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 34
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 4
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: "Create \nDestination"
+--- !u!222 &1779024566
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1779024563}
+ m_CullTransparentMesh: 0
+--- !u!1 &2071961464
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2071961465}
+ - component: {fileID: 2071961468}
+ - component: {fileID: 2071961467}
+ - component: {fileID: 2071961466}
+ m_Layer: 5
+ m_Name: SaveMap
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &2071961465
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2071961464}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 0.99999994}
+ m_Children:
+ - {fileID: 1700857440}
+ - {fileID: 1008464694}
+ m_Father: {fileID: 101716591}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 258.90002, y: 50}
+ m_SizeDelta: {x: 200, y: 97.3}
+ m_Pivot: {x: 1, y: 0}
+--- !u!114 &2071961466
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2071961464}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 2071961467}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 101716596}
+ m_MethodName: OnSaveMapClick
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ - m_Target: {fileID: 2071961464}
+ m_MethodName: SetActive
+ m_Mode: 6
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &2071961467
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2071961464}
+ 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.21698111, g: 0.20367567, b: 0.20367567, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ 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 &2071961468
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2071961464}
+ m_CullTransparentMesh: 0
diff --git a/Assets/Scenes/CreateMap_Profiles/Effects Profile.asset b/Assets/Scenes/CreateMap_Profiles/Effects Profile.asset
new file mode 100755
index 00000000..9d2825dc
--- /dev/null
+++ b/Assets/Scenes/CreateMap_Profiles/Effects Profile.asset
@@ -0,0 +1,61 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8e6292b2c06870d4495f009f912b9600, type: 3}
+ m_Name: Effects Profile
+ m_EditorClassIdentifier:
+ settings:
+ - {fileID: 114387357338824894}
+--- !u!114 &114387357338824894
+MonoBehaviour:
+ m_ObjectHideFlags: 3
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 48a79b01ea5641d4aa6daa2e23605641, type: 3}
+ m_Name: Bloom
+ m_EditorClassIdentifier:
+ active: 1
+ enabled:
+ overrideState: 1
+ value: 1
+ intensity:
+ overrideState: 1
+ value: 1.05
+ threshold:
+ overrideState: 1
+ value: 0.66
+ softKnee:
+ overrideState: 1
+ value: 0.5
+ clamp:
+ overrideState: 0
+ value: 65472
+ diffusion:
+ overrideState: 1
+ value: 5.44
+ anamorphicRatio:
+ overrideState: 0
+ value: 0
+ color:
+ overrideState: 0
+ value: {r: 39.396626, g: 39.396626, b: 39.396626, a: 1}
+ fastMode:
+ overrideState: 1
+ value: 1
+ dirtTexture:
+ overrideState: 0
+ value: {fileID: 0}
+ defaultState: 1
+ dirtIntensity:
+ overrideState: 1
+ value: 0.95
diff --git a/Assets/Scenes/Home.unity b/Assets/Scenes/Home.unity
new file mode 100755
index 00000000..aadf4683
--- /dev/null
+++ b/Assets/Scenes/Home.unity
@@ -0,0 +1,927 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0.44657868, g: 0.49641263, b: 0.57481706, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_GIWorkflowMode: 0
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_TemporalCoherenceThreshold: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 1
+ m_LightmapEditorSettings:
+ serializedVersion: 10
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVRFilteringMode: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ShowResolutionOverlay: 1
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &329299650
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 329299651}
+ - component: {fileID: 329299654}
+ - component: {fileID: 329299653}
+ - component: {fileID: 329299652}
+ m_Layer: 5
+ m_Name: ReadMap
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &329299651
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 329299650}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 2098920090}
+ m_Father: {fileID: 417646669}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0.5}
+ m_AnchorMax: {x: 1, y: 0.5}
+ m_AnchoredPosition: {x: -250, y: 0}
+ m_SizeDelta: {x: 160, y: 78}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &329299652
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 329299650}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 329299653}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1360498737}
+ m_MethodName: LoadSceneByName
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: ReadMap
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &329299653
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 329299650}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0.66962224, b: 0.990566, a: 0.30980393}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &329299654
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 329299650}
+ m_CullTransparentMesh: 0
+--- !u!1 &417646668
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 417646669}
+ m_Layer: 5
+ m_Name: Buttons
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &417646669
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 417646668}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1452800130}
+ - {fileID: 329299651}
+ m_Father: {fileID: 2096307961}
+ m_RootOrder: 0
+ 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!1 &496677441
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 496677444}
+ - component: {fileID: 496677443}
+ - component: {fileID: 496677442}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &496677442
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 496677441}
+ m_Enabled: 1
+--- !u!20 &496677443
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 496677441}
+ 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_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_FocalLength: 50
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 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!4 &496677444
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 496677441}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 1, z: -10}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &616562912
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 616562914}
+ - component: {fileID: 616562913}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &616562913
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 616562912}
+ m_Enabled: 1
+ serializedVersion: 8
+ m_Type: 1
+ m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ 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_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_Lightmapping: 4
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &616562914
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 616562912}
+ m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+ m_LocalPosition: {x: 0, y: 3, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &1005361440
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1005361441}
+ - component: {fileID: 1005361443}
+ - component: {fileID: 1005361442}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1005361441
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1005361440}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1452800130}
+ m_RootOrder: 0
+ 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 &1005361442
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1005361440}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 21
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Create Map
+--- !u!222 &1005361443
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1005361440}
+ m_CullTransparentMesh: 0
+--- !u!1 &1360498732
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1360498736}
+ - component: {fileID: 1360498735}
+ - component: {fileID: 1360498734}
+ - component: {fileID: 1360498733}
+ - component: {fileID: 1360498737}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1360498733
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1360498732}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1360498734
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1360498732}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, 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
+--- !u!223 &1360498735
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1360498732}
+ 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_AdditionalShaderChannelsFlag: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &1360498736
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1360498732}
+ 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_Children:
+ - {fileID: 2096307961}
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ 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!114 &1360498737
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1360498732}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 79300b06bab93423993c4c10e67efb8f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &1452800129
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1452800130}
+ - component: {fileID: 1452800133}
+ - component: {fileID: 1452800132}
+ - component: {fileID: 1452800131}
+ m_Layer: 5
+ m_Name: CreateMap
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1452800130
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1452800129}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1005361441}
+ m_Father: {fileID: 417646669}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.5}
+ m_AnchorMax: {x: 0, y: 0.5}
+ m_AnchoredPosition: {x: 250, y: 0}
+ m_SizeDelta: {x: 160, y: 78}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1452800131
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1452800129}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1452800132}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1360498737}
+ m_MethodName: LoadSceneByName
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: CreateMap
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1452800132
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1452800129}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0.66962224, b: 0.990566, a: 0.30980393}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &1452800133
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1452800129}
+ m_CullTransparentMesh: 0
+--- !u!1 &2096307960
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2096307961}
+ - component: {fileID: 2096307963}
+ - component: {fileID: 2096307962}
+ m_Layer: 5
+ m_Name: Image
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2096307961
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2096307960}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 417646669}
+ m_Father: {fileID: 1360498736}
+ m_RootOrder: 0
+ 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 &2096307962
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2096307960}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.2264151, g: 0.22321111, b: 0.22321111, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ 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
+--- !u!222 &2096307963
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2096307960}
+ m_CullTransparentMesh: 0
+--- !u!1 &2098920089
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2098920090}
+ - component: {fileID: 2098920092}
+ - component: {fileID: 2098920091}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2098920090
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2098920089}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 329299651}
+ m_RootOrder: 0
+ 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 &2098920091
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2098920089}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 21
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Read Map
+--- !u!222 &2098920092
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2098920089}
+ m_CullTransparentMesh: 0
+--- !u!1 &2112532959
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2112532962}
+ - component: {fileID: 2112532961}
+ - component: {fileID: 2112532960}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &2112532960
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2112532959}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &2112532961
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2112532959}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!4 &2112532962
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2112532959}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/Assets/Scenes/ReadMap.unity b/Assets/Scenes/ReadMap.unity
new file mode 100644
index 00000000..58f4a4ad
--- /dev/null
+++ b/Assets/Scenes/ReadMap.unity
@@ -0,0 +1,2170 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0.44657838, g: 0.49641234, b: 0.57481676, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_GIWorkflowMode: 0
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 1
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 500
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 2
+ m_PVRDenoiserTypeDirect: 0
+ m_PVRDenoiserTypeIndirect: 0
+ m_PVRDenoiserTypeAO: 0
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 0
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1001 &251691234
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (8)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -0.04
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 5.92
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 8
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &251691235 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 251691234}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &289462991
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 289462993}
+ - component: {fileID: 289462992}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &289462992
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 289462991}
+ m_Enabled: 1
+ serializedVersion: 9
+ m_Type: 1
+ m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.802082
+ 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_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &289462993
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 289462991}
+ m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+ m_LocalPosition: {x: 0, y: 3, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1001 &311395762
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (1)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -0.025
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 1.98
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &311395763 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 311395762}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &491981351
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 491981352}
+ - component: {fileID: 491981354}
+ - component: {fileID: 491981353}
+ m_Layer: 5
+ m_Name: txtDebug
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &491981352
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 491981351}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 766341134}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: -16.19}
+ m_SizeDelta: {x: 160, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &491981353
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 491981351}
+ 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: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 120
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 120
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 1
+ m_VerticalOverflow: 1
+ m_LineSpacing: 1
+ m_Text:
+--- !u!222 &491981354
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 491981351}
+ m_CullTransparentMesh: 0
+--- !u!1001 &498201548
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (6)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0.94
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 3.955
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 6
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &498201549 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 498201548}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &573644917
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (10)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0.05
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 11
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &573644918 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 573644917}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &648899108
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (11)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0.21
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -0.77
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 12
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &648899109 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 648899108}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &649884432
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 649884435}
+ - component: {fileID: 649884434}
+ - component: {fileID: 649884433}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &649884433
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 649884432}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &649884434
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 649884432}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 5
+--- !u!4 &649884435
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 649884432}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &766341133
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 766341134}
+ - component: {fileID: 766341139}
+ - component: {fileID: 766341138}
+ - component: {fileID: 766341136}
+ - component: {fileID: 766341135}
+ - component: {fileID: 766341137}
+ m_Layer: 5
+ m_Name: MainPanel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &766341134
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 766341133}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 491981352}
+ m_Father: {fileID: 2008001057}
+ m_RootOrder: 0
+ 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 &766341135
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 766341133}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9dfd9a04614224bb6b59f3aba3a84e72, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &766341136
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 766341133}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 79300b06bab93423993c4c10e67efb8f, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &766341137
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 766341133}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1230385270b634cfc9f9dcb3cea1bb82, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ navController: {fileID: 1799867782}
+ ShapePrefabs:
+ - {fileID: 1417247514451880, guid: 756520d3983b446779ee0b9bbd119c15, type: 3}
+ - {fileID: 1160887633394466, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+ - {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ shapeInfoList: []
+ shapeObjList: []
+--- !u!114 &766341138
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 766341133}
+ 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_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ 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 &766341139
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 766341133}
+ m_CullTransparentMesh: 0
+--- !u!1 &822758256
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 822758257}
+ m_Layer: 0
+ m_Name: DISABLE!!
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!4 &822758257
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 822758256}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0.41, y: 0, z: 4.22}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1478039726}
+ - {fileID: 311395763}
+ - {fileID: 1595085415}
+ - {fileID: 1303295885}
+ - {fileID: 1862581022}
+ - {fileID: 1040061948}
+ - {fileID: 498201549}
+ - {fileID: 1011075449}
+ - {fileID: 251691235}
+ - {fileID: 1622394614}
+ - {fileID: 1333720170}
+ - {fileID: 573644918}
+ - {fileID: 648899109}
+ - {fileID: 1241724776}
+ - {fileID: 1702714617}
+ - {fileID: 1855402968}
+ - {fileID: 1150129053}
+ - {fileID: 2141698675}
+ m_Father: {fileID: 0}
+ m_RootOrder: 5
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &1011075448
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (7)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 1.9
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 4.11
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 7
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &1011075449 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 1011075448}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1040061947
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (5)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -0.07
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 6.89
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &1040061948 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 1040061947}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1150129052
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (15)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -0.04
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 16
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &1150129053 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 1150129052}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &1159099857
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1159099863}
+ - component: {fileID: 1159099862}
+ - component: {fileID: 1159099861}
+ - component: {fileID: 1159099860}
+ - component: {fileID: 1159099859}
+ - component: {fileID: 1159099858}
+ m_Layer: 0
+ m_Name: PlacenoteCameraManager
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1159099858
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1159099857}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 712951c32e29b490fa39ee46067ee5cb, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ DisableARRemote: 1
+--- !u!114 &1159099859
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1159099857}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b1876410d8b514981a4b6492316ae3e0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &1159099860
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1159099857}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ff5f4fbe82b37418195b1f108716eb40, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ cameraChild: {fileID: 1799867780}
+ cameraParent: {fileID: 1159099857}
+--- !u!114 &1159099861
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1159099857}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8244b0a8db9044970b67cdf6b966240b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ apiKey: 0r72o98szfeiq82vtg4bwemkp1xaejedfbtf1oaw18rmvvp673q6roezc2f2okm81dl93ng26dkj0q1r8lep0bnqf7wrrufgfuu1
+--- !u!114 &1159099862
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1159099857}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 462d46d2423bb4f738d2497a397b1590, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_camera: {fileID: 1799867780}
+ startAlignment: 0
+ planeDetection: 3
+ detectionImages: {fileID: 0}
+ getPointCloud: 1
+ enableLightEstimation: 1
+ enableAutoFocus: 1
+--- !u!4 &1159099863
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1159099857}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0.29, y: 0, z: -0.17}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1799867789}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &1241724775
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (12)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -0.77
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 13
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &1241724776 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 1241724775}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1303295884
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (3)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -0.015
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 3.8
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 3
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &1303295885 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 1303295884}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1333720169
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (9)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -0.03999996
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 4.84
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &1333720170 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 1333720169}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1478039725
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 1.06
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &1478039726 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 1478039725}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1595085414
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (2)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0.022
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 2.9
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &1595085415 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 1595085414}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1622394613
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1160887633394466, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+ propertyPath: m_Name
+ value: diamond
+ objectReference: {fileID: 0}
+ - target: {fileID: 4872432487387244, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 2.93
+ objectReference: {fileID: 0}
+ - target: {fileID: 4872432487387244, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4872432487387244, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 3.93
+ objectReference: {fileID: 0}
+ - target: {fileID: 4872432487387244, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4872432487387244, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4872432487387244, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4872432487387244, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4872432487387244, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+ propertyPath: m_RootOrder
+ value: 9
+ objectReference: {fileID: 0}
+ - target: {fileID: 4872432487387244, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4872432487387244, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4872432487387244, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: eedaac2fc25db4ab99371a7c1f59dd58, type: 3}
+--- !u!4 &1622394614 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4872432487387244, guid: eedaac2fc25db4ab99371a7c1f59dd58,
+ type: 3}
+ m_PrefabInstance: {fileID: 1622394613}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1702714616
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (13)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 1.78
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -0.75
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 14
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &1702714617 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 1702714616}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &1799867779
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1799867789}
+ - component: {fileID: 1799867780}
+ - component: {fileID: 1799867788}
+ - component: {fileID: 1799867787}
+ - component: {fileID: 1799867786}
+ - component: {fileID: 1799867785}
+ - component: {fileID: 1799867784}
+ - component: {fileID: 1799867783}
+ - component: {fileID: 1799867782}
+ - component: {fileID: 1799867781}
+ - component: {fileID: 1799867790}
+ - component: {fileID: 1799867791}
+ m_Layer: 8
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!20 &1799867780
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1799867779}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 3
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_FocalLength: 50
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.01
+ far clip plane: 10
+ 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!136 &1799867781
+CapsuleCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1799867779}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 1
+ m_Enabled: 1
+ m_Radius: 1
+ m_Height: 6
+ m_Direction: 1
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &1799867782
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1799867779}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5403d71c7a7fa426c825c78e009a8ce7, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ AStar: {fileID: 1799867791}
+--- !u!114 &1799867783
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1799867779}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f87e4989c5e703e428df4339d59e2c72, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ showMainBehavior: 1
+ showInnerGlowBehavior: 1
+ rtFormat: 0
+ blurShader: {fileID: 4800000, guid: 1855d9636fad3914bacc4a543165c974, type: 3}
+ compositeShader: {fileID: 4800000, guid: e384de4389ba527479054baf0ddb1d3e, type: 3}
+ selectiveRenderShader: {fileID: 4800000, guid: c04b7cae8accdfb4e9c2648823ff39d7,
+ type: 3}
+ glowLayer:
+ serializedVersion: 2
+ m_Bits: 256
+ glowType: 0
+ glowTint: {r: 1, g: 1, b: 1, a: 0}
+ blurSpreadInner: 1.2
+ blurIterations: 7
+ glowIntensityInner: 0.362
+ samples: 3
+--- !u!114 &1799867784
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1799867779}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a341b2177fbb649d6889d31dcff2b302, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ mCamera: {fileID: 1799867780}
+--- !u!114 &1799867785
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1799867779}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ce437cef046e841aabd6070890e79d41, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &1799867786
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1799867779}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b58ecea7a196242dd879c814ac05084c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ClearMaterial: {fileID: 2100000, guid: f1d9352050a75486f878ab19fa578f16, type: 2}
+--- !u!81 &1799867787
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1799867779}
+ m_Enabled: 1
+--- !u!124 &1799867788
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1799867779}
+ m_Enabled: 1
+--- !u!4 &1799867789
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1799867779}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1159099863}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!54 &1799867790
+Rigidbody:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1799867779}
+ serializedVersion: 2
+ m_Mass: 1
+ m_Drag: 0
+ m_AngularDrag: 0.05
+ m_UseGravity: 0
+ m_IsKinematic: 0
+ m_Interpolate: 0
+ m_Constraints: 0
+ m_CollisionDetection: 0
+--- !u!114 &1799867791
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1799867779}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a99c6f4e751ef4b41a6b76778838e340, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1001 &1855402967
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (14)
+ objectReference: {fileID: 0}
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_IsActive
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -0.025000006
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 1.81
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 15
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &1855402968 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 1855402967}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1001 &1862581021
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (4)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -0.97
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 3.96
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 4
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &1862581022 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 1862581021}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &1927656046
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1927656050}
+ - component: {fileID: 1927656049}
+ - component: {fileID: 1927656048}
+ - component: {fileID: 1927656047}
+ m_Layer: 0
+ m_Name: PlacenoteMap
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!23 &1927656047
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1927656046}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 4294967295
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &1927656048
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1927656046}
+ m_Mesh: {fileID: 0}
+--- !u!114 &1927656049
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1927656046}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1dc6d171d179d4740bc550e69a938e46, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ mPtCloudMat: {fileID: 2100000, guid: 4742e6c756dd5477da6adeeb81de6a89, type: 2}
+ mMap: {fileID: 1927656046}
+--- !u!4 &1927656050
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1927656046}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2008001053
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2008001057}
+ - component: {fileID: 2008001056}
+ - component: {fileID: 2008001055}
+ - component: {fileID: 2008001054}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &2008001054
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2008001053}
+ 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 &2008001055
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2008001053}
+ 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: 1280, y: 720}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+--- !u!223 &2008001056
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2008001053}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 1
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 25
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &2008001057
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2008001053}
+ 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_Children:
+ - {fileID: 766341134}
+ m_Father: {fileID: 0}
+ m_RootOrder: 3
+ 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!1001 &2141698674
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 822758257}
+ m_Modifications:
+ - target: {fileID: 1078755997285888, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_Name
+ value: Arrow (16)
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: -0.22
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: -0.03999996
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: -0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_RootOrder
+ value: 17
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.x
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.y
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ - target: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+ propertyPath: m_LocalScale.z
+ value: 0.29999998
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: f8f67d766d3ce4631a946298773ec89d, type: 3}
+--- !u!4 &2141698675 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4765971397706330, guid: f8f67d766d3ce4631a946298773ec89d,
+ type: 3}
+ m_PrefabInstance: {fileID: 2141698674}
+ m_PrefabAsset: {fileID: 0}
diff --git a/Assets/Scripts/AStar.cs b/Assets/Scripts/AStar.cs
new file mode 100755
index 00000000..ab61db59
--- /dev/null
+++ b/Assets/Scripts/AStar.cs
@@ -0,0 +1,79 @@
+using System.Collections.Generic;
+using UnityEngine;
+
+public class AStar : MonoBehaviour {
+
+ public List FindPath(Node startNode, Node targetNode, Node[] allNodes) {
+ List openSet = new List();
+ openSet.Add(startNode);
+
+ List closedSet = new List();
+
+ while (openSet.Count > 0) {
+ Node currentNode = openSet[0];
+ for (int i = 1; i < openSet.Count; i++) {
+ if (openSet[i].FCost < currentNode.FCost
+ || (openSet[i].FCost.Equals(currentNode.FCost)
+ && openSet[i].HCost < currentNode.HCost)) {
+ currentNode = openSet[i];
+ }
+ }
+
+ openSet.Remove(currentNode);
+ closedSet.Add(currentNode);
+
+ if (currentNode == targetNode) {
+ Debug.Log("RETURNING CORRECT NODE!!");
+ return RetracePath(startNode, targetNode);
+ }
+
+ foreach (Node connection in currentNode.neighbors) {
+ if (!closedSet.Contains(connection)) {
+ float costToConnection = currentNode.GCost + GetEstimate(currentNode, connection) + connection.Cost;
+
+ if (costToConnection < connection.GCost || !openSet.Contains(connection)) {
+ connection.GCost = costToConnection;
+ connection.HCost = GetEstimate(connection, targetNode);
+ connection.Parent = currentNode;
+
+ if (!openSet.Contains(connection)) {
+ openSet.Add(connection);
+ }
+ }
+ }
+ }
+ }
+ Debug.Log("RETURNING NULL");
+ return null;
+ }
+
+ private static List RetracePath(Node startNode, Node endNode) {
+ List path = new List();
+
+ Node currentNode = endNode;
+
+ while (currentNode != startNode) {
+ path.Add(currentNode);
+ currentNode = currentNode.Parent;
+ }
+
+ path.Reverse();
+
+ return path;
+ }
+
+ private float GetEstimate(Node first, Node second) {
+ float distance;
+
+ float xDistance = Mathf.Abs(first.pos.x - first.pos.x);
+ float yDistance = Mathf.Abs(second.pos.z - second.pos.z);
+
+ if (xDistance > yDistance) {
+ distance = 14 * yDistance + 10 * (xDistance - yDistance);
+ } else {
+ distance = 14 * xDistance + 10 * (yDistance - xDistance);
+ }
+
+ return distance;
+ }
+}
\ No newline at end of file
diff --git a/Assets/Scripts/CreateMap.cs b/Assets/Scripts/CreateMap.cs
new file mode 100755
index 00000000..e521c9f0
--- /dev/null
+++ b/Assets/Scripts/CreateMap.cs
@@ -0,0 +1,286 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+using UnityEngine.UI;
+using UnityEngine.XR.iOS;
+using System.Runtime.InteropServices;
+using System.IO;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+[RequireComponent(typeof(CustomShapeManager))]
+public class CreateMap : MonoBehaviour, PlacenoteListener {
+
+ public Text debugText;
+
+ private const string MAP_NAME = "GenericMap";
+
+ private CustomShapeManager shapeManager;
+
+ private bool shouldRecordWaypoints = false;
+ private bool shouldSaveMap = true;
+
+ private UnityARSessionNativeInterface mSession;
+ private bool mFrameUpdated = false;
+ private UnityARImageFrameData mImage = null;
+ private UnityARCamera mARCamera;
+ private bool mARKitInit = false;
+
+ private LibPlacenote.MapMetadataSettable mCurrMapDetails;
+
+ private bool mReportDebug = false;
+
+ private BoxCollider mBoxColliderDummy;
+ private SphereCollider mSphereColliderDummy;
+ private CapsuleCollider mCapColliderDummy;
+
+ // Use this for initialization
+ void Start() {
+
+ shapeManager = GetComponent();
+
+ Input.location.Start();
+
+ mSession = UnityARSessionNativeInterface.GetARSessionNativeInterface();
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent += ARFrameUpdated;
+ StartARKit();
+ FeaturesVisualizer.EnablePointcloud();
+ LibPlacenote.Instance.RegisterListener(this);
+ }
+
+ void OnDisable() {
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent -= ARFrameUpdated;
+ }
+
+ private void ARFrameUpdated(UnityARCamera camera) {
+ mFrameUpdated = true;
+ mARCamera = camera;
+ }
+
+
+ private void InitARFrameBuffer() {
+ mImage = new UnityARImageFrameData();
+
+ int yBufSize = mARCamera.videoParams.yWidth * mARCamera.videoParams.yHeight;
+ mImage.y.data = Marshal.AllocHGlobal(yBufSize);
+ mImage.y.width = (ulong)mARCamera.videoParams.yWidth;
+ mImage.y.height = (ulong)mARCamera.videoParams.yHeight;
+ mImage.y.stride = (ulong)mARCamera.videoParams.yWidth;
+
+ // This does assume the YUV_NV21 format
+ int vuBufSize = mARCamera.videoParams.yWidth * mARCamera.videoParams.yWidth / 2;
+ mImage.vu.data = Marshal.AllocHGlobal(vuBufSize);
+ mImage.vu.width = (ulong)mARCamera.videoParams.yWidth / 2;
+ mImage.vu.height = (ulong)mARCamera.videoParams.yHeight / 2;
+ mImage.vu.stride = (ulong)mARCamera.videoParams.yWidth;
+
+ mSession.SetCapturePixelData(true, mImage.y.data, mImage.vu.data);
+ }
+
+ // Update is called once per frame
+ void Update() {
+ if (mFrameUpdated) {
+ mFrameUpdated = false;
+ if (mImage == null) {
+ InitARFrameBuffer();
+ }
+
+ if (mARCamera.trackingState == ARTrackingState.ARTrackingStateNotAvailable) {
+ // ARKit pose is not yet initialized
+ return;
+ } else if (!mARKitInit && LibPlacenote.Instance.Initialized()) {
+ mARKitInit = true;
+ Debug.Log("ARKit + placenote Initialized");
+ StartSavingMap();
+ }
+
+ Matrix4x4 matrix = mSession.GetCameraPose();
+
+ Vector3 arkitPosition = PNUtility.MatrixOps.GetPosition(matrix);
+ Quaternion arkitQuat = PNUtility.MatrixOps.GetRotation(matrix);
+
+ LibPlacenote.Instance.SendARFrame(mImage, arkitPosition, arkitQuat, mARCamera.videoParams.screenOrientation);
+
+ if (shouldRecordWaypoints) {
+ Transform player = Camera.main.transform;
+ //create waypoints if there are none around
+ Collider[] hitColliders = Physics.OverlapSphere(player.position, 1f);
+ int i = 0;
+ while (i < hitColliders.Length) {
+ if (hitColliders[i].CompareTag("waypoint")) {
+ return;
+ }
+ i++;
+ }
+ Vector3 pos = player.position;
+ Debug.Log(player.position);
+ pos.y = -.5f;
+ shapeManager.AddShape(pos, Quaternion.Euler(Vector3.zero), false);
+ }
+ }
+ }
+
+ public void CreateDestination() {
+ shapeManager.AddDestinationShape();
+ }
+
+ void StartSavingMap() {
+ ConfigureSession();
+
+ if (!LibPlacenote.Instance.Initialized()) {
+ Debug.Log("SDK not yet initialized");
+ return;
+ }
+
+ Debug.Log("Started Session");
+ LibPlacenote.Instance.StartSession();
+
+ if (mReportDebug) {
+ LibPlacenote.Instance.StartRecordDataset(
+ (completed, faulted, percentage) => {
+ if (completed) {
+ Debug.Log("Dataset Upload Complete");
+ } else if (faulted) {
+ Debug.Log("Dataset Upload Faulted");
+ } else {
+ Debug.Log("Dataset Upload: (" + percentage.ToString("F2") + "/1.0)");
+ }
+ });
+ Debug.Log("Started Debug Report");
+ }
+ }
+
+ private void StartARKit() {
+ Debug.Log("Initializing ARKit");
+ Application.targetFrameRate = 60;
+ ConfigureSession();
+ }
+
+
+ private void ConfigureSession() {
+#if !UNITY_EDITOR
+ ARKitWorldTrackingSessionConfiguration config = new ARKitWorldTrackingSessionConfiguration ();
+
+ if (UnityARSessionNativeInterface.IsARKit_1_5_Supported ()) {
+ config.planeDetection = UnityARPlaneDetection.HorizontalAndVertical;
+ } else {
+ config.planeDetection = UnityARPlaneDetection.Horizontal;
+ }
+
+ config.alignment = UnityARAlignment.UnityARAlignmentGravity;
+ config.getPointCloudData = true;
+ config.enableLightEstimation = true;
+ mSession.RunWithConfig (config);
+#endif
+ }
+
+ public void OnStartNewClick() {
+ //start drop waypoints
+ Debug.Log("Dropping Waypoints!!");
+ shouldRecordWaypoints = true;
+ }
+
+ public void OnSaveMapClick() {
+ DeleteMaps();
+ }
+
+ void DeleteMaps() {
+ if (!LibPlacenote.Instance.Initialized()) {
+ Debug.Log("SDK not yet initialized");
+ ToastManager.ShowToast("SDK not yet initialized", 2f);
+ return;
+ }
+ //delete mAP
+ LibPlacenote.Instance.SearchMaps(MAP_NAME, (LibPlacenote.MapInfo[] obj) => {
+ bool foundMap = false;
+ foreach (LibPlacenote.MapInfo map in obj) {
+ if (map.metadata.name == MAP_NAME) {
+ foundMap = true;
+ LibPlacenote.Instance.DeleteMap(map.placeId, (deleted, errMsg) => {
+ if (deleted) {
+ Debug.Log("Deleted ID: " + map.placeId);
+ SaveCurrentMap();
+ } else {
+ Debug.Log("Failed to delete ID: " + map.placeId);
+ }
+ });
+ }
+ }
+ if (!foundMap) {
+ SaveCurrentMap();
+ }
+ });
+ }
+
+ void SaveCurrentMap() {
+ if (shouldSaveMap) {
+ shouldSaveMap = false;
+
+ if (!LibPlacenote.Instance.Initialized()) {
+ Debug.Log("SDK not yet initialized");
+ ToastManager.ShowToast("SDK not yet initialized", 2f);
+ return;
+ }
+
+ bool useLocation = Input.location.status == LocationServiceStatus.Running;
+ LocationInfo locationInfo = Input.location.lastData;
+
+ Debug.Log("Saving...");
+ debugText.text = "uploading...";
+ LibPlacenote.Instance.SaveMap(
+ (mapId) => {
+ LibPlacenote.Instance.StopSession();
+
+ LibPlacenote.MapMetadataSettable metadata = new LibPlacenote.MapMetadataSettable();
+ metadata.name = MAP_NAME;
+ Debug.Log("Saved Map Name: " + metadata.name);
+
+ JObject userdata = new JObject();
+ metadata.userdata = userdata;
+
+ JObject shapeList = GetComponent().Shapes2JSON();
+
+ userdata["shapeList"] = shapeList;
+
+ if (useLocation) {
+ metadata.location = new LibPlacenote.MapLocation();
+ metadata.location.latitude = locationInfo.latitude;
+ metadata.location.longitude = locationInfo.longitude;
+ metadata.location.altitude = locationInfo.altitude;
+ }
+ LibPlacenote.Instance.SetMetadata(mapId, metadata);
+ mCurrMapDetails = metadata;
+ },
+ (completed, faulted, percentage) => {
+ if (completed) {
+ Debug.Log("Upload Complete:" + mCurrMapDetails.name);
+ debugText.text = "upload complete!!";
+ } else if (faulted) {
+ Debug.Log("Upload of Map Named: " + mCurrMapDetails.name + "faulted");
+ } else {
+ Debug.Log("Uploading Map Named: " + mCurrMapDetails.name + "(" + percentage.ToString("F2") + "/1.0)");
+ }
+ }
+ );
+ }
+ }
+
+ public void OnPose(Matrix4x4 outputPose, Matrix4x4 arkitPose) { }
+
+ public void OnStatusChange(LibPlacenote.MappingStatus prevStatus, LibPlacenote.MappingStatus currStatus) {
+ Debug.Log("prevStatus: " + prevStatus.ToString() + " currStatus: " + currStatus.ToString());
+ if (currStatus == LibPlacenote.MappingStatus.RUNNING && prevStatus == LibPlacenote.MappingStatus.LOST) {
+ Debug.Log("Localized");
+ // GetComponent ().LoadShapesJSON (mSelectedMapInfo.metadata.userdata);
+ } else if (currStatus == LibPlacenote.MappingStatus.RUNNING && prevStatus == LibPlacenote.MappingStatus.WAITING) {
+ Debug.Log("Mapping");
+ } else if (currStatus == LibPlacenote.MappingStatus.LOST) {
+ Debug.Log("Searching for position lock");
+ } else if (currStatus == LibPlacenote.MappingStatus.WAITING) {
+ if (GetComponent().shapeObjList.Count != 0) {
+ GetComponent().ClearShapes();
+ }
+ }
+ }
+}
diff --git a/Assets/Scripts/CustomShapeManager.cs b/Assets/Scripts/CustomShapeManager.cs
new file mode 100755
index 00000000..235288a8
--- /dev/null
+++ b/Assets/Scripts/CustomShapeManager.cs
@@ -0,0 +1,133 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.EventSystems;
+using UnityEngine.XR.iOS;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+using UnityEngine.SceneManagement;
+
+/*========================================
+ * Main Class for Managing Markers
+======================================== */
+
+public class CustomShapeManager : MonoBehaviour {
+
+ public NavController navController;
+
+ public List ShapePrefabs = new List ();
+ [HideInInspector]
+ public List shapeInfoList = new List();
+ [HideInInspector]
+ public List shapeObjList = new List();
+
+ private GameObject lastShape;
+
+ private bool shapesLoaded = false;
+ //-------------------------------------------------
+ // All shape management functions (add shapes, save shapes to metadata etc.
+ //-------------------------------------------------
+
+ public void AddShape(Vector3 shapePosition, Quaternion shapeRotation, bool isDestination)
+ {
+ int typeIndex = 0;//sphere
+ if (isDestination) typeIndex = 1;//diamond
+
+ ShapeInfo shapeInfo = new ShapeInfo();
+ shapeInfo.px = shapePosition.x;
+ shapeInfo.py = shapePosition.y;
+ shapeInfo.pz = shapePosition.z;
+ shapeInfo.qx = shapeRotation.x;
+ shapeInfo.qy = shapeRotation.y;
+ shapeInfo.qz = shapeRotation.z;
+ shapeInfo.qw = shapeRotation.w;
+ shapeInfo.shapeType = typeIndex.GetHashCode();
+ shapeInfoList.Add(shapeInfo);
+
+ GameObject shape = ShapeFromInfo(shapeInfo);
+ shapeObjList.Add(shape);
+ }
+
+ public void AddDestinationShape () {
+ //change last waypoint to diamond
+ ShapeInfo lastInfo = shapeInfoList [shapeInfoList.Count - 1];
+ lastInfo.shapeType = 1.GetHashCode ();
+ GameObject shape = ShapeFromInfo(lastInfo);
+ shape.GetComponent ().Activate (true);
+ //destroy last shape
+ Destroy (shapeObjList [shapeObjList.Count - 1]);
+ //add new shape
+ shapeObjList.Add (shape);
+ }
+
+ public GameObject ShapeFromInfo(ShapeInfo info)
+ {
+ GameObject shape;
+ Vector3 position = new Vector3 (info.px, info.py, info.pz);
+ //if loading map, change waypoint to arrow
+ if (SceneManager.GetActiveScene ().name == "ReadMap" && info.shapeType == 0) {
+ shape = Instantiate (ShapePrefabs [2]);
+ } else {
+ shape = Instantiate (ShapePrefabs [info.shapeType]);
+ }
+ if (shape.GetComponent () != null) {
+ shape.GetComponent ().pos = position;
+ Debug.Log(position);
+ }
+ shape.tag = "waypoint";
+ shape.transform.position = position;
+ shape.transform.rotation = new Quaternion(info.qx, info.qy, info.qz, info.qw);
+ shape.transform.localScale = new Vector3(.3f, .3f, .3f);
+
+ return shape;
+ }
+
+ public void ClearShapes()
+ {
+ Debug.Log("CLEARING SHAPES!!!!!!!");
+ foreach (var obj in shapeObjList)
+ {
+ Destroy(obj);
+ }
+ shapeObjList.Clear();
+ shapeInfoList.Clear();
+ }
+
+
+ public JObject Shapes2JSON()
+ {
+ ShapeList shapeList = new ShapeList();
+ shapeList.shapes = new ShapeInfo[shapeInfoList.Count];
+ for (int i = 0; i < shapeInfoList.Count; i++)
+ {
+ shapeList.shapes[i] = shapeInfoList[i];
+ }
+
+ return JObject.FromObject(shapeList);
+ }
+
+ public void LoadShapesJSON(JToken mapMetadata)
+ {
+ if (!shapesLoaded) {
+ shapesLoaded = true;
+ Debug.Log("LOADING SHAPES>>>");
+ if (mapMetadata is JObject && mapMetadata ["shapeList"] is JObject) {
+ ShapeList shapeList = mapMetadata ["shapeList"].ToObject ();
+ if (shapeList.shapes == null) {
+ Debug.Log ("no shapes dropped");
+ return;
+ }
+
+ foreach (var shapeInfo in shapeList.shapes) {
+ shapeInfoList.Add (shapeInfo);
+ GameObject shape = ShapeFromInfo (shapeInfo);
+ shapeObjList.Add (shape);
+ }
+
+ if (navController != null) {
+ navController.InitializeNavigation ();
+ }
+ }
+ }
+ }
+}
diff --git a/Assets/Scripts/DiamondBehavior.cs b/Assets/Scripts/DiamondBehavior.cs
new file mode 100755
index 00000000..8049611c
--- /dev/null
+++ b/Assets/Scripts/DiamondBehavior.cs
@@ -0,0 +1,22 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class DiamondBehavior : MonoBehaviour {
+
+ Vector3 rotate = new Vector3(0, 1, 0);
+ public GameObject diamond;
+
+ private void Awake() {
+ Activate(false);
+ }
+
+ // Update is called once per frame
+ void Update() {
+ transform.eulerAngles += rotate;
+ }
+
+ public void Activate(bool active) {
+ diamond.SetActive(active);
+ }
+}
diff --git a/Assets/Scripts/NavController.cs b/Assets/Scripts/NavController.cs
new file mode 100755
index 00000000..f6b64e19
--- /dev/null
+++ b/Assets/Scripts/NavController.cs
@@ -0,0 +1,98 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System.Linq;
+
+public class NavController : MonoBehaviour {
+
+ public AStar AStar;
+ private Transform destination;
+ private bool _initialized = false;
+ private bool _initializedComplete = false;
+ private List path = new List();
+ private int currNodeIndex = 0;
+ private float maxDistance = 1.1f;
+
+ private void Start() {
+#if UNITY_EDITOR
+ InitializeNavigation();
+#endif
+ }
+
+ ///
+ /// Returns the closest node to the given position.
+ ///
+ /// The closest node.
+ /// Point.
+ Node ReturnClosestNode(Node[] nodes, Vector3 point) {
+ float minDist = Mathf.Infinity;
+ Node closestNode = null;
+ foreach (Node node in nodes) {
+ float dist = Vector3.Distance(node.pos, point);
+ if (dist < minDist) {
+ closestNode = node;
+ minDist = dist;
+ }
+ }
+ return closestNode;
+ }
+
+ public void InitializeNavigation() {
+ StopAllCoroutines();
+ StartCoroutine(DelayNavigation());
+ }
+
+ IEnumerator DelayNavigation() {
+ while(FindObjectOfType() == null){
+ yield return new WaitForSeconds(.5f);
+ Debug.Log("waiting for shapes to load...");
+ }
+ InitNav();
+ }
+
+ void InitNav(){
+ if (!_initialized) {
+ _initialized = true;
+ Debug.Log("INTIALIZING NAVIGATION!!!");
+ Node[] allNodes = FindObjectsOfType();
+ Debug.Log("NODES: " + allNodes.Length);
+ Node closestNode = ReturnClosestNode(allNodes, transform.position);
+ Debug.Log("closest: " + closestNode.gameObject.name);
+ Node target = FindObjectOfType().GetComponent();
+ Debug.Log("target: " + target.gameObject.name);
+ //set neighbor nodes for all nodes
+ foreach (Node node in allNodes) {
+ node.FindNeighbors(maxDistance);
+ }
+
+ //get path from A* algorithm
+ path = AStar.FindPath(closestNode, target, allNodes);
+
+ if (path == null) {
+ //increase search distance for neighbors
+ maxDistance += .1f;
+ Debug.Log("Increasing search distance: " + maxDistance);
+ _initialized = false;
+ InitNav();
+ return;
+ }
+
+ //set next nodes
+ for (int i = 0; i < path.Count - 1; i++) {
+ path[i].NextInList = path[i + 1];
+ }
+ //activate first node
+ path[0].Activate(true);
+ _initializedComplete = true;
+ }
+ }
+
+ private void OnTriggerEnter(Collider other) {
+ if (_initializedComplete && other.CompareTag("waypoint")) {
+ currNodeIndex = path.IndexOf(other.GetComponent());
+ if (currNodeIndex < path.Count - 1) {
+ path[currNodeIndex + 1].Activate(true);
+ }
+ }
+ }
+}
diff --git a/Assets/Scripts/Node.cs b/Assets/Scripts/Node.cs
new file mode 100755
index 00000000..6717c0a4
--- /dev/null
+++ b/Assets/Scripts/Node.cs
@@ -0,0 +1,55 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System.Linq;
+
+public class Node : MonoBehaviour {
+
+ public Vector3 pos;
+
+ [Header("A*")]
+ public List neighbors = new List();
+ public float FCost { get { return GCost + HCost; } }
+ public float HCost { get; set; }
+ public float GCost { get; set; }
+ public float Cost { get; set; }
+ public Node Parent { get; set; }
+
+ //next node in navigation list
+ public Node NextInList { get; set; }
+
+ private Vector3 scale;
+ private bool isDestination = false;
+
+ private void Awake() {
+ transform.GetChild(0).gameObject.SetActive(false);
+ //save scale
+ scale = transform.localScale;
+ //check if destination
+ if (GetComponent() != null) isDestination = true;
+#if UNITY_EDITOR
+ pos = transform.position;
+#endif
+ }
+
+ public void Activate(bool active) {
+ transform.GetChild(0).gameObject.SetActive(active);
+ if (NextInList != null) {
+ transform.LookAt(NextInList.transform);
+ }
+ }
+
+ void Update() {
+ //make pulsate
+ if (!isDestination)
+ transform.localScale = scale * (1 + Mathf.Sin(Mathf.PI * Time.time) * .2f);
+ }
+
+ public void FindNeighbors(float maxDistance) {
+ foreach (Node node in FindObjectsOfType()) {
+ if (Vector3.Distance(node.pos, this.pos) < maxDistance) {
+ neighbors.Add(node);
+ }
+ }
+ }
+}
diff --git a/Assets/Scripts/ReadMap.cs b/Assets/Scripts/ReadMap.cs
new file mode 100755
index 00000000..0f36bbfc
--- /dev/null
+++ b/Assets/Scripts/ReadMap.cs
@@ -0,0 +1,184 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+using UnityEngine.UI;
+using UnityEngine.XR.iOS;
+using System.Runtime.InteropServices;
+using System.IO;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+public class ReadMap : MonoBehaviour, PlacenoteListener {
+
+ private const string MAP_NAME = "GenericMap";
+
+ private UnityARSessionNativeInterface mSession;
+ private bool mFrameUpdated = false;
+ private UnityARImageFrameData mImage = null;
+ private UnityARCamera mARCamera;
+ private bool mARKitInit = false;
+
+ private LibPlacenote.MapMetadataSettable mCurrMapDetails;
+
+ private bool mReportDebug = false;
+
+ string currMapID = String.Empty;
+
+ private LibPlacenote.MapInfo mSelectedMapInfo;
+ private string mSelectedMapId {
+ get {
+ return mSelectedMapInfo != null ? mSelectedMapInfo.placeId : null;
+ }
+ }
+
+ // Use this for initialization
+ void Start() {
+ Input.location.Start();
+
+ mSession = UnityARSessionNativeInterface.GetARSessionNativeInterface();
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent += ARFrameUpdated;
+ StartARKit();
+ FeaturesVisualizer.EnablePointcloud();
+ LibPlacenote.Instance.RegisterListener(this);
+ }
+
+ void OnDisable() {
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent -= ARFrameUpdated;
+ }
+
+ private void ARFrameUpdated(UnityARCamera camera) {
+ mFrameUpdated = true;
+ mARCamera = camera;
+ }
+
+ private void InitARFrameBuffer() {
+ mImage = new UnityARImageFrameData();
+
+ int yBufSize = mARCamera.videoParams.yWidth * mARCamera.videoParams.yHeight;
+ mImage.y.data = Marshal.AllocHGlobal(yBufSize);
+ mImage.y.width = (ulong)mARCamera.videoParams.yWidth;
+ mImage.y.height = (ulong)mARCamera.videoParams.yHeight;
+ mImage.y.stride = (ulong)mARCamera.videoParams.yWidth;
+
+ // This does assume the YUV_NV21 format
+ int vuBufSize = mARCamera.videoParams.yWidth * mARCamera.videoParams.yWidth / 2;
+ mImage.vu.data = Marshal.AllocHGlobal(vuBufSize);
+ mImage.vu.width = (ulong)mARCamera.videoParams.yWidth / 2;
+ mImage.vu.height = (ulong)mARCamera.videoParams.yHeight / 2;
+ mImage.vu.stride = (ulong)mARCamera.videoParams.yWidth;
+
+ mSession.SetCapturePixelData(true, mImage.y.data, mImage.vu.data);
+ }
+
+ // Update is called once per frame
+ void Update() {
+ if (mFrameUpdated) {
+ mFrameUpdated = false;
+ if (mImage == null) {
+ InitARFrameBuffer();
+ }
+
+ if (mARCamera.trackingState == ARTrackingState.ARTrackingStateNotAvailable) {
+ // ARKit pose is not yet initialized
+ return;
+ } else if (!mARKitInit && LibPlacenote.Instance.Initialized()) {
+ mARKitInit = true;
+ Debug.Log("ARKit Initialized: LOADING MAP!!!!!");
+ FindMap();
+ }
+
+ Matrix4x4 matrix = mSession.GetCameraPose();
+
+ Vector3 arkitPosition = PNUtility.MatrixOps.GetPosition(matrix);
+ Quaternion arkitQuat = PNUtility.MatrixOps.GetRotation(matrix);
+
+ LibPlacenote.Instance.SendARFrame(mImage, arkitPosition, arkitQuat, mARCamera.videoParams.screenOrientation);
+ }
+ }
+
+ void FindMap() {
+ //get metadata
+ LibPlacenote.Instance.SearchMaps(MAP_NAME, (LibPlacenote.MapInfo[] obj) => {
+ foreach (LibPlacenote.MapInfo map in obj) {
+ if (map.metadata.name == MAP_NAME) {
+ mSelectedMapInfo = map;
+ Debug.Log("FOUND MAP: " + mSelectedMapInfo.placeId);
+ LoadMap();
+ return;
+ }
+ }
+ });
+ }
+
+ void LoadMap() {
+ ConfigureSession(false);
+
+ LibPlacenote.Instance.LoadMap(mSelectedMapInfo.placeId,
+ (completed, faulted, percentage) => {
+ if (completed) {
+
+ if (mReportDebug) {
+ LibPlacenote.Instance.StartRecordDataset(
+ (datasetCompleted, datasetFaulted, datasetPercentage) => {
+
+ if (datasetCompleted) {
+ Debug.Log("Dataset Upload Complete");
+ } else if (datasetFaulted) {
+ Debug.Log("Dataset Upload Faulted");
+ } else {
+ Debug.Log("Dataset Upload: " + datasetPercentage.ToString("F2") + "/1.0");
+ }
+ });
+ Debug.Log("Started Debug Report");
+ }
+
+ Debug.Log("Loaded ID: " + mSelectedMapInfo.placeId + "...Starting session");
+
+ LibPlacenote.Instance.StartSession(true);
+
+ } else if (faulted) {
+ Debug.Log("Failed to load ID: " + mSelectedMapInfo.placeId);
+ } else {
+ Debug.Log("Map Download: " + percentage.ToString("F2") + "/1.0");
+ }
+ }
+ );
+ }
+
+ private void StartARKit() {
+ Debug.Log("Initializing ARKit");
+ Application.targetFrameRate = 60;
+ ConfigureSession(false);
+ }
+
+ private void ConfigureSession(bool clearPlanes) {
+#if !UNITY_EDITOR
+ ARKitWorldTrackingSessionConfiguration config = new ARKitWorldTrackingSessionConfiguration ();
+ config.planeDetection = UnityARPlaneDetection.None;
+ config.alignment = UnityARAlignment.UnityARAlignmentGravity;
+ config.getPointCloudData = true;
+ config.enableLightEstimation = true;
+ mSession.RunWithConfig (config);
+#endif
+ }
+
+ public void OnPose(Matrix4x4 outputPose, Matrix4x4 arkitPose) { }
+
+ public void OnStatusChange(LibPlacenote.MappingStatus prevStatus, LibPlacenote.MappingStatus currStatus) {
+ Debug.Log("prevStatus: " + prevStatus.ToString() + " currStatus: " + currStatus.ToString());
+ if (currStatus == LibPlacenote.MappingStatus.RUNNING && prevStatus == LibPlacenote.MappingStatus.LOST) {
+ Debug.Log("Localized: " + mSelectedMapInfo.metadata.name);
+ GetComponent().LoadShapesJSON(mSelectedMapInfo.metadata.userdata);
+ FeaturesVisualizer.DisablePointcloud();
+ } else if (currStatus == LibPlacenote.MappingStatus.RUNNING && prevStatus == LibPlacenote.MappingStatus.WAITING) {
+ Debug.Log("Mapping");
+ } else if (currStatus == LibPlacenote.MappingStatus.LOST) {
+ Debug.Log("Searching for position lock");
+ } else if (currStatus == LibPlacenote.MappingStatus.WAITING) {
+ if (GetComponent().shapeObjList.Count != 0) {
+ //GetComponent().ClearShapes();
+ }
+ }
+ }
+}
diff --git a/Assets/Scripts/SceneService.cs b/Assets/Scripts/SceneService.cs
new file mode 100755
index 00000000..0d709341
--- /dev/null
+++ b/Assets/Scripts/SceneService.cs
@@ -0,0 +1,11 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.SceneManagement;
+
+public class SceneService : MonoBehaviour {
+
+ public void LoadSceneByName(string name) {
+ SceneManager.LoadScene(name);
+ }
+}
diff --git a/Assets/StreamingAssets/Placenote/Data.bin b/Assets/StreamingAssets/Placenote/Data.bin
new file mode 100755
index 00000000..e7e4eb12
Binary files /dev/null and b/Assets/StreamingAssets/Placenote/Data.bin differ
diff --git a/Assets/UnityARKitPlugin/ARKitRemote/ARKITREMOTE.txt b/Assets/UnityARKitPlugin/ARKitRemote/ARKITREMOTE.txt
new file mode 100755
index 00000000..67c5e384
--- /dev/null
+++ b/Assets/UnityARKitPlugin/ARKitRemote/ARKITREMOTE.txt
@@ -0,0 +1,27 @@
+Unity ARKit Remote
+
+This is a two part solution for game developers who want to iterate on ARKit apps (made with Unity ARKit Plugin) from within the Unity Editor. It consists of an iOS app (UnityARKitRemote) that provides the ARKit data from a compatible device that it is installed on, working in conjunction with a GameObject called ARKitRemoteConnection in your Unity scene for your ARKit project. This GameObject simulates ARKit working in the editor by passing data via UnityARSessionNativeInterface to the other GameObjects in the editor. The UnityARKitRemote app on the device will forward the following information to Unity scene in editor:
+
+-The video feed coming from the device camera (separated into Y and UV textures) as provided by ARKit.
+-The camera translation and rotation based on device movement
+-The ARPlaneAnchor addition, removal and update events along with data about the plane affected
+-Point cloud data
+
+Requirements:
+It has all the same requirements as the Unity ARKit Plugin, with an additional recommendation of using Unity 2017.1 or later, as the PlayerConnection works way better and has better UI support in that version.
+
+Future work on this:
+-HitTest API
+-AR Session Configuration
+
+Steps to using remote:
+
+1. First download the latest Unity ARKit Plugin code that includes the Unity ARKit Remote from either bitbucket or Unity Asset Store.
+2. Build the scene called UnityARKitRemote out to your compatible iOS device. You should use “Development Build” in your Build Settings. This is the only build time to iOS you will need to endure - the rest of the iterations on your project can happen in the editor. When you build out to iOS, you should change the product name and bundle identifier in the PlayerSettings to signify that it is the Unity ARKit Remote.
+3. Open the scene which contains your app that uses the Unity ARKit Plugin. From the ARKitRemote folder, add the ARKitRemoteConnection prefab into the root of your scene. If you want to test it out, it has already been added to EditorTestScene in the same folder.
+4. Run the UnityARKitRemote app from step 2 on your device. It should display a black screen with “Waiting for editor connection..”
+5. Press play in the editor: your game window should have a green screen with “Please connect to player in the console menu” near the bottom.
+6. In this step we need to connect the editor to the Unity ARKit Remote app on the device. This is where Unity 2017.1 comes in handy: it has a menu item in the Console window to “Connected player” with a dropdown of all the available players to connect to. Select the one that corresponds to your device. In Unity 5.6 variants, you have to create a Profiler window via Window/Profiler menu. And then at the top of the Profiler window, there is a dropdown “Active Profiler” from which you select your device.
+7. If you were successful in step 6, you should have a button on the top part of your Game window labelled “Start Remote ARKit Session” in editor that when pressed will start the ARKit session on the device and start transmitting data to the editor. The editor should be displaying the same video as the device, as well as navigating through your scene, and it will momentarily start showing the point cloud data as well as the planes found.
+
+
diff --git a/Assets/UnityARKitPlugin/ARKitRemote/ARKitFaceTrackingRemoteConnection.cs b/Assets/UnityARKitPlugin/ARKitRemote/ARKitFaceTrackingRemoteConnection.cs
new file mode 100755
index 00000000..61bffe52
--- /dev/null
+++ b/Assets/UnityARKitPlugin/ARKitRemote/ARKitFaceTrackingRemoteConnection.cs
@@ -0,0 +1,216 @@
+
+using UnityEngine;
+using UnityEngine.Networking.PlayerConnection;
+using System.Text;
+using UnityEngine.XR.iOS.Utils;
+
+#if UNITY_EDITOR
+
+using UnityEditor.Networking.PlayerConnection;
+
+namespace UnityEngine.XR.iOS
+{
+ public class ARKitFaceTrackingRemoteConnection : MonoBehaviour
+ {
+ [Header("AR FaceTracking Config Options")]
+ public bool enableLightEstimation = true;
+
+ [Header("Run Options")]
+ public bool resetTracking = true;
+ public bool removeExistingAnchors = true;
+
+ EditorConnection editorConnection ;
+
+ int currentPlayerID = -1;
+ string guimessage = "none";
+
+ Texture2D remoteScreenYTex;
+ Texture2D remoteScreenUVTex;
+
+ bool bTexturesInitialized;
+
+ // Use this for initialization
+ void Start () {
+
+ bTexturesInitialized = false;
+
+
+ editorConnection = EditorConnection.instance;
+ editorConnection.Initialize ();
+ editorConnection.RegisterConnection (PlayerConnected);
+ editorConnection.RegisterDisconnection (PlayerDisconnected);
+ editorConnection.Register (ConnectionMessageIds.updateCameraFrameMsgId, UpdateCameraFrame);
+ editorConnection.Register (ConnectionMessageIds.addFaceAnchorMsgeId, AddFaceAnchor);
+ editorConnection.Register (ConnectionMessageIds.updateFaceAnchorMsgeId, UpdateFaceAnchor);
+ editorConnection.Register (ConnectionMessageIds.removePlaneAnchorMsgeId, RemoveFaceAnchor);
+ editorConnection.Register (ConnectionMessageIds.screenCaptureYMsgId, ReceiveRemoteScreenYTex);
+ editorConnection.Register (ConnectionMessageIds.screenCaptureUVMsgId, ReceiveRemoteScreenUVTex);
+
+ }
+
+ void PlayerConnected(int playerID)
+ {
+ currentPlayerID = playerID;
+
+ }
+
+ void OnGUI()
+ {
+
+ if (!bTexturesInitialized)
+ {
+ if (currentPlayerID != -1) {
+ guimessage = "Connected to ARKit Remote device : " + currentPlayerID.ToString ();
+
+ if (GUI.Button (new Rect ((Screen.width / 2) - 200, (Screen.height / 2) - 200, 400, 100), "Start Remote ARKit FaceTracking Session"))
+ {
+ SendInitToPlayer ();
+ }
+ }
+ else
+ {
+ guimessage = "Please connect to player in the console menu";
+ }
+
+ GUI.Box (new Rect ((Screen.width / 2) - 200, (Screen.height / 2) + 100, 400, 50), guimessage);
+ }
+
+ }
+
+ void PlayerDisconnected(int playerID)
+ {
+ if (currentPlayerID == playerID) {
+ currentPlayerID = -1;
+ }
+ }
+
+ void OnDestroy()
+ {
+#if UNITY_2017_1_OR_NEWER
+ if(editorConnection != null) {
+ editorConnection.DisconnectAll ();
+ }
+#endif
+ }
+
+
+ void InitializeTextures(UnityARCamera camera)
+ {
+ int yWidth = camera.videoParams.yWidth;
+ int yHeight = camera.videoParams.yHeight;
+ int uvWidth = yWidth / 2;
+ int uvHeight = yHeight / 2;
+ if (remoteScreenYTex == null || remoteScreenYTex.width != yWidth || remoteScreenYTex.height != yHeight) {
+ if (remoteScreenYTex) {
+ Destroy (remoteScreenYTex);
+ }
+ remoteScreenYTex = new Texture2D (yWidth, yHeight, TextureFormat.R8, false, true);
+ }
+ if (remoteScreenUVTex == null || remoteScreenUVTex.width != uvWidth || remoteScreenUVTex.height != uvHeight) {
+ if (remoteScreenUVTex) {
+ Destroy (remoteScreenUVTex);
+ }
+ remoteScreenUVTex = new Texture2D (uvWidth, uvHeight, TextureFormat.RG16, false, true);
+ }
+
+ bTexturesInitialized = true;
+ }
+
+ void UpdateCameraFrame(MessageEventArgs mea)
+ {
+ serializableUnityARCamera serCamera = mea.data.Deserialize ();
+
+ UnityARCamera scamera = new UnityARCamera ();
+ scamera = serCamera;
+
+ InitializeTextures (scamera);
+
+ UnityARSessionNativeInterface.SetStaticCamera (scamera);
+ UnityARSessionNativeInterface.RunFrameUpdateCallbacks ();
+ }
+
+ void AddFaceAnchor(MessageEventArgs mea)
+ {
+ serializableUnityARFaceAnchor serFaceAnchor = mea.data.Deserialize ();
+
+ ARFaceAnchor arFaceAnchor = serFaceAnchor;
+ UnityARSessionNativeInterface.RunAddAnchorCallbacks (arFaceAnchor);
+ }
+
+ void UpdateFaceAnchor(MessageEventArgs mea)
+ {
+ serializableUnityARFaceAnchor serFaceAnchor = mea.data.Deserialize ();
+
+ ARFaceAnchor arFaceAnchor = serFaceAnchor;
+ UnityARSessionNativeInterface.RunUpdateAnchorCallbacks (arFaceAnchor);
+ }
+
+ void RemoveFaceAnchor(MessageEventArgs mea)
+ {
+ serializableUnityARFaceAnchor serFaceAnchor = mea.data.Deserialize ();
+
+ ARFaceAnchor arFaceAnchor = serFaceAnchor;
+ UnityARSessionNativeInterface.RunRemoveAnchorCallbacks (arFaceAnchor);
+ }
+
+ void ReceiveRemoteScreenYTex(MessageEventArgs mea)
+ {
+ if (!bTexturesInitialized)
+ return;
+ remoteScreenYTex.LoadRawTextureData(mea.data);
+ remoteScreenYTex.Apply ();
+ UnityARVideo arVideo = Camera.main.GetComponent();
+ if (arVideo) {
+ arVideo.SetYTexure(remoteScreenYTex);
+ }
+
+ }
+
+ void ReceiveRemoteScreenUVTex(MessageEventArgs mea)
+ {
+ if (!bTexturesInitialized)
+ return;
+ remoteScreenUVTex.LoadRawTextureData(mea.data);
+ remoteScreenUVTex.Apply ();
+ UnityARVideo arVideo = Camera.main.GetComponent();
+ if (arVideo) {
+ arVideo.SetUVTexure(remoteScreenUVTex);
+ }
+
+ }
+
+
+ void SendInitToPlayer()
+ {
+
+ //we're going to reuse ARSessionConfiguration and only use its lightestimation field.
+
+ serializableFromEditorMessage sfem = new serializableFromEditorMessage ();
+ sfem.subMessageId = SubMessageIds.editorInitARKitFaceTracking;
+ serializableARSessionConfiguration ssc = new serializableARSessionConfiguration (UnityARAlignment.UnityARAlignmentCamera, UnityARPlaneDetection.None, false, enableLightEstimation, true);
+ UnityARSessionRunOption roTracking = resetTracking ? UnityARSessionRunOption.ARSessionRunOptionResetTracking : 0;
+ UnityARSessionRunOption roAnchors = removeExistingAnchors ? UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors : 0;
+ sfem.arkitConfigMsg = new serializableARKitInit (ssc, roTracking | roAnchors);
+ SendToPlayer (ConnectionMessageIds.fromEditorARKitSessionMsgId, sfem);
+ }
+
+ void SendToPlayer(System.Guid msgId, byte[] data)
+ {
+ editorConnection.Send (msgId, data);
+ }
+
+ public void SendToPlayer(System.Guid msgId, object serializableObject)
+ {
+ byte[] arrayToSend = serializableObject.SerializeToByteArray ();
+ SendToPlayer (msgId, arrayToSend);
+ }
+
+
+ // Update is called once per frame
+ void Update () {
+
+ }
+
+ }
+}
+#endif
\ No newline at end of file
diff --git a/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.cs b/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.cs
new file mode 100755
index 00000000..2aac71d6
--- /dev/null
+++ b/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.cs
@@ -0,0 +1,216 @@
+using UnityEngine;
+using UnityEngine.Networking.PlayerConnection;
+using System.Text;
+using UnityEngine.XR.iOS.Utils;
+
+#if UNITY_EDITOR
+
+using UnityEditor.Networking.PlayerConnection;
+
+namespace UnityEngine.XR.iOS
+{
+ public class ARKitRemoteConnection : MonoBehaviour
+ {
+ [Header("AR Config Options")]
+ public UnityARAlignment startAlignment = UnityARAlignment.UnityARAlignmentGravity;
+ public UnityARPlaneDetection planeDetection = UnityARPlaneDetection.Horizontal;
+ public bool getPointCloud = true;
+ public bool enableLightEstimation = true;
+ public bool enableAutoFocus = true;
+
+ [Header("Run Options")]
+ public bool resetTracking = true;
+ public bool removeExistingAnchors = true;
+
+ EditorConnection editorConnection ;
+
+ int currentPlayerID = -1;
+ string guimessage = "none";
+
+ Texture2D remoteScreenYTex;
+ Texture2D remoteScreenUVTex;
+
+ bool bTexturesInitialized;
+
+ // Use this for initialization
+ void Start () {
+
+ bTexturesInitialized = false;
+
+
+ editorConnection = EditorConnection.instance;
+ editorConnection.Initialize ();
+ editorConnection.RegisterConnection (PlayerConnected);
+ editorConnection.RegisterDisconnection (PlayerDisconnected);
+ editorConnection.Register (ConnectionMessageIds.updateCameraFrameMsgId, UpdateCameraFrame);
+ editorConnection.Register (ConnectionMessageIds.addPlaneAnchorMsgeId, AddPlaneAnchor);
+ editorConnection.Register (ConnectionMessageIds.updatePlaneAnchorMsgeId, UpdatePlaneAnchor);
+ editorConnection.Register (ConnectionMessageIds.removePlaneAnchorMsgeId, RemovePlaneAnchor);
+ editorConnection.Register (ConnectionMessageIds.screenCaptureYMsgId, ReceiveRemoteScreenYTex);
+ editorConnection.Register (ConnectionMessageIds.screenCaptureUVMsgId, ReceiveRemoteScreenUVTex);
+
+ }
+
+ void PlayerConnected(int playerID)
+ {
+ currentPlayerID = playerID;
+
+ }
+
+ void OnGUI()
+ {
+
+ if (!bTexturesInitialized)
+ {
+ if (currentPlayerID != -1) {
+ guimessage = "Connected to ARKit Remote device : " + currentPlayerID.ToString ();
+
+ if (GUI.Button (new Rect ((Screen.width / 2) - 200, (Screen.height / 2) - 200, 400, 100), "Start Remote ARKit Session"))
+ {
+ SendInitToPlayer ();
+ }
+ }
+ else
+ {
+ guimessage = "Please connect to player in the console menu";
+ }
+
+ GUI.Box (new Rect ((Screen.width / 2) - 200, (Screen.height / 2) + 100, 400, 50), guimessage);
+ }
+
+ }
+
+ void PlayerDisconnected(int playerID)
+ {
+ if (currentPlayerID == playerID) {
+ currentPlayerID = -1;
+ }
+ }
+
+ void OnDestroy()
+ {
+ #if UNITY_2017_1_OR_NEWER
+ if(editorConnection != null) {
+ editorConnection.DisconnectAll ();
+ }
+ #endif
+ }
+
+
+ void InitializeTextures(UnityARCamera camera)
+ {
+ int yWidth = camera.videoParams.yWidth;
+ int yHeight = camera.videoParams.yHeight;
+ int uvWidth = yWidth / 2;
+ int uvHeight = yHeight / 2;
+ if (remoteScreenYTex == null || remoteScreenYTex.width != yWidth || remoteScreenYTex.height != yHeight) {
+ if (remoteScreenYTex) {
+ Destroy (remoteScreenYTex);
+ }
+ remoteScreenYTex = new Texture2D (yWidth, yHeight, TextureFormat.R8, false, true);
+ }
+ if (remoteScreenUVTex == null || remoteScreenUVTex.width != uvWidth || remoteScreenUVTex.height != uvHeight) {
+ if (remoteScreenUVTex) {
+ Destroy (remoteScreenUVTex);
+ }
+ remoteScreenUVTex = new Texture2D (uvWidth, uvHeight, TextureFormat.RG16, false, true);
+ }
+
+ bTexturesInitialized = true;
+ }
+
+ void UpdateCameraFrame(MessageEventArgs mea)
+ {
+ serializableUnityARCamera serCamera = mea.data.Deserialize ();
+
+ UnityARCamera scamera = new UnityARCamera ();
+ scamera = serCamera;
+
+ InitializeTextures (scamera);
+
+ UnityARSessionNativeInterface.SetStaticCamera (scamera);
+ UnityARSessionNativeInterface.RunFrameUpdateCallbacks ();
+ }
+
+ void AddPlaneAnchor(MessageEventArgs mea)
+ {
+ serializableUnityARPlaneAnchor serPlaneAnchor = mea.data.Deserialize ();
+
+ ARPlaneAnchor arPlaneAnchor = serPlaneAnchor;
+ UnityARSessionNativeInterface.RunAddAnchorCallbacks (arPlaneAnchor);
+ }
+
+ void UpdatePlaneAnchor(MessageEventArgs mea)
+ {
+ serializableUnityARPlaneAnchor serPlaneAnchor = mea.data.Deserialize ();
+
+ ARPlaneAnchor arPlaneAnchor = serPlaneAnchor;
+ UnityARSessionNativeInterface.RunUpdateAnchorCallbacks (arPlaneAnchor);
+ }
+
+ void RemovePlaneAnchor(MessageEventArgs mea)
+ {
+ serializableUnityARPlaneAnchor serPlaneAnchor = mea.data.Deserialize ();
+
+ ARPlaneAnchor arPlaneAnchor = serPlaneAnchor;
+ UnityARSessionNativeInterface.RunRemoveAnchorCallbacks (arPlaneAnchor);
+ }
+
+ void ReceiveRemoteScreenYTex(MessageEventArgs mea)
+ {
+ if (!bTexturesInitialized)
+ return;
+ remoteScreenYTex.LoadRawTextureData(mea.data);
+ remoteScreenYTex.Apply ();
+ UnityARVideo arVideo = Camera.main.GetComponent();
+ if (arVideo) {
+ arVideo.SetYTexure(remoteScreenYTex);
+ }
+
+ }
+
+ void ReceiveRemoteScreenUVTex(MessageEventArgs mea)
+ {
+ if (!bTexturesInitialized)
+ return;
+ remoteScreenUVTex.LoadRawTextureData(mea.data);
+ remoteScreenUVTex.Apply ();
+ UnityARVideo arVideo = Camera.main.GetComponent();
+ if (arVideo) {
+ arVideo.SetUVTexure(remoteScreenUVTex);
+ }
+
+ }
+
+
+ void SendInitToPlayer()
+ {
+ serializableFromEditorMessage sfem = new serializableFromEditorMessage ();
+ sfem.subMessageId = SubMessageIds.editorInitARKit;
+ serializableARSessionConfiguration ssc = new serializableARSessionConfiguration (startAlignment, planeDetection, getPointCloud, enableLightEstimation, enableAutoFocus);
+ UnityARSessionRunOption roTracking = resetTracking ? UnityARSessionRunOption.ARSessionRunOptionResetTracking : 0;
+ UnityARSessionRunOption roAnchors = removeExistingAnchors ? UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors : 0;
+ sfem.arkitConfigMsg = new serializableARKitInit (ssc, roTracking | roAnchors);
+ SendToPlayer (ConnectionMessageIds.fromEditorARKitSessionMsgId, sfem);
+ }
+
+ void SendToPlayer(System.Guid msgId, byte[] data)
+ {
+ editorConnection.Send (msgId, data);
+ }
+
+ public void SendToPlayer(System.Guid msgId, object serializableObject)
+ {
+ byte[] arrayToSend = serializableObject.SerializeToByteArray ();
+ SendToPlayer (msgId, arrayToSend);
+ }
+
+
+ // Update is called once per frame
+ void Update () {
+
+ }
+
+ }
+}
+#endif
\ No newline at end of file
diff --git a/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.prefab b/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.prefab
new file mode 100755
index 00000000..f9c7c6f5
--- /dev/null
+++ b/Assets/UnityARKitPlugin/ARKitRemote/ARKitRemoteConnection.prefab
@@ -0,0 +1,60 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications: []
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 1214069642587422}
+ m_IsPrefabParent: 1
+--- !u!1 &1214069642587422
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 4661046637869644}
+ - component: {fileID: 114217095398060286}
+ m_Layer: 0
+ m_Name: ARKitRemoteConnection
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4661046637869644
+Transform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1214069642587422}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 1}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114217095398060286
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 1214069642587422}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 004464ca939eb4ec1a1b492fb8ebfd12, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ startAlignment: 0
+ planeDetection: 1
+ getPointCloud: 1
+ enableLightEstimation: 1
+ enableAutoFocus: 1
+ resetTracking: 1
+ removeExistingAnchors: 1
diff --git a/Assets/UnityARKitPlugin/ARKitRemote/ConnectToEditor.cs b/Assets/UnityARKitPlugin/ARKitRemote/ConnectToEditor.cs
new file mode 100755
index 00000000..a815e70b
--- /dev/null
+++ b/Assets/UnityARKitPlugin/ARKitRemote/ConnectToEditor.cs
@@ -0,0 +1,195 @@
+using UnityEngine;
+using UnityEngine.Networking.PlayerConnection;
+using System.Text;
+using UnityEngine.XR.iOS.Utils;
+
+namespace UnityEngine.XR.iOS
+{
+
+ public class ConnectToEditor : MonoBehaviour
+ {
+ PlayerConnection playerConnection;
+ UnityARSessionNativeInterface m_session;
+ int editorID;
+
+ Texture2D frameBufferTex;
+
+ // Use this for initialization
+ void Start()
+ {
+ Debug.Log("STARTING ConnectToEditor");
+ editorID = -1;
+ playerConnection = PlayerConnection.instance;
+ playerConnection.RegisterConnection(EditorConnected);
+ playerConnection.RegisterDisconnection(EditorDisconnected);
+ playerConnection.Register(ConnectionMessageIds.fromEditorARKitSessionMsgId, HandleEditorMessage);
+ m_session = null;
+
+ }
+
+ void OnGUI()
+ {
+ if (m_session == null) {
+ GUI.Box (new Rect ((Screen.width / 2) - 200, (Screen.height / 2), 400, 50), "Waiting for editor connection...");
+ }
+ }
+
+ void HandleEditorMessage(MessageEventArgs mea)
+ {
+ serializableFromEditorMessage sfem = mea.data.Deserialize();
+ if (sfem != null && sfem.subMessageId == SubMessageIds.editorInitARKit)
+ {
+ InitializeARKit ( sfem.arkitConfigMsg );
+ }
+ else if (sfem != null && sfem.subMessageId == SubMessageIds.editorInitARKitFaceTracking)
+ {
+ InitializeARKitFaceTracking( sfem.arkitConfigMsg);
+ }
+ }
+
+ void InitializeARKit(serializableARKitInit sai)
+ {
+ #if !UNITY_EDITOR
+
+ //get the config and runoption from editor and use them to initialize arkit on device
+ Application.targetFrameRate = 60;
+ m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface();
+ ARKitWorldTrackingSessionConfiguration config = sai.config;
+ UnityARSessionRunOption runOptions = sai.runOption;
+ m_session.RunWithConfigAndOptions(config, runOptions);
+
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent += ARFrameUpdated;
+ UnityARSessionNativeInterface.ARAnchorAddedEvent += ARAnchorAdded;
+ UnityARSessionNativeInterface.ARAnchorUpdatedEvent += ARAnchorUpdated;
+ UnityARSessionNativeInterface.ARAnchorRemovedEvent += ARAnchorRemoved;
+
+ #endif
+ }
+
+ void InitializeARKitFaceTracking(serializableARKitInit sai)
+ {
+ #if !UNITY_EDITOR
+
+ //get the config and runoption from editor and use them to initialize arkit for facetracking on device
+ Application.targetFrameRate = 60;
+ m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface();
+ ARKitFaceTrackingConfiguration config = sai.config;
+ UnityARSessionRunOption runOptions = sai.runOption;
+ m_session.RunWithConfigAndOptions(config, runOptions);
+
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent += ARFrameUpdated;
+ UnityARSessionNativeInterface.ARFaceAnchorAddedEvent += ARFaceAnchorAdded;
+ UnityARSessionNativeInterface.ARFaceAnchorUpdatedEvent += ARFaceAnchorUpdated;
+ UnityARSessionNativeInterface.ARFaceAnchorRemovedEvent += ARFaceAnchorRemoved;
+
+ #endif
+ }
+
+ public void ARFrameUpdated(UnityARCamera camera)
+ {
+ serializableUnityARCamera serARCamera = camera;
+ SendToEditor(ConnectionMessageIds.updateCameraFrameMsgId, serARCamera);
+
+ }
+
+ public void ARAnchorAdded(ARPlaneAnchor planeAnchor)
+ {
+ #if !UNITY_EDITOR
+ serializableUnityARPlaneAnchor serPlaneAnchor = planeAnchor;
+ SendToEditor (ConnectionMessageIds.addPlaneAnchorMsgeId, serPlaneAnchor);
+ #endif
+ }
+
+ public void ARAnchorUpdated(ARPlaneAnchor planeAnchor)
+ {
+ #if !UNITY_EDITOR
+ serializableUnityARPlaneAnchor serPlaneAnchor = planeAnchor;
+ SendToEditor (ConnectionMessageIds.updatePlaneAnchorMsgeId, serPlaneAnchor);
+ #endif
+ }
+
+ public void ARAnchorRemoved(ARPlaneAnchor planeAnchor)
+ {
+ #if !UNITY_EDITOR
+ serializableUnityARPlaneAnchor serPlaneAnchor = planeAnchor;
+ SendToEditor (ConnectionMessageIds.removePlaneAnchorMsgeId, serPlaneAnchor);
+ #endif
+ }
+
+ public void ARFaceAnchorAdded(ARFaceAnchor faceAnchor)
+ {
+ #if !UNITY_EDITOR
+ serializableUnityARFaceAnchor serFaceAnchor = faceAnchor;
+ SendToEditor (ConnectionMessageIds.addFaceAnchorMsgeId, serFaceAnchor);
+ #endif
+ }
+
+ public void ARFaceAnchorUpdated(ARFaceAnchor faceAnchor)
+ {
+ #if !UNITY_EDITOR
+ serializableUnityARFaceAnchor serFaceAnchor = faceAnchor;
+ SendToEditor (ConnectionMessageIds.updateFaceAnchorMsgeId, serFaceAnchor);
+ #endif
+ }
+
+ public void ARFaceAnchorRemoved(ARFaceAnchor faceAnchor)
+ {
+ #if !UNITY_EDITOR
+ serializableUnityARFaceAnchor serFaceAnchor = faceAnchor;
+ SendToEditor (ConnectionMessageIds.removeFaceAnchorMsgeId, serFaceAnchor);
+ #endif
+ }
+
+ void EditorConnected(int playerID)
+ {
+ Debug.Log("connected");
+
+ editorID = playerID;
+
+ }
+
+ void EditorDisconnected(int playerID)
+ {
+ if (editorID == playerID)
+ {
+ editorID = -1;
+ }
+
+ DisconnectFromEditor ();
+ #if !UNITY_EDITOR
+ if (m_session != null)
+ {
+ m_session.Pause();
+ m_session = null;
+ }
+ #endif
+ }
+
+
+ public void SendToEditor(System.Guid msgId, object serializableObject)
+ {
+ byte[] arrayToSend = serializableObject.SerializeToByteArray ();
+ SendToEditor (msgId, arrayToSend);
+ }
+
+ public void SendToEditor(System.Guid msgId, byte[] data)
+ {
+ if (playerConnection.isConnected)
+ {
+ playerConnection.Send(msgId, data);
+ }
+
+
+ }
+
+ public void DisconnectFromEditor()
+ {
+ #if UNITY_2017_1_OR_NEWER
+ playerConnection.DisconnectAll();
+ #endif
+ }
+
+
+ }
+
+}
diff --git a/Assets/UnityARKitPlugin/ARKitRemote/ConnectionMessageIds.cs b/Assets/UnityARKitPlugin/ARKitRemote/ConnectionMessageIds.cs
new file mode 100755
index 00000000..06e3912d
--- /dev/null
+++ b/Assets/UnityARKitPlugin/ARKitRemote/ConnectionMessageIds.cs
@@ -0,0 +1,24 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public static class ConnectionMessageIds
+ {
+ public static Guid fromEditorARKitSessionMsgId { get { return new Guid("523bb5dd-163b-4e5b-9271-d18a50e8897e"); } }
+ public static Guid updateCameraFrameMsgId { get { return new Guid("6d8c39bf-279a-46cf-91f4-9827a44443af"); } }
+ public static Guid addPlaneAnchorMsgeId { get { return new Guid("a435cdb9-fa85-4d3c-9d3f-57fa85f62da3"); } }
+ public static Guid updatePlaneAnchorMsgeId { get { return new Guid("84d5ad8d-e7f9-432c-ae5d-40717790a12f"); } }
+ public static Guid removePlaneAnchorMsgeId { get { return new Guid("b07750a2-8825-4e86-9483-0b22b07df800"); } }
+ public static Guid screenCaptureYMsgId { get { return new Guid("25c3d26f-72c5-4f3e-9a1f-c8c9b859453b"); } }
+ public static Guid screenCaptureUVMsgId { get { return new Guid("d7f4d3cd-2d12-4ab7-b755-932fe7ab744d"); } }
+ public static Guid addFaceAnchorMsgeId { get { return new Guid("7d7531e9-28b8-40b3-9afd-b6e7baa8e630"); } }
+ public static Guid updateFaceAnchorMsgeId { get { return new Guid("80880c6e-d3f5-449a-9c8b-55c95b188563"); } }
+ public static Guid removeFaceAnchorMsgeId { get { return new Guid("ba429c59-067e-4548-ab01-d7129f060872"); } }
+ };
+
+ public static class SubMessageIds
+ {
+ public static Guid editorInitARKit { get { return new Guid("2e5d7c45-daef-474d-bf55-1f02f0a10b69"); } }
+ public static Guid editorInitARKitFaceTracking { get { return new Guid("3e86ccf6-93c6-4b07-b78f-0a60f6ed4a7a"); } }
+ };
+}
\ No newline at end of file
diff --git a/Assets/UnityARKitPlugin/ARKitRemote/EditorARFaceAnchor.cs b/Assets/UnityARKitPlugin/ARKitRemote/EditorARFaceAnchor.cs
new file mode 100755
index 00000000..75eb722f
--- /dev/null
+++ b/Assets/UnityARKitPlugin/ARKitRemote/EditorARFaceAnchor.cs
@@ -0,0 +1,51 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System.Text;
+using UnityEngine.XR.iOS.Utils;
+
+
+namespace UnityEngine.XR.iOS
+{
+ #if UNITY_EDITOR || !UNITY_IOS
+ public class ARFaceGeometry
+ {
+ private serializableFaceGeometry sFaceGeometry;
+
+ public ARFaceGeometry (serializableFaceGeometry ufg)
+ {
+ sFaceGeometry = ufg;
+ }
+
+ public int vertexCount { get { return sFaceGeometry.Vertices.Length; } }
+ public int triangleCount { get { return sFaceGeometry.TriangleIndices.Length; } }
+ public int textureCoordinateCount { get { return sFaceGeometry.TexCoords.Length; } }
+
+ public Vector3 [] vertices { get { return sFaceGeometry.Vertices; } }
+
+ public Vector2 [] textureCoordinates { get { return sFaceGeometry.TexCoords; } }
+
+ public int [] triangleIndices { get { return sFaceGeometry.TriangleIndices; } }
+
+ }
+
+ public class ARFaceAnchor
+ {
+ serializableUnityARFaceAnchor m_sfa;
+
+ public ARFaceAnchor(serializableUnityARFaceAnchor sfa)
+ {
+ m_sfa = sfa;
+ }
+
+ public string identifierStr { get { return Encoding.UTF8.GetString (m_sfa.identifierStr); } }
+
+ public Matrix4x4 transform { get { return m_sfa.worldTransform; } }
+
+ public ARFaceGeometry faceGeometry { get { return new ARFaceGeometry (m_sfa.faceGeometry); } }
+
+ public Dictionary blendShapes { get { return m_sfa.arBlendShapes; } }
+
+ }
+ #endif
+}
diff --git a/Assets/UnityARKitPlugin/ARKitRemote/EditorARPlaneAnchor.cs b/Assets/UnityARKitPlugin/ARKitRemote/EditorARPlaneAnchor.cs
new file mode 100755
index 00000000..fc555a8e
--- /dev/null
+++ b/Assets/UnityARKitPlugin/ARKitRemote/EditorARPlaneAnchor.cs
@@ -0,0 +1,73 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS.Utils;
+using System.Text;
+
+namespace UnityEngine.XR.iOS
+{
+ #if UNITY_EDITOR
+ public class ARPlaneGeometry
+ {
+ private serializablePlaneGeometry sPlaneGeometry;
+
+ public ARPlaneGeometry (serializablePlaneGeometry ufg)
+ {
+ sPlaneGeometry = ufg;
+ }
+
+ public int vertexCount { get { return sPlaneGeometry.Vertices.Length; } }
+ public int triangleCount { get { return sPlaneGeometry.TriangleIndices.Length; } }
+ public int textureCoordinateCount { get { return sPlaneGeometry.TexCoords.Length; } }
+ public int boundaryVertexCount { get { return sPlaneGeometry.BoundaryVertices.Length; } }
+
+ public Vector3 [] vertices { get { return sPlaneGeometry.Vertices; } }
+
+ public Vector2 [] textureCoordinates { get { return sPlaneGeometry.TexCoords; } }
+
+ public int [] triangleIndices { get { return sPlaneGeometry.TriangleIndices; } }
+
+ public Vector3 [] boundaryVertices { get { return sPlaneGeometry.BoundaryVertices; } }
+
+ }
+
+ public class ARPlaneAnchor
+ {
+ serializableUnityARPlaneAnchor m_spa;
+
+ public ARPlaneAnchor(serializableUnityARPlaneAnchor spa)
+ {
+ m_spa = spa;
+ }
+
+ public string identifier { get { return Encoding.UTF8.GetString (m_spa.identifierStr); } }
+
+ public Matrix4x4 transform { get { return m_spa.worldTransform; } }
+
+ public ARPlaneGeometry planeGeometry {
+ get {
+ return new ARPlaneGeometry (m_spa.planeGeometry);
+ }
+ }
+
+ public ARPlaneAnchorAlignment alignment {
+ get {
+ return m_spa.planeAlignment;
+ }
+ }
+
+ public Vector3 extent {
+ get {
+ return new Vector3 (m_spa.extent.x, m_spa.extent.y, m_spa.extent.z);
+ }
+ }
+
+ public Vector3 center {
+ get {
+ return new Vector3 (m_spa.center.x, m_spa.center.y, m_spa.center.z);
+ }
+ }
+
+ }
+ #endif
+}
diff --git a/Assets/UnityARKitPlugin/ARKitRemote/EditorHitTest.cs b/Assets/UnityARKitPlugin/ARKitRemote/EditorHitTest.cs
new file mode 100755
index 00000000..673f60ca
--- /dev/null
+++ b/Assets/UnityARKitPlugin/ARKitRemote/EditorHitTest.cs
@@ -0,0 +1,34 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace UnityEngine.XR.iOS
+{
+
+ public class EditorHitTest : MonoBehaviour {
+
+ public Transform m_HitTransform;
+ public float maxRayDistance = 30.0f;
+ public LayerMask collisionLayerMask;
+
+#if UNITY_EDITOR //we will only use this script on the editor side, though there is nothing that would prevent it from working on device
+ void Update () {
+ if (Input.GetMouseButtonDown (0)) {
+ Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
+ RaycastHit hit;
+
+ //we'll try to hit one of the plane collider gameobjects that were generated by the plugin
+ //effectively similar to calling HitTest with ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent
+ if (Physics.Raycast (ray, out hit, maxRayDistance, collisionLayerMask)) {
+ //we're going to get the position from the contact point
+ m_HitTransform.position = hit.point;
+ Debug.Log (string.Format ("x:{0:0.######} y:{1:0.######} z:{2:0.######}", m_HitTransform.position.x, m_HitTransform.position.y, m_HitTransform.position.z));
+
+ //and the rotation from the transform of the plane collider
+ m_HitTransform.rotation = hit.transform.rotation;
+ }
+ }
+ }
+#endif
+ }
+}
diff --git a/Assets/UnityARKitPlugin/ARKitRemote/EditorTestScene.unity b/Assets/UnityARKitPlugin/ARKitRemote/EditorTestScene.unity
new file mode 100755
index 00000000..92e4079d
--- /dev/null
+++ b/Assets/UnityARKitPlugin/ARKitRemote/EditorTestScene.unity
@@ -0,0 +1,632 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 8
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0.44657868, g: 0.49641263, b: 0.57481706, a: 1}
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_GIWorkflowMode: 0
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_TemporalCoherenceThreshold: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 1
+ m_LightmapEditorSettings:
+ serializedVersion: 8
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_TextureWidth: 1024
+ m_TextureHeight: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVRFilteringMode: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_LightingDataAsset: {fileID: 0}
+ m_ShadowMaskMode: 2
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &11818609
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 11818614}
+ - component: {fileID: 11818613}
+ - component: {fileID: 11818612}
+ - component: {fileID: 11818611}
+ - component: {fileID: 11818610}
+ - component: {fileID: 11818615}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &11818610
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 11818609}
+ m_Enabled: 1
+--- !u!124 &11818611
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 11818609}
+ m_Enabled: 1
+--- !u!92 &11818612
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 11818609}
+ m_Enabled: 1
+--- !u!20 &11818613
+Camera:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 11818609}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 3
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.1
+ far clip plane: 35
+ 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: 0
+ m_AllowMSAA: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 0
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+ m_StereoMirrorMode: 0
+--- !u!4 &11818614
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 11818609}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &11818615
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 11818609}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b58ecea7a196242dd879c814ac05084c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ClearMaterial: {fileID: 2100000, guid: f1d9352050a75486f878ab19fa578f16, type: 2}
+--- !u!1 &84445150
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 84445152}
+ - component: {fileID: 84445151}
+ m_Layer: 0
+ m_Name: ARCameraManager
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &84445151
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 84445150}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 462d46d2423bb4f738d2497a397b1590, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_camera: {fileID: 11818613}
+ startAlignment: 0
+ planeDetection: 1
+ detectionImages: {fileID: 0}
+ getPointCloud: 1
+ enableLightEstimation: 1
+ enableAutoFocus: 1
+--- !u!4 &84445152
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 84445150}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 1}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &260521679
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 260521681}
+ - component: {fileID: 260521680}
+ m_Layer: 0
+ m_Name: PointCloudParticleExample
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &260521680
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 260521679}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ec20d460fbb7e4f92b4d84a10da98cd9, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ pointCloudParticlePrefab: {fileID: 198314236125653888, guid: 87db9decf4b3e4cb8bf3eea22ccd37f5,
+ type: 2}
+ maxPointsToShow: 10000
+ particleSize: 0.01
+--- !u!4 &260521681
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 260521679}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 5
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &359599245
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 359599247}
+ - component: {fileID: 359599246}
+ m_Layer: 0
+ m_Name: GeneratePlanes
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &359599246
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 359599245}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 31cac8edf84834043ac167deaeba16a9, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!4 &359599247
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 359599245}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 1}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &375233436
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 375233438}
+ - component: {fileID: 375233437}
+ - component: {fileID: 375233439}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &375233437
+Light:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 375233436}
+ m_Enabled: 1
+ serializedVersion: 8
+ m_Type: 1
+ m_Color: {r: 0.9852941, g: 0.73455304, b: 0.05071366, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 2
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_Lightmapping: 4
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &375233438
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 375233436}
+ m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+ m_LocalPosition: {x: 0, y: 3, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!114 &375233439
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 375233436}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5587c957048494a2f96db36e0995449e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &754164519
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 754164523}
+ - component: {fileID: 754164522}
+ - component: {fileID: 754164521}
+ - component: {fileID: 754164520}
+ m_Layer: 0
+ m_Name: Cube
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!23 &754164520
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 754164519}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 2100000, guid: 66fbc43c67b564bb4a4c2c2dcd6c1970, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 1
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!65 &754164521
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 754164519}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &754164522
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 754164519}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &754164523
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 754164519}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 1}
+ m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1320907942
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1320907943}
+ m_Layer: 0
+ m_Name: HitCubeParent
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1320907943
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1320907942}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: -0, z: -2.98}
+ m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+ m_Children:
+ - {fileID: 1428923966}
+ m_Father: {fileID: 0}
+ m_RootOrder: 6
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1428923965
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1428923966}
+ - component: {fileID: 1428923971}
+ - component: {fileID: 1428923970}
+ - component: {fileID: 1428923969}
+ - component: {fileID: 1428923968}
+ m_Layer: 0
+ m_Name: HitCube
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1428923966
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1428923965}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0.5, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1320907943}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1428923968
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1428923965}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 6941ec02ead994c9b848d640887441f1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HitTransform: {fileID: 1320907943}
+ maxRayDistance: 30
+ collisionLayer:
+ serializedVersion: 2
+ m_Bits: 1024
+--- !u!23 &1428923969
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1428923965}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_Materials:
+ - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_PreserveUVs: 1
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!65 &1428923970
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1428923965}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!33 &1428923971
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1428923965}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
diff --git a/Assets/UnityARKitPlugin/ARKitRemote/ObjectSerializationExtension.cs b/Assets/UnityARKitPlugin/ARKitRemote/ObjectSerializationExtension.cs
new file mode 100755
index 00000000..03cb74d1
--- /dev/null
+++ b/Assets/UnityARKitPlugin/ARKitRemote/ObjectSerializationExtension.cs
@@ -0,0 +1,44 @@
+using UnityEngine;
+using System.Collections;
+using System.Runtime.Serialization.Formatters.Binary;
+using System.IO;
+
+namespace UnityEngine.XR.iOS.Utils
+{
+ //Extension class to provide serialize / deserialize methods to object.
+ //src: http://stackoverflow.com/questions/1446547/how-to-convert-an-object-to-a-byte-array-in-c-sharp
+ //NOTE: You need add [Serializable] attribute in your class to enable serialization
+ public static class ObjectSerializationExtension
+ {
+
+ public static byte[] SerializeToByteArray(this object obj)
+ {
+ if (obj == null)
+ {
+ return null;
+ }
+ var bf = new BinaryFormatter();
+ using (var ms = new MemoryStream())
+ {
+ bf.Serialize(ms, obj);
+ return ms.ToArray();
+ }
+ }
+
+ public static T Deserialize(this byte[] byteArray) where T : class
+ {
+ if (byteArray == null)
+ {
+ return null;
+ }
+ using (var memStream = new MemoryStream())
+ {
+ var binForm = new BinaryFormatter();
+ memStream.Write(byteArray, 0, byteArray.Length);
+ memStream.Seek(0, SeekOrigin.Begin);
+ var obj = (T)binForm.Deserialize(memStream);
+ return obj;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/UnityARKitPlugin/ARKitRemote/SerializableObjects.cs b/Assets/UnityARKitPlugin/ARKitRemote/SerializableObjects.cs
new file mode 100755
index 00000000..fdeeaf0b
--- /dev/null
+++ b/Assets/UnityARKitPlugin/ARKitRemote/SerializableObjects.cs
@@ -0,0 +1,668 @@
+using System;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+using System.Text;
+using System.Collections.Generic;
+
+namespace UnityEngine.XR.iOS.Utils
+{
+ ///
+ /// Since unity doesn't flag the Vector4 as serializable, we
+ /// need to create our own version. This one will automatically convert
+ /// between Vector4 and SerializableVector4
+ ///
+ [Serializable]
+ public class SerializableVector4
+ {
+ ///
+ /// x component
+ ///
+ public float x;
+
+ ///
+ /// y component
+ ///
+ public float y;
+
+ ///
+ /// z component
+ ///
+ public float z;
+
+ ///
+ /// w component
+ ///
+ public float w;
+
+ ///
+ /// Constructor
+ ///
+ ///
+ ///
+ ///
+ ///
+ public SerializableVector4(float rX, float rY, float rZ, float rW)
+ {
+ x = rX;
+ y = rY;
+ z = rZ;
+ w = rW;
+ }
+
+ ///
+ /// Returns a string representation of the object
+ ///
+ ///
+ public override string ToString()
+ {
+ return String.Format("[{0}, {1}, {2}, {3}]", x, y, z, w);
+ }
+
+ ///
+ /// Automatic conversion from SerializableVector4 to Vector4
+ ///
+ ///
+ ///
+ public static implicit operator Vector4(SerializableVector4 rValue)
+ {
+ return new Vector4(rValue.x, rValue.y, rValue.z, rValue.w);
+ }
+
+ ///
+ /// Automatic conversion from Vector4 to SerializableVector4
+ ///
+ ///
+ ///
+ public static implicit operator SerializableVector4(Vector4 rValue)
+ {
+ return new SerializableVector4(rValue.x, rValue.y, rValue.z, rValue.w);
+ }
+ }
+
+ [Serializable]
+ public class serializableUnityARMatrix4x4
+ {
+ public SerializableVector4 column0;
+ public SerializableVector4 column1;
+ public SerializableVector4 column2;
+ public SerializableVector4 column3;
+
+ public serializableUnityARMatrix4x4(SerializableVector4 v0, SerializableVector4 v1, SerializableVector4 v2, SerializableVector4 v3)
+ {
+ column0 = v0;
+ column1 = v1;
+ column2 = v2;
+ column3 = v3;
+ }
+
+ ///
+ /// Automatic conversion from UnityARMatrix4x4 to serializableUnityARMatrix4x4
+ ///
+ ///
+ ///
+ public static implicit operator serializableUnityARMatrix4x4(UnityARMatrix4x4 rValue)
+ {
+ return new serializableUnityARMatrix4x4(rValue.column0, rValue.column1, rValue.column2, rValue.column3);
+ }
+
+ ///
+ /// Automatic conversion from serializableUnityARMatrix4x4 to UnityARMatrix4x4
+ ///
+ ///
+ ///
+ public static implicit operator UnityARMatrix4x4(serializableUnityARMatrix4x4 rValue)
+ {
+ return new UnityARMatrix4x4(rValue.column0, rValue.column1, rValue.column2, rValue.column3);
+ }
+
+
+ public static implicit operator serializableUnityARMatrix4x4(Matrix4x4 rValue)
+ {
+ return new serializableUnityARMatrix4x4(rValue.GetColumn(0), rValue.GetColumn(1), rValue.GetColumn(2), rValue.GetColumn(3));
+ }
+
+ public static implicit operator Matrix4x4(serializableUnityARMatrix4x4 rValue)
+ {
+ #if UNITY_2017_1_OR_NEWER
+ return new Matrix4x4(rValue.column0, rValue.column1, rValue.column2, rValue.column3);
+ #else
+ Matrix4x4 mRet = new Matrix4x4 ();
+ mRet.SetColumn (0, rValue.column0);
+ mRet.SetColumn (1, rValue.column1);
+ mRet.SetColumn (2, rValue.column2);
+ mRet.SetColumn (3, rValue.column3);
+ return mRet;
+ #endif
+ }
+
+ };
+
+
+ [Serializable]
+ public class serializableSHC
+ {
+ public byte [] shcData;
+
+ public serializableSHC(byte [] inputSHCData)
+ {
+ shcData = inputSHCData;
+ }
+
+ public static implicit operator serializableSHC(float [] floatsSHC)
+ {
+ if (floatsSHC != null)
+ {
+ byte [] createBuf = new byte[floatsSHC.Length * sizeof(float)];
+ for(int i = 0; i < floatsSHC.Length; i++)
+ {
+ Buffer.BlockCopy( BitConverter.GetBytes( floatsSHC[i] ), 0, createBuf, (i)*sizeof(float), sizeof(float) );
+ }
+ return new serializableSHC (createBuf);
+ }
+ else
+ {
+ return new serializableSHC(null);
+ }
+ }
+
+ public static implicit operator float [] (serializableSHC spc)
+ {
+ if (spc.shcData != null)
+ {
+ int numFloats = spc.shcData.Length / (sizeof(float));
+ float [] shcFloats = new float[numFloats];
+ for (int i = 0; i < numFloats; i++)
+ {
+ shcFloats [i] = BitConverter.ToSingle (spc.shcData, i * sizeof(float));
+ }
+ return shcFloats;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+
+ };
+
+ [Serializable]
+ public class serializableUnityARLightData
+ {
+ public LightDataType whichLight;
+ public serializableSHC lightSHC;
+ public SerializableVector4 primaryLightDirAndIntensity;
+ public float ambientIntensity;
+ public float ambientColorTemperature;
+
+ serializableUnityARLightData(UnityARLightData lightData)
+ {
+ whichLight = lightData.arLightingType;
+ if (whichLight == LightDataType.DirectionalLightEstimate) {
+ lightSHC = lightData.arDirectonalLightEstimate.sphericalHarmonicsCoefficients;
+ Vector3 lightDir = lightData.arDirectonalLightEstimate.primaryLightDirection;
+ float lightIntensity = lightData.arDirectonalLightEstimate.primaryLightIntensity;
+ primaryLightDirAndIntensity = new SerializableVector4 (lightDir.x, lightDir.y, lightDir.z, lightIntensity);
+ } else {
+ ambientIntensity = lightData.arLightEstimate.ambientIntensity;
+ ambientColorTemperature = lightData.arLightEstimate.ambientColorTemperature;
+ }
+ }
+
+ public static implicit operator serializableUnityARLightData(UnityARLightData rValue)
+ {
+ return new serializableUnityARLightData(rValue);
+ }
+
+ public static implicit operator UnityARLightData(serializableUnityARLightData rValue)
+ {
+ UnityARDirectionalLightEstimate udle = null;
+ UnityARLightEstimate ule = new UnityARLightEstimate (rValue.ambientIntensity, rValue.ambientColorTemperature);
+
+ if (rValue.whichLight == LightDataType.DirectionalLightEstimate) {
+ Vector3 lightDir = new Vector3 (rValue.primaryLightDirAndIntensity.x, rValue.primaryLightDirAndIntensity.y, rValue.primaryLightDirAndIntensity.z);
+ udle = new UnityARDirectionalLightEstimate (rValue.lightSHC, lightDir, rValue.primaryLightDirAndIntensity.w);
+ }
+
+ return new UnityARLightData(rValue.whichLight, ule, udle);
+ }
+
+ }
+
+
+ [Serializable]
+ public class serializableUnityARCamera
+ {
+ public serializableUnityARMatrix4x4 worldTransform;
+ public serializableUnityARMatrix4x4 projectionMatrix;
+ public ARTrackingState trackingState;
+ public ARTrackingStateReason trackingReason;
+ public UnityVideoParams videoParams;
+ public serializableUnityARLightData lightData;
+ public serializablePointCloud pointCloud;
+ public serializableUnityARMatrix4x4 displayTransform;
+
+
+ public serializableUnityARCamera( serializableUnityARMatrix4x4 wt, serializableUnityARMatrix4x4 pm, ARTrackingState ats, ARTrackingStateReason atsr, UnityVideoParams uvp, UnityARLightData lightDat, serializableUnityARMatrix4x4 dt, serializablePointCloud spc)
+ {
+ worldTransform = wt;
+ projectionMatrix = pm;
+ trackingState = ats;
+ trackingReason = atsr;
+ videoParams = uvp;
+ lightData = lightDat;
+ displayTransform = dt;
+ pointCloud = spc;
+ }
+
+ public static implicit operator serializableUnityARCamera(UnityARCamera rValue)
+ {
+ return new serializableUnityARCamera(rValue.worldTransform, rValue.projectionMatrix, rValue.trackingState, rValue.trackingReason, rValue.videoParams, rValue.lightData, rValue.displayTransform, rValue.pointCloudData);
+ }
+
+ public static implicit operator UnityARCamera(serializableUnityARCamera rValue)
+ {
+ return new UnityARCamera (rValue.worldTransform, rValue.projectionMatrix, rValue.trackingState, rValue.trackingReason, rValue.videoParams, rValue.lightData, rValue.displayTransform, rValue.pointCloud);
+ }
+
+
+ };
+
+ [Serializable]
+ public class serializablePlaneGeometry
+ {
+ public byte [] vertices;
+ public byte [] texCoords;
+ public byte [] triIndices;
+ public byte[] boundaryVertices;
+
+
+ public serializablePlaneGeometry(byte [] inputVertices, byte [] inputTexCoords, byte [] inputTriIndices, byte [] boundaryVerts)
+ {
+ vertices = inputVertices;
+ texCoords = inputTexCoords;
+ triIndices = inputTriIndices;
+ boundaryVertices = boundaryVerts;
+
+ }
+
+ #if !UNITY_EDITOR
+ public static implicit operator serializablePlaneGeometry(ARPlaneGeometry planeGeom)
+ {
+ if (planeGeom.vertexCount != 0 && planeGeom.textureCoordinateCount != 0 && planeGeom.triangleCount != 0)
+ {
+ Vector3 [] planeVertices = planeGeom.vertices;
+ byte [] cbVerts = new byte[planeGeom.vertexCount * sizeof(float) * 3];
+ Buffer.BlockCopy( planeVertices, 0, cbVerts, 0, planeGeom.vertexCount * sizeof(float) * 3 );
+
+ Vector3 [] boundaryVertices = planeGeom.boundaryVertices;
+ byte [] cbBVerts = new byte[planeGeom.boundaryVertexCount * sizeof(float) * 3];
+ Buffer.BlockCopy( boundaryVertices, 0, cbBVerts, 0, planeGeom.boundaryVertexCount * sizeof(float) * 3 );
+
+
+ Vector2 [] planeTexCoords = planeGeom.textureCoordinates;
+ byte [] cbTexCoords = new byte[planeGeom.textureCoordinateCount * sizeof(float) * 2];
+ Buffer.BlockCopy( planeTexCoords, 0, cbTexCoords, 0, planeGeom.textureCoordinateCount * sizeof(float) * 2 );
+
+
+ int [] triIndices = planeGeom.triangleIndices;
+ byte [] cbTriIndices = triIndices.SerializeToByteArray();
+
+ return new serializablePlaneGeometry (cbVerts, cbTexCoords, cbTriIndices, cbBVerts);
+ }
+ else
+ {
+ return new serializablePlaneGeometry(null, null, null, null);
+ }
+ }
+ #endif //!UNITY_EDITOR
+
+ public Vector3 [] Vertices {
+ get {
+ if (vertices != null) {
+ int numVectors = vertices.Length / (3 * sizeof(float));
+ Vector3[] verticesVec = new Vector3[numVectors];
+ for (int i = 0; i < numVectors; i++) {
+ int bufferStart = i * 3;
+ verticesVec [i].x = BitConverter.ToSingle (vertices, (bufferStart) * sizeof(float));
+ verticesVec [i].y = BitConverter.ToSingle (vertices, (bufferStart + 1) * sizeof(float));
+ verticesVec [i].z = BitConverter.ToSingle (vertices, (bufferStart + 2) * sizeof(float));
+
+ }
+ return verticesVec;
+ } else {
+ return null;
+ }
+ }
+ }
+
+ public Vector3 [] BoundaryVertices {
+ get {
+ if (boundaryVertices != null) {
+ int numVectors = boundaryVertices.Length / (3 * sizeof(float));
+ Vector3[] verticesVec = new Vector3[numVectors];
+ for (int i = 0; i < numVectors; i++) {
+ int bufferStart = i * 3;
+ verticesVec [i].x = BitConverter.ToSingle (boundaryVertices, (bufferStart) * sizeof(float));
+ verticesVec [i].y = BitConverter.ToSingle (boundaryVertices, (bufferStart + 1) * sizeof(float));
+ verticesVec [i].z = BitConverter.ToSingle (boundaryVertices, (bufferStart + 2) * sizeof(float));
+
+ }
+ return verticesVec;
+ } else {
+ return null;
+ }
+ }
+ }
+
+ public Vector2 [] TexCoords {
+ get {
+ if (texCoords != null) {
+ int numVectors = texCoords.Length / (2 * sizeof(float));
+ Vector2[] texCoordVec = new Vector2[numVectors];
+ for (int i = 0; i < numVectors; i++) {
+ int bufferStart = i * 2;
+ texCoordVec [i].x = BitConverter.ToSingle (texCoords, (bufferStart) * sizeof(float));
+ texCoordVec [i].y = BitConverter.ToSingle (texCoords, (bufferStart + 1) * sizeof(float));
+
+ }
+ return texCoordVec;
+ } else {
+ return null;
+ }
+ }
+ }
+
+ public int [] TriangleIndices {
+ get {
+ if (triIndices != null) {
+ int[] triIndexVec = triIndices.Deserialize();
+ return triIndexVec;
+ } else {
+ return null;
+ }
+ }
+ }
+
+ };
+
+
+ [Serializable]
+ public class serializableUnityARPlaneAnchor
+ {
+ public serializableUnityARMatrix4x4 worldTransform;
+ public SerializableVector4 center;
+ public SerializableVector4 extent;
+ public ARPlaneAnchorAlignment planeAlignment;
+ public serializablePlaneGeometry planeGeometry;
+ public byte[] identifierStr;
+
+ public serializableUnityARPlaneAnchor( serializableUnityARMatrix4x4 wt, SerializableVector4 ctr, SerializableVector4 ext, ARPlaneAnchorAlignment apaa,
+ serializablePlaneGeometry spg, byte [] idstr)
+ {
+ worldTransform = wt;
+ center = ctr;
+ extent = ext;
+ planeAlignment = apaa;
+ identifierStr = idstr;
+ planeGeometry = spg;
+ }
+
+ #if UNITY_EDITOR
+ public static implicit operator ARPlaneAnchor(serializableUnityARPlaneAnchor rValue)
+ {
+ return new ARPlaneAnchor(rValue);
+ }
+ #else //!UNITY_EDITOR
+ public static implicit operator serializableUnityARPlaneAnchor(ARPlaneAnchor rValue)
+ {
+ serializableUnityARMatrix4x4 wt = rValue.transform;
+ SerializableVector4 ctr = new SerializableVector4 (rValue.center.x, rValue.center.y, rValue.center.z, 1.0f);
+ SerializableVector4 ext = new SerializableVector4 (rValue.extent.x, rValue.extent.y, rValue.extent.z, 1.0f);
+ byte[] idstr = Encoding.UTF8.GetBytes (rValue.identifier);
+ serializablePlaneGeometry spg = rValue.planeGeometry;
+ return new serializableUnityARPlaneAnchor(wt, ctr, ext, rValue.alignment, spg, idstr);
+ }
+ #endif
+
+ };
+
+
+ [Serializable]
+ public class serializableFaceGeometry
+ {
+ public byte [] vertices;
+ public byte [] texCoords;
+ public byte [] triIndices;
+
+
+ public serializableFaceGeometry(byte [] inputVertices, byte [] inputTexCoords, byte [] inputTriIndices)
+ {
+ vertices = inputVertices;
+ texCoords = inputTexCoords;
+ triIndices = inputTriIndices;
+
+ }
+
+ #if !UNITY_EDITOR
+ public static implicit operator serializableFaceGeometry(ARFaceGeometry faceGeom)
+ {
+ if (faceGeom.vertexCount != 0 && faceGeom.textureCoordinateCount != 0 && faceGeom.triangleCount != 0)
+ {
+ Vector3 [] faceVertices = faceGeom.vertices;
+ byte [] cbVerts = new byte[faceGeom.vertexCount * sizeof(float) * 3];
+ Buffer.BlockCopy( faceVertices, 0, cbVerts, 0, faceGeom.vertexCount * sizeof(float) * 3 );
+
+
+ Vector2 [] faceTexCoords = faceGeom.textureCoordinates;
+ byte [] cbTexCoords = new byte[faceGeom.textureCoordinateCount * sizeof(float) * 2];
+ Buffer.BlockCopy( faceTexCoords, 0, cbTexCoords, 0, faceGeom.textureCoordinateCount * sizeof(float) * 2 );
+
+
+ int [] triIndices = faceGeom.triangleIndices;
+ byte [] cbTriIndices = triIndices.SerializeToByteArray();
+
+ return new serializableFaceGeometry (cbVerts, cbTexCoords, cbTriIndices);
+ }
+ else
+ {
+ return new serializableFaceGeometry(null, null, null);
+ }
+ }
+ #endif //!UNITY_EDITOR
+
+ public Vector3 [] Vertices {
+ get {
+ if (vertices != null) {
+ int numVectors = vertices.Length / (3 * sizeof(float));
+ Vector3[] verticesVec = new Vector3[numVectors];
+ for (int i = 0; i < numVectors; i++) {
+ int bufferStart = i * 3;
+ verticesVec [i].x = BitConverter.ToSingle (vertices, (bufferStart) * sizeof(float));
+ verticesVec [i].y = BitConverter.ToSingle (vertices, (bufferStart + 1) * sizeof(float));
+ verticesVec [i].z = BitConverter.ToSingle (vertices, (bufferStart + 2) * sizeof(float));
+
+ }
+ return verticesVec;
+ } else {
+ return null;
+ }
+ }
+ }
+
+ public Vector2 [] TexCoords {
+ get {
+ if (texCoords != null) {
+ int numVectors = texCoords.Length / (2 * sizeof(float));
+ Vector2[] texCoordVec = new Vector2[numVectors];
+ for (int i = 0; i < numVectors; i++) {
+ int bufferStart = i * 2;
+ texCoordVec [i].x = BitConverter.ToSingle (texCoords, (bufferStart) * sizeof(float));
+ texCoordVec [i].y = BitConverter.ToSingle (texCoords, (bufferStart + 1) * sizeof(float));
+
+ }
+ return texCoordVec;
+ } else {
+ return null;
+ }
+ }
+ }
+
+ public int [] TriangleIndices {
+ get {
+ if (triIndices != null) {
+ int[] triIndexVec = triIndices.Deserialize();
+ return triIndexVec;
+ } else {
+ return null;
+ }
+ }
+ }
+
+ };
+
+
+ [Serializable]
+ public class serializableUnityARFaceAnchor
+ {
+ public serializableUnityARMatrix4x4 worldTransform;
+ public serializableFaceGeometry faceGeometry;
+ public Dictionary arBlendShapes;
+ public byte[] identifierStr;
+
+ public serializableUnityARFaceAnchor( serializableUnityARMatrix4x4 wt, serializableFaceGeometry fg, Dictionary bs, byte [] idstr)
+ {
+ worldTransform = wt;
+ faceGeometry = fg;
+ arBlendShapes = bs;
+ identifierStr = idstr;
+ }
+
+
+ #if UNITY_EDITOR
+ public static implicit operator ARFaceAnchor(serializableUnityARFaceAnchor rValue)
+ {
+ return new ARFaceAnchor(rValue);
+ }
+ #else
+ public static implicit operator serializableUnityARFaceAnchor(ARFaceAnchor rValue)
+ {
+ serializableUnityARMatrix4x4 wt = rValue.transform;
+ serializableFaceGeometry sfg = rValue.faceGeometry;
+ byte[] idstr = Encoding.UTF8.GetBytes (rValue.identifierStr);
+ return new serializableUnityARFaceAnchor(wt, sfg, rValue.blendShapes, idstr);
+ }
+ #endif
+ };
+
+
+ [Serializable]
+ public class serializablePointCloud
+ {
+ public byte [] pointCloudData;
+
+ public serializablePointCloud(byte [] inputPoints)
+ {
+ pointCloudData = inputPoints;
+ }
+
+ public static implicit operator serializablePointCloud(Vector3 [] vecPointCloud)
+ {
+ if (vecPointCloud != null)
+ {
+ byte [] createBuf = new byte[vecPointCloud.Length * sizeof(float) * 3];
+ for(int i = 0; i < vecPointCloud.Length; i++)
+ {
+ int bufferStart = i * 3;
+ Buffer.BlockCopy( BitConverter.GetBytes( vecPointCloud[i].x ), 0, createBuf, (bufferStart)*sizeof(float), sizeof(float) );
+ Buffer.BlockCopy( BitConverter.GetBytes( vecPointCloud[i].y ), 0, createBuf, (bufferStart+1)*sizeof(float), sizeof(float) );
+ Buffer.BlockCopy( BitConverter.GetBytes( vecPointCloud[i].z ), 0, createBuf, (bufferStart+2)*sizeof(float), sizeof(float) );
+
+ }
+ return new serializablePointCloud (createBuf);
+ }
+ else
+ {
+ return new serializablePointCloud(null);
+ }
+ }
+
+ public static implicit operator Vector3 [] (serializablePointCloud spc)
+ {
+ if (spc.pointCloudData != null)
+ {
+ int numVectors = spc.pointCloudData.Length / (3 * sizeof(float));
+ Vector3 [] pointCloudVec = new Vector3[numVectors];
+ for (int i = 0; i < numVectors; i++)
+ {
+ int bufferStart = i * 3;
+ pointCloudVec [i].x = BitConverter.ToSingle (spc.pointCloudData, (bufferStart) * sizeof(float));
+ pointCloudVec [i].y = BitConverter.ToSingle (spc.pointCloudData, (bufferStart+1) * sizeof(float));
+ pointCloudVec [i].z = BitConverter.ToSingle (spc.pointCloudData, (bufferStart+2) * sizeof(float));
+
+ }
+ return pointCloudVec;
+ }
+ else
+ {
+ return null;
+ }
+ }
+ };
+
+ [Serializable]
+ public class serializableARSessionConfiguration
+ {
+ public UnityARAlignment alignment;
+ public UnityARPlaneDetection planeDetection;
+ public bool getPointCloudData;
+ public bool enableLightEstimation;
+ public bool enableAutoFocus;
+
+ public serializableARSessionConfiguration(UnityARAlignment align, UnityARPlaneDetection planeDet, bool getPtCloud, bool enableLightEst, bool enableAutoFoc)
+ {
+ alignment = align;
+ planeDetection = planeDet;
+ getPointCloudData = getPtCloud;
+ enableLightEstimation = enableLightEst;
+ enableAutoFocus = enableAutoFoc;
+ }
+
+ public static implicit operator serializableARSessionConfiguration(ARKitWorldTrackingSessionConfiguration awtsc)
+ {
+ return new serializableARSessionConfiguration (awtsc.alignment, awtsc.planeDetection, awtsc.getPointCloudData, awtsc.enableLightEstimation, awtsc.enableAutoFocus);
+ }
+
+ public static implicit operator ARKitWorldTrackingSessionConfiguration (serializableARSessionConfiguration sasc)
+ {
+ return new ARKitWorldTrackingSessionConfiguration (sasc.alignment, sasc.planeDetection, sasc.getPointCloudData, sasc.enableLightEstimation, sasc.enableAutoFocus);
+ }
+
+ public static implicit operator ARKitFaceTrackingConfiguration (serializableARSessionConfiguration sasc)
+ {
+ return new ARKitFaceTrackingConfiguration (sasc.alignment, sasc.enableLightEstimation);
+ }
+
+ };
+
+ [Serializable]
+ public class serializableARKitInit
+ {
+ public serializableARSessionConfiguration config;
+ public UnityARSessionRunOption runOption;
+
+ public serializableARKitInit(serializableARSessionConfiguration cfg, UnityARSessionRunOption option)
+ {
+ config = cfg;
+ runOption = option;
+ }
+ };
+
+ [Serializable]
+ public class serializableFromEditorMessage
+ {
+ public Guid subMessageId;
+ public serializableARKitInit arkitConfigMsg;
+
+ };
+}
\ No newline at end of file
diff --git a/Assets/UnityARKitPlugin/ARKitRemote/UnityARKitRemote.unity b/Assets/UnityARKitPlugin/ARKitRemote/UnityARKitRemote.unity
new file mode 100755
index 00000000..37a06543
--- /dev/null
+++ b/Assets/UnityARKitPlugin/ARKitRemote/UnityARKitRemote.unity
@@ -0,0 +1,304 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 8
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_TemporalCoherenceThreshold: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 1
+ m_LightmapEditorSettings:
+ serializedVersion: 8
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_TextureWidth: 1024
+ m_TextureHeight: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 500
+ m_PVRBounces: 2
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVRFilteringMode: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_LightingDataAsset: {fileID: 0}
+ m_ShadowMaskMode: 2
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &245454841
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 245454846}
+ - component: {fileID: 245454845}
+ - component: {fileID: 245454844}
+ - component: {fileID: 245454843}
+ - component: {fileID: 245454842}
+ - component: {fileID: 245454847}
+ - component: {fileID: 245454848}
+ - component: {fileID: 245454849}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &245454842
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 245454841}
+ m_Enabled: 1
+--- !u!124 &245454843
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 245454841}
+ m_Enabled: 1
+--- !u!92 &245454844
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 245454841}
+ m_Enabled: 1
+--- !u!20 &245454845
+Camera:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 245454841}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 3
+ m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 30
+ 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: 0
+ m_AllowMSAA: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 0
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+ m_StereoMirrorMode: 0
+--- !u!4 &245454846
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 245454841}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 1, z: -10}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &245454847
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 245454841}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4b70a2d547e0544c983e2dec3bf61d46, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &245454848
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 245454841}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b58ecea7a196242dd879c814ac05084c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ClearMaterial: {fileID: 2100000, guid: f1d9352050a75486f878ab19fa578f16, type: 2}
+--- !u!114 &245454849
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 245454841}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: cdf0c6a69131b44f5bdb35de994fcea1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ connectToEditor: {fileID: 245454847}
+--- !u!1 &1976998943
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 5
+ m_Component:
+ - component: {fileID: 1976998945}
+ - component: {fileID: 1976998944}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &1976998944
+Light:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1976998943}
+ m_Enabled: 1
+ serializedVersion: 8
+ m_Type: 1
+ m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 2
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_Lightmapping: 4
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &1976998945
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1976998943}
+ m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+ m_LocalPosition: {x: 0, y: 3, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
diff --git a/Assets/UnityARKitPlugin/ARKitRemote/UnityRemoteVideo.cs b/Assets/UnityARKitPlugin/ARKitRemote/UnityRemoteVideo.cs
new file mode 100755
index 00000000..9e45b73e
--- /dev/null
+++ b/Assets/UnityARKitPlugin/ARKitRemote/UnityRemoteVideo.cs
@@ -0,0 +1,112 @@
+using System;
+using System.Runtime.InteropServices;
+using UnityEngine;
+using UnityEngine.Rendering;
+
+namespace UnityEngine.XR.iOS
+{
+
+ public class UnityRemoteVideo : MonoBehaviour
+ {
+ public ConnectToEditor connectToEditor;
+
+ private UnityARSessionNativeInterface m_Session;
+ private bool bTexturesInitialized;
+
+ private int currentFrameIndex;
+ private byte[] m_textureYBytes;
+ private byte[] m_textureUVBytes;
+ private byte[] m_textureYBytes2;
+ private byte[] m_textureUVBytes2;
+ private GCHandle m_pinnedYArray;
+ private GCHandle m_pinnedUVArray;
+
+ #if !UNITY_EDITOR && UNITY_IOS
+
+ public void Start()
+ {
+ m_Session = UnityARSessionNativeInterface.GetARSessionNativeInterface ();
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent += UpdateCamera;
+ currentFrameIndex = 0;
+ bTexturesInitialized = false;
+ }
+
+ void UpdateCamera(UnityARCamera camera)
+ {
+ if (!bTexturesInitialized) {
+ InitializeTextures (camera);
+ }
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent -= UpdateCamera;
+
+ }
+
+ void InitializeTextures(UnityARCamera camera)
+ {
+ int numYBytes = camera.videoParams.yWidth * camera.videoParams.yHeight;
+ int numUVBytes = camera.videoParams.yWidth * camera.videoParams.yHeight / 2; //quarter resolution, but two bytes per pixel
+
+ m_textureYBytes = new byte[numYBytes];
+ m_textureUVBytes = new byte[numUVBytes];
+ m_textureYBytes2 = new byte[numYBytes];
+ m_textureUVBytes2 = new byte[numUVBytes];
+ m_pinnedYArray = GCHandle.Alloc (m_textureYBytes);
+ m_pinnedUVArray = GCHandle.Alloc (m_textureUVBytes);
+ bTexturesInitialized = true;
+ }
+
+ IntPtr PinByteArray(ref GCHandle handle, byte[] array)
+ {
+ handle.Free ();
+ handle = GCHandle.Alloc (array, GCHandleType.Pinned);
+ return handle.AddrOfPinnedObject ();
+ }
+
+ byte [] ByteArrayForFrame(int frame, byte[] array0, byte[] array1)
+ {
+ return frame == 1 ? array1 : array0;
+ }
+
+ byte [] YByteArrayForFrame(int frame)
+ {
+ return ByteArrayForFrame (frame, m_textureYBytes, m_textureYBytes2);
+ }
+
+ byte [] UVByteArrayForFrame(int frame)
+ {
+ return ByteArrayForFrame (frame, m_textureUVBytes, m_textureUVBytes2);
+ }
+
+ void OnDestroy()
+ {
+ m_Session.SetCapturePixelData (false, IntPtr.Zero, IntPtr.Zero);
+
+ m_pinnedYArray.Free ();
+ m_pinnedUVArray.Free ();
+
+ }
+
+ public void OnPreRender()
+ {
+ ARTextureHandles handles = m_Session.GetARVideoTextureHandles();
+ if (handles.textureY == System.IntPtr.Zero || handles.textureCbCr == System.IntPtr.Zero)
+ {
+ return;
+ }
+
+ if (!bTexturesInitialized)
+ return;
+
+ currentFrameIndex = (currentFrameIndex + 1) % 2;
+
+ Resolution currentResolution = Screen.currentResolution;
+
+
+ m_Session.SetCapturePixelData (true, PinByteArray(ref m_pinnedYArray,YByteArrayForFrame(currentFrameIndex)), PinByteArray(ref m_pinnedUVArray,UVByteArrayForFrame(currentFrameIndex)));
+
+ connectToEditor.SendToEditor (ConnectionMessageIds.screenCaptureYMsgId, YByteArrayForFrame(1-currentFrameIndex));
+ connectToEditor.SendToEditor (ConnectionMessageIds.screenCaptureUVMsgId, UVByteArrayForFrame(1-currentFrameIndex));
+
+ }
+ #endif
+ }
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/ARReferenceImage.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/ARReferenceImage.cs
new file mode 100755
index 00000000..ae371f65
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/ARReferenceImage.cs
@@ -0,0 +1,13 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+[CreateAssetMenu(fileName = "ARReferenceImage" , menuName = "UnityARKitPlugin/ARReferenceImage", order = 2)]
+public class ARReferenceImage : ScriptableObject {
+
+ public string imageName;
+ public Texture2D imageTexture;
+ public float physicalSize;
+
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/ARReferenceImagesSet.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/ARReferenceImagesSet.cs
new file mode 100755
index 00000000..11a01f67
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/ARReferenceImagesSet.cs
@@ -0,0 +1,11 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+[CreateAssetMenu(fileName = "ARReferenceImagesSet" , menuName = "UnityARKitPlugin/ARReferenceImagesSet", order = 3)]
+public class ARReferenceImagesSet : ScriptableObject {
+
+ public string resourceGroupName;
+ public ARReferenceImage [] referenceImages;
+
+}
\ No newline at end of file
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/ARResourcesJSON.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/ARResourcesJSON.cs
new file mode 100755
index 00000000..b4ef6da1
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/ARResourcesJSON.cs
@@ -0,0 +1,55 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ [Serializable]
+ public class ARResourceGroupInfo
+ {
+ public int version;
+ public string author;
+ }
+
+ [Serializable]
+ public class ARResourceGroupResource
+ {
+ public string filename;
+ }
+
+ [Serializable]
+ public class ARResourceGroupContents
+ {
+ public ARResourceGroupInfo info;
+ public ARResourceGroupResource [] resources;
+ }
+
+ [Serializable]
+ public class ARResourceInfo
+ {
+ public int version;
+ public string author;
+ }
+
+ [Serializable]
+ public class ARResourceProperties
+ {
+ public float width;
+ }
+
+ [Serializable]
+ public class ARResourceImage
+ {
+ public string idiom;
+ public string filename;
+ }
+
+ [Serializable]
+ public class ARResourceContents
+ {
+ public ARResourceImage [] images;
+ public ARResourceInfo info;
+ public ARResourceProperties properties;
+ }
+}
\ No newline at end of file
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/UnityARBuildPostprocessor.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/UnityARBuildPostprocessor.cs
new file mode 100755
index 00000000..ad275c18
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Editor/UnityARBuildPostprocessor.cs
@@ -0,0 +1,233 @@
+using UnityEngine;
+using UnityEditor;
+using UnityEditor.Callbacks;
+#if UNITY_IOS
+using UnityEditor.iOS.Xcode;
+#endif
+using UnityEngine.XR.iOS;
+using System.IO;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text.RegularExpressions;
+using System;
+
+
+public class UnityARBuildPostprocessor
+{
+ static List imageSets = new List();
+ // Build postprocessor. Currently only needed on:
+ // - iOS: no dynamic libraries, so plugin source files have to be copied into Xcode project
+ [PostProcessBuild]
+ public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject)
+ {
+ if (target == BuildTarget.iOS)
+ OnPostprocessBuildIOS(pathToBuiltProject);
+ }
+
+ [PostProcessScene]
+ public static void OnPostProcessScene()
+ {
+ if (!BuildPipeline.isBuildingPlayer)
+ return;
+
+ foreach (ARReferenceImagesSet ar in UnityEngine.Resources.FindObjectsOfTypeAll())
+ {
+ if (!imageSets.Contains(ar))
+ {
+ imageSets.Add(ar);
+ }
+ }
+
+ }
+
+ private static UnityARKitPluginSettings LoadSettings()
+ {
+ UnityARKitPluginSettings loadedSettings = Resources.Load("UnityARKitPlugin/ARKitSettings");
+ if (loadedSettings == null)
+ {
+ loadedSettings = ScriptableObject.CreateInstance();
+ }
+ return loadedSettings;
+ }
+
+ // Replaces the first C++ macro with the given name in the source file. Only changes
+ // single-line macro declarations, if multi-line macro declaration is detected, the
+ // function returns without changing it. Macro name must be a valid C++ identifier.
+ internal static bool ReplaceCppMacro(string[] lines, string name, string newValue)
+ {
+ bool replaced = false;
+ Regex matchRegex = new Regex(@"^.*#\s*define\s+" + name);
+ Regex replaceRegex = new Regex(@"^.*#\s*define\s+" + name + @"(:?|\s|\s.*[^\\])$");
+ for (int i = 0; i < lines.Count(); i++)
+ {
+ if (matchRegex.Match(lines[i]).Success)
+ {
+ lines[i] = replaceRegex.Replace(lines[i], "#define " + name + " " + newValue);
+ replaced = true;
+ }
+ }
+ return replaced;
+ }
+
+ internal static void AddOrReplaceCppMacro(ref string[] lines, string name, string newValue)
+ {
+ if (ReplaceCppMacro(lines, name, newValue) == false)
+ {
+ Array.Resize(ref lines, lines.Length + 1);
+ lines[lines.Length - 1] = "#define " + name + " " + newValue;
+ }
+ }
+
+ static void UpdateDefinesInFile(string file, Dictionary valuesToUpdate)
+ {
+ string[] src = File.ReadAllLines(file);
+ var copy = (string[])src.Clone();
+
+ foreach (var kvp in valuesToUpdate)
+ AddOrReplaceCppMacro(ref copy, kvp.Key, kvp.Value ? "1" : "0");
+
+ if (!copy.SequenceEqual(src))
+ File.WriteAllLines(file, copy);
+ }
+
+#if UNITY_IOS
+ static void AddReferenceImageToResourceGroup(ARReferenceImage arri, string parentFolderFullPath, string projectRelativePath, PBXProject project)
+ {
+
+ ARResourceContents resourceContents = new ARResourceContents ();
+ resourceContents.info = new ARResourceInfo ();
+ resourceContents.info.author = "xcode";
+ resourceContents.info.version = 1;
+
+ resourceContents.images = new ARResourceImage[1];
+ resourceContents.images [0] = new ARResourceImage ();
+ resourceContents.images [0].idiom = "universal";
+
+ resourceContents.properties = new ARResourceProperties ();
+ resourceContents.properties.width = arri.physicalSize;
+
+ //add folder for reference image
+ string folderToCreate = arri.imageName + ".arreferenceimage";
+ string folderFullPath = Path.Combine (parentFolderFullPath, folderToCreate);
+ string projectRelativeFolder = Path.Combine (projectRelativePath, folderToCreate);
+ Directory.CreateDirectory (folderFullPath);
+ project.AddFolderReference (folderFullPath, projectRelativeFolder);
+
+ //copy file from texture asset
+ string imagePath = AssetDatabase.GetAssetPath(arri.imageTexture);
+ string imageFilename = Path.GetFileName (imagePath);
+ var dstPath = Path.Combine(folderFullPath, imageFilename);
+ File.Copy(imagePath, dstPath, true);
+ project.AddFile (dstPath, Path.Combine (projectRelativeFolder, imageFilename));
+ resourceContents.images [0].filename = imageFilename;
+
+ //add contents.json file
+ string contentsJsonPath = Path.Combine(folderFullPath, "Contents.json");
+ File.WriteAllText (contentsJsonPath, JsonUtility.ToJson (resourceContents, true));
+ project.AddFile (contentsJsonPath, Path.Combine (projectRelativeFolder, "Contents.json"));
+
+ }
+
+ static void AddReferenceImagesSetToAssetCatalog(ARReferenceImagesSet aris, string pathToBuiltProject, PBXProject project)
+ {
+ List processedImages = new List ();
+ ARResourceGroupContents groupContents = new ARResourceGroupContents();
+ groupContents.info = new ARResourceGroupInfo ();
+ groupContents.info.author = "xcode";
+ groupContents.info.version = 1;
+ string folderToCreate = "Unity-iPhone/Images.xcassets/" + aris.resourceGroupName + ".arresourcegroup";
+ string folderFullPath = Path.Combine (pathToBuiltProject, folderToCreate);
+ Directory.CreateDirectory (folderFullPath);
+ project.AddFolderReference (folderFullPath, folderToCreate);
+ foreach (ARReferenceImage arri in aris.referenceImages) {
+ if (!processedImages.Contains (arri)) {
+ processedImages.Add (arri); //get rid of dupes
+ AddReferenceImageToResourceGroup(arri, folderFullPath, folderToCreate, project);
+ }
+ }
+
+ groupContents.resources = new ARResourceGroupResource[processedImages.Count];
+ int index = 0;
+ foreach (ARReferenceImage arri in processedImages) {
+ groupContents.resources [index] = new ARResourceGroupResource ();
+ groupContents.resources [index].filename = arri.imageName + ".arreferenceimage";
+ index++;
+ }
+ string contentsJsonPath = Path.Combine(folderFullPath, "Contents.json");
+ File.WriteAllText (contentsJsonPath, JsonUtility.ToJson (groupContents, true));
+ project.AddFile (contentsJsonPath, Path.Combine (folderToCreate, "Contents.json"));
+ }
+#endif //UNITY_IOS
+
+ private static void OnPostprocessBuildIOS(string pathToBuiltProject)
+ {
+ // We use UnityEditor.iOS.Xcode API which only exists in iOS editor module
+#if UNITY_IOS
+ string projPath = pathToBuiltProject + "/Unity-iPhone.xcodeproj/project.pbxproj";
+
+ UnityEditor.iOS.Xcode.PBXProject proj = new UnityEditor.iOS.Xcode.PBXProject();
+ proj.ReadFromString(File.ReadAllText(projPath));
+ proj.AddFrameworkToProject(proj.TargetGuidByName("Unity-iPhone"), "ARKit.framework", false);
+ string target = proj.TargetGuidByName("Unity-iPhone");
+ Directory.CreateDirectory(Path.Combine(pathToBuiltProject, "Libraries/Unity"));
+
+ // Check UnityARKitPluginSettings
+ UnityARKitPluginSettings ps = LoadSettings();
+ string plistPath = Path.Combine(pathToBuiltProject, "Info.plist");
+ PlistDocument plist = new PlistDocument();
+ plist.ReadFromString(File.ReadAllText(plistPath));
+ PlistElementDict rootDict = plist.root;
+
+ // Get or create array to manage device capabilities
+ const string capsKey = "UIRequiredDeviceCapabilities";
+ PlistElementArray capsArray;
+ PlistElement pel;
+ if (rootDict.values.TryGetValue(capsKey, out pel)) {
+ capsArray = pel.AsArray();
+ }
+ else {
+ capsArray = rootDict.CreateArray(capsKey);
+ }
+ // Remove any existing "arkit" plist entries
+ const string arkitStr = "arkit";
+ capsArray.values.RemoveAll(x => arkitStr.Equals(x.AsString()));
+ if (ps.AppRequiresARKit) {
+ // Add "arkit" plist entry
+ capsArray.AddString(arkitStr);
+ }
+ File.WriteAllText(plistPath, plist.WriteToString());
+
+ foreach(ARReferenceImagesSet ar in imageSets)
+ {
+ AddReferenceImagesSetToAssetCatalog(ar, pathToBuiltProject, proj);
+ }
+
+ //TODO: remove this when XCode actool is able to handles ARResources despite deployment target
+ if (imageSets.Count > 0)
+ {
+ proj.SetBuildProperty(target, "IPHONEOS_DEPLOYMENT_TARGET", "11.3");
+ }
+
+ // Add or replace define for facetracking
+ UpdateDefinesInFile(pathToBuiltProject + "/Classes/Preprocessor.h", new Dictionary() {
+ { "ARKIT_USES_FACETRACKING", ps.m_ARKitUsesFacetracking }
+ });
+
+ string[] filesToCopy = new string[]
+ {
+
+ };
+
+ for(int i = 0 ; i < filesToCopy.Length ; ++i)
+ {
+ var srcPath = Path.Combine("../PluginSource/source", filesToCopy[i]);
+ var dstLocalPath = "Libraries/" + filesToCopy[i];
+ var dstPath = Path.Combine(pathToBuiltProject, dstLocalPath);
+ File.Copy(srcPath, dstPath, true);
+ proj.AddFileToBuild(target, proj.AddFile(dstLocalPath, dstLocalPath));
+ }
+
+ File.WriteAllText(projPath, proj.WriteToString());
+#endif // #if UNITY_IOS
+ }
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/AR3DOFCameraManager.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/AR3DOFCameraManager.cs
new file mode 100755
index 00000000..9c93caf1
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/AR3DOFCameraManager.cs
@@ -0,0 +1,74 @@
+
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+public class AR3DOFCameraManager : MonoBehaviour {
+
+ public Camera m_camera;
+ private UnityARSessionNativeInterface m_session;
+ private Material savedClearMaterial;
+
+ // Use this for initialization
+ void Start () {
+#if !UNITY_EDITOR
+ Application.targetFrameRate = 60;
+ m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface();
+ ARKitSessionConfiguration config = new ARKitSessionConfiguration();
+ config.alignment = UnityARAlignment.UnityARAlignmentGravity;
+ config.getPointCloudData = true;
+ config.enableLightEstimation = true;
+ m_session.RunWithConfig(config);
+
+ if (m_camera == null) {
+ m_camera = Camera.main;
+ }
+#endif
+ }
+
+ public void SetCamera(Camera newCamera)
+ {
+ if (m_camera != null) {
+ UnityARVideo oldARVideo = m_camera.gameObject.GetComponent ();
+ if (oldARVideo != null) {
+ savedClearMaterial = oldARVideo.m_ClearMaterial;
+ Destroy (oldARVideo);
+ }
+ }
+ SetupNewCamera (newCamera);
+ }
+
+ private void SetupNewCamera(Camera newCamera)
+ {
+ m_camera = newCamera;
+
+ if (m_camera != null) {
+ UnityARVideo unityARVideo = m_camera.gameObject.GetComponent ();
+ if (unityARVideo != null) {
+ savedClearMaterial = unityARVideo.m_ClearMaterial;
+ Destroy (unityARVideo);
+ }
+ unityARVideo = m_camera.gameObject.AddComponent ();
+ unityARVideo.m_ClearMaterial = savedClearMaterial;
+ }
+ }
+
+ // Update is called once per frame
+
+#if !UNITY_EDITOR
+ void Update () {
+
+ if (m_camera != null)
+ {
+ // JUST WORKS!
+ Matrix4x4 matrix = m_session.GetCameraPose();
+ m_camera.transform.localPosition = UnityARMatrixOps.GetPosition(matrix);
+ m_camera.transform.localRotation = UnityARMatrixOps.GetRotation (matrix);
+ m_camera.projectionMatrix = m_session.GetCameraProjection ();
+ }
+
+ }
+#endif
+
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/ARPlaneAnchorGameObject.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/ARPlaneAnchorGameObject.cs
new file mode 100755
index 00000000..3aee8d60
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/ARPlaneAnchorGameObject.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public class ARPlaneAnchorGameObject
+ {
+ public GameObject gameObject;
+ public ARPlaneAnchor planeAnchor;
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/DontDestroyOnLoad.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/DontDestroyOnLoad.cs
new file mode 100755
index 00000000..40741387
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/DontDestroyOnLoad.cs
@@ -0,0 +1,16 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class DontDestroyOnLoad : MonoBehaviour {
+
+ // Use this for initialization
+ void Start () {
+ DontDestroyOnLoad (gameObject);
+ }
+
+ // Update is called once per frame
+ void Update () {
+
+ }
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/LinkedListDictionary.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/LinkedListDictionary.cs
new file mode 100755
index 00000000..1d394261
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/LinkedListDictionary.cs
@@ -0,0 +1,114 @@
+using System.Collections;
+using System.Collections.Generic;
+
+namespace Collections.Hybrid.Generic
+{
+ ///
+ /// LinkedList/Dictionary combo for constant time add/remove/contains. Memory usage is higher as expected.
+ /// -kazoo
+ ///
+ /// key value type. It is recomended that this be "int", for speed purposes.
+ /// The value type. Can be anything you like.
+ public class LinkedListDictionary
+ {
+ private readonly Dictionary dictionary = new Dictionary();
+ private readonly LinkedList list = new LinkedList();
+
+ ///
+ /// Get The count.
+ ///
+ ///
+ public int Count
+ {
+ get { return list.Count; }
+ }
+
+ ///
+ /// Is the key in the dictionary?
+ ///
+ /// key
+ /// true if key is present, false otherwise.
+ public bool ContainsKey(TK k)
+ {
+ return dictionary.ContainsKey(k);
+ }
+
+ ///
+ /// Remove a key/value from the dictionary if present.
+ ///
+ /// key
+ /// True if removal worked. False if removal is not possible.
+ public bool Remove(TK k)
+ {
+ if (!ContainsKey(k))
+ {
+ return false;
+ }
+
+ LLEntry entry = dictionary[k];
+ list.Remove(entry.vNode);
+ return dictionary.Remove(k);
+ }
+
+ ///
+ /// Add an item. Replacement is allowed.
+ ///
+ /// key
+ /// value
+ public void Add(TK k, TV v)
+ {
+ Remove(k);
+ dictionary[k] = new LLEntry(v, list.AddLast(v));
+ }
+
+ ///
+ /// Retrieve an element by key.
+ ///
+ /// key
+ /// Value. If element is not present, default(V) will be returned.
+ public TV GetValue(TK k)
+ {
+ if (ContainsKey(k))
+ {
+ return dictionary[k].v;
+ }
+ return default(TV);
+ }
+
+ public TV this[TK k]
+ {
+ get { return GetValue(k); }
+ set { Add(k, value); }
+ }
+
+ ///
+ /// Raw list of Values for garbage-free iteration. Do not modify.
+ ///
+ /// The values
+ public LinkedList Values
+ {
+ get
+ {
+ return list;
+ }
+ }
+
+ public void Clear()
+ {
+ dictionary.Clear();
+ list.Clear();
+ }
+
+ private struct LLEntry
+ {
+ public readonly TV v;
+ public readonly LinkedListNode vNode;
+
+ public LLEntry(TV v, LinkedListNode vNode)
+ {
+ this.v = v;
+ this.vNode = vNode;
+ }
+ }
+ }
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/PointCloudParticleExample.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/PointCloudParticleExample.cs
new file mode 100755
index 00000000..8213bbbe
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/PointCloudParticleExample.cs
@@ -0,0 +1,51 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+public class PointCloudParticleExample : MonoBehaviour {
+ public ParticleSystem pointCloudParticlePrefab;
+ public int maxPointsToShow;
+ public float particleSize = 1.0f;
+ private Vector3[] m_PointCloudData;
+ private bool frameUpdated = false;
+ private ParticleSystem currentPS;
+ private ParticleSystem.Particle [] particles;
+
+ // Use this for initialization
+ void Start () {
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent += ARFrameUpdated;
+ currentPS = Instantiate (pointCloudParticlePrefab);
+ frameUpdated = false;
+ }
+
+ public void ARFrameUpdated(UnityARCamera camera)
+ {
+ m_PointCloudData = camera.pointCloudData;
+ frameUpdated = true;
+ }
+
+ // Update is called once per frame
+ void Update () {
+ if (frameUpdated) {
+ if (m_PointCloudData != null && m_PointCloudData.Length > 0 && maxPointsToShow > 0) {
+ int numParticles = Mathf.Min (m_PointCloudData.Length, maxPointsToShow);
+ ParticleSystem.Particle[] particles = new ParticleSystem.Particle[numParticles];
+ int index = 0;
+ foreach (Vector3 currentPoint in m_PointCloudData) {
+ particles [index].position = currentPoint;
+ particles [index].startColor = new Color (1.0f, 1.0f, 1.0f);
+ particles [index].startSize = particleSize;
+ index++;
+ if (index >= numParticles) break;
+ }
+ currentPS.SetParticles (particles, numParticles);
+ } else {
+ ParticleSystem.Particle[] particles = new ParticleSystem.Particle[1];
+ particles [0].startSize = 0.0f;
+ currentPS.SetParticles (particles, 1);
+ }
+ frameUpdated = false;
+ }
+ }
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAmbient.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAmbient.cs
new file mode 100755
index 00000000..c2419e73
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARAmbient.cs
@@ -0,0 +1,36 @@
+using System.Runtime.InteropServices;
+using UnityEngine.XR.iOS;
+
+namespace UnityEngine.XR.iOS
+{
+ public class UnityARAmbient : MonoBehaviour
+ {
+
+ private Light l;
+
+ public void Start()
+ {
+ l = GetComponent();
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent += UpdateLightEstimation;
+ }
+
+ void UpdateLightEstimation(UnityARCamera camera)
+ {
+ if (camera.lightData.arLightingType == LightDataType.LightEstimate) {
+ // Convert ARKit intensity to Unity intensity
+ // ARKit ambient intensity ranges 0-2000
+ // Unity ambient intensity ranges 0-8 (for over-bright lights)
+ float newai = camera.lightData.arLightEstimate.ambientIntensity;
+ l.intensity = newai / 1000.0f;
+
+ //Unity Light has functionality to filter the light color to correct temperature
+ //https://docs.unity3d.com/ScriptReference/Light-colorTemperature.html
+ l.colorTemperature = camera.lightData.arLightEstimate.ambientColorTemperature;
+ }
+ }
+
+ void OnDestroy() {
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent -= UpdateLightEstimation;
+ }
+ }
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraManager.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraManager.cs
new file mode 100755
index 00000000..96bbd3cf
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraManager.cs
@@ -0,0 +1,96 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+public class UnityARCameraManager : MonoBehaviour {
+
+ public Camera m_camera;
+ private UnityARSessionNativeInterface m_session;
+ private Material savedClearMaterial;
+
+ [Header("AR Config Options")]
+ public UnityARAlignment startAlignment = UnityARAlignment.UnityARAlignmentGravity;
+ public UnityARPlaneDetection planeDetection = UnityARPlaneDetection.Horizontal;
+ public ARReferenceImagesSet detectionImages = null;
+ public bool getPointCloud = true;
+ public bool enableLightEstimation = true;
+ public bool enableAutoFocus = true;
+ private bool sessionStarted = false;
+
+ // Use this for initialization
+ void Start () {
+
+ m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface();
+
+ Application.targetFrameRate = 60;
+ ARKitWorldTrackingSessionConfiguration config = new ARKitWorldTrackingSessionConfiguration();
+ config.planeDetection = planeDetection;
+ config.alignment = startAlignment;
+ config.getPointCloudData = getPointCloud;
+ config.enableLightEstimation = enableLightEstimation;
+ config.enableAutoFocus = enableAutoFocus;
+ if (detectionImages != null) {
+ config.arResourceGroupName = detectionImages.resourceGroupName;
+ }
+
+ if (config.IsSupported) {
+ m_session.RunWithConfig (config);
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent += FirstFrameUpdate;
+ }
+
+ if (m_camera == null) {
+ m_camera = Camera.main;
+ }
+ }
+
+ void FirstFrameUpdate(UnityARCamera cam)
+ {
+ sessionStarted = true;
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent -= FirstFrameUpdate;
+ }
+
+ public void SetCamera(Camera newCamera)
+ {
+ if (m_camera != null) {
+ UnityARVideo oldARVideo = m_camera.gameObject.GetComponent ();
+ if (oldARVideo != null) {
+ savedClearMaterial = oldARVideo.m_ClearMaterial;
+ Destroy (oldARVideo);
+ }
+ }
+ SetupNewCamera (newCamera);
+ }
+
+ private void SetupNewCamera(Camera newCamera)
+ {
+ m_camera = newCamera;
+
+ if (m_camera != null) {
+ UnityARVideo unityARVideo = m_camera.gameObject.GetComponent ();
+ if (unityARVideo != null) {
+ savedClearMaterial = unityARVideo.m_ClearMaterial;
+ Destroy (unityARVideo);
+ }
+ unityARVideo = m_camera.gameObject.AddComponent ();
+ unityARVideo.m_ClearMaterial = savedClearMaterial;
+ }
+ }
+
+ // Update is called once per frame
+
+ void Update () {
+
+ if (m_camera != null && sessionStarted)
+ {
+ // JUST WORKS!
+ Matrix4x4 matrix = m_session.GetCameraPose();
+ m_camera.transform.localPosition = UnityARMatrixOps.GetPosition(matrix);
+ m_camera.transform.localRotation = UnityARMatrixOps.GetRotation (matrix);
+
+ m_camera.projectionMatrix = m_session.GetCameraProjection ();
+ }
+
+ }
+
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraNearFar.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraNearFar.cs
new file mode 100755
index 00000000..7a3fa155
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARCameraNearFar.cs
@@ -0,0 +1,32 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+[RequireComponent(typeof(Camera))]
+public class UnityARCameraNearFar : MonoBehaviour {
+
+ private Camera attachedCamera;
+ private float currentNearZ;
+ private float currentFarZ;
+
+ // Use this for initialization
+ void Start () {
+ attachedCamera = GetComponent ();
+ UpdateCameraClipPlanes ();
+ }
+
+ void UpdateCameraClipPlanes()
+ {
+ currentNearZ = attachedCamera.nearClipPlane;
+ currentFarZ = attachedCamera.farClipPlane;
+ UnityARSessionNativeInterface.GetARSessionNativeInterface ().SetCameraClipPlanes (currentNearZ, currentFarZ);
+ }
+
+ // Update is called once per frame
+ void Update () {
+ if (currentNearZ != attachedCamera.nearClipPlane || currentFarZ != attachedCamera.farClipPlane) {
+ UpdateCameraClipPlanes ();
+ }
+ }
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARHitTestExample.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARHitTestExample.cs
new file mode 100755
index 00000000..563b2528
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARHitTestExample.cs
@@ -0,0 +1,84 @@
+using System;
+using System.Collections.Generic;
+
+namespace UnityEngine.XR.iOS
+{
+ public class UnityARHitTestExample : MonoBehaviour
+ {
+ public Transform m_HitTransform;
+ public float maxRayDistance = 30.0f;
+ public LayerMask collisionLayer = 1 << 10; //ARKitPlane layer
+
+ bool HitTestWithResultType (ARPoint point, ARHitTestResultType resultTypes)
+ {
+ List hitResults = UnityARSessionNativeInterface.GetARSessionNativeInterface ().HitTest (point, resultTypes);
+ if (hitResults.Count > 0) {
+ foreach (var hitResult in hitResults) {
+ Debug.Log ("Got hit!");
+ m_HitTransform.position = UnityARMatrixOps.GetPosition (hitResult.worldTransform);
+ m_HitTransform.rotation = UnityARMatrixOps.GetRotation (hitResult.worldTransform);
+ Debug.Log (string.Format ("x:{0:0.######} y:{1:0.######} z:{2:0.######}", m_HitTransform.position.x, m_HitTransform.position.y, m_HitTransform.position.z));
+ return true;
+ }
+ }
+ return false;
+ }
+
+ // Update is called once per frame
+ void Update () {
+ #if UNITY_EDITOR //we will only use this script on the editor side, though there is nothing that would prevent it from working on device
+ if (Input.GetMouseButtonDown (0)) {
+ Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
+ RaycastHit hit;
+
+ //we'll try to hit one of the plane collider gameobjects that were generated by the plugin
+ //effectively similar to calling HitTest with ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent
+ if (Physics.Raycast (ray, out hit, maxRayDistance, collisionLayer)) {
+ //we're going to get the position from the contact point
+ m_HitTransform.position = hit.point;
+ Debug.Log (string.Format ("x:{0:0.######} y:{1:0.######} z:{2:0.######}", m_HitTransform.position.x, m_HitTransform.position.y, m_HitTransform.position.z));
+
+ //and the rotation from the transform of the plane collider
+ m_HitTransform.rotation = hit.transform.rotation;
+ }
+ }
+ #else
+ if (Input.touchCount > 0 && m_HitTransform != null)
+ {
+ var touch = Input.GetTouch(0);
+ if (touch.phase == TouchPhase.Began || touch.phase == TouchPhase.Moved)
+ {
+ var screenPosition = Camera.main.ScreenToViewportPoint(touch.position);
+ ARPoint point = new ARPoint {
+ x = screenPosition.x,
+ y = screenPosition.y
+ };
+
+ // prioritize reults types
+ ARHitTestResultType[] resultTypes = {
+ //ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingGeometry,
+ ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent,
+ // if you want to use infinite planes use this:
+ //ARHitTestResultType.ARHitTestResultTypeExistingPlane,
+ //ARHitTestResultType.ARHitTestResultTypeEstimatedHorizontalPlane,
+ //ARHitTestResultType.ARHitTestResultTypeEstimatedVerticalPlane,
+ //ARHitTestResultType.ARHitTestResultTypeFeaturePoint
+ };
+
+ foreach (ARHitTestResultType resultType in resultTypes)
+ {
+ if (HitTestWithResultType (point, resultType))
+ {
+ return;
+ }
+ }
+ }
+ }
+ #endif
+
+ }
+
+
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitControl.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitControl.cs
new file mode 100755
index 00000000..6a565cdd
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitControl.cs
@@ -0,0 +1,72 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace UnityEngine.XR.iOS
+{
+ public class UnityARKitControl : MonoBehaviour {
+
+ UnityARSessionRunOption [] runOptions = new UnityARSessionRunOption[4];
+ UnityARAlignment [] alignmentOptions = new UnityARAlignment[3];
+ UnityARPlaneDetection [] planeOptions = new UnityARPlaneDetection[4];
+
+ int currentOptionIndex = 0;
+ int currentAlignmentIndex = 0;
+ int currentPlaneIndex = 0;
+
+ // Use this for initialization
+ void Start () {
+ runOptions [0] = UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors | UnityARSessionRunOption.ARSessionRunOptionResetTracking;
+ runOptions [1] = UnityARSessionRunOption.ARSessionRunOptionResetTracking;
+ runOptions [2] = UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors;
+ runOptions [3] = 0;
+
+ alignmentOptions [0] = UnityARAlignment.UnityARAlignmentCamera;
+ alignmentOptions [1] = UnityARAlignment.UnityARAlignmentGravity;
+ alignmentOptions [2] = UnityARAlignment.UnityARAlignmentGravityAndHeading;
+
+ planeOptions [0] = UnityARPlaneDetection.Horizontal;
+ planeOptions [1] = UnityARPlaneDetection.None;
+
+ }
+
+ // Update is called once per frame
+ void Update () {
+
+ }
+
+ void OnGUI()
+ {
+ if (GUI.Button (new Rect (100, 100, 200, 50), "Stop")) {
+ UnityARSessionNativeInterface.GetARSessionNativeInterface ().Pause ();
+ }
+
+ if (GUI.Button (new Rect (300, 100, 200, 50), "Start")) {
+ ARKitWorldTrackingSessionConfiguration sessionConfig = new ARKitWorldTrackingSessionConfiguration (alignmentOptions [currentAlignmentIndex], planeOptions[currentPlaneIndex]);
+ UnityARSessionNativeInterface.GetARSessionNativeInterface ().RunWithConfigAndOptions (sessionConfig, runOptions[currentOptionIndex]);
+ }
+
+
+ if (GUI.Button (new Rect (100, 300, 200, 100), "Start Non-WT Session")) {
+ ARKitSessionConfiguration sessionConfig = new ARKitSessionConfiguration (alignmentOptions [currentAlignmentIndex], true, true);
+ UnityARSessionNativeInterface.GetARSessionNativeInterface ().RunWithConfig (sessionConfig);
+ }
+
+
+ string runOptionStr = (currentOptionIndex == 0 ? "Full" : (currentOptionIndex == 1 ? "Tracking" : (currentOptionIndex == 2 ? "Anchors" : "None")));
+ if (GUI.Button (new Rect (100, 200, 150, 50), "RunOption:" + runOptionStr)) {
+ currentOptionIndex = (currentOptionIndex + 1) % 4;
+ }
+
+ string alignmentOptionStr = (currentAlignmentIndex == 0 ? "Camera" : (currentAlignmentIndex == 1 ? "Gravity" : "GravityAndHeading"));
+ if (GUI.Button (new Rect (300, 200, 150, 50), "AlignOption:" + alignmentOptionStr)) {
+ currentAlignmentIndex = (currentAlignmentIndex + 1) % 3;
+ }
+
+ string planeOptionStr = currentPlaneIndex == 0 ? "Horizontal": "None";
+ if (GUI.Button (new Rect (500, 200, 150, 50), "PlaneOption:" + planeOptionStr)) {
+ currentPlaneIndex = (currentPlaneIndex + 1) % 2;
+ }
+ }
+ }
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitLightManager.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitLightManager.cs
new file mode 100755
index 00000000..efc4111d
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARKitLightManager.cs
@@ -0,0 +1,94 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+using UnityEngine.Rendering;
+
+public class UnityARKitLightManager : MonoBehaviour {
+
+ Light [] lightsInScene;
+ SphericalHarmonicsL2 shl;
+
+ // Use this for initialization
+ void Start () {
+ //find all the lights in the scene
+ lightsInScene = FindAllLights();
+ shl = new SphericalHarmonicsL2 ();
+
+ //subscribe to event informing us of light changes from AR
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent += UpdateLightEstimations;
+
+ }
+
+ void OnDestroy()
+ {
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent -= UpdateLightEstimations;
+ }
+
+
+ Light [] FindAllLights()
+ {
+ return FindObjectsOfType ();
+ }
+
+
+
+ void UpdateLightEstimations(UnityARCamera camera)
+ {
+ if (camera.lightData.arLightingType == LightDataType.LightEstimate) {
+ UpdateBasicLightEstimation (camera.lightData.arLightEstimate);
+ }
+ else if (camera.lightData.arLightingType == LightDataType.DirectionalLightEstimate)
+ {
+ UpdateDirectionalLightEstimation (camera.lightData.arDirectonalLightEstimate);
+ }
+ }
+
+ void UpdateBasicLightEstimation(UnityARLightEstimate uarle)
+ {
+ foreach (Light l in lightsInScene)
+ {
+ //fix ambient light
+ // Convert ARKit intensity to Unity intensity
+ // ARKit ambient intensity ranges 0-2000
+ // Unity ambient intensity ranges 0-8 (for over-bright lights)
+ float newai = uarle.ambientIntensity;
+ l.intensity = newai / 1000.0f;
+
+ //Unity Light has functionality to filter the light color to correct temperature
+ //https://docs.unity3d.com/ScriptReference/Light-colorTemperature.html
+ l.colorTemperature = uarle.ambientColorTemperature;
+ }
+
+
+
+ }
+
+ void UpdateDirectionalLightEstimation(UnityARDirectionalLightEstimate uardle)
+ {
+ for (int colorChannel = 0; colorChannel < 3; colorChannel++) {
+ for (int index = 0; index < 9; index++) {
+ shl [colorChannel, index] = uardle.sphericalHarmonicsCoefficients [(colorChannel * 9) + index];
+ }
+ }
+
+ if (LightmapSettings.lightProbes != null) {
+ int probeCount = LightmapSettings.lightProbes.count;
+
+ //we have at least one light probe in the scene
+ if (probeCount > 0) {
+
+ //Replace all the baked probes in the scene with our generated Spherical Harmonics
+ SphericalHarmonicsL2[] bakedProbes = LightmapSettings.lightProbes.bakedProbes;
+
+ for (int i = 0; i < probeCount; i++) {
+ bakedProbes [i] = shl;
+ }
+ }
+ }
+
+ //for objects unaffected by any lightprobes, set up ambient probe
+ RenderSettings.ambientProbe = shl;
+ RenderSettings.ambientMode = AmbientMode.Custom;
+ }
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARMatrixOps.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARMatrixOps.cs
new file mode 100755
index 00000000..1230b08c
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARMatrixOps.cs
@@ -0,0 +1,56 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public class UnityARMatrixOps
+ {
+
+ public static Matrix4x4 UnityToARKitCoordChange(Vector3 position, Quaternion rotation)
+ {
+ Matrix4x4 result = new Matrix4x4 ();
+ //do the conversions back to ARKit space
+ result.SetTRS (new Vector3 (position.x, position.y, -position.z),
+ new Quaternion (rotation.x, rotation.y, -rotation.z, -rotation.w),
+ Vector3.one);
+ return result;
+
+ }
+
+ public static Vector3 GetPosition(Matrix4x4 matrix)
+ {
+ // Convert from ARKit's right-handed coordinate
+ // system to Unity's left-handed
+ Vector3 position = matrix.GetColumn(3);
+ position.z = -position.z;
+
+ return position;
+ }
+
+ public static Quaternion GetRotation(Matrix4x4 matrix)
+ {
+ // Convert from ARKit's right-handed coordinate
+ // system to Unity's left-handed
+ Quaternion rotation = QuaternionFromMatrix(matrix);
+ rotation.z = -rotation.z;
+ rotation.w = -rotation.w;
+
+ return rotation;
+ }
+
+
+ static Quaternion QuaternionFromMatrix(Matrix4x4 m) {
+ // Adapted from: http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm
+ Quaternion q = new Quaternion();
+ q.w = Mathf.Sqrt( Mathf.Max( 0, 1 + m[0,0] + m[1,1] + m[2,2] ) ) / 2;
+ q.x = Mathf.Sqrt( Mathf.Max( 0, 1 + m[0,0] - m[1,1] - m[2,2] ) ) / 2;
+ q.y = Mathf.Sqrt( Mathf.Max( 0, 1 - m[0,0] + m[1,1] - m[2,2] ) ) / 2;
+ q.z = Mathf.Sqrt( Mathf.Max( 0, 1 - m[0,0] - m[1,1] + m[2,2] ) ) / 2;
+ q.x *= Mathf.Sign( q.x * ( m[2,1] - m[1,2] ) );
+ q.y *= Mathf.Sign( q.y * ( m[0,2] - m[2,0] ) );
+ q.z *= Mathf.Sign( q.z * ( m[1,0] - m[0,1] ) );
+ return q;
+ }
+
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUserAnchorComponent.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUserAnchorComponent.cs
new file mode 100755
index 00000000..c1b3695c
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARUserAnchorComponent.cs
@@ -0,0 +1,44 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+
+namespace UnityEngine.XR.iOS
+{
+public class UnityARUserAnchorComponent : MonoBehaviour {
+
+ private string m_AnchorId;
+
+ public string AnchorId { get { return m_AnchorId; } }
+
+ void Awake()
+ {
+ UnityARSessionNativeInterface.ARUserAnchorUpdatedEvent += GameObjectAnchorUpdated;
+ UnityARSessionNativeInterface.ARUserAnchorRemovedEvent += AnchorRemoved;
+ this.m_AnchorId = UnityARSessionNativeInterface.GetARSessionNativeInterface ().AddUserAnchorFromGameObject(this.gameObject).identifierStr;
+ }
+ void Start () {
+
+ }
+
+ public void AnchorRemoved(ARUserAnchor anchor)
+ {
+ if (anchor.identifier.Equals(m_AnchorId))
+ {
+ Destroy(this.gameObject);
+ }
+ }
+
+ void OnDestroy() {
+ UnityARSessionNativeInterface.ARUserAnchorUpdatedEvent -= GameObjectAnchorUpdated;
+ UnityARSessionNativeInterface.ARUserAnchorRemovedEvent -= AnchorRemoved;
+ UnityARSessionNativeInterface.GetARSessionNativeInterface ().RemoveUserAnchor(this.m_AnchorId);
+ }
+
+ private void GameObjectAnchorUpdated(ARUserAnchor anchor)
+ {
+
+ }
+}
+}
\ No newline at end of file
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARVideo.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARVideo.cs
new file mode 100755
index 00000000..0b84ee6d
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityARVideo.cs
@@ -0,0 +1,117 @@
+using System;
+using System.Runtime.InteropServices;
+using UnityEngine;
+using UnityEngine.Rendering;
+
+namespace UnityEngine.XR.iOS
+{
+
+ public class UnityARVideo : MonoBehaviour
+ {
+ public Material m_ClearMaterial;
+
+ private CommandBuffer m_VideoCommandBuffer;
+ private Texture2D _videoTextureY;
+ private Texture2D _videoTextureCbCr;
+ private Matrix4x4 _displayTransform;
+
+ private bool bCommandBufferInitialized;
+
+ public void Start()
+ {
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent += UpdateFrame;
+ bCommandBufferInitialized = false;
+ }
+
+ void UpdateFrame(UnityARCamera cam)
+ {
+ _displayTransform = new Matrix4x4();
+ _displayTransform.SetColumn(0, cam.displayTransform.column0);
+ _displayTransform.SetColumn(1, cam.displayTransform.column1);
+ _displayTransform.SetColumn(2, cam.displayTransform.column2);
+ _displayTransform.SetColumn(3, cam.displayTransform.column3);
+ }
+
+ void InitializeCommandBuffer()
+ {
+ m_VideoCommandBuffer = new CommandBuffer();
+ m_VideoCommandBuffer.Blit(null, BuiltinRenderTextureType.CurrentActive, m_ClearMaterial);
+ GetComponent().AddCommandBuffer(CameraEvent.BeforeForwardOpaque, m_VideoCommandBuffer);
+ bCommandBufferInitialized = true;
+
+ }
+
+ void OnDestroy()
+ {
+ GetComponent().RemoveCommandBuffer(CameraEvent.BeforeForwardOpaque, m_VideoCommandBuffer);
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent -= UpdateFrame;
+ bCommandBufferInitialized = false;
+ }
+
+#if !UNITY_EDITOR && UNITY_IOS
+
+ public void OnPreRender()
+ {
+ ARTextureHandles handles = UnityARSessionNativeInterface.GetARSessionNativeInterface ().GetARVideoTextureHandles();
+ if (handles.textureY == System.IntPtr.Zero || handles.textureCbCr == System.IntPtr.Zero)
+ {
+ return;
+ }
+
+ if (!bCommandBufferInitialized) {
+ InitializeCommandBuffer ();
+ }
+
+ Resolution currentResolution = Screen.currentResolution;
+
+ // Texture Y
+ if (_videoTextureY == null) {
+ _videoTextureY = Texture2D.CreateExternalTexture(currentResolution.width, currentResolution.height,
+ TextureFormat.R8, false, false, (System.IntPtr)handles.textureY);
+ _videoTextureY.filterMode = FilterMode.Bilinear;
+ _videoTextureY.wrapMode = TextureWrapMode.Repeat;
+ m_ClearMaterial.SetTexture("_textureY", _videoTextureY);
+ }
+
+ // Texture CbCr
+ if (_videoTextureCbCr == null) {
+ _videoTextureCbCr = Texture2D.CreateExternalTexture(currentResolution.width, currentResolution.height,
+ TextureFormat.RG16, false, false, (System.IntPtr)handles.textureCbCr);
+ _videoTextureCbCr.filterMode = FilterMode.Bilinear;
+ _videoTextureCbCr.wrapMode = TextureWrapMode.Repeat;
+ m_ClearMaterial.SetTexture("_textureCbCr", _videoTextureCbCr);
+ }
+
+ _videoTextureY.UpdateExternalTexture(handles.textureY);
+ _videoTextureCbCr.UpdateExternalTexture(handles.textureCbCr);
+
+ m_ClearMaterial.SetMatrix("_DisplayTransform", _displayTransform);
+ }
+#else
+
+ public void SetYTexure(Texture2D YTex)
+ {
+ _videoTextureY = YTex;
+ }
+
+ public void SetUVTexure(Texture2D UVTex)
+ {
+ _videoTextureCbCr = UVTex;
+ }
+
+ public void OnPreRender()
+ {
+
+ if (!bCommandBufferInitialized) {
+ InitializeCommandBuffer ();
+ }
+
+ m_ClearMaterial.SetTexture("_textureY", _videoTextureY);
+ m_ClearMaterial.SetTexture("_textureCbCr", _videoTextureCbCr);
+
+ m_ClearMaterial.SetMatrix("_DisplayTransform", _displayTransform);
+ }
+
+#endif
+ }
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityPointCloudExample.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityPointCloudExample.cs
new file mode 100755
index 00000000..07243f02
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Helpers/UnityPointCloudExample.cs
@@ -0,0 +1,45 @@
+using System;
+using UnityEngine;
+using UnityEngine.XR.iOS;
+using System.Collections;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+
+public class UnityPointCloudExample : MonoBehaviour
+{
+ public uint numPointsToShow = 100;
+ public GameObject PointCloudPrefab = null;
+ private List pointCloudObjects;
+ private Vector3[] m_PointCloudData;
+
+ public void Start()
+ {
+ UnityARSessionNativeInterface.ARFrameUpdatedEvent += ARFrameUpdated;
+ if (PointCloudPrefab != null)
+ {
+ pointCloudObjects = new List ();
+ for (int i =0; i < numPointsToShow; i++)
+ {
+ pointCloudObjects.Add (Instantiate (PointCloudPrefab));
+ }
+ }
+ }
+
+ public void ARFrameUpdated(UnityARCamera camera)
+ {
+ m_PointCloudData = camera.pointCloudData;
+ }
+
+ public void Update()
+ {
+ if (PointCloudPrefab != null && m_PointCloudData != null)
+ {
+ for (int count = 0; count < Math.Min (m_PointCloudData.Length, numPointsToShow); count++)
+ {
+ Vector4 vert = m_PointCloudData [count];
+ GameObject point = pointCloudObjects [count];
+ point.transform.position = new Vector3(vert.x, vert.y, vert.z);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterial.mat b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterial.mat
new file mode 100755
index 00000000..964adb8e
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterial.mat
@@ -0,0 +1,90 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: YUVMaterial
+ m_Shader: {fileID: 4800000, guid: ef7b8eec959eb4f1e9fa97bc86273848, type: 3}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _textureCbCr:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _textureCrCb:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _textureY:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ - _isPortrait: 0
+ - _texCoordScale: 1
+ m_Colors:
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterialLinear.mat b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterialLinear.mat
new file mode 100755
index 00000000..b890a268
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Materials/YUVMaterialLinear.mat
@@ -0,0 +1,90 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_Name: YUVMaterialLinear
+ m_Shader: {fileID: 4800000, guid: 57c2c07a0719d4fafab7a4f8a84d1767, type: 3}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _textureCbCr:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 2, y: 2}
+ m_Offset: {x: -1, y: -1}
+ - _textureCrCb:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _textureY:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 2, y: 2}
+ m_Offset: {x: -1, y: -1}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ - _isPortrait: 0
+ - _texCoordScale: 1
+ m_Colors:
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARAnchor.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARAnchor.cs
new file mode 100755
index 00000000..590794e6
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARAnchor.cs
@@ -0,0 +1,15 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public struct ARAnchor
+ {
+ public string identifier;
+
+ /**
+ The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates.
+ */
+ public Matrix4x4 transform;
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARCamera.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARCamera.cs
new file mode 100755
index 00000000..dcfd5891
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARCamera.cs
@@ -0,0 +1,50 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace UnityEngine.XR.iOS
+{
+ public struct ARCamera
+ {
+ /**
+ The transformation matrix that defines the camera's rotation and translation in world coordinates.
+ */
+
+ public Matrix4x4 worldTransform;
+
+ /**
+ The camera's orientation defined as Euler angles.
+
+ @dicussion The order of components in this vector matches the axes of rotation:
+ 1. Pitch (the x component) is the rotation about the node's x-axis (in radians)
+ 2. Yaw (the y component) is the rotation about the node's y-axis (in radians)
+ 3. Roll (the z component) is the rotation about the node's z-axis (in radians)
+ ARKit applies these rotations in the reverse order of the components:
+ 1. first roll
+ 2. then yaw
+ 3. then pitch
+ */
+
+ public Vector3 eulerAngles;
+
+ public ARTrackingQuality trackingQuality;
+
+ /**
+ The camera intrinsics.
+ @discussion The matrix has the following contents:
+ fx 0 px
+ 0 fy py
+ 0 0 1
+ fx and fy are the focal length in pixels.
+ px and py are the coordinates of the principal point in pixels.
+ The origin is at the center of the upper-left pixel.
+ */
+
+ public Vector3 intrinsics_row1;
+ public Vector3 intrinsics_row2;
+ public Vector3 intrinsics_row3;
+
+ public ARSize imageResolution;
+
+ }
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARErrorCode.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARErrorCode.cs
new file mode 100755
index 00000000..b6b6b7e2
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARErrorCode.cs
@@ -0,0 +1,21 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public enum ARErrorCode : long
+ {
+ /** Unsupported session configuration. */
+ ARErrorCodeUnsupportedConfiguration = 100,
+
+ /** A sensor required to run the session is not available. */
+ ARErrorCodeSensorUnavailable = 101,
+
+ /** A sensor failed to provide the required input. */
+ ARErrorCodeSensorFailed = 102,
+
+ /** World tracking has encountered a fatal error. */
+ ARErrorCodeWorldTrackingFailed = 200,
+
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFaceAnchor.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFaceAnchor.cs
new file mode 100755
index 00000000..be84b24f
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFaceAnchor.cs
@@ -0,0 +1,221 @@
+using UnityEngine;
+using System.Collections;
+using System.Runtime.InteropServices;
+using System;
+using System.Collections.Generic;
+using AOT;
+using System.Text;
+
+namespace UnityEngine.XR.iOS
+{
+
+ public static class ARBlendShapeLocation
+ {
+ public const string BrowDownLeft = "browDown_L";
+ public const string BrowDownRight = "browDown_R";
+ public const string BrowInnerUp = "browInnerUp";
+ public const string BrowOuterUpLeft = "browOuterUp_L";
+ public const string BrowOuterUpRight = "browOuterUp_R";
+ public const string CheekPuff = "cheekPuff";
+ public const string CheekSquintLeft = "cheekSquint_L";
+ public const string CheekSquintRight = "cheekSquint_R";
+ public const string EyeBlinkLeft = "eyeBlink_L";
+ public const string EyeBlinkRight = "eyeBlink_R";
+ public const string EyeLookDownLeft = "eyeLookDown_L";
+ public const string EyeLookDownRight = "eyeLookDown_R";
+ public const string EyeLookInLeft = "eyeLookIn_L";
+ public const string EyeLookInRight = "eyeLookIn_R";
+ public const string EyeLookOutLeft = "eyeLookOut_L";
+ public const string EyeLookOutRight = "eyeLookOut_R";
+ public const string EyeLookUpLeft = "eyeLookUp_L";
+ public const string EyeLookUpRight = "eyeLookUp_R";
+ public const string EyeSquintLeft = "eyeSquint_L";
+ public const string EyeSquintRight = "eyeSquint_R";
+ public const string EyeWideLeft = "eyeWide_L";
+ public const string EyeWideRight = "eyeWide_R";
+ public const string JawForward = "jawForward";
+ public const string JawLeft = "jawLeft";
+ public const string JawOpen = "jawOpen";
+ public const string JawRight = "jawRight";
+ public const string MouthClose = "mouthClose";
+ public const string MouthDimpleLeft = "mouthDimple_L";
+ public const string MouthDimpleRight = "mouthDimple_R";
+ public const string MouthFrownLeft = "mouthFrown_L";
+ public const string MouthFrownRight = "mouthFrown_R";
+ public const string MouthFunnel = "mouthFunnel";
+ public const string MouthLeft = "mouthLeft";
+ public const string MouthLowerDownLeft = "mouthLowerDown_L";
+ public const string MouthLowerDownRight = "mouthLowerDown_R";
+ public const string MouthPressLeft = "mouthPress_L";
+ public const string MouthPressRight = "mouthPress_R";
+ public const string MouthPucker = "mouthPucker";
+ public const string MouthRight = "mouthRight";
+ public const string MouthRollLower = "mouthRollLower";
+ public const string MouthRollUpper = "mouthRollUpper";
+ public const string MouthShrugLower = "mouthShrugLower";
+ public const string MouthShrugUpper = "mouthShrugUpper";
+ public const string MouthSmileLeft = "mouthSmile_L";
+ public const string MouthSmileRight = "mouthSmile_R";
+ public const string MouthStretchLeft = "mouthStretch_L";
+ public const string MouthStretchRight = "mouthStretch_R";
+ public const string MouthUpperUpLeft = "mouthUpperUp_L";
+ public const string MouthUpperUpRight = "mouthUpperUp_R";
+ public const string NoseSneerLeft = "noseSneer_L";
+ public const string NoseSneerRight = "noseSneer_R";
+ }
+
+
+ public struct UnityARFaceGeometry
+ {
+ public int vertexCount;
+ public IntPtr vertices;
+ public int textureCoordinateCount;
+ public IntPtr textureCoordinates;
+ public int triangleCount;
+ public IntPtr triangleIndices;
+
+ }
+
+ public struct UnityARFaceAnchorData
+ {
+
+ public IntPtr ptrIdentifier;
+
+ /**
+ The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates.
+ */
+ public UnityARMatrix4x4 transform;
+
+ public string identifierStr { get { return Marshal.PtrToStringAuto(this.ptrIdentifier); } }
+
+ public UnityARFaceGeometry faceGeometry;
+ public IntPtr blendShapes;
+
+ };
+
+ #if !UNITY_EDITOR && UNITY_IOS
+ public class ARFaceGeometry
+ {
+ private UnityARFaceGeometry uFaceGeometry;
+
+ public ARFaceGeometry (UnityARFaceGeometry ufg)
+ {
+ uFaceGeometry = ufg;
+ }
+
+ public int vertexCount { get { return uFaceGeometry.vertexCount; } }
+ public int triangleCount { get { return uFaceGeometry.triangleCount; } }
+ public int textureCoordinateCount { get { return uFaceGeometry.textureCoordinateCount; } }
+
+ public Vector3 [] vertices { get { return MarshalVertices(uFaceGeometry.vertices,vertexCount); } }
+
+ public Vector2 [] textureCoordinates { get { return MarshalTexCoords(uFaceGeometry.textureCoordinates, textureCoordinateCount); } }
+
+ public int [] triangleIndices { get { return MarshalIndices(uFaceGeometry.triangleIndices, triangleCount); } }
+
+ Vector3 [] MarshalVertices(IntPtr ptrFloatArray, int vertCount)
+ {
+ int numFloats = vertCount * 4;
+ float [] workVerts = new float[numFloats];
+ Marshal.Copy (ptrFloatArray, workVerts, 0, (int)(numFloats));
+
+ Vector3[] verts = new Vector3[vertCount];
+
+ for (int count = 0; count < numFloats; count++)
+ {
+ verts [count / 4].x = workVerts[count++];
+ verts [count / 4].y = workVerts[count++];
+ verts [count / 4].z = -workVerts[count++];
+ }
+
+ return verts;
+ }
+
+ int [] MarshalIndices(IntPtr ptrIndices, int triCount)
+ {
+ int numIndices = triCount * 3;
+ short [] workIndices = new short[numIndices]; //since ARKit returns Int16
+ Marshal.Copy (ptrIndices, workIndices, 0, numIndices);
+
+ int[] triIndices = new int[numIndices];
+ for (int count = 0; count < numIndices; count+=3) {
+ //reverse winding order
+ triIndices [count] = workIndices [count];
+ triIndices [count + 1] = workIndices [count + 2];
+ triIndices [count + 2] = workIndices [count + 1];
+ }
+
+ return triIndices;
+ }
+
+ Vector2 [] MarshalTexCoords(IntPtr ptrTexCoords, int texCoordCount)
+ {
+ int numFloats = texCoordCount * 2;
+ float [] workTexCoords = new float[numFloats];
+ Marshal.Copy (ptrTexCoords, workTexCoords, 0, (int)(numFloats));
+
+ Vector2[] texCoords = new Vector2[texCoordCount];
+
+ for (int count = 0; count < numFloats; count++)
+ {
+ texCoords [count / 2].x = workTexCoords[count++];
+ texCoords [count / 2].y = workTexCoords[count];
+ }
+
+ return texCoords;
+
+ }
+ }
+
+ public class ARFaceAnchor
+ {
+ private UnityARFaceAnchorData faceAnchorData;
+ private static Dictionary blendshapesDictionary;
+
+ public ARFaceAnchor (UnityARFaceAnchorData ufad)
+ {
+ faceAnchorData = ufad;
+ if (blendshapesDictionary == null) {
+ blendshapesDictionary = new Dictionary ();
+ }
+ }
+
+
+ public string identifierStr { get { return faceAnchorData.identifierStr; } }
+
+ public Matrix4x4 transform {
+ get {
+ Matrix4x4 matrix = new Matrix4x4 ();
+ matrix.SetColumn (0, faceAnchorData.transform.column0);
+ matrix.SetColumn (1, faceAnchorData.transform.column1);
+ matrix.SetColumn (2, faceAnchorData.transform.column2);
+ matrix.SetColumn (3, faceAnchorData.transform.column3);
+ return matrix;
+ }
+ }
+
+ public ARFaceGeometry faceGeometry { get { return new ARFaceGeometry (faceAnchorData.faceGeometry); } }
+
+ public Dictionary blendShapes { get { return GetBlendShapesFromNative(faceAnchorData.blendShapes); } }
+
+ delegate void DictionaryVisitorHandler(IntPtr keyPtr, float value);
+
+ [DllImport("__Internal")]
+ private static extern void GetBlendShapesInfo(IntPtr ptrDic, DictionaryVisitorHandler handler);
+
+ Dictionary GetBlendShapesFromNative(IntPtr blendShapesPtr)
+ {
+ blendshapesDictionary.Clear ();
+ GetBlendShapesInfo (blendShapesPtr, AddElementToManagedDictionary);
+ return blendshapesDictionary;
+ }
+
+ [MonoPInvokeCallback(typeof(DictionaryVisitorHandler))]
+ static void AddElementToManagedDictionary(IntPtr keyPtr, float value)
+ {
+ string key = Marshal.PtrToStringAuto(keyPtr);
+ blendshapesDictionary.Add(key, value);
+ }
+ }
+ #endif
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFrame.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFrame.cs
new file mode 100755
index 00000000..d8eb94ad
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARFrame.cs
@@ -0,0 +1,36 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public struct ARFrame
+ {
+ /**
+ A timestamp identifying the frame.
+ */
+ public double timestamp;
+
+ /**
+ The frame's captured image.
+ */
+ public IntPtr capturedImage;
+
+ /**
+ The camera used to capture the frame's image.
+ @discussion The camera provides the device's position and orientation as well as camera parameters.
+ */
+ public ARCamera camera;
+
+ /**
+ A list of anchors in the scene.
+ */
+ //List anchors;
+
+ /**
+ A light estimate representing the light in the scene.
+ @discussion Returns nil if there is no light estimation.
+ */
+ ARLightEstimate lightEstimate;
+
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResult.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResult.cs
new file mode 100755
index 00000000..08fa5aae
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResult.cs
@@ -0,0 +1,40 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public struct ARHitTestResult
+ {
+ /**
+ The type of the hit-test result.
+ */
+ public ARHitTestResultType type;
+
+ /**
+ The distance from the camera to the intersection in meters.
+ */
+ public double distance;
+
+ /**
+ The transformation matrix that defines the intersection's rotation, translation and scale
+ relative to the anchor or nearest feature point.
+ */
+ public Matrix4x4 localTransform;
+
+ /**
+ The transformation matrix that defines the intersection's rotation, translation and scale
+ relative to the world.
+ */
+ public Matrix4x4 worldTransform;
+
+ /**
+ The anchor that the hit-test intersected.
+ */
+ public string anchorIdentifier;
+
+ /**
+ True if the test represents a valid hit test. Data is undefined otherwise.
+ */
+ public bool isValid;
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResultType.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResultType.cs
new file mode 100755
index 00000000..e6c01c83
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARHitTestResultType.cs
@@ -0,0 +1,28 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ [Flags]
+ public enum ARHitTestResultType : long
+ {
+ /** Result type from intersecting the nearest feature point. */
+ ARHitTestResultTypeFeaturePoint = (1 << 0),
+
+ /** A real-world planar surface detected by the search (without a corresponding anchor), whose orientation is perpendicular to gravity. */
+ ARHitTestResultTypeEstimatedHorizontalPlane = (1 << 1),
+
+ /** A real-world planar surface detected by the search, whose orientation is parallel to gravity. */
+ ARHitTestResultTypeEstimatedVerticalPlane = (1 << 2),
+
+ /** Result type from intersecting with an existing plane anchor. */
+ ARHitTestResultTypeExistingPlane = (1 << 3),
+
+ /** Result type from intersecting with an existing plane anchor, taking into account the plane's extent. */
+ ARHitTestResultTypeExistingPlaneUsingExtent = ( 1 << 4),
+
+ /** A plane anchor already in the scene (detected with the planeDetection option), respecting the plane's estimated size and shape. **/
+ ARHitTestResultTypeExistingPlaneUsingGeometry = (1 << 5)
+
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARImageAnchor.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARImageAnchor.cs
new file mode 100755
index 00000000..885820ad
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARImageAnchor.cs
@@ -0,0 +1,58 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+using System.Runtime.InteropServices;
+
+
+namespace UnityEngine.XR.iOS
+{
+
+ public struct UnityARImageAnchorData
+ {
+
+ public IntPtr ptrIdentifier;
+
+ /**
+ The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates.
+ */
+ public UnityARMatrix4x4 transform;
+
+ public IntPtr referenceImageNamePtr;
+
+ public float referenceImagePhysicalSize;
+
+
+ };
+
+
+
+ public class ARImageAnchor {
+
+ private UnityARImageAnchorData imageAnchorData;
+
+ public ARImageAnchor (UnityARImageAnchorData uiad)
+ {
+ imageAnchorData = uiad;
+ }
+
+
+ public string identifier { get { return Marshal.PtrToStringAuto(imageAnchorData.ptrIdentifier); } }
+
+ public Matrix4x4 transform {
+ get {
+ Matrix4x4 matrix = new Matrix4x4 ();
+ matrix.SetColumn (0, imageAnchorData.transform.column0);
+ matrix.SetColumn (1, imageAnchorData.transform.column1);
+ matrix.SetColumn (2, imageAnchorData.transform.column2);
+ matrix.SetColumn (3, imageAnchorData.transform.column3);
+ return matrix;
+ }
+ }
+
+ public string referenceImageName { get { return Marshal.PtrToStringAuto(imageAnchorData.referenceImageNamePtr); } }
+
+ public float referenceImagePhysicalSize { get { return imageAnchorData.referenceImagePhysicalSize; } }
+ }
+
+}
\ No newline at end of file
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARLightEstimate.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARLightEstimate.cs
new file mode 100755
index 00000000..3cf9a7ee
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARLightEstimate.cs
@@ -0,0 +1,142 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace UnityEngine.XR.iOS
+{
+ public struct ARLightEstimate
+ {
+ public float ambientIntensity;
+ }
+
+ [Serializable]
+ public struct UnityARLightEstimate
+ {
+ public float ambientIntensity;
+ public float ambientColorTemperature;
+
+ public UnityARLightEstimate(float intensity, float temperature)
+ {
+ ambientIntensity = intensity;
+ ambientColorTemperature = temperature;
+ }
+ };
+
+
+ public struct MarshalDirectionalLightEstimate
+ {
+ public Vector4 primaryDirAndIntensity;
+ public IntPtr sphericalHarmonicCoefficientsPtr;
+
+ public float [] SphericalHarmonicCoefficients { get { return MarshalCoefficients(sphericalHarmonicCoefficientsPtr); } }
+
+ float [] MarshalCoefficients(IntPtr ptrFloats)
+ {
+ int numFloats = 27;
+ float [] workCoefficients = new float[numFloats];
+ Marshal.Copy (ptrFloats, workCoefficients, 0, (int)(numFloats));
+ RotateForUnity (ref workCoefficients, 0);
+ RotateForUnity (ref workCoefficients, 9);
+ RotateForUnity (ref workCoefficients, 18);
+ return workCoefficients;
+
+ }
+
+ void RotateForUnity(ref float[] shc, int startIndex)
+ {
+ //from observation, it looks like top, bottom and left,right are flipped (x,y)
+
+ // we got this info:
+ // Lets assume Unity uses the same convention for spherical harmonics (yzx) wrt its own coordinate system as scenekit.
+ // (This could be another source of error).
+ // To tackle a constant transform between the unity and scenekit world coordinate system conventions:
+
+ // Axis flips work as follows for the 9 components of the sh vector:
+
+ // 0-component: no change
+
+ // 1-component: negate if y is supposed to be flipped
+ // 2-component: negate if z is supposed to be flipped
+ // 3-component: negate if x is supposed to be flipped
+
+ // 4-component: negate if x or y are supposed to be flipped, but not both!
+ // 5-component: negate if y or z are supposed to be flipped, but not both!
+ // 6-component: no change
+ // 7-component: negate if x or z are supposed to be flipped, but not both!
+ // 8-component: no change
+
+ shc [startIndex+1] = -shc [startIndex+1];
+ shc [startIndex+3] = -shc [startIndex+3];
+
+ shc [startIndex + 5] = -shc [startIndex + 5];
+ shc [startIndex + 7] = -shc [startIndex + 7];
+
+
+ }
+ }
+
+ public class UnityARDirectionalLightEstimate
+ {
+ public Vector3 primaryLightDirection;
+ public float primaryLightIntensity;
+ public float [] sphericalHarmonicsCoefficients;
+
+ public UnityARDirectionalLightEstimate (float [] SHC, Vector3 direction, float intensity)
+ {
+ sphericalHarmonicsCoefficients = SHC;
+ primaryLightDirection = direction;
+ primaryLightIntensity = intensity;
+ }
+ };
+
+ public enum LightDataType
+ {
+ LightEstimate,
+ DirectionalLightEstimate
+ }
+
+ public struct UnityMarshalLightData
+ {
+ public LightDataType arLightingType;
+ public UnityARLightEstimate arLightEstimate;
+ public MarshalDirectionalLightEstimate arDirectonalLightEstimate;
+
+ public UnityMarshalLightData(LightDataType ldt, UnityARLightEstimate ule, MarshalDirectionalLightEstimate mdle)
+ {
+ arLightingType = ldt;
+ arLightEstimate = ule;
+ arDirectonalLightEstimate = mdle;
+ }
+
+ public static implicit operator UnityARLightData(UnityMarshalLightData rValue)
+ {
+ UnityARDirectionalLightEstimate udle = null;
+ if (rValue.arLightingType == LightDataType.DirectionalLightEstimate) {
+ Vector4 lightDirAndIntensity = rValue.arDirectonalLightEstimate.primaryDirAndIntensity;
+ Vector3 lightDir = new Vector3 (lightDirAndIntensity.x, lightDirAndIntensity.y, lightDirAndIntensity.z);
+ float[] shc = rValue.arDirectonalLightEstimate.SphericalHarmonicCoefficients;
+ udle = new UnityARDirectionalLightEstimate (shc, lightDir, lightDirAndIntensity.w);
+ }
+ return new UnityARLightData(rValue.arLightingType, rValue.arLightEstimate, udle);
+ }
+
+ }
+
+ public struct UnityARLightData
+ {
+ public LightDataType arLightingType;
+ public UnityARLightEstimate arLightEstimate;
+ public UnityARDirectionalLightEstimate arDirectonalLightEstimate;
+
+ public UnityARLightData(LightDataType ldt, UnityARLightEstimate ule, UnityARDirectionalLightEstimate udle)
+ {
+ arLightingType = ldt;
+ arLightEstimate = ule;
+ arDirectonalLightEstimate = udle;
+ }
+
+
+ }
+
+
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchor.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchor.cs
new file mode 100755
index 00000000..06296f17
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchor.cs
@@ -0,0 +1,179 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace UnityEngine.XR.iOS
+{
+
+ public struct UnityARPlaneGeometry
+ {
+ public int vertexCount;
+ public IntPtr vertices;
+ public int textureCoordinateCount;
+ public IntPtr textureCoordinates;
+ public int triangleCount;
+ public IntPtr triangleIndices;
+ public int boundaryVertexCount;
+ public IntPtr boundaryVertices;
+
+ }
+
+ public struct UnityARAnchorData
+ {
+ public IntPtr ptrIdentifier;
+
+ /**
+ The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates.
+ */
+ public UnityARMatrix4x4 transform;
+
+ /**
+ The alignment of the plane.
+ */
+
+ public ARPlaneAnchorAlignment alignment;
+
+ /**
+ The center of the plane in the anchor’s coordinate space.
+ */
+
+ public Vector4 center;
+
+ /**
+ The extent of the plane in the anchor’s coordinate space.
+ */
+ public Vector4 extent;
+
+ /**
+ The geometry that describes more accurately the surface found.
+ */
+ public UnityARPlaneGeometry planeGeometry;
+
+ public string identifierStr { get { return Marshal.PtrToStringAuto(this.ptrIdentifier); } }
+
+ }
+
+
+ #if !UNITY_EDITOR
+ public class ARPlaneGeometry
+ {
+ private UnityARPlaneGeometry uPlaneGeometry;
+
+ public ARPlaneGeometry (UnityARPlaneGeometry upg)
+ {
+ uPlaneGeometry = upg;
+ }
+
+ public int vertexCount { get { return uPlaneGeometry.vertexCount; } }
+ public int triangleCount { get { return uPlaneGeometry.triangleCount; } }
+ public int textureCoordinateCount { get { return uPlaneGeometry.textureCoordinateCount; } }
+ public int boundaryVertexCount { get { return uPlaneGeometry.boundaryVertexCount; } }
+
+ public Vector3 [] vertices { get { return MarshalVertices(uPlaneGeometry.vertices,vertexCount); } }
+
+ public Vector3 [] boundaryVertices { get { return MarshalVertices(uPlaneGeometry.boundaryVertices,boundaryVertexCount); } }
+
+ public Vector2 [] textureCoordinates { get { return MarshalTexCoords(uPlaneGeometry.textureCoordinates, textureCoordinateCount); } }
+
+ public int [] triangleIndices { get { return MarshalIndices(uPlaneGeometry.triangleIndices, triangleCount); } }
+
+ Vector3 [] MarshalVertices(IntPtr ptrFloatArray, int vertCount)
+ {
+ int numFloats = vertCount * 4;
+ float [] workVerts = new float[numFloats];
+ Marshal.Copy (ptrFloatArray, workVerts, 0, (int)(numFloats));
+
+ Vector3[] verts = new Vector3[vertCount];
+
+ for (int count = 0; count < numFloats; count++)
+ {
+ verts [count / 4].x = workVerts[count++];
+ verts [count / 4].y = workVerts[count++];
+ verts [count / 4].z = -workVerts[count++];
+ }
+
+ return verts;
+ }
+
+ int [] MarshalIndices(IntPtr ptrIndices, int triCount)
+ {
+ int numIndices = triCount * 3;
+ short [] workIndices = new short[numIndices]; //since ARKit returns Int16
+ Marshal.Copy (ptrIndices, workIndices, 0, numIndices);
+
+ int[] triIndices = new int[numIndices];
+ for (int count = 0; count < numIndices; count+=3) {
+ //reverse winding order
+ triIndices [count] = workIndices [count];
+ triIndices [count + 1] = workIndices [count + 2];
+ triIndices [count + 2] = workIndices [count + 1];
+ }
+
+ return triIndices;
+ }
+
+ Vector2 [] MarshalTexCoords(IntPtr ptrTexCoords, int texCoordCount)
+ {
+ int numFloats = texCoordCount * 2;
+ float [] workTexCoords = new float[numFloats];
+ Marshal.Copy (ptrTexCoords, workTexCoords, 0, (int)(numFloats));
+
+ Vector2[] texCoords = new Vector2[texCoordCount];
+
+ for (int count = 0; count < numFloats; count++)
+ {
+ texCoords [count / 2].x = workTexCoords[count++];
+ texCoords [count / 2].y = workTexCoords[count];
+ }
+
+ return texCoords;
+
+ }
+ }
+
+ public class ARPlaneAnchor
+ {
+ private UnityARAnchorData planeAnchorData;
+
+ public ARPlaneAnchor (UnityARAnchorData ufad)
+ {
+ planeAnchorData = ufad;
+ }
+
+
+ public string identifier { get { return planeAnchorData.identifierStr; } }
+
+ public Matrix4x4 transform {
+ get {
+ Matrix4x4 matrix = new Matrix4x4 ();
+ matrix.SetColumn (0, planeAnchorData.transform.column0);
+ matrix.SetColumn (1, planeAnchorData.transform.column1);
+ matrix.SetColumn (2, planeAnchorData.transform.column2);
+ matrix.SetColumn (3, planeAnchorData.transform.column3);
+ return matrix;
+ }
+ }
+
+ public ARPlaneAnchorAlignment alignment {
+ get {
+ return planeAnchorData.alignment;
+ }
+ }
+
+ public Vector3 extent {
+ get {
+ return new Vector3 (planeAnchorData.extent.x, planeAnchorData.extent.y, planeAnchorData.extent.z);
+ }
+ }
+
+ public Vector3 center {
+ get {
+ return new Vector3 (planeAnchorData.center.x, planeAnchorData.center.y, planeAnchorData.center.z);
+ }
+ }
+
+ public ARPlaneGeometry planeGeometry { get { return new ARPlaneGeometry (planeAnchorData.planeGeometry); } }
+
+ }
+ #endif
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchorAlignment.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchorAlignment.cs
new file mode 100755
index 00000000..ab56c1b0
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPlaneAnchorAlignment.cs
@@ -0,0 +1,14 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public enum ARPlaneAnchorAlignment : long
+ {
+ /** A plane that is horizontal with respect to gravity. */
+ ARPlaneAnchorAlignmentHorizontal,
+
+ /** A plane that is parallel with respect to gravity. */
+ ARPlaneAnchorAlignmentVertical
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPoint.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPoint.cs
new file mode 100755
index 00000000..ddfc9798
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARPoint.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public struct ARPoint
+ {
+ public double x;
+ public double y;
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARRect.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARRect.cs
new file mode 100755
index 00000000..4a744a4a
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARRect.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public struct ARRect
+ {
+ public ARPoint origin;
+ public ARSize size;
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSessionNative.mm b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSessionNative.mm
new file mode 100755
index 00000000..1ad6c3a2
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSessionNative.mm
@@ -0,0 +1,1353 @@
+#import
+#import
+#include "stdlib.h"
+#include "UnityAppController.h"
+
+
+typedef struct
+{
+ float x,y,z,w;
+} UnityARVector4;
+
+typedef struct
+{
+ UnityARVector4 column0;
+ UnityARVector4 column1;
+ UnityARVector4 column2;
+ UnityARVector4 column3;
+} UnityARMatrix4x4;
+
+enum UnityARAlignment
+{
+ UnityARAlignmentGravity,
+ UnityARAlignmentGravityAndHeading,
+ UnityARAlignmentCamera
+};
+
+enum UnityARPlaneDetection
+{
+ UnityARPlaneDetectionNone = 0,
+ UnityARPlaneDetectionHorizontal = (1 << 0),
+ UnityARPlaneDetectionVertical = (1 << 1)
+};
+
+
+typedef struct
+{
+ UnityARAlignment alignment;
+ uint32_t getPointCloudData;
+ uint32_t enableLightEstimation;
+
+} ARKitSessionConfiguration;
+
+typedef struct
+{
+ UnityARAlignment alignment;
+ UnityARPlaneDetection planeDetection;
+ uint32_t getPointCloudData;
+ uint32_t enableLightEstimation;
+ uint32_t enableAutoFocus;
+ void *ptrVideoFormat;
+ char *arResourceGroup;
+} ARKitWorldTrackingSessionConfiguration;
+
+typedef struct
+{
+ UnityARAlignment alignment;
+ uint32_t enableLightEstimation;
+
+} ARKitFaceTrackingConfiguration;
+
+enum UnityARSessionRunOptions
+{
+ UnityARSessionRunOptionsNone = 0,
+ UnityARSessionRunOptionResetTracking = (1 << 0),
+ UnityARSessionRunOptionRemoveExistingAnchors = (1 << 1)
+
+};
+
+typedef struct
+{
+ NSUInteger vertexCount;
+ float *vertices;
+ NSUInteger textureCoordinateCount;
+ float *textureCoordinates;
+ NSUInteger triangleCount;
+ int *triangleIndices;
+ NSUInteger boundaryVertexCount;
+ float *boundaryVertices;
+} UnityARPlaneGeometry;
+
+
+typedef struct
+{
+ void* identifier;
+ UnityARMatrix4x4 transform;
+ ARPlaneAnchorAlignment alignment;
+ UnityARVector4 center;
+ UnityARVector4 extent;
+ UnityARPlaneGeometry planeGeometry;
+} UnityARAnchorData;
+
+typedef struct
+{
+ void* identifier;
+ UnityARMatrix4x4 transform;
+} UnityARUserAnchorData;
+
+typedef struct
+{
+ NSUInteger vertexCount;
+ float *vertices;
+ NSUInteger textureCoordinateCount;
+ float *textureCoordinates;
+ NSUInteger triangleCount;
+ int *triangleIndices;
+} UnityARFaceGeometry;
+
+typedef struct
+{
+ void *identifier;
+ UnityARMatrix4x4 transform;
+ UnityARFaceGeometry faceGeometry;
+ void *blendShapes; //NSDictionary *
+} UnityARFaceAnchorData;
+
+typedef struct
+{
+ void* identifier;
+ UnityARMatrix4x4 transform;
+ void* referenceImageName;
+ float referenceImageSize;
+} UnityARImageAnchorData;
+
+
+
+enum UnityARTrackingState
+{
+ UnityARTrackingStateNotAvailable,
+ UnityARTrackingStateLimited,
+ UnityARTrackingStateNormal,
+};
+
+enum UnityARTrackingReason
+{
+ UnityARTrackingStateReasonNone,
+ UnityARTrackingStateReasonInitializing,
+ UnityARTrackingStateReasonExcessiveMotion,
+ UnityARTrackingStateReasonInsufficientFeatures,
+ UnityARTrackingStateReasonRelocalizing,
+};
+
+typedef struct
+{
+ uint32_t yWidth;
+ uint32_t yHeight;
+ uint32_t screenOrientation;
+ float texCoordScale;
+ void* cvPixelBufferPtr;
+}UnityVideoParams;
+
+typedef struct
+{
+ float ambientIntensity;
+ float ambientColorTemperature;
+}UnityARLightEstimation;
+
+typedef struct
+{
+ UnityARVector4 primaryLightDirectionAndIntensity;
+ float *sphericalHarmonicsCoefficients;
+}UnityARDirectionalLightEstimate;
+
+enum UnityLightDataType
+{
+ LightEstimate,
+ DirectionalLightEstimate
+};
+
+typedef struct
+{
+ UnityLightDataType arLightingType;
+ UnityARLightEstimation arLightEstimate;
+ UnityARDirectionalLightEstimate arDirectionalLightEstimate;
+}UnityLightData;
+
+typedef struct
+{
+ UnityARMatrix4x4 worldTransform;
+ UnityARMatrix4x4 projectionMatrix;
+ UnityARTrackingState trackingState;
+ UnityARTrackingReason trackingReason;
+ UnityVideoParams videoParams;
+ UnityLightData lightData;
+ UnityARMatrix4x4 displayTransform;
+ uint32_t getPointCloudData;
+ uint32_t getLightEstimation;
+} UnityARCamera;
+
+typedef struct
+{
+ vector_float3* pointCloud;
+ NSUInteger pointCloudSize;
+} UnityARPointCloudData;
+
+typedef struct
+{
+ void* pYPixelBytes;
+ void* pUVPixelBytes;
+ BOOL bEnable;
+}UnityPixelBuffer;
+
+typedef struct
+{
+ void* ptrVideoFormat;
+ float imageResolutionWidth;
+ float imageResolutionHeight;
+ int framesPerSecond;
+}UnityARVideoFormat;
+
+
+typedef void (*UNITY_AR_FRAME_CALLBACK)(UnityARCamera camera);
+typedef void (*UNITY_AR_ANCHOR_CALLBACK)(UnityARAnchorData anchorData);
+typedef void (*UNITY_AR_USER_ANCHOR_CALLBACK)(UnityARUserAnchorData anchorData);
+typedef void (*UNITY_AR_FACE_ANCHOR_CALLBACK)(UnityARFaceAnchorData anchorData);
+typedef void (*UNITY_AR_IMAGE_ANCHOR_CALLBACK)(UnityARImageAnchorData anchorData);
+typedef void (*UNITY_AR_SESSION_FAILED_CALLBACK)(const void* error);
+typedef void (*UNITY_AR_SESSION_VOID_CALLBACK)(void);
+typedef bool (*UNITY_AR_SESSION_RELOCALIZE_CALLBACK)(void);
+typedef void (*UNITY_AR_SESSION_TRACKING_CHANGED)(UnityARCamera camera);
+typedef void (*UNITY_AR_VIDEOFORMAT_CALLBACK)(UnityARVideoFormat format);
+
+// These don't all need to be static data, but no other better place for them at the moment.
+static id s_CapturedImageTextureY;
+static id s_CapturedImageTextureCbCr;
+static UnityARMatrix4x4 s_CameraProjectionMatrix;
+
+static float s_AmbientIntensity;
+static int s_TrackingQuality;
+static float s_ShaderScale;
+static const vector_float3* s_PointCloud;
+static NSUInteger s_PointCloudSize;
+
+static float unityCameraNearZ;
+static float unityCameraFarZ;
+
+static inline bool UnityIsARKit_1_5_Supported()
+{
+ if ([ARImageAnchor class])
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+
+static inline ARWorldAlignment GetARWorldAlignmentFromUnityARAlignment(UnityARAlignment& unityAlignment)
+{
+ switch (unityAlignment)
+ {
+ case UnityARAlignmentGravity:
+ return ARWorldAlignmentGravity;
+ case UnityARAlignmentGravityAndHeading:
+ return ARWorldAlignmentGravityAndHeading;
+ case UnityARAlignmentCamera:
+ return ARWorldAlignmentCamera;
+ }
+}
+
+static inline ARPlaneDetection GetARPlaneDetectionFromUnityARPlaneDetection(UnityARPlaneDetection planeDetection)
+{
+ ARPlaneDetection ret = ARPlaneDetectionNone;
+ if ((planeDetection & UnityARPlaneDetectionNone) != 0)
+ ret |= ARPlaneDetectionNone;
+ if ((planeDetection & UnityARPlaneDetectionHorizontal) != 0)
+ ret |= ARPlaneDetectionHorizontal;
+ if ((planeDetection & UnityARPlaneDetectionVertical) != 0)
+ ret |= ARPlaneDetectionVertical;
+ return ret;
+}
+
+static inline UnityARTrackingState GetUnityARTrackingStateFromARTrackingState(ARTrackingState trackingState)
+{
+ switch (trackingState) {
+ case ARTrackingStateNormal:
+ return UnityARTrackingStateNormal;
+ case ARTrackingStateLimited:
+ return UnityARTrackingStateLimited;
+ case ARTrackingStateNotAvailable:
+ return UnityARTrackingStateNotAvailable;
+ default:
+ [NSException raise:@"UnrecognizedARTrackingState" format:@"Unrecognized ARTrackingState: %ld", (long)trackingState];
+ break;
+ }
+}
+
+static inline UnityARTrackingReason GetUnityARTrackingReasonFromARTrackingReason(ARTrackingStateReason trackingReason)
+{
+ switch (trackingReason)
+ {
+ case ARTrackingStateReasonNone:
+ return UnityARTrackingStateReasonNone;
+ case ARTrackingStateReasonInitializing:
+ return UnityARTrackingStateReasonInitializing;
+ case ARTrackingStateReasonExcessiveMotion:
+ return UnityARTrackingStateReasonExcessiveMotion;
+ case ARTrackingStateReasonInsufficientFeatures:
+ return UnityARTrackingStateReasonInsufficientFeatures;
+ case ARTrackingStateReasonRelocalizing:
+ return UnityARTrackingStateReasonRelocalizing;
+ default:
+ [NSException raise:@"UnrecognizedARTrackingStateReason" format:@"Unrecognized ARTrackingStateReason: %ld", (long)trackingReason];
+ break;
+ }
+}
+
+inline ARSessionRunOptions GetARSessionRunOptionsFromUnityARSessionRunOptions(UnityARSessionRunOptions runOptions)
+{
+ ARSessionRunOptions ret = 0;
+ if ((runOptions & UnityARSessionRunOptionResetTracking) != 0)
+ ret |= ARSessionRunOptionResetTracking;
+ if ((runOptions & UnityARSessionRunOptionRemoveExistingAnchors) != 0)
+ ret |= ARSessionRunOptionRemoveExistingAnchors;
+ return ret;
+}
+
+inline void GetARSessionConfigurationFromARKitWorldTrackingSessionConfiguration(ARKitWorldTrackingSessionConfiguration& unityConfig, ARWorldTrackingConfiguration* appleConfig)
+{
+ appleConfig.planeDetection = GetARPlaneDetectionFromUnityARPlaneDetection(unityConfig.planeDetection);
+ appleConfig.worldAlignment = GetARWorldAlignmentFromUnityARAlignment(unityConfig.alignment);
+ appleConfig.lightEstimationEnabled = (BOOL)unityConfig.enableLightEstimation;
+
+ if (UnityIsARKit_1_5_Supported())
+ {
+ appleConfig.autoFocusEnabled = (BOOL) unityConfig.enableAutoFocus;
+ if (unityConfig.ptrVideoFormat != NULL)
+ {
+ appleConfig.videoFormat = (__bridge ARVideoFormat*) unityConfig.ptrVideoFormat;
+ }
+ }
+}
+
+inline void GetARSessionConfigurationFromARKitSessionConfiguration(ARKitSessionConfiguration& unityConfig, ARConfiguration* appleConfig)
+{
+ appleConfig.worldAlignment = GetARWorldAlignmentFromUnityARAlignment(unityConfig.alignment);
+ appleConfig.lightEstimationEnabled = (BOOL)unityConfig.enableLightEstimation;
+}
+
+inline void GetARFaceConfigurationFromARKitFaceConfiguration(ARKitFaceTrackingConfiguration& unityConfig, ARConfiguration* appleConfig)
+{
+ appleConfig.worldAlignment = GetARWorldAlignmentFromUnityARAlignment(unityConfig.alignment);
+ appleConfig.lightEstimationEnabled = (BOOL)unityConfig.enableLightEstimation;
+}
+
+inline void ARKitMatrixToUnityARMatrix4x4(const matrix_float4x4& matrixIn, UnityARMatrix4x4* matrixOut)
+{
+ vector_float4 c0 = matrixIn.columns[0];
+ matrixOut->column0.x = c0.x;
+ matrixOut->column0.y = c0.y;
+ matrixOut->column0.z = c0.z;
+ matrixOut->column0.w = c0.w;
+
+ vector_float4 c1 = matrixIn.columns[1];
+ matrixOut->column1.x = c1.x;
+ matrixOut->column1.y = c1.y;
+ matrixOut->column1.z = c1.z;
+ matrixOut->column1.w = c1.w;
+
+ vector_float4 c2 = matrixIn.columns[2];
+ matrixOut->column2.x = c2.x;
+ matrixOut->column2.y = c2.y;
+ matrixOut->column2.z = c2.z;
+ matrixOut->column2.w = c2.w;
+
+ vector_float4 c3 = matrixIn.columns[3];
+ matrixOut->column3.x = c3.x;
+ matrixOut->column3.y = c3.y;
+ matrixOut->column3.z = c3.z;
+ matrixOut->column3.w = c3.w;
+}
+
+inline void UnityARMatrix4x4ToARKitMatrix(const UnityARMatrix4x4& matrixIn, matrix_float4x4* matrixOut)
+{
+ matrixOut->columns[0].x = matrixIn.column0.x;
+ matrixOut->columns[0].y = matrixIn.column0.y;
+ matrixOut->columns[0].z = matrixIn.column0.z;
+ matrixOut->columns[0].w = matrixIn.column0.w;
+
+ matrixOut->columns[1].x = matrixIn.column1.x;
+ matrixOut->columns[1].y = matrixIn.column1.y;
+ matrixOut->columns[1].z = matrixIn.column1.z;
+ matrixOut->columns[1].w = matrixIn.column1.w;
+
+ matrixOut->columns[2].x = matrixIn.column2.x;
+ matrixOut->columns[2].y = matrixIn.column2.y;
+ matrixOut->columns[2].z = matrixIn.column2.z;
+ matrixOut->columns[2].w = matrixIn.column2.w;
+
+ matrixOut->columns[3].x = matrixIn.column3.x;
+ matrixOut->columns[3].y = matrixIn.column3.y;
+ matrixOut->columns[3].z = matrixIn.column3.z;
+ matrixOut->columns[3].w = matrixIn.column3.w;
+
+}
+
+
+static inline void GetUnityARCameraDataFromCamera(UnityARCamera& unityARCamera, ARCamera* camera, BOOL getPointCloudData)
+{
+ CGSize nativeSize = GetAppController().rootView.bounds.size;
+ matrix_float4x4 projectionMatrix = [camera projectionMatrixForOrientation:[[UIApplication sharedApplication] statusBarOrientation] viewportSize:nativeSize zNear:(CGFloat)unityCameraNearZ zFar:(CGFloat)unityCameraFarZ];
+
+ ARKitMatrixToUnityARMatrix4x4(projectionMatrix, &s_CameraProjectionMatrix);
+ ARKitMatrixToUnityARMatrix4x4(projectionMatrix, &unityARCamera.projectionMatrix);
+
+ unityARCamera.trackingState = GetUnityARTrackingStateFromARTrackingState(camera.trackingState);
+ unityARCamera.trackingReason = GetUnityARTrackingReasonFromARTrackingReason(camera.trackingStateReason);
+ unityARCamera.getPointCloudData = getPointCloudData;
+}
+
+inline void UnityARPlaneGeometryFromARPlaneGeometry(UnityARPlaneGeometry& planeGeometry, ARPlaneGeometry *arPlaneGeometry)
+{
+ planeGeometry.vertexCount = arPlaneGeometry.vertexCount;
+ planeGeometry.triangleCount = arPlaneGeometry.triangleCount;
+ planeGeometry.textureCoordinateCount = arPlaneGeometry.textureCoordinateCount;
+ planeGeometry.boundaryVertexCount = arPlaneGeometry.boundaryVertexCount;
+ planeGeometry.vertices = (float *) arPlaneGeometry.vertices;
+ planeGeometry.triangleIndices = (int *) arPlaneGeometry.triangleIndices;
+ planeGeometry.textureCoordinates = (float *) arPlaneGeometry.textureCoordinates;
+ planeGeometry.boundaryVertices = (float *) arPlaneGeometry.boundaryVertices;
+
+}
+
+inline void UnityARAnchorDataFromARAnchorPtr(UnityARAnchorData& anchorData, ARPlaneAnchor* nativeAnchor)
+{
+ anchorData.identifier = (void*)[nativeAnchor.identifier.UUIDString UTF8String];
+ ARKitMatrixToUnityARMatrix4x4(nativeAnchor.transform, &anchorData.transform);
+ anchorData.alignment = nativeAnchor.alignment;
+ anchorData.center.x = nativeAnchor.center.x;
+ anchorData.center.y = nativeAnchor.center.y;
+ anchorData.center.z = nativeAnchor.center.z;
+ anchorData.extent.x = nativeAnchor.extent.x;
+ anchorData.extent.y = nativeAnchor.extent.y;
+ anchorData.extent.z = nativeAnchor.extent.z;
+
+ if (UnityIsARKit_1_5_Supported())
+ {
+ UnityARPlaneGeometryFromARPlaneGeometry(anchorData.planeGeometry, nativeAnchor.geometry);
+ }
+}
+
+inline void UnityARMatrix4x4FromCGAffineTransform(UnityARMatrix4x4& outMatrix, CGAffineTransform displayTransform, BOOL isLandscape)
+{
+ if (isLandscape)
+ {
+ outMatrix.column0.x = displayTransform.a;
+ outMatrix.column0.y = displayTransform.c;
+ outMatrix.column0.z = displayTransform.tx;
+ outMatrix.column1.x = displayTransform.b;
+ outMatrix.column1.y = -displayTransform.d;
+ outMatrix.column1.z = 1.0f - displayTransform.ty;
+ outMatrix.column2.z = 1.0f;
+ outMatrix.column3.w = 1.0f;
+ }
+ else
+ {
+ outMatrix.column0.x = displayTransform.a;
+ outMatrix.column0.y = -displayTransform.c;
+ outMatrix.column0.z = 1.0f - displayTransform.tx;
+ outMatrix.column1.x = displayTransform.b;
+ outMatrix.column1.y = displayTransform.d;
+ outMatrix.column1.z = displayTransform.ty;
+ outMatrix.column2.z = 1.0f;
+ outMatrix.column3.w = 1.0f;
+ }
+}
+
+inline void UnityARUserAnchorDataFromARAnchorPtr(UnityARUserAnchorData& anchorData, ARAnchor* nativeAnchor)
+{
+ anchorData.identifier = (void*)[nativeAnchor.identifier.UUIDString UTF8String];
+ ARKitMatrixToUnityARMatrix4x4(nativeAnchor.transform, &anchorData.transform);
+}
+
+
+#if ARKIT_USES_FACETRACKING
+inline void UnityARFaceGeometryFromARFaceGeometry(UnityARFaceGeometry& faceGeometry, ARFaceGeometry *arFaceGeometry)
+{
+ faceGeometry.vertexCount = arFaceGeometry.vertexCount;
+ faceGeometry.triangleCount = arFaceGeometry.triangleCount;
+ faceGeometry.textureCoordinateCount = arFaceGeometry.textureCoordinateCount;
+ faceGeometry.vertices = (float *) arFaceGeometry.vertices;
+ faceGeometry.triangleIndices = (int *) arFaceGeometry.triangleIndices;
+ faceGeometry.textureCoordinates = (float *) arFaceGeometry.textureCoordinates;
+}
+
+inline void UnityARFaceAnchorDataFromARFaceAnchorPtr(UnityARFaceAnchorData& anchorData, ARFaceAnchor* nativeAnchor)
+{
+ anchorData.identifier = (void*)[nativeAnchor.identifier.UUIDString UTF8String];
+ ARKitMatrixToUnityARMatrix4x4(nativeAnchor.transform, &anchorData.transform);
+ UnityARFaceGeometryFromARFaceGeometry(anchorData.faceGeometry, nativeAnchor.geometry);
+ anchorData.blendShapes = (__bridge void *) nativeAnchor.blendShapes;
+}
+#endif
+
+inline void UnityARImageAnchorDataFromARImageAnchorPtr(UnityARImageAnchorData& anchorData, ARImageAnchor* nativeAnchor)
+{
+ anchorData.identifier = (void*)[nativeAnchor.identifier.UUIDString UTF8String];
+ ARKitMatrixToUnityARMatrix4x4(nativeAnchor.transform, &anchorData.transform);
+ anchorData.referenceImageName = (void*)[nativeAnchor.referenceImage.name UTF8String];
+ anchorData.referenceImageSize = nativeAnchor.referenceImage.physicalSize.width;
+}
+
+inline void UnityLightDataFromARFrame(UnityLightData& lightData, ARFrame *arFrame)
+{
+ if (arFrame.lightEstimate != NULL)
+ {
+#if ARKIT_USES_FACETRACKING
+ if ([arFrame.lightEstimate class] == [ARDirectionalLightEstimate class])
+ {
+ lightData.arLightingType = DirectionalLightEstimate;
+ ARDirectionalLightEstimate *dirLightEst = (ARDirectionalLightEstimate *) arFrame.lightEstimate;
+ lightData.arDirectionalLightEstimate.sphericalHarmonicsCoefficients = (float *) dirLightEst.sphericalHarmonicsCoefficients.bytes;
+
+ //[dirLightEst.sphericalHarmonicsCoefficients getBytes:lightData.arDirectionalLightEstimate.sphericalHarmonicsCoefficients length:sizeof(float)*27 ];
+
+ UnityARVector4 dirAndIntensity;
+ dirAndIntensity.x = dirLightEst.primaryLightDirection.x;
+ dirAndIntensity.y = dirLightEst.primaryLightDirection.y;
+ dirAndIntensity.z = dirLightEst.primaryLightDirection.z;
+ dirAndIntensity.w = dirLightEst.primaryLightIntensity;
+ lightData.arDirectionalLightEstimate.primaryLightDirectionAndIntensity = dirAndIntensity;
+ }
+ else
+#endif
+ {
+ lightData.arLightingType = LightEstimate;
+ lightData.arLightEstimate.ambientIntensity = arFrame.lightEstimate.ambientIntensity;
+ lightData.arLightEstimate.ambientColorTemperature = arFrame.lightEstimate.ambientColorTemperature;
+ }
+ }
+
+}
+
+@protocol UnityARAnchorEventDispatcher
+@required
+ -(void)sendAnchorAddedEvent:(ARAnchor*)anchor;
+ -(void)sendAnchorRemovedEvent:(ARAnchor*)anchor;
+ -(void)sendAnchorUpdatedEvent:(ARAnchor*)anchor;
+@end
+
+@interface UnityARAnchorCallbackWrapper : NSObject
+{
+@public
+ UNITY_AR_ANCHOR_CALLBACK _anchorAddedCallback;
+ UNITY_AR_ANCHOR_CALLBACK _anchorUpdatedCallback;
+ UNITY_AR_ANCHOR_CALLBACK _anchorRemovedCallback;
+}
+@end
+
+@implementation UnityARAnchorCallbackWrapper
+
+ -(void)sendAnchorAddedEvent:(ARAnchor*)anchor
+ {
+ UnityARAnchorData data;
+ UnityARAnchorDataFromARAnchorPtr(data, (ARPlaneAnchor*)anchor);
+ _anchorAddedCallback(data);
+ }
+
+ -(void)sendAnchorRemovedEvent:(ARAnchor*)anchor
+ {
+ UnityARAnchorData data;
+ UnityARAnchorDataFromARAnchorPtr(data, (ARPlaneAnchor*)anchor);
+ _anchorRemovedCallback(data);
+ }
+
+ -(void)sendAnchorUpdatedEvent:(ARAnchor*)anchor
+ {
+ UnityARAnchorData data;
+ UnityARAnchorDataFromARAnchorPtr(data, (ARPlaneAnchor*)anchor);
+ _anchorUpdatedCallback(data);
+ }
+
+@end
+
+@interface UnityARUserAnchorCallbackWrapper : NSObject
+{
+@public
+ UNITY_AR_USER_ANCHOR_CALLBACK _anchorAddedCallback;
+ UNITY_AR_USER_ANCHOR_CALLBACK _anchorUpdatedCallback;
+ UNITY_AR_USER_ANCHOR_CALLBACK _anchorRemovedCallback;
+}
+@end
+
+@implementation UnityARUserAnchorCallbackWrapper
+
+ -(void)sendAnchorAddedEvent:(ARAnchor*)anchor
+ {
+ UnityARUserAnchorData data;
+ UnityARUserAnchorDataFromARAnchorPtr(data, anchor);
+ _anchorAddedCallback(data);
+ }
+
+ -(void)sendAnchorRemovedEvent:(ARAnchor*)anchor
+ {
+ UnityARUserAnchorData data;
+ UnityARUserAnchorDataFromARAnchorPtr(data, anchor);
+ _anchorRemovedCallback(data);
+ }
+
+ -(void)sendAnchorUpdatedEvent:(ARAnchor*)anchor
+ {
+ UnityARUserAnchorData data;
+ UnityARUserAnchorDataFromARAnchorPtr(data, anchor);
+ _anchorUpdatedCallback(data);
+ }
+
+@end
+
+@interface UnityARFaceAnchorCallbackWrapper : NSObject
+{
+@public
+ UNITY_AR_FACE_ANCHOR_CALLBACK _anchorAddedCallback;
+ UNITY_AR_FACE_ANCHOR_CALLBACK _anchorUpdatedCallback;
+ UNITY_AR_FACE_ANCHOR_CALLBACK _anchorRemovedCallback;
+}
+@end
+
+@implementation UnityARFaceAnchorCallbackWrapper
+
+-(void)sendAnchorAddedEvent:(ARAnchor*)anchor
+{
+#if ARKIT_USES_FACETRACKING
+ UnityARFaceAnchorData data;
+ UnityARFaceAnchorDataFromARFaceAnchorPtr(data, (ARFaceAnchor*)anchor);
+ _anchorAddedCallback(data);
+#endif
+}
+
+-(void)sendAnchorRemovedEvent:(ARAnchor*)anchor
+{
+#if ARKIT_USES_FACETRACKING
+ UnityARFaceAnchorData data;
+ UnityARFaceAnchorDataFromARFaceAnchorPtr(data, (ARFaceAnchor*)anchor);
+ _anchorRemovedCallback(data);
+#endif
+}
+
+-(void)sendAnchorUpdatedEvent:(ARAnchor*)anchor
+{
+#if ARKIT_USES_FACETRACKING
+ UnityARFaceAnchorData data;
+ UnityARFaceAnchorDataFromARFaceAnchorPtr(data, (ARFaceAnchor*)anchor);
+ _anchorUpdatedCallback(data);
+#endif
+}
+
+@end
+
+@interface UnityARImageAnchorCallbackWrapper : NSObject
+{
+@public
+ UNITY_AR_IMAGE_ANCHOR_CALLBACK _anchorAddedCallback;
+ UNITY_AR_IMAGE_ANCHOR_CALLBACK _anchorUpdatedCallback;
+ UNITY_AR_IMAGE_ANCHOR_CALLBACK _anchorRemovedCallback;
+}
+@end
+
+@implementation UnityARImageAnchorCallbackWrapper
+
+-(void)sendAnchorAddedEvent:(ARAnchor*)anchor
+{
+ UnityARImageAnchorData data;
+ UnityARImageAnchorDataFromARImageAnchorPtr(data, (ARImageAnchor*)anchor);
+ _anchorAddedCallback(data);
+}
+
+-(void)sendAnchorRemovedEvent:(ARAnchor*)anchor
+{
+ UnityARImageAnchorData data;
+ UnityARImageAnchorDataFromARImageAnchorPtr(data, (ARImageAnchor*)anchor);
+ _anchorRemovedCallback(data);
+}
+
+-(void)sendAnchorUpdatedEvent:(ARAnchor*)anchor
+{
+ UnityARImageAnchorData data;
+ UnityARImageAnchorDataFromARImageAnchorPtr(data, (ARImageAnchor*)anchor);
+ _anchorUpdatedCallback(data);
+}
+
+@end
+
+static UnityPixelBuffer s_UnityPixelBuffers;
+
+@interface UnityARSession : NSObject
+{
+@public
+ ARSession* _session;
+ UNITY_AR_FRAME_CALLBACK _frameCallback;
+ UNITY_AR_SESSION_FAILED_CALLBACK _arSessionFailedCallback;
+ UNITY_AR_SESSION_VOID_CALLBACK _arSessionInterrupted;
+ UNITY_AR_SESSION_VOID_CALLBACK _arSessionInterruptionEnded;
+ UNITY_AR_SESSION_RELOCALIZE_CALLBACK _arSessionShouldRelocalize;
+ UNITY_AR_SESSION_TRACKING_CHANGED _arSessionTrackingChanged;
+
+ NSMutableDictionary* _classToCallbackMap;
+
+ id _device;
+ CVMetalTextureCacheRef _textureCache;
+ BOOL _getPointCloudData;
+ BOOL _getLightEstimation;
+}
+@end
+
+@implementation UnityARSession
+
+- (id)init
+{
+ if (self = [super init])
+ {
+ _classToCallbackMap = [[NSMutableDictionary alloc] init];
+ }
+ return self;
+}
+
+- (void)setupMetal
+{
+ _device = MTLCreateSystemDefaultDevice();
+ CVMetalTextureCacheCreate(NULL, NULL, _device, NULL, &_textureCache);
+}
+
+- (void)teardownMetal
+{
+ if (_textureCache) {
+ CFRelease(_textureCache);
+ }
+}
+
+static CGAffineTransform s_CurAffineTransform;
+
+- (void)session:(ARSession *)session didUpdateFrame:(ARFrame *)frame
+{
+ s_AmbientIntensity = frame.lightEstimate.ambientIntensity;
+ s_TrackingQuality = (int)frame.camera.trackingState;
+ s_PointCloud = frame.rawFeaturePoints.points;
+ s_PointCloudSize = frame.rawFeaturePoints.count;
+
+ UIInterfaceOrientation orient = [[UIApplication sharedApplication] statusBarOrientation];
+
+ CGRect nativeBounds = [[UIScreen mainScreen] nativeBounds];
+ CGSize nativeSize = GetAppController().rootView.bounds.size;
+ UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
+ s_CurAffineTransform = CGAffineTransformInvert([frame displayTransformForOrientation:orientation viewportSize:nativeSize]);
+
+ UnityARCamera unityARCamera;
+
+ GetUnityARCameraDataFromCamera(unityARCamera, frame.camera, _getPointCloudData);
+
+
+ CVPixelBufferRef pixelBuffer = frame.capturedImage;
+
+ size_t imageWidth = CVPixelBufferGetWidth(pixelBuffer);
+ size_t imageHeight = CVPixelBufferGetHeight(pixelBuffer);
+
+ float imageAspect = (float)imageWidth / (float)imageHeight;
+ float screenAspect = nativeBounds.size.height / nativeBounds.size.width;
+ unityARCamera.videoParams.texCoordScale = screenAspect / imageAspect;
+ s_ShaderScale = screenAspect / imageAspect;
+
+ unityARCamera.getLightEstimation = _getLightEstimation;
+ if (_getLightEstimation)
+ {
+ UnityLightDataFromARFrame(unityARCamera.lightData, frame);
+ }
+
+ unityARCamera.videoParams.yWidth = (uint32_t)imageWidth;
+ unityARCamera.videoParams.yHeight = (uint32_t)imageHeight;
+ unityARCamera.videoParams.cvPixelBufferPtr = (void *) pixelBuffer;
+ UnityARMatrix4x4 displayTransform;
+ memset(&displayTransform, 0, sizeof(UnityARMatrix4x4));
+ UnityARMatrix4x4FromCGAffineTransform(displayTransform, s_CurAffineTransform, UIInterfaceOrientationIsLandscape(orientation));
+ unityARCamera.displayTransform = displayTransform;
+
+ if (_frameCallback != NULL)
+ {
+
+ matrix_float4x4 rotatedMatrix = matrix_identity_float4x4;
+ unityARCamera.videoParams.screenOrientation = 3;
+
+ // rotation matrix
+ // [ cos -sin]
+ // [ sin cos]
+ switch (orient) {
+ case UIInterfaceOrientationPortrait:
+ rotatedMatrix.columns[0][0] = 0;
+ rotatedMatrix.columns[0][1] = 1;
+ rotatedMatrix.columns[1][0] = -1;
+ rotatedMatrix.columns[1][1] = 0;
+ unityARCamera.videoParams.screenOrientation = 1;
+ break;
+ case UIInterfaceOrientationLandscapeLeft:
+ rotatedMatrix.columns[0][0] = -1;
+ rotatedMatrix.columns[0][1] = 0;
+ rotatedMatrix.columns[1][0] = 0;
+ rotatedMatrix.columns[1][1] = -1;
+ unityARCamera.videoParams.screenOrientation = 4;
+ break;
+ case UIInterfaceOrientationPortraitUpsideDown:
+ rotatedMatrix.columns[0][0] = 0;
+ rotatedMatrix.columns[0][1] = -1;
+ rotatedMatrix.columns[1][0] = 1;
+ rotatedMatrix.columns[1][1] = 0;
+ unityARCamera.videoParams.screenOrientation = 2;
+ break;
+ default:
+ break;
+ }
+
+ matrix_float4x4 matrix = matrix_multiply(frame.camera.transform, rotatedMatrix);
+
+ ARKitMatrixToUnityARMatrix4x4(matrix, &unityARCamera.worldTransform);
+
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+ _frameCallback(unityARCamera);
+ });
+ }
+
+
+ if (CVPixelBufferGetPlaneCount(pixelBuffer) < 2 || CVPixelBufferGetPixelFormatType(pixelBuffer) != kCVPixelFormatType_420YpCbCr8BiPlanarFullRange) {
+ return;
+ }
+
+ if (s_UnityPixelBuffers.bEnable)
+ {
+
+ CVPixelBufferLockBaseAddress(pixelBuffer, kCVPixelBufferLock_ReadOnly);
+
+ if (s_UnityPixelBuffers.pYPixelBytes)
+ {
+ unsigned long numBytes = CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, 0) * CVPixelBufferGetHeightOfPlane(pixelBuffer,0);
+ void* baseAddress = CVPixelBufferGetBaseAddressOfPlane(pixelBuffer,0);
+ memcpy(s_UnityPixelBuffers.pYPixelBytes, baseAddress, numBytes);
+ }
+ if (s_UnityPixelBuffers.pUVPixelBytes)
+ {
+ unsigned long numBytes = CVPixelBufferGetBytesPerRowOfPlane(pixelBuffer, 1) * CVPixelBufferGetHeightOfPlane(pixelBuffer,1);
+ void* baseAddress = CVPixelBufferGetBaseAddressOfPlane(pixelBuffer,1);
+ memcpy(s_UnityPixelBuffers.pUVPixelBytes, baseAddress, numBytes);
+ }
+
+ CVPixelBufferUnlockBaseAddress(pixelBuffer, kCVPixelBufferLock_ReadOnly);
+ }
+
+ id textureY = nil;
+ id textureCbCr = nil;
+
+ // textureY
+ {
+ const size_t width = CVPixelBufferGetWidthOfPlane(pixelBuffer, 0);
+ const size_t height = CVPixelBufferGetHeightOfPlane(pixelBuffer, 0);
+ MTLPixelFormat pixelFormat = MTLPixelFormatR8Unorm;
+
+
+ CVMetalTextureRef texture = NULL;
+ CVReturn status = CVMetalTextureCacheCreateTextureFromImage(NULL, _textureCache, pixelBuffer, NULL, pixelFormat, width, height, 0, &texture);
+ if(status == kCVReturnSuccess)
+ {
+ textureY = CVMetalTextureGetTexture(texture);
+ CFRelease(texture);
+ }
+ }
+
+ // textureCbCr
+ {
+ const size_t width = CVPixelBufferGetWidthOfPlane(pixelBuffer, 1);
+ const size_t height = CVPixelBufferGetHeightOfPlane(pixelBuffer, 1);
+ MTLPixelFormat pixelFormat = MTLPixelFormatRG8Unorm;
+
+ CVMetalTextureRef texture = NULL;
+ CVReturn status = CVMetalTextureCacheCreateTextureFromImage(NULL, _textureCache, pixelBuffer, NULL, pixelFormat, width, height, 1, &texture);
+ if(status == kCVReturnSuccess)
+ {
+ textureCbCr = CVMetalTextureGetTexture(texture);
+ CFRelease(texture);
+ }
+ }
+
+ if (textureY != nil && textureCbCr != nil) {
+ dispatch_async(dispatch_get_main_queue(), ^{
+ // always assign the textures atomic
+ s_CapturedImageTextureY = textureY;
+ s_CapturedImageTextureCbCr = textureCbCr;
+ });
+ }
+}
+
+- (void)session:(ARSession *)session didFailWithError:(NSError *)error
+{
+ if (_arSessionFailedCallback != NULL)
+ {
+ _arSessionFailedCallback(static_cast([[error localizedDescription] UTF8String]));
+ }
+}
+
+- (void)session:(ARSession *)session didAddAnchors:(NSArray*)anchors
+{
+ [self sendAnchorAddedEventToUnity:anchors];
+}
+
+- (void)session:(ARSession *)session didUpdateAnchors:(NSArray*)anchors
+{
+ [self sendAnchorUpdatedEventToUnity:anchors];
+}
+
+- (void)session:(ARSession *)session didRemoveAnchors:(NSArray*)anchors
+{
+ [self sendAnchorRemovedEventToUnity:anchors];
+}
+
+- (void) sendAnchorAddedEventToUnity:(NSArray*)anchors
+{
+ for (ARAnchor* anchorPtr in anchors)
+ {
+ id dispatcher = [_classToCallbackMap objectForKey:[anchorPtr class]];
+ [dispatcher sendAnchorAddedEvent:anchorPtr];
+ }
+}
+
+- (void)session:(ARSession *)session cameraDidChangeTrackingState:(ARCamera *)camera
+{
+ if (_arSessionTrackingChanged != NULL)
+ {
+ UnityARCamera unityCamera;
+ GetUnityARCameraDataFromCamera(unityCamera, camera, _getPointCloudData);
+ _arSessionTrackingChanged(unityCamera);
+ }
+}
+
+- (void)sessionWasInterrupted:(ARSession *)session
+{
+ if (_arSessionInterrupted != NULL)
+ {
+ _arSessionInterrupted();
+
+ }
+}
+
+- (void)sessionInterruptionEnded:(ARSession *)session
+{
+ if (_arSessionInterruptionEnded != NULL)
+ {
+ _arSessionInterruptionEnded();
+ }
+}
+
+- (BOOL)sessionShouldAttemptRelocalization:(ARSession *)session
+{
+ if (_arSessionShouldRelocalize != NULL)
+ {
+ return _arSessionShouldRelocalize();
+ }
+ return NO;
+}
+
+- (void) sendAnchorRemovedEventToUnity:(NSArray*)anchors
+{
+ for (ARAnchor* anchorPtr in anchors)
+ {
+ id dispatcher = [_classToCallbackMap objectForKey:[anchorPtr class]];
+ [dispatcher sendAnchorRemovedEvent:anchorPtr];
+ }
+}
+
+- (void) sendAnchorUpdatedEventToUnity:(NSArray*)anchors
+{
+ for (ARAnchor* anchorPtr in anchors)
+ {
+ id dispatcher = [_classToCallbackMap objectForKey:[anchorPtr class]];
+ [dispatcher sendAnchorUpdatedEvent:anchorPtr];
+ }
+}
+
+@end
+
+/// Create the native mirror to the C# ARSession object
+
+extern "C" void* unity_CreateNativeARSession()
+{
+ UnityARSession *nativeSession = [[UnityARSession alloc] init];
+ nativeSession->_session = [ARSession new];
+ nativeSession->_session.delegate = nativeSession;
+ unityCameraNearZ = .01;
+ unityCameraFarZ = 30;
+ s_UnityPixelBuffers.bEnable = false;
+ return (__bridge_retained void*)nativeSession;
+}
+
+extern "C" void session_SetSessionCallbacks(const void* session, UNITY_AR_FRAME_CALLBACK frameCallback,
+ UNITY_AR_SESSION_FAILED_CALLBACK sessionFailed,
+ UNITY_AR_SESSION_VOID_CALLBACK sessionInterrupted,
+ UNITY_AR_SESSION_VOID_CALLBACK sessionInterruptionEnded,
+ UNITY_AR_SESSION_RELOCALIZE_CALLBACK sessionShouldRelocalize,
+ UNITY_AR_SESSION_TRACKING_CHANGED trackingChanged)
+{
+ UnityARSession* nativeSession = (__bridge UnityARSession*)session;
+ nativeSession->_frameCallback = frameCallback;
+ nativeSession->_arSessionFailedCallback = sessionFailed;
+ nativeSession->_arSessionInterrupted = sessionInterrupted;
+ nativeSession->_arSessionInterruptionEnded = sessionInterruptionEnded;
+ nativeSession->_arSessionShouldRelocalize = sessionShouldRelocalize;
+ nativeSession->_arSessionTrackingChanged = trackingChanged;
+}
+
+extern "C" void session_SetPlaneAnchorCallbacks(const void* session, UNITY_AR_ANCHOR_CALLBACK anchorAddedCallback,
+ UNITY_AR_ANCHOR_CALLBACK anchorUpdatedCallback,
+ UNITY_AR_ANCHOR_CALLBACK anchorRemovedCallback)
+{
+ UnityARSession* nativeSession = (__bridge UnityARSession*)session;
+ UnityARAnchorCallbackWrapper* anchorCallbacks = [[UnityARAnchorCallbackWrapper alloc] init];
+ anchorCallbacks->_anchorAddedCallback = anchorAddedCallback;
+ anchorCallbacks->_anchorUpdatedCallback = anchorUpdatedCallback;
+ anchorCallbacks->_anchorRemovedCallback = anchorRemovedCallback;
+ [nativeSession->_classToCallbackMap setObject:anchorCallbacks forKey:[ARPlaneAnchor class]];
+}
+
+extern "C" void session_SetUserAnchorCallbacks(const void* session, UNITY_AR_USER_ANCHOR_CALLBACK userAnchorAddedCallback,
+ UNITY_AR_USER_ANCHOR_CALLBACK userAnchorUpdatedCallback,
+ UNITY_AR_USER_ANCHOR_CALLBACK userAnchorRemovedCallback)
+{
+ UnityARSession* nativeSession = (__bridge UnityARSession*)session;
+ UnityARUserAnchorCallbackWrapper* userAnchorCallbacks = [[UnityARUserAnchorCallbackWrapper alloc] init];
+ userAnchorCallbacks->_anchorAddedCallback = userAnchorAddedCallback;
+ userAnchorCallbacks->_anchorUpdatedCallback = userAnchorUpdatedCallback;
+ userAnchorCallbacks->_anchorRemovedCallback = userAnchorRemovedCallback;
+ [nativeSession->_classToCallbackMap setObject:userAnchorCallbacks forKey:[ARAnchor class]];
+}
+
+extern "C" void session_SetFaceAnchorCallbacks(const void* session, UNITY_AR_FACE_ANCHOR_CALLBACK faceAnchorAddedCallback,
+ UNITY_AR_FACE_ANCHOR_CALLBACK faceAnchorUpdatedCallback,
+ UNITY_AR_FACE_ANCHOR_CALLBACK faceAnchorRemovedCallback)
+{
+#if ARKIT_USES_FACETRACKING
+ UnityARSession* nativeSession = (__bridge UnityARSession*)session;
+ UnityARFaceAnchorCallbackWrapper* faceAnchorCallbacks = [[UnityARFaceAnchorCallbackWrapper alloc] init];
+ faceAnchorCallbacks->_anchorAddedCallback = faceAnchorAddedCallback;
+ faceAnchorCallbacks->_anchorUpdatedCallback = faceAnchorUpdatedCallback;
+ faceAnchorCallbacks->_anchorRemovedCallback = faceAnchorRemovedCallback;
+ [nativeSession->_classToCallbackMap setObject:faceAnchorCallbacks forKey:[ARFaceAnchor class]];
+#endif
+}
+
+extern "C" void session_SetImageAnchorCallbacks(const void* session, UNITY_AR_IMAGE_ANCHOR_CALLBACK imageAnchorAddedCallback,
+ UNITY_AR_IMAGE_ANCHOR_CALLBACK imageAnchorUpdatedCallback,
+ UNITY_AR_IMAGE_ANCHOR_CALLBACK imageAnchorRemovedCallback)
+{
+ if (UnityIsARKit_1_5_Supported())
+ {
+ UnityARSession* nativeSession = (__bridge UnityARSession*)session;
+ UnityARImageAnchorCallbackWrapper* imageAnchorCallbacks = [[UnityARImageAnchorCallbackWrapper alloc] init];
+ imageAnchorCallbacks->_anchorAddedCallback = imageAnchorAddedCallback;
+ imageAnchorCallbacks->_anchorUpdatedCallback = imageAnchorUpdatedCallback;
+ imageAnchorCallbacks->_anchorRemovedCallback = imageAnchorRemovedCallback;
+ [nativeSession->_classToCallbackMap setObject:imageAnchorCallbacks forKey:[ARImageAnchor class]];
+ }
+}
+
+extern "C" void StartWorldTrackingSessionWithOptions(void* nativeSession, ARKitWorldTrackingSessionConfiguration unityConfig, UnityARSessionRunOptions runOptions)
+{
+ UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+ ARWorldTrackingConfiguration* config = [ARWorldTrackingConfiguration new];
+ ARSessionRunOptions runOpts = GetARSessionRunOptionsFromUnityARSessionRunOptions(runOptions);
+ GetARSessionConfigurationFromARKitWorldTrackingSessionConfiguration(unityConfig, config);
+ session->_getPointCloudData = (BOOL) unityConfig.getPointCloudData;
+ session->_getLightEstimation = (BOOL) unityConfig.enableLightEstimation;
+
+ if(UnityIsARKit_1_5_Supported() && unityConfig.arResourceGroup != NULL && strlen(unityConfig.arResourceGroup) > 0)
+ {
+ NSString *strResourceGroup = [[NSString alloc] initWithUTF8String:unityConfig.arResourceGroup];
+ NSSet *referenceImages = [ARReferenceImage referenceImagesInGroupNamed:strResourceGroup bundle:nil];
+ config.detectionImages = referenceImages;
+ }
+
+ [session->_session runWithConfiguration:config options:runOpts ];
+ [session setupMetal];
+}
+
+
+
+extern "C" void StartWorldTrackingSession(void* nativeSession, ARKitWorldTrackingSessionConfiguration unityConfig)
+{
+ UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+ ARWorldTrackingConfiguration* config = [ARWorldTrackingConfiguration new];
+ GetARSessionConfigurationFromARKitWorldTrackingSessionConfiguration(unityConfig, config);
+ session->_getPointCloudData = (BOOL) unityConfig.getPointCloudData;
+ session->_getLightEstimation = (BOOL) unityConfig.enableLightEstimation;
+
+ if(UnityIsARKit_1_5_Supported() && unityConfig.arResourceGroup != NULL && strlen(unityConfig.arResourceGroup) > 0)
+ {
+ NSString *strResourceGroup = [[NSString alloc] initWithUTF8String:unityConfig.arResourceGroup];
+ NSSet *referenceImages = [ARReferenceImage referenceImagesInGroupNamed:strResourceGroup bundle:nil];
+ config.detectionImages = referenceImages;
+ }
+
+ [session->_session runWithConfiguration:config];
+ [session setupMetal];
+}
+
+extern "C" void StartSessionWithOptions(void* nativeSession, ARKitSessionConfiguration unityConfig, UnityARSessionRunOptions runOptions)
+{
+ UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+ ARConfiguration* config = [AROrientationTrackingConfiguration new];
+ ARSessionRunOptions runOpts = GetARSessionRunOptionsFromUnityARSessionRunOptions(runOptions);
+ GetARSessionConfigurationFromARKitSessionConfiguration(unityConfig, config);
+ session->_getPointCloudData = (BOOL) unityConfig.getPointCloudData;
+ session->_getLightEstimation = (BOOL) unityConfig.enableLightEstimation;
+ [session->_session runWithConfiguration:config options:runOpts ];
+ [session setupMetal];
+}
+
+
+
+extern "C" void StartSession(void* nativeSession, ARKitSessionConfiguration unityConfig)
+{
+ UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+ ARConfiguration* config = [AROrientationTrackingConfiguration new];
+ GetARSessionConfigurationFromARKitSessionConfiguration(unityConfig, config);
+ session->_getPointCloudData = (BOOL) unityConfig.getPointCloudData;
+ session->_getLightEstimation = (BOOL) unityConfig.enableLightEstimation;
+ [session->_session runWithConfiguration:config];
+ [session setupMetal];
+}
+
+extern "C" void StartFaceTrackingSessionWithOptions(void* nativeSession, ARKitFaceTrackingConfiguration unityConfig, UnityARSessionRunOptions runOptions)
+{
+#if ARKIT_USES_FACETRACKING
+ UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+ ARConfiguration* config = [ARFaceTrackingConfiguration new];
+ ARSessionRunOptions runOpts = GetARSessionRunOptionsFromUnityARSessionRunOptions(runOptions);
+ GetARFaceConfigurationFromARKitFaceConfiguration(unityConfig, config);
+ session->_getLightEstimation = (BOOL) unityConfig.enableLightEstimation;
+ [session->_session runWithConfiguration:config options:runOpts ];
+ [session setupMetal];
+#else
+ [NSException raise:@"UnityARKitPluginFaceTrackingNotEnabled" format:@"UnityARKitPlugin: Trying to start FaceTracking session without enabling it in settings."];
+#endif
+}
+
+extern "C" void StartFaceTrackingSession(void* nativeSession, ARKitFaceTrackingConfiguration unityConfig)
+{
+ StartFaceTrackingSessionWithOptions(nativeSession, unityConfig, UnityARSessionRunOptionsNone);
+}
+
+extern "C" void PauseSession(void* nativeSession)
+{
+ UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+ [session->_session pause];
+}
+
+extern "C" void StopSession(void* nativeSession)
+{
+ UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+ [session teardownMetal];
+}
+
+extern "C" UnityARUserAnchorData SessionAddUserAnchor(void* nativeSession, UnityARUserAnchorData anchorData)
+{
+ // create a native ARAnchor and add it to the session
+ // then return the data back to the user that they will
+ // need in case they want to remove it
+ UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+ ARAnchor *newAnchor = [[ARAnchor alloc] initWithTransform:matrix_identity_float4x4];
+
+ [session->_session addAnchor:newAnchor];
+ UnityARUserAnchorData returnAnchorData;
+ UnityARUserAnchorDataFromARAnchorPtr(returnAnchorData, newAnchor);
+ return returnAnchorData;
+}
+
+extern "C" void SessionRemoveUserAnchor(void* nativeSession, const char * anchorIdentifier)
+{
+ // go through anchors and find the right one
+ // then remove it from the session
+ UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+ for (ARAnchor* a in session->_session.currentFrame.anchors)
+ {
+ if ([[a.identifier UUIDString] isEqualToString:[NSString stringWithUTF8String:anchorIdentifier]])
+ {
+ [session->_session removeAnchor:a];
+ return;
+ }
+ }
+}
+
+extern "C" void SessionSetWorldOrigin(void* nativeSession, UnityARMatrix4x4 worldMatrix)
+{
+ if (UnityIsARKit_1_5_Supported())
+ {
+ UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+ matrix_float4x4 arWorldMatrix;
+ UnityARMatrix4x4ToARKitMatrix(worldMatrix, &arWorldMatrix);
+ [session->_session setWorldOrigin:arWorldMatrix];
+ }
+}
+
+extern "C" void SetCameraNearFar (float nearZ, float farZ)
+{
+ unityCameraNearZ = nearZ;
+ unityCameraFarZ = farZ;
+}
+
+extern "C" void CapturePixelData (uint32_t enable, void* pYPixelBytes, void *pUVPixelBytes)
+{
+ s_UnityPixelBuffers.bEnable = (BOOL) enable;
+ if (s_UnityPixelBuffers.bEnable)
+ {
+ s_UnityPixelBuffers.pYPixelBytes = pYPixelBytes;
+ s_UnityPixelBuffers.pUVPixelBytes = pUVPixelBytes;
+ } else {
+ s_UnityPixelBuffers.pYPixelBytes = NULL;
+ s_UnityPixelBuffers.pUVPixelBytes = NULL;
+ }
+}
+
+extern "C" struct HitTestResult
+{
+ void* ptr;
+ int count;
+};
+
+// Must match ARHitTestResult in ARHitTestResult.cs
+extern "C" struct UnityARHitTestResult
+{
+ ARHitTestResultType type;
+ double distance;
+ UnityARMatrix4x4 localTransform;
+ UnityARMatrix4x4 worldTransform;
+ void* anchorPtr;
+ bool isValid;
+};
+
+// Must match ARTextureHandles in UnityARSession.cs
+extern "C" struct UnityARTextureHandles
+{
+ void* textureY;
+ void* textureCbCr;
+};
+
+// Cache results locally
+static NSArray* s_LastHitTestResults;
+
+// Returns the number of hits and caches the results internally
+extern "C" int HitTest(void* nativeSession, CGPoint point, ARHitTestResultType types)
+{
+ UnityARSession* session = (__bridge UnityARSession*)nativeSession;
+ point = CGPointApplyAffineTransform(CGPointMake(point.x, 1.0f - point.y), CGAffineTransformInvert(CGAffineTransformInvert(s_CurAffineTransform)));
+ s_LastHitTestResults = [session->_session.currentFrame hitTest:point types:types];
+
+ return (int)[s_LastHitTestResults count];
+}
+extern "C" UnityARHitTestResult GetLastHitTestResult(int index)
+{
+ UnityARHitTestResult unityResult;
+ memset(&unityResult, 0, sizeof(UnityARHitTestResult));
+
+ if (s_LastHitTestResults != nil && index >= 0 && index < [s_LastHitTestResults count])
+ {
+ ARHitTestResult* hitResult = s_LastHitTestResults[index];
+ unityResult.type = hitResult.type;
+ unityResult.distance = hitResult.distance;
+ ARKitMatrixToUnityARMatrix4x4(hitResult.localTransform, &unityResult.localTransform);
+ ARKitMatrixToUnityARMatrix4x4(hitResult.worldTransform, &unityResult.worldTransform);
+ unityResult.anchorPtr = (void*)[hitResult.anchor.identifier.UUIDString UTF8String];
+ unityResult.isValid = true;
+ }
+
+ return unityResult;
+}
+
+extern "C" UnityARTextureHandles GetVideoTextureHandles()
+{
+ UnityARTextureHandles handles;
+ handles.textureY = (__bridge_retained void*)s_CapturedImageTextureY;
+ handles.textureCbCr = (__bridge_retained void*)s_CapturedImageTextureCbCr;
+
+ return handles;
+}
+
+extern "C" bool GetARPointCloud(float** verts, unsigned int* vertLength)
+{
+ *verts = (float*)s_PointCloud;
+ *vertLength = (unsigned int)s_PointCloudSize * 4;
+ return YES;
+}
+
+extern "C" UnityARMatrix4x4 GetCameraProjectionMatrix()
+{
+ return s_CameraProjectionMatrix;
+}
+
+extern "C" float GetAmbientIntensity()
+{
+ return s_AmbientIntensity;
+}
+
+extern "C" int GetTrackingQuality()
+{
+ return s_TrackingQuality;
+}
+
+extern "C" bool IsARKitWorldTrackingSessionConfigurationSupported()
+{
+ return ARWorldTrackingConfiguration.isSupported;
+}
+
+extern "C" bool IsARKitSessionConfigurationSupported()
+{
+ return AROrientationTrackingConfiguration.isSupported;
+}
+
+extern "C" void EnumerateVideoFormats(UNITY_AR_VIDEOFORMAT_CALLBACK videoFormatCallback)
+{
+ if (UnityIsARKit_1_5_Supported())
+ {
+ for(ARVideoFormat* arVideoFormat in ARWorldTrackingConfiguration.supportedVideoFormats)
+ {
+ UnityARVideoFormat videoFormat;
+ videoFormat.ptrVideoFormat = (__bridge void *)arVideoFormat;
+ videoFormat.imageResolutionWidth = arVideoFormat.imageResolution.width;
+ videoFormat.imageResolutionHeight = arVideoFormat.imageResolution.height;
+ videoFormat.framesPerSecond = arVideoFormat.framesPerSecond;
+ videoFormatCallback(videoFormat);
+ }
+ }
+}
+
+extern "C" bool Native_IsARKit_1_5_Supported()
+{
+ return UnityIsARKit_1_5_Supported();
+}
+
+extern "C" bool IsARKitFaceTrackingConfigurationSupported()
+{
+#if ARKIT_USES_FACETRACKING
+ return ARFaceTrackingConfiguration.isSupported;
+#else
+ [NSException raise:@"UnityARKitPluginFaceTrackingNotEnabled" format:@"UnityARKitPlugin: Checking FaceTracking device support without enabling it in settings."];
+#endif
+}
+
+extern "C" void GetBlendShapesInfo(void* ptrDictionary, void (*visitorFn)(const char* key, const float value))
+{
+#if ARKIT_USES_FACETRACKING
+ // Get your NSDictionary
+ NSDictionary * dictionary = (__bridge NSDictionary *) ptrDictionary;
+
+ for(NSString* key in dictionary)
+ {
+ NSNumber* value = [dictionary objectForKey:key];
+ visitorFn([key UTF8String], [value floatValue]);
+ }
+#endif
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSize.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSize.cs
new file mode 100755
index 00000000..bf48f237
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARSize.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public struct ARSize
+ {
+ public double width;
+ public double height;
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTextureHandles.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTextureHandles.cs
new file mode 100755
index 00000000..a30f5884
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTextureHandles.cs
@@ -0,0 +1,12 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public struct ARTextureHandles
+ {
+ // Native (Metal) texture handles for the device camera buffer
+ public IntPtr textureY;
+ public IntPtr textureCbCr;
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingQuality.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingQuality.cs
new file mode 100755
index 00000000..31dde33c
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingQuality.cs
@@ -0,0 +1,21 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public enum ARTrackingQuality : long
+ {
+ /** The tracking quality is not available. */
+ ARTrackingQualityNotAvailable,
+
+ /** The tracking quality is limited, relying only on the device's motion. */
+ ARTrackingQualityLimited,
+
+ /** The tracking quality is poor. */
+ ARTrackingQualityPoor,
+
+ /** The tracking quality is good. */
+ ARTrackingQualityGood
+
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingState.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingState.cs
new file mode 100755
index 00000000..d1b309e6
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingState.cs
@@ -0,0 +1,17 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public enum ARTrackingState
+ {
+ /** Tracking is not available. */
+ ARTrackingStateNotAvailable,
+
+ /** Tracking is limited. See tracking reason for details. */
+ ARTrackingStateLimited,
+
+ /** Tracking is Normal. */
+ ARTrackingStateNormal,
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingStateReason.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingStateReason.cs
new file mode 100755
index 00000000..4fa43f95
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARTrackingStateReason.cs
@@ -0,0 +1,23 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public enum ARTrackingStateReason
+ {
+ /** Tracking is not limited. */
+ ARTrackingStateReasonNone,
+
+ /** Tracking is limited due to initialization in progress. */
+ ARTrackingStateReasonInitializing,
+
+ /** Tracking is limited due to a excessive motion of the camera. */
+ ARTrackingStateReasonExcessiveMotion,
+
+ /** Tracking is limited due to a lack of features visible to the camera. */
+ ARTrackingStateReasonInsufficientFeatures,
+
+ /** Tracking is limited due to a relocalization in progress. */
+ ARTrackingStateReasonRelocalizing,
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARUserAnchor.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARUserAnchor.cs
new file mode 100755
index 00000000..15cd01ed
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARUserAnchor.cs
@@ -0,0 +1,16 @@
+using System;
+
+namespace UnityEngine.XR.iOS
+{
+ public struct ARUserAnchor
+ {
+
+ public string identifier;
+
+ /**
+ The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates.
+ */
+ public Matrix4x4 transform;
+ }
+}
+
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARVideoFormat.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARVideoFormat.cs
new file mode 100755
index 00000000..96218365
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/ARVideoFormat.cs
@@ -0,0 +1,48 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+using System.Runtime.InteropServices;
+using AOT;
+
+
+namespace UnityEngine.XR.iOS
+{
+
+ public struct UnityARVideoFormat {
+ public IntPtr videoFormatPtr;
+ public float imageResolutionWidth;
+ public float imageResolutionHeight;
+ public int framesPerSecond;
+
+ #if UNITY_EDITOR
+ private static void EnumerateVideoFormats(VideoFormatEnumerator videoFormatEnumerator) {
+ }
+ #else
+ [DllImport("__Internal")]
+ private static extern void EnumerateVideoFormats(VideoFormatEnumerator videoFormatEnumerator);
+ #endif
+
+ static List videoFormatsList;
+
+ public static List SupportedVideoFormats()
+ {
+ videoFormatsList = new List ();
+ EnumerateVideoFormats (AddToVFList);
+
+ return videoFormatsList;
+ }
+
+ [MonoPInvokeCallback(typeof(VideoFormatEnumerator))]
+ private static void AddToVFList(UnityARVideoFormat newFormat)
+ {
+ Debug.Log ("New Format returned");
+ videoFormatsList.Add (newFormat);
+ }
+
+ }
+
+ public delegate void VideoFormatEnumerator(UnityARVideoFormat videoFormat);
+
+
+}
\ No newline at end of file
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/UnityARSessionNativeInterface.cs b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/UnityARSessionNativeInterface.cs
new file mode 100755
index 00000000..9b735ab4
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/NativeInterface/UnityARSessionNativeInterface.cs
@@ -0,0 +1,998 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+using System.Runtime.InteropServices;
+using AOT;
+
+namespace UnityEngine.XR.iOS
+{
+
+ ///
+ /// A struct that allows us go from native Matrix4x4 to managed
+ ///
+ public struct UnityARMatrix4x4
+ {
+ public Vector4 column0;
+ public Vector4 column1;
+ public Vector4 column2;
+ public Vector4 column3;
+
+ public UnityARMatrix4x4(Vector4 c0, Vector4 c1, Vector4 c2, Vector4 c3)
+ {
+ column0 = c0; column1 = c1; column2 = c2; column3 = c3;
+ }
+ };
+
+ [Serializable]
+ public struct UnityVideoParams
+ {
+ public int yWidth;
+ public int yHeight;
+ public int screenOrientation;
+ public float texCoordScale;
+ public IntPtr cvPixelBufferPtr;
+ };
+
+ struct internal_UnityARCamera
+ {
+ public UnityARMatrix4x4 worldTransform;
+ public UnityARMatrix4x4 projectionMatrix;
+ public ARTrackingState trackingState;
+ public ARTrackingStateReason trackingReason;
+ public UnityVideoParams videoParams;
+ public UnityMarshalLightData lightData;
+ public UnityARMatrix4x4 displayTransform;
+ public uint getPointCloudData;
+ public uint getLightEstimation;
+ };
+
+ public struct UnityARCamera
+ {
+ public UnityARMatrix4x4 worldTransform;
+ public UnityARMatrix4x4 projectionMatrix;
+ public ARTrackingState trackingState;
+ public ARTrackingStateReason trackingReason;
+ public UnityVideoParams videoParams;
+ public UnityARLightData lightData;
+ public UnityARMatrix4x4 displayTransform;
+ public Vector3[] pointCloudData;
+
+ public UnityARCamera(UnityARMatrix4x4 wt, UnityARMatrix4x4 pm, ARTrackingState ats, ARTrackingStateReason atsr, UnityVideoParams uvp, UnityARLightData lightDat, UnityARMatrix4x4 dt, Vector3[] pointCloud)
+ {
+ worldTransform = wt;
+ projectionMatrix = pm;
+ trackingState = ats;
+ trackingReason = atsr;
+ videoParams = uvp;
+ lightData = lightDat;
+ displayTransform = dt;
+ pointCloudData = pointCloud;
+ }
+ };
+
+
+
+ public struct UnityARUserAnchorData
+ {
+
+ public IntPtr ptrIdentifier;
+
+ /**
+ The transformation matrix that defines the anchor's rotation, translation and scale in world coordinates.
+ */
+ public UnityARMatrix4x4 transform;
+
+ public string identifierStr { get { return Marshal.PtrToStringAuto(this.ptrIdentifier); } }
+
+ public static UnityARUserAnchorData UnityARUserAnchorDataFromGameObject(GameObject go)
+ {
+ // create an anchor data struct from a game object transform
+ Matrix4x4 matrix = Matrix4x4.TRS(go.transform.position, go.transform.rotation, go.transform.localScale);
+ UnityARUserAnchorData ad = new UnityARUserAnchorData();
+ ad.transform.column0 = matrix.GetColumn(0);
+ ad.transform.column1 = matrix.GetColumn(1);
+ ad.transform.column2 = matrix.GetColumn(2);
+ ad.transform.column3 = matrix.GetColumn(3);
+ return ad;
+ }
+ };
+
+
+ public struct UnityARHitTestResult
+ {
+ /**
+ The type of the hit-test result.
+ */
+ public ARHitTestResultType type;
+
+ /**
+ The distance from the camera to the intersection in meters.
+ */
+ public double distance;
+
+ /**
+ The transformation matrix that defines the intersection's rotation, translation and scale
+ relative to the anchor or nearest feature point.
+ */
+ public Matrix4x4 localTransform;
+
+ /**
+ The transformation matrix that defines the intersection's rotation, translation and scale
+ relative to the world.
+ */
+ public Matrix4x4 worldTransform;
+
+ /**
+ The anchor that the hit-test intersected.
+ */
+ public IntPtr anchor;
+
+ /**
+ True if the test represents a valid hit test. Data is undefined otherwise.
+ */
+ public bool isValid;
+
+ };
+
+ public enum UnityARAlignment
+ {
+ UnityARAlignmentGravity,
+ UnityARAlignmentGravityAndHeading,
+ UnityARAlignmentCamera
+ }
+
+ public enum UnityARPlaneDetection
+ {
+ None = 0,
+ Horizontal = (1 << 0),
+ Vertical = (1 << 1),
+ HorizontalAndVertical = (1 << 1) | (1 << 0)
+ }
+
+ public struct ARKitSessionConfiguration
+ {
+ public UnityARAlignment alignment;
+ public bool getPointCloudData;
+ public bool enableLightEstimation;
+ public bool IsSupported { get { return IsARKitSessionConfigurationSupported(); } private set { } }
+
+ public ARKitSessionConfiguration(UnityARAlignment alignment = UnityARAlignment.UnityARAlignmentGravity,
+ bool getPointCloudData = false,
+ bool enableLightEstimation = false)
+ {
+ this.getPointCloudData = getPointCloudData;
+ this.alignment = alignment;
+ this.enableLightEstimation = enableLightEstimation;
+ }
+
+#if UNITY_EDITOR || !UNITY_IOS
+ private bool IsARKitSessionConfigurationSupported()
+ {
+ return true;
+ }
+#else
+ [DllImport("__Internal")]
+ private static extern bool IsARKitSessionConfigurationSupported();
+#endif
+ }
+
+
+
+ public struct ARKitWorldTrackingSessionConfiguration
+ {
+ public UnityARAlignment alignment;
+ public UnityARPlaneDetection planeDetection;
+ public bool getPointCloudData;
+ public bool enableLightEstimation;
+ public bool enableAutoFocus;
+ public IntPtr videoFormat;
+ public string arResourceGroupName;
+ public bool IsSupported { get { return IsARKitWorldTrackingSessionConfigurationSupported(); } private set { } }
+
+ public ARKitWorldTrackingSessionConfiguration(UnityARAlignment alignment = UnityARAlignment.UnityARAlignmentGravity,
+ UnityARPlaneDetection planeDetection = UnityARPlaneDetection.Horizontal,
+ bool getPointCloudData = false,
+ bool enableLightEstimation = false,
+ bool enableAutoFocus = true,
+ IntPtr vidFormat = default(IntPtr),
+ string arResourceGroup = null)
+ {
+ this.getPointCloudData = getPointCloudData;
+ this.alignment = alignment;
+ this.planeDetection = planeDetection;
+ this.enableLightEstimation = enableLightEstimation;
+ this.enableAutoFocus = enableAutoFocus;
+ this.videoFormat = vidFormat;
+ this.arResourceGroupName = arResourceGroup;
+
+ }
+
+
+
+#if UNITY_EDITOR || !UNITY_IOS
+ private bool IsARKitWorldTrackingSessionConfigurationSupported()
+ {
+ return true;
+ }
+#else
+ [DllImport("__Internal")]
+ private static extern bool IsARKitWorldTrackingSessionConfigurationSupported();
+#endif
+ }
+
+ public struct ARKitFaceTrackingConfiguration
+ {
+ public UnityARAlignment alignment;
+ public bool enableLightEstimation;
+ public bool IsSupported { get { return IsARKitFaceTrackingConfigurationSupported(); } private set { } }
+
+ public ARKitFaceTrackingConfiguration(UnityARAlignment alignment = UnityARAlignment.UnityARAlignmentGravity,
+ bool enableLightEstimation = false)
+ {
+ this.alignment = alignment;
+ this.enableLightEstimation = enableLightEstimation;
+ }
+
+#if UNITY_EDITOR || !UNITY_IOS
+ private bool IsARKitFaceTrackingConfigurationSupported()
+ {
+ return true;
+ }
+#else
+ [DllImport("__Internal")]
+ private static extern bool IsARKitFaceTrackingConfigurationSupported();
+#endif
+
+ }
+
+ public enum UnityARSessionRunOption
+ {
+ /** The session will reset tracking. */
+ ARSessionRunOptionResetTracking = (1 << 0),
+
+ /** The session will remove existing anchors. */
+ ARSessionRunOptionRemoveExistingAnchors = (1 << 1)
+ }
+
+ public class UnityARSessionNativeInterface
+ {
+
+ // public delegate void ARFrameUpdate(UnityARMatrix4x4 cameraPos, UnityARMatrix4x4 projection);
+ // public static event ARFrameUpdate ARFrameUpdatedEvent;
+
+ // Plane Anchors
+ public delegate void ARFrameUpdate(UnityARCamera camera);
+ public static event ARFrameUpdate ARFrameUpdatedEvent;
+
+ public delegate void ARAnchorAdded(ARPlaneAnchor anchorData);
+ public static event ARAnchorAdded ARAnchorAddedEvent;
+
+ public delegate void ARAnchorUpdated(ARPlaneAnchor anchorData);
+ public static event ARAnchorUpdated ARAnchorUpdatedEvent;
+
+ public delegate void ARAnchorRemoved(ARPlaneAnchor anchorData);
+ public static event ARAnchorRemoved ARAnchorRemovedEvent;
+
+ // User Anchors
+ public delegate void ARUserAnchorAdded(ARUserAnchor anchorData);
+ public static event ARUserAnchorAdded ARUserAnchorAddedEvent;
+
+ public delegate void ARUserAnchorUpdated(ARUserAnchor anchorData);
+ public static event ARUserAnchorUpdated ARUserAnchorUpdatedEvent;
+
+ public delegate void ARUserAnchorRemoved(ARUserAnchor anchorData);
+ public static event ARUserAnchorRemoved ARUserAnchorRemovedEvent;
+
+ // Face Anchors
+ public delegate void ARFaceAnchorAdded(ARFaceAnchor anchorData);
+ public static event ARFaceAnchorAdded ARFaceAnchorAddedEvent;
+
+ public delegate void ARFaceAnchorUpdated(ARFaceAnchor anchorData);
+ public static event ARFaceAnchorUpdated ARFaceAnchorUpdatedEvent;
+
+ public delegate void ARFaceAnchorRemoved(ARFaceAnchor anchorData);
+ public static event ARFaceAnchorRemoved ARFaceAnchorRemovedEvent;
+
+ // Image Anchors
+ public delegate void ARImageAnchorAdded(ARImageAnchor anchorData);
+ public static event ARImageAnchorAdded ARImageAnchorAddedEvent;
+
+ public delegate void ARImageAnchorUpdated(ARImageAnchor anchorData);
+ public static event ARImageAnchorUpdated ARImageAnchorUpdatedEvent;
+
+ public delegate void ARImageAnchorRemoved(ARImageAnchor anchorData);
+ public static event ARImageAnchorRemoved ARImageAnchorRemovedEvent;
+
+ public delegate void ARSessionFailed(string error);
+ public static event ARSessionFailed ARSessionFailedEvent;
+
+ public delegate void ARSessionCallback();
+ public delegate bool ARSessionLocalizeCallback();
+ public static event ARSessionCallback ARSessionInterruptedEvent;
+ public static event ARSessionCallback ARSessioninterruptionEndedEvent;
+ public delegate void ARSessionTrackingChanged(UnityARCamera camera);
+ public static event ARSessionTrackingChanged ARSessionTrackingChangedEvent;
+
+ public static bool ARSessionShouldAttemptRelocalization { get; set; }
+
+ delegate void internal_ARFrameUpdate(internal_UnityARCamera camera);
+ public delegate void internal_ARAnchorAdded(UnityARAnchorData anchorData);
+ public delegate void internal_ARAnchorUpdated(UnityARAnchorData anchorData);
+ public delegate void internal_ARAnchorRemoved(UnityARAnchorData anchorData);
+ public delegate void internal_ARUserAnchorAdded(UnityARUserAnchorData anchorData);
+ public delegate void internal_ARUserAnchorUpdated(UnityARUserAnchorData anchorData);
+ public delegate void internal_ARUserAnchorRemoved(UnityARUserAnchorData anchorData);
+ public delegate void internal_ARFaceAnchorAdded(UnityARFaceAnchorData anchorData);
+ public delegate void internal_ARFaceAnchorUpdated(UnityARFaceAnchorData anchorData);
+ public delegate void internal_ARFaceAnchorRemoved(UnityARFaceAnchorData anchorData);
+ public delegate void internal_ARImageAnchorAdded(UnityARImageAnchorData anchorData);
+ public delegate void internal_ARImageAnchorUpdated(UnityARImageAnchorData anchorData);
+ public delegate void internal_ARImageAnchorRemoved(UnityARImageAnchorData anchorData);
+ delegate void internal_ARSessionTrackingChanged(internal_UnityARCamera camera);
+
+ private static UnityARCamera s_Camera;
+
+#if !UNITY_EDITOR && UNITY_IOS
+ private IntPtr m_NativeARSession;
+
+
+ [DllImport("__Internal")]
+ private static extern IntPtr unity_CreateNativeARSession();
+
+ [DllImport("__Internal")]
+ private static extern void session_SetSessionCallbacks(IntPtr nativeSession, internal_ARFrameUpdate frameCallback,
+ ARSessionFailed sessionFailed,
+ ARSessionCallback sessionInterrupted,
+ ARSessionCallback sessionInterruptionEnded,
+ ARSessionLocalizeCallback sessionShouldRelocalize,
+ internal_ARSessionTrackingChanged trackingChanged);
+
+ [DllImport("__Internal")]
+ private static extern void session_SetPlaneAnchorCallbacks(IntPtr nativeSession, internal_ARAnchorAdded anchorAddedCallback,
+ internal_ARAnchorUpdated anchorUpdatedCallback,
+ internal_ARAnchorRemoved anchorRemovedCallback);
+
+ [DllImport("__Internal")]
+ private static extern void session_SetUserAnchorCallbacks(IntPtr nativeSession, internal_ARUserAnchorAdded userAnchorAddedCallback,
+ internal_ARUserAnchorUpdated userAnchorUpdatedCallback,
+ internal_ARUserAnchorRemoved userAnchorRemovedCallback);
+
+ [DllImport("__Internal")]
+ private static extern void session_SetImageAnchorCallbacks(IntPtr nativeSession, internal_ARImageAnchorAdded imageAnchorAddedCallback,
+ internal_ARImageAnchorUpdated imageAnchorUpdatedCallback,
+ internal_ARImageAnchorRemoved imageAnchorRemovedCallback);
+
+ [DllImport("__Internal")]
+ private static extern void session_SetFaceAnchorCallbacks(IntPtr nativeSession, internal_ARFaceAnchorAdded faceAnchorAddedCallback,
+ internal_ARFaceAnchorUpdated faceAnchorUpdatedCallback,
+ internal_ARFaceAnchorRemoved faceAnchorRemovedCallback);
+
+ [DllImport("__Internal")]
+ private static extern void StartWorldTrackingSession(IntPtr nativeSession, ARKitWorldTrackingSessionConfiguration configuration);
+
+ [DllImport("__Internal")]
+ private static extern void StartWorldTrackingSessionWithOptions(IntPtr nativeSession, ARKitWorldTrackingSessionConfiguration configuration, UnityARSessionRunOption runOptions);
+
+ [DllImport("__Internal")]
+ private static extern void StartSession(IntPtr nativeSession, ARKitSessionConfiguration configuration);
+
+ [DllImport("__Internal")]
+ private static extern void StartSessionWithOptions(IntPtr nativeSession, ARKitSessionConfiguration configuration, UnityARSessionRunOption runOptions);
+
+ [DllImport("__Internal")]
+ private static extern void StartFaceTrackingSession(IntPtr nativeSession, ARKitFaceTrackingConfiguration configuration);
+
+ [DllImport("__Internal")]
+ private static extern void StartFaceTrackingSessionWithOptions(IntPtr nativeSession, ARKitFaceTrackingConfiguration configuration, UnityARSessionRunOption runOptions);
+
+ [DllImport("__Internal")]
+ private static extern void PauseSession(IntPtr nativeSession);
+
+ [DllImport("__Internal")]
+ private static extern int HitTest(IntPtr nativeSession, ARPoint point, ARHitTestResultType types);
+
+ [DllImport("__Internal")]
+ private static extern UnityARHitTestResult GetLastHitTestResult(int index);
+
+ [DllImport("__Internal")]
+ private static extern ARTextureHandles GetVideoTextureHandles();
+
+ [DllImport("__Internal")]
+ private static extern float GetAmbientIntensity();
+
+ [DllImport("__Internal")]
+ private static extern int GetTrackingQuality();
+
+ [DllImport("__Internal")]
+ private static extern bool GetARPointCloud (ref IntPtr verts, ref uint vertLength);
+
+ [DllImport("__Internal")]
+ private static extern void SetCameraNearFar (float nearZ, float farZ);
+
+ [DllImport("__Internal")]
+ private static extern void CapturePixelData (int enable, IntPtr pYPixelBytes, IntPtr pUVPixelBytes);
+
+ [DllImport("__Internal")]
+ private static extern UnityARUserAnchorData SessionAddUserAnchor (IntPtr nativeSession, UnityARUserAnchorData anchorData);
+
+ [DllImport("__Internal")]
+ private static extern void SessionRemoveUserAnchor (IntPtr nativeSession, [MarshalAs(UnmanagedType.LPStr)] string anchorIdentifier);
+
+ [DllImport("__Internal")]
+ private static extern void SessionSetWorldOrigin (IntPtr nativeSession, Matrix4x4 worldMatrix);
+
+ [DllImport("__Internal")]
+ private static extern bool Native_IsARKit_1_5_Supported();
+
+#endif
+
+ public static bool IsARKit_1_5_Supported()
+ {
+#if !UNITY_EDITOR && UNITY_IOS
+ return Native_IsARKit_1_5_Supported();
+#else
+ return true; //since we might need to do some editor shenanigans
+#endif
+ }
+
+
+
+ public UnityARSessionNativeInterface()
+ {
+#if !UNITY_EDITOR && UNITY_IOS
+ m_NativeARSession = unity_CreateNativeARSession();
+ session_SetSessionCallbacks(m_NativeARSession, _frame_update, _ar_session_failed, _ar_session_interrupted,
+ _ar_session_interruption_ended, _ar_session_should_relocalize, _ar_tracking_changed);
+ session_SetPlaneAnchorCallbacks(m_NativeARSession, _anchor_added, _anchor_updated, _anchor_removed);
+ session_SetUserAnchorCallbacks(m_NativeARSession, _user_anchor_added, _user_anchor_updated, _user_anchor_removed);
+ session_SetFaceAnchorCallbacks(m_NativeARSession, _face_anchor_added, _face_anchor_updated, _face_anchor_removed);
+ session_SetImageAnchorCallbacks(m_NativeARSession, _image_anchor_added, _image_anchor_updated, _image_anchor_removed);
+#endif
+ }
+
+ static UnityARSessionNativeInterface s_UnityARSessionNativeInterface = null;
+
+ public static UnityARSessionNativeInterface GetARSessionNativeInterface()
+ {
+ if (s_UnityARSessionNativeInterface == null)
+ {
+ s_UnityARSessionNativeInterface = new UnityARSessionNativeInterface();
+ }
+ return s_UnityARSessionNativeInterface;
+ }
+
+#if UNITY_EDITOR
+ public static void SetStaticCamera(UnityARCamera scamera)
+ {
+ s_Camera = scamera;
+ }
+
+ public static void RunFrameUpdateCallbacks()
+ {
+ if (ARFrameUpdatedEvent != null)
+ {
+ ARFrameUpdatedEvent(s_Camera);
+ }
+ }
+
+ public static void RunAddAnchorCallbacks(ARPlaneAnchor arPlaneAnchor)
+ {
+ if (ARAnchorAddedEvent != null)
+ {
+ ARAnchorAddedEvent(arPlaneAnchor);
+ }
+ }
+
+ public static void RunUpdateAnchorCallbacks(ARPlaneAnchor arPlaneAnchor)
+ {
+ if (ARAnchorUpdatedEvent != null)
+ {
+ ARAnchorUpdatedEvent(arPlaneAnchor);
+ }
+ }
+
+ public static void RunRemoveAnchorCallbacks(ARPlaneAnchor arPlaneAnchor)
+ {
+ if (ARAnchorRemovedEvent != null)
+ {
+ ARAnchorRemovedEvent(arPlaneAnchor);
+ }
+ }
+
+ public static void RunAddAnchorCallbacks(ARFaceAnchor arFaceAnchor)
+ {
+ if (ARFaceAnchorAddedEvent != null)
+ {
+ ARFaceAnchorAddedEvent(arFaceAnchor);
+ }
+ }
+
+ public static void RunUpdateAnchorCallbacks(ARFaceAnchor arFaceAnchor)
+ {
+ if (ARFaceAnchorUpdatedEvent != null)
+ {
+ ARFaceAnchorUpdatedEvent(arFaceAnchor);
+ }
+ }
+
+ public static void RunRemoveAnchorCallbacks(ARFaceAnchor arFaceAnchor)
+ {
+ if (ARFaceAnchorRemovedEvent != null)
+ {
+ ARFaceAnchorRemovedEvent(arFaceAnchor);
+ }
+ }
+
+ private static void CreateRemoteFaceTrackingConnection(ARKitFaceTrackingConfiguration config, UnityARSessionRunOption runOptions)
+ {
+ GameObject go = new GameObject("ARKitFaceTrackingRemoteConnection");
+ ARKitFaceTrackingRemoteConnection addComp = go.AddComponent();
+ addComp.enableLightEstimation = config.enableLightEstimation;
+ addComp.resetTracking = (runOptions & UnityARSessionRunOption.ARSessionRunOptionResetTracking) != 0;
+ addComp.removeExistingAnchors = (runOptions & UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors) != 0;
+ }
+
+ private static void CreateRemoteWorldTrackingConnection(ARKitWorldTrackingSessionConfiguration config, UnityARSessionRunOption runOptions)
+ {
+ GameObject go = new GameObject("ARKitWorldTrackingRemoteConnection");
+ ARKitRemoteConnection addComp = go.AddComponent();
+ addComp.planeDetection = config.planeDetection;
+ addComp.startAlignment = config.alignment;
+ addComp.getPointCloud = config.getPointCloudData;
+ addComp.enableLightEstimation = config.enableLightEstimation;
+ addComp.resetTracking = (runOptions & UnityARSessionRunOption.ARSessionRunOptionResetTracking) != 0;
+ addComp.removeExistingAnchors = (runOptions & UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors) != 0;
+ }
+
+#endif
+
+ public Matrix4x4 GetCameraPose()
+ {
+ Matrix4x4 matrix = new Matrix4x4();
+ matrix.SetColumn(0, s_Camera.worldTransform.column0);
+ matrix.SetColumn(1, s_Camera.worldTransform.column1);
+ matrix.SetColumn(2, s_Camera.worldTransform.column2);
+ matrix.SetColumn(3, s_Camera.worldTransform.column3);
+ return matrix;
+ }
+
+ public Matrix4x4 GetCameraProjection()
+ {
+ Matrix4x4 matrix = new Matrix4x4();
+ matrix.SetColumn(0, s_Camera.projectionMatrix.column0);
+ matrix.SetColumn(1, s_Camera.projectionMatrix.column1);
+ matrix.SetColumn(2, s_Camera.projectionMatrix.column2);
+ matrix.SetColumn(3, s_Camera.projectionMatrix.column3);
+ return matrix;
+ }
+
+ public void SetCameraClipPlanes(float nearZ, float farZ)
+ {
+#if !UNITY_EDITOR && UNITY_IOS
+ SetCameraNearFar (nearZ, farZ);
+#endif
+ }
+
+ public void SetCapturePixelData(bool enable, IntPtr pYByteArray, IntPtr pUVByteArray)
+ {
+#if !UNITY_EDITOR && UNITY_IOS
+ int iEnable = enable ? 1 : 0;
+ CapturePixelData (iEnable,pYByteArray, pUVByteArray);
+#endif
+ }
+
+ [MonoPInvokeCallback(typeof(internal_ARFrameUpdate))]
+ static void _frame_update(internal_UnityARCamera camera)
+ {
+ UnityARCamera pubCamera = new UnityARCamera();
+ pubCamera.projectionMatrix = camera.projectionMatrix;
+ pubCamera.worldTransform = camera.worldTransform;
+ pubCamera.trackingState = camera.trackingState;
+ pubCamera.trackingReason = camera.trackingReason;
+ pubCamera.videoParams = camera.videoParams;
+ if (camera.getLightEstimation == 1)
+ {
+ pubCamera.lightData = camera.lightData;
+ }
+
+ pubCamera.displayTransform = camera.displayTransform;
+ s_Camera = pubCamera;
+
+ if (camera.getPointCloudData == 1)
+ {
+ UpdatePointCloudData(ref s_Camera);
+ }
+
+ if (ARFrameUpdatedEvent != null)
+ {
+ ARFrameUpdatedEvent(s_Camera);
+ }
+ }
+
+ [MonoPInvokeCallback(typeof(internal_ARSessionTrackingChanged))]
+ static void _ar_tracking_changed(internal_UnityARCamera camera)
+ {
+ // we only update the current camera's tracking state since that's all
+ // this cllback is for
+ s_Camera.trackingState = camera.trackingState;
+ s_Camera.trackingReason = camera.trackingReason;
+ if (ARSessionTrackingChangedEvent != null)
+ {
+ ARSessionTrackingChangedEvent(s_Camera);
+ }
+ }
+
+ static void UpdatePointCloudData(ref UnityARCamera camera)
+ {
+ IntPtr ptrResultVerts = IntPtr.Zero;
+ uint resultVertLength = 0;
+ bool success = false;
+#if !UNITY_EDITOR && UNITY_IOS
+ success = GetARPointCloud (ref ptrResultVerts, ref resultVertLength);
+#endif
+ float[] resultVertices = null;
+ if (success)
+ {
+ // Load the results into a managed array.
+ resultVertices = new float[resultVertLength];
+ Marshal.Copy(ptrResultVerts, resultVertices, 0, (int)resultVertLength);
+
+ Vector3[] verts = new Vector3[(resultVertLength / 4)];
+
+ for (int count = 0; count < resultVertLength; count++)
+ {
+ verts[count / 4].x = resultVertices[count++];
+ verts[count / 4].y = resultVertices[count++];
+ verts[count / 4].z = -resultVertices[count++];
+ }
+ camera.pointCloudData = verts;
+ }
+
+ }
+
+ static ARUserAnchor GetUserAnchorFromAnchorData(UnityARUserAnchorData anchor)
+ {
+ //get the identifier for this anchor from the pointer
+ ARUserAnchor arUserAnchor = new ARUserAnchor();
+ arUserAnchor.identifier = Marshal.PtrToStringAuto(anchor.ptrIdentifier);
+
+ Matrix4x4 matrix = new Matrix4x4();
+ matrix.SetColumn(0, anchor.transform.column0);
+ matrix.SetColumn(1, anchor.transform.column1);
+ matrix.SetColumn(2, anchor.transform.column2);
+ matrix.SetColumn(3, anchor.transform.column3);
+
+ arUserAnchor.transform = matrix;
+ return arUserAnchor;
+ }
+
+ static ARHitTestResult GetHitTestResultFromResultData(UnityARHitTestResult resultData)
+ {
+ ARHitTestResult arHitTestResult = new ARHitTestResult();
+ arHitTestResult.type = resultData.type;
+ arHitTestResult.distance = resultData.distance;
+ arHitTestResult.localTransform = resultData.localTransform;
+ arHitTestResult.worldTransform = resultData.worldTransform;
+ arHitTestResult.isValid = resultData.isValid;
+ if (resultData.anchor != IntPtr.Zero)
+ {
+ arHitTestResult.anchorIdentifier = Marshal.PtrToStringAuto(resultData.anchor);
+ }
+ return arHitTestResult;
+ }
+
+ #region Plane Anchors
+#if !UNITY_EDITOR && UNITY_IOS
+ [MonoPInvokeCallback(typeof(internal_ARAnchorAdded))]
+ static void _anchor_added(UnityARAnchorData anchor)
+ {
+ if (ARAnchorAddedEvent != null)
+ {
+ ARPlaneAnchor arPlaneAnchor = new ARPlaneAnchor(anchor);
+ ARAnchorAddedEvent(arPlaneAnchor);
+ }
+ }
+
+ [MonoPInvokeCallback(typeof(internal_ARAnchorUpdated))]
+ static void _anchor_updated(UnityARAnchorData anchor)
+ {
+ if (ARAnchorUpdatedEvent != null)
+ {
+ ARPlaneAnchor arPlaneAnchor = new ARPlaneAnchor(anchor);
+ ARAnchorUpdatedEvent(arPlaneAnchor);
+ }
+ }
+
+ [MonoPInvokeCallback(typeof(internal_ARAnchorRemoved))]
+ static void _anchor_removed(UnityARAnchorData anchor)
+ {
+ if (ARAnchorRemovedEvent != null)
+ {
+ ARPlaneAnchor arPlaneAnchor = new ARPlaneAnchor(anchor);
+ ARAnchorRemovedEvent(arPlaneAnchor);
+ }
+ }
+#endif
+ #endregion
+
+ #region User Anchors
+ [MonoPInvokeCallback(typeof(internal_ARUserAnchorAdded))]
+ static void _user_anchor_added(UnityARUserAnchorData anchor)
+ {
+ if (ARUserAnchorAddedEvent != null)
+ {
+ ARUserAnchor arUserAnchor = GetUserAnchorFromAnchorData(anchor);
+ ARUserAnchorAddedEvent(arUserAnchor);
+ }
+ }
+
+ [MonoPInvokeCallback(typeof(internal_ARUserAnchorUpdated))]
+ static void _user_anchor_updated(UnityARUserAnchorData anchor)
+ {
+ if (ARUserAnchorUpdatedEvent != null)
+ {
+ ARUserAnchor arUserAnchor = GetUserAnchorFromAnchorData(anchor);
+ ARUserAnchorUpdatedEvent(arUserAnchor);
+ }
+ }
+
+ [MonoPInvokeCallback(typeof(internal_ARUserAnchorRemoved))]
+ static void _user_anchor_removed(UnityARUserAnchorData anchor)
+ {
+ if (ARUserAnchorRemovedEvent != null)
+ {
+ ARUserAnchor arUserAnchor = GetUserAnchorFromAnchorData(anchor);
+ ARUserAnchorRemovedEvent(arUserAnchor);
+ }
+ }
+ #endregion
+
+ #region Face Anchors
+#if !UNITY_EDITOR && UNITY_IOS
+ [MonoPInvokeCallback(typeof(internal_ARFaceAnchorAdded))]
+ static void _face_anchor_added(UnityARFaceAnchorData anchor)
+ {
+ if (ARFaceAnchorAddedEvent != null)
+ {
+ ARFaceAnchor arFaceAnchor = new ARFaceAnchor(anchor);
+ ARFaceAnchorAddedEvent(arFaceAnchor);
+ }
+ }
+
+ [MonoPInvokeCallback(typeof(internal_ARFaceAnchorUpdated))]
+ static void _face_anchor_updated(UnityARFaceAnchorData anchor)
+ {
+ if (ARFaceAnchorUpdatedEvent != null)
+ {
+ ARFaceAnchor arFaceAnchor = new ARFaceAnchor(anchor);
+ ARFaceAnchorUpdatedEvent(arFaceAnchor); }
+ }
+
+ [MonoPInvokeCallback(typeof(internal_ARFaceAnchorRemoved))]
+ static void _face_anchor_removed(UnityARFaceAnchorData anchor)
+ {
+ if (ARFaceAnchorRemovedEvent != null)
+ {
+ ARFaceAnchor arFaceAnchor = new ARFaceAnchor(anchor);
+ ARFaceAnchorRemovedEvent(arFaceAnchor);
+ }
+ }
+#endif
+ #endregion
+
+ #region Image Anchors
+ [MonoPInvokeCallback(typeof(internal_ARImageAnchorAdded))]
+ static void _image_anchor_added(UnityARImageAnchorData anchor)
+ {
+ if (ARImageAnchorAddedEvent != null)
+ {
+ ARImageAnchor arImageAnchor = new ARImageAnchor(anchor);
+ ARImageAnchorAddedEvent(arImageAnchor);
+ }
+ }
+
+ [MonoPInvokeCallback(typeof(internal_ARImageAnchorUpdated))]
+ static void _image_anchor_updated(UnityARImageAnchorData anchor)
+ {
+ if (ARImageAnchorUpdatedEvent != null)
+ {
+ ARImageAnchor arImageAnchor = new ARImageAnchor(anchor);
+ ARImageAnchorUpdatedEvent(arImageAnchor);
+ }
+ }
+
+ [MonoPInvokeCallback(typeof(internal_ARImageAnchorRemoved))]
+ static void _image_anchor_removed(UnityARImageAnchorData anchor)
+ {
+ if (ARImageAnchorRemovedEvent != null)
+ {
+ ARImageAnchor arImageAnchor = new ARImageAnchor(anchor);
+ ARImageAnchorRemovedEvent(arImageAnchor);
+ }
+ }
+ #endregion
+
+
+ [MonoPInvokeCallback(typeof(ARSessionFailed))]
+ static void _ar_session_failed(string error)
+ {
+ if (ARSessionFailedEvent != null)
+ {
+ ARSessionFailedEvent(error);
+ }
+ }
+
+ [MonoPInvokeCallback(typeof(ARSessionCallback))]
+ static void _ar_session_interrupted()
+ {
+ Debug.Log("ar_session_interrupted");
+ if (ARSessionInterruptedEvent != null)
+ {
+ ARSessionInterruptedEvent();
+ }
+
+ }
+
+
+ [MonoPInvokeCallback(typeof(ARSessionCallback))]
+ static void _ar_session_interruption_ended()
+ {
+ Debug.Log("ar_session_interruption_ended");
+ if (ARSessioninterruptionEndedEvent != null)
+ {
+ ARSessioninterruptionEndedEvent();
+ }
+ }
+
+ [MonoPInvokeCallback(typeof(ARSessionLocalizeCallback))]
+ static bool _ar_session_should_relocalize()
+ {
+ Debug.Log("_ar_session_should_relocalize");
+ return ARSessionShouldAttemptRelocalization;
+ }
+
+ public void RunWithConfigAndOptions(ARKitWorldTrackingSessionConfiguration config, UnityARSessionRunOption runOptions)
+ {
+#if !UNITY_EDITOR && UNITY_IOS
+ StartWorldTrackingSessionWithOptions (m_NativeARSession, config, runOptions);
+#elif UNITY_EDITOR
+ CreateRemoteWorldTrackingConnection(config, runOptions);
+#endif
+ }
+
+ public void RunWithConfig(ARKitWorldTrackingSessionConfiguration config)
+ {
+#if !UNITY_EDITOR && UNITY_IOS
+ StartWorldTrackingSession(m_NativeARSession, config);
+#elif UNITY_EDITOR
+ UnityARSessionRunOption runOptions = UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors | UnityARSessionRunOption.ARSessionRunOptionResetTracking;
+ CreateRemoteWorldTrackingConnection(config, runOptions);
+#endif
+ }
+
+ public void Run()
+ {
+ RunWithConfig(new ARKitWorldTrackingSessionConfiguration(UnityARAlignment.UnityARAlignmentGravity, UnityARPlaneDetection.Horizontal));
+ }
+
+ public void RunWithConfigAndOptions(ARKitSessionConfiguration config, UnityARSessionRunOption runOptions)
+ {
+#if !UNITY_EDITOR && UNITY_IOS
+ StartSessionWithOptions (m_NativeARSession, config, runOptions);
+#endif
+ }
+
+ public void RunWithConfig(ARKitSessionConfiguration config)
+ {
+#if !UNITY_EDITOR && UNITY_IOS
+ StartSession(m_NativeARSession, config);
+#endif
+ }
+
+ public void RunWithConfigAndOptions(ARKitFaceTrackingConfiguration config, UnityARSessionRunOption runOptions)
+ {
+#if !UNITY_EDITOR && UNITY_IOS
+ StartFaceTrackingSessionWithOptions (m_NativeARSession, config, runOptions);
+#elif UNITY_EDITOR
+ CreateRemoteFaceTrackingConnection(config, runOptions);
+#endif
+ }
+
+ public void RunWithConfig(ARKitFaceTrackingConfiguration config)
+ {
+#if !UNITY_EDITOR && UNITY_IOS
+ StartFaceTrackingSession(m_NativeARSession, config);
+#elif UNITY_EDITOR
+ UnityARSessionRunOption runOptions = UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors | UnityARSessionRunOption.ARSessionRunOptionResetTracking;
+ CreateRemoteFaceTrackingConnection(config, runOptions);
+#endif
+ }
+
+
+ public void Pause()
+ {
+#if !UNITY_EDITOR && UNITY_IOS
+ PauseSession(m_NativeARSession);
+#endif
+ }
+
+ public List HitTest(ARPoint point, ARHitTestResultType types)
+ {
+ List results = new List();
+ return HitTest(point, types, results);
+ }
+
+ public List HitTest(ARPoint point, ARHitTestResultType types, List results)
+ {
+ results.Clear();
+#if !UNITY_EDITOR && UNITY_IOS
+ int numResults = HitTest(m_NativeARSession, point, types);
+
+ for (int i = 0; i < numResults; ++i)
+ {
+ var result = GetLastHitTestResult(i);
+ results.Add(GetHitTestResultFromResultData(result));
+ }
+
+ return results;
+#else
+ return results;
+#endif
+ }
+
+#if !UNITY_EDITOR && UNITY_IOS
+ public ARTextureHandles GetARVideoTextureHandles()
+ {
+ return GetVideoTextureHandles ();
+ }
+
+ [Obsolete("Hook ARFrameUpdatedEvent instead and get UnityARCamera.ambientIntensity")]
+ public float GetARAmbientIntensity()
+ {
+ return GetAmbientIntensity ();
+ }
+
+ [Obsolete("Hook ARFrameUpdatedEvent instead and get UnityARCamera.trackingState")]
+ public int GetARTrackingQuality()
+ {
+ return GetTrackingQuality();
+ }
+#endif
+
+ public UnityARUserAnchorData AddUserAnchor(UnityARUserAnchorData anchorData)
+ {
+#if !UNITY_EDITOR && UNITY_IOS
+ return SessionAddUserAnchor(m_NativeARSession, anchorData);
+#else
+ return new UnityARUserAnchorData();
+#endif
+ }
+
+ public UnityARUserAnchorData AddUserAnchorFromGameObject(GameObject go) {
+#if !UNITY_EDITOR && UNITY_IOS
+ UnityARUserAnchorData data = AddUserAnchor(UnityARUserAnchorData.UnityARUserAnchorDataFromGameObject(go));
+ return data;
+#else
+ return new UnityARUserAnchorData();
+#endif
+ }
+
+ public void RemoveUserAnchor(string anchorIdentifier)
+ {
+#if !UNITY_EDITOR && UNITY_IOS
+
+ SessionRemoveUserAnchor(m_NativeARSession, anchorIdentifier);
+#endif
+ }
+
+ public void SetWorldOrigin(Transform worldTransform)
+ {
+#if !UNITY_EDITOR && UNITY_IOS
+ //convert from Unity coord system to ARKit
+ Matrix4x4 worldMatrix = UnityARMatrixOps.UnityToARKitCoordChange(worldTransform.position, worldTransform.rotation);
+ SessionSetWorldOrigin (m_NativeARSession, worldMatrix);
+#endif
+ }
+ }
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShader.shader b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShader.shader
new file mode 100755
index 00000000..dafa0d62
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShader.shader
@@ -0,0 +1,74 @@
+Shader "Unlit/ARCameraShader"
+{
+ Properties
+ {
+ _textureY ("TextureY", 2D) = "white" {}
+ _textureCbCr ("TextureCbCr", 2D) = "black" {}
+ }
+ SubShader
+ {
+ Cull Off
+ Tags { "RenderType"="Opaque" }
+ LOD 100
+
+ Pass
+ {
+ ZWrite Off
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+
+ #include "UnityCG.cginc"
+
+ float4x4 _DisplayTransform;
+
+ struct Vertex
+ {
+ float4 position : POSITION;
+ float2 texcoord : TEXCOORD0;
+ };
+
+ struct TexCoordInOut
+ {
+ float4 position : SV_POSITION;
+ float2 texcoord : TEXCOORD0;
+ };
+
+ TexCoordInOut vert (Vertex vertex)
+ {
+ TexCoordInOut o;
+ o.position = UnityObjectToClipPos(vertex.position);
+
+ float texX = vertex.texcoord.x;
+ float texY = vertex.texcoord.y;
+
+ o.texcoord.x = (_DisplayTransform[0].x * texX + _DisplayTransform[1].x * (texY) + _DisplayTransform[2].x);
+ o.texcoord.y = (_DisplayTransform[0].y * texX + _DisplayTransform[1].y * (texY) + (_DisplayTransform[2].y));
+
+ return o;
+ }
+
+ // samplers
+ sampler2D _textureY;
+ sampler2D _textureCbCr;
+
+ fixed4 frag (TexCoordInOut i) : SV_Target
+ {
+ // sample the texture
+ float2 texcoord = i.texcoord;
+ float y = tex2D(_textureY, texcoord).r;
+ float4 ycbcr = float4(y, tex2D(_textureCbCr, texcoord).rg, 1.0);
+
+ const float4x4 ycbcrToRGBTransform = float4x4(
+ float4(1.0, +0.0000, +1.4020, -0.7010),
+ float4(1.0, -0.3441, -0.7141, +0.5291),
+ float4(1.0, +1.7720, +0.0000, -0.8860),
+ float4(0.0, +0.0000, +0.0000, +1.0000)
+ );
+
+ return mul(ycbcrToRGBTransform, ycbcr);
+ }
+ ENDCG
+ }
+ }
+}
diff --git a/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShaderLinear.shader b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShaderLinear.shader
new file mode 100755
index 00000000..c5a91f2d
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Plugins/iOS/UnityARKit/Shaders/YUVShaderLinear.shader
@@ -0,0 +1,75 @@
+Shader "Unlit/ARCameraShader(Linear)"
+{
+ Properties
+ {
+ _textureY ("TextureY", 2D) = "white" {}
+ _textureCbCr ("TextureCbCr", 2D) = "black" {}
+ }
+ SubShader
+ {
+ Cull Off
+ Tags { "RenderType"="Opaque" }
+ LOD 100
+
+ Pass
+ {
+ ZWrite Off
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+
+ #include "UnityCG.cginc"
+
+ float4x4 _DisplayTransform;
+
+ struct Vertex
+ {
+ float4 position : POSITION;
+ float2 texcoord : TEXCOORD0;
+ };
+
+ struct TexCoordInOut
+ {
+ float4 position : SV_POSITION;
+ float2 texcoord : TEXCOORD0;
+ };
+
+ TexCoordInOut vert (Vertex vertex)
+ {
+ TexCoordInOut o;
+ o.position = UnityObjectToClipPos(vertex.position);
+
+ float texX = vertex.texcoord.x;
+ float texY = vertex.texcoord.y;
+
+ o.texcoord.x = (_DisplayTransform[0].x * texX + _DisplayTransform[1].x * (texY) + _DisplayTransform[2].x);
+ o.texcoord.y = (_DisplayTransform[0].y * texX + _DisplayTransform[1].y * (texY) + (_DisplayTransform[2].y));
+
+ return o;
+ }
+
+ // samplers
+ sampler2D _textureY;
+ sampler2D _textureCbCr;
+
+ fixed4 frag (TexCoordInOut i) : SV_Target
+ {
+ // sample the texture
+ float2 texcoord = i.texcoord;
+ float y = tex2D(_textureY, texcoord).r;
+ float4 ycbcr = float4(y, tex2D(_textureCbCr, texcoord).rg, 1.0);
+
+ const float4x4 ycbcrToRGBTransform = float4x4(
+ float4(1.0, +0.0000, +1.4020, -0.7010),
+ float4(1.0, -0.3441, -0.7141, +0.5291),
+ float4(1.0, +1.7720, +0.0000, -0.8860),
+ float4(0.0, +0.0000, +0.0000, +1.0000)
+ );
+
+ //gamma->linear conversion
+ return pow(mul(ycbcrToRGBTransform, ycbcr), 2.2);
+ }
+ ENDCG
+ }
+ }
+}
diff --git a/Assets/UnityARKitPlugin/Resources/UnityARKitPlugin/ARKitSettings.asset b/Assets/UnityARKitPlugin/Resources/UnityARKitPlugin/ARKitSettings.asset
new file mode 100755
index 00000000..d01a9b66
--- /dev/null
+++ b/Assets/UnityARKitPlugin/Resources/UnityARKitPlugin/ARKitSettings.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: efa163296ae7840cb80b9e3beb5f0857, type: 3}
+ m_Name: ARKitSettings
+ m_EditorClassIdentifier:
+ m_ARKitUsesFacetracking: 0
+ AppRequiresARKit: 0
diff --git a/Assets/UnityARKitPlugin/UnityARKitPluginSettings.cs b/Assets/UnityARKitPlugin/UnityARKitPluginSettings.cs
new file mode 100755
index 00000000..22975f3a
--- /dev/null
+++ b/Assets/UnityARKitPlugin/UnityARKitPluginSettings.cs
@@ -0,0 +1,23 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+///
+/// Holds settings that are used to configure the Unity ARKit Plugin.
+///
+[CreateAssetMenu(fileName = "ARKitSettings", menuName = "UnityARKitPlugin/Settings", order = 1)]
+public class UnityARKitPluginSettings : ScriptableObject {
+
+ ///
+ /// Toggles whether Facetracking for iPhone X (and later) is used. If enabled, provide a Privacy Policy for submission to AppStore.
+ ///
+ [Tooltip("Toggles whether Facetracking for iPhone X (and later) is used. If enabled, provide a Privacy Policy for submission to AppStore.")]
+ public bool m_ARKitUsesFacetracking = false;
+
+ ///
+ /// Toggles whether ARKit is required for this app: will make app only downloadable by devices with ARKit support if enabled.
+ ///
+ [Tooltip("Toggles whether ARKit is required for this app: will make app only downloadable by devices with ARKit support if enabled.")]
+ public bool AppRequiresARKit = false;
+
+}
diff --git a/Assets/WanzyeeStudio/Documents/JsonNetConverters.pdf b/Assets/WanzyeeStudio/Documents/JsonNetConverters.pdf
new file mode 100755
index 00000000..f3a9e422
Binary files /dev/null and b/Assets/WanzyeeStudio/Documents/JsonNetConverters.pdf differ
diff --git a/Assets/WanzyeeStudio/Scripts/Basic/Json/BoundsConverter.cs b/Assets/WanzyeeStudio/Scripts/Basic/Json/BoundsConverter.cs
new file mode 100755
index 00000000..f39c10a2
--- /dev/null
+++ b/Assets/WanzyeeStudio/Scripts/Basic/Json/BoundsConverter.cs
@@ -0,0 +1,43 @@
+
+/*WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW*\ ( ( ) )
+|/ \| ) ) _((_
+|| (c) Wanzyee Studio < wanzyeestudio.blogspot.com > || ( ( |_ _ |=n
+|\ /| _____)) | ! ] U
+\.ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ./ (_(__(S) |___*/
+
+using UnityEngine;
+
+namespace WanzyeeStudio.Json{
+
+ ///
+ /// Custom Newtonsoft.Json.JsonConverter for UnityEngine.Bounds.
+ ///
+ public class BoundsConverter : PartialConverter{
+
+ ///
+ /// Prevent the properties from being stripped.
+ ///
+ /*
+ * https://docs.unity3d.com/Manual/IL2CPP-BytecodeStripping.html
+ * Instead of an extra file, work around by making and accessing a dummy instance.
+ */
+ private void PreserveProperties(){
+
+ var _dummy = new Bounds();
+
+ _dummy.center = _dummy.center;
+ _dummy.extents = _dummy.extents;
+
+ }
+
+ ///
+ /// Get the property names include center, extents.
+ ///
+ /// The property names.
+ protected override string[] GetPropertyNames(){
+ return new []{"center", "extents"};
+ }
+
+ }
+
+}
diff --git a/Assets/WanzyeeStudio/Scripts/Basic/Json/ColorConverter.cs b/Assets/WanzyeeStudio/Scripts/Basic/Json/ColorConverter.cs
new file mode 100755
index 00000000..813f0358
--- /dev/null
+++ b/Assets/WanzyeeStudio/Scripts/Basic/Json/ColorConverter.cs
@@ -0,0 +1,27 @@
+
+/*WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW*\ ( ( ) )
+|/ \| ) ) _((_
+|| (c) Wanzyee Studio < wanzyeestudio.blogspot.com > || ( ( |_ _ |=n
+|\ /| _____)) | ! ] U
+\.ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ./ (_(__(S) |___*/
+
+using UnityEngine;
+
+namespace WanzyeeStudio.Json{
+
+ ///
+ /// Custom Newtonsoft.Json.JsonConverter for UnityEngine.Color.
+ ///
+ public class ColorConverter : PartialConverter{
+
+ ///
+ /// Get the property names include r, g, b, a.
+ ///
+ /// The property names.
+ protected override string[] GetPropertyNames(){
+ return new []{"r", "g", "b", "a"};
+ }
+
+ }
+
+}
diff --git a/Assets/WanzyeeStudio/Scripts/Basic/Json/DictionaryConverter.cs b/Assets/WanzyeeStudio/Scripts/Basic/Json/DictionaryConverter.cs
new file mode 100755
index 00000000..872e3812
--- /dev/null
+++ b/Assets/WanzyeeStudio/Scripts/Basic/Json/DictionaryConverter.cs
@@ -0,0 +1,85 @@
+
+/*WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW*\ ( ( ) )
+|/ \| ) ) _((_
+|| (c) Wanzyee Studio < wanzyeestudio.blogspot.com > || ( ( |_ _ |=n
+|\ /| _____)) | ! ] U
+\.ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ./ (_(__(S) |___*/
+
+using UnityEngine;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+
+namespace WanzyeeStudio.Json{
+
+ ///
+ /// Custom Newtonsoft.Json.JsonConverter for System.Collections.Generic.Dictionary.
+ ///
+ public class DictionaryConverter : JsonConverter{
+
+ ///
+ /// Determine if the type is System.Collections.Generic.Dictionary.
+ ///
+ /// Type of the object.
+ /// true if this can convert the specified type; otherwise, false.
+ public override bool CanConvert(Type objectType){
+
+ if(!objectType.IsGenericType) return false;
+
+ var _type = objectType.GetGenericTypeDefinition();
+
+ return typeof(Dictionary<,>) == _type || typeof(IDictionary<,>) == _type;
+
+ }
+
+ ///
+ /// Read as System.Collections.Generic.KeyValuePair array to rebuild a dictionary.
+ ///
+ /// The object value.
+ /// The Newtonsoft.Json.JsonReader to read from.
+ /// Type of the object.
+ /// The existing value of object being read.
+ /// The calling serializer.
+ public override object ReadJson(
+ JsonReader reader,
+ Type objectType,
+ object existingValue,
+ JsonSerializer serializer
+ ){
+
+ if(JsonToken.Null == reader.TokenType) return null;
+
+ var _result = Activator.CreateInstance(objectType) as IDictionary;
+ var _args = objectType.GetGenericArguments();
+
+ foreach(JObject _pair in JArray.Load(reader)){
+
+ var _key = _pair["Key"].ToObject(_args[0], serializer);
+ var _value = _pair["Value"].ToObject(_args[1], serializer);
+
+ if(!_result.Contains(_key)) _result.Add(_key, _value);
+ else Debug.LogWarningFormat("Ignore pair with repeat key: {0}", _pair.ToString(Formatting.None));
+
+ }
+
+ return _result;
+
+ }
+
+ ///
+ /// Write as System.Collections.Generic.KeyValuePair array.
+ ///
+ /// The Newtonsoft.Json.JsonWriter to write to.
+ /// The value.
+ /// The calling serializer.
+ public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer){
+ serializer.Serialize(writer, (value as IDictionary).Cast