├── ProjectSettings
├── ProjectVersion.txt
├── ClusterInputManager.asset
├── NetworkManager.asset
├── TimeManager.asset
├── VFXManager.asset
├── EditorBuildSettings.asset
├── AudioManager.asset
├── TagManager.asset
├── EditorSettings.asset
├── PresetManager.asset
├── UnityConnectSettings.asset
├── DynamicsManager.asset
├── Physics2DSettings.asset
├── NavMeshAreas.asset
├── GraphicsSettings.asset
├── QualitySettings.asset
├── InputManager.asset
└── ProjectSettings.asset
├── Assets
├── 3DPhotos.meta
└── 3DPhotos
│ ├── Prefabs.meta
│ ├── Prefabs
│ ├── 3DPhotoCamera.prefab.meta
│ └── 3DPhotoCamera.prefab
│ ├── Scripts.meta
│ ├── Shaders.meta
│ ├── Materials.meta
│ ├── Sample Scene.meta
│ ├── Sample Scene
│ ├── SampleScene.unity.meta
│ ├── Materials.meta
│ ├── Materials
│ │ ├── SphereMaterial.mat.meta
│ │ └── SphereMaterial.mat
│ └── SampleScene.unity
│ ├── Materials
│ ├── DepthPostProcessing.mat.meta
│ └── DepthPostProcessing.mat
│ ├── Shaders
│ ├── DepthPostProcessing.shader.meta
│ └── DepthPostProcessing.shader
│ └── Scripts
│ ├── Photo3DShooter.cs.meta
│ └── Photo3DShooter.cs
├── .gitignore
├── LICENSE
├── Logs
└── Packages-Update.log
├── Packages
└── manifest.json
└── README.md
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2018.3.6f1
2 |
--------------------------------------------------------------------------------
/ProjectSettings/ClusterInputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!236 &1
4 | ClusterInputManager:
5 | m_ObjectHideFlags: 0
6 | m_Inputs: []
7 |
--------------------------------------------------------------------------------
/ProjectSettings/NetworkManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!149 &1
4 | NetworkManager:
5 | m_ObjectHideFlags: 0
6 | m_DebugLevel: 0
7 | m_Sendrate: 15
8 | m_AssetToPrefab: {}
9 |
--------------------------------------------------------------------------------
/Assets/3DPhotos.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9d9077519071f17409a8f2b8b037deae
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Prefabs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d8fc0579ece40df4bb9ed326546cb6af
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Prefabs/3DPhotoCamera.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5040451c6193bfa45894f72dc99892b4
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e4f029f018b665f4fa4d77ff5e41af9d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Shaders.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cdf9a9439f6838c4ebb89aae481ef55b
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 669147bacae498b49aa06483894757e6
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Sample Scene.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5167159edb10c374484c0e7541ec8cbb
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Sample Scene/SampleScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ada8c21ee1ad0a34888778cb8f3d96dc
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Sample Scene/Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 94d11714d4c6bb94d91948781be67548
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Materials/DepthPostProcessing.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 65023a62af465674291010c12f80fd8f
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: 0.02
7 | Maximum Allowed Timestep: 0.1
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Sample Scene/Materials/SphereMaterial.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6d1a3990493bc1e40a7f3eb87b0c864d
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Shaders/DepthPostProcessing.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4201c49082e3e6843b14e001df04f210
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Scripts/Photo3DShooter.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8b79c26b771b8f34a9103f60c391fe58
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/ProjectSettings/VFXManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!937362698 &1
4 | VFXManager:
5 | m_ObjectHideFlags: 0
6 | m_IndirectShader: {fileID: 0}
7 | m_CopyBufferShader: {fileID: 0}
8 | m_SortShader: {fileID: 0}
9 | m_RenderPipeSettingsPath:
10 | m_FixedTimeStep: 0.016666668
11 | m_MaxDeltaTime: 0.05
12 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1045 &1
4 | EditorBuildSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Scenes:
8 | - enabled: 1
9 | path: Assets/3DPhotos/Sample Scene/SampleScene.unity
10 | guid: ada8c21ee1ad0a34888778cb8f3d96dc
11 | m_configObjects: {}
12 |
--------------------------------------------------------------------------------
/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | m_Volume: 1
7 | Rolloff Scale: 1
8 | Doppler Factor: 1
9 | Default Speaker Mode: 2
10 | m_SampleRate: 0
11 | m_DSPBufferSize: 1024
12 | m_VirtualVoiceCount: 512
13 | m_RealVoiceCount: 32
14 | m_SpatializerPlugin:
15 | m_AmbisonicDecoderPlugin:
16 | m_DisableAudio: 0
17 | m_VirtualizeEffects: 1
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | [Ll]ibrary/
2 | [Tt]emp/
3 | [Oo]bj/
4 | [Bb]uild/
5 | [Bb]uilds/
6 | [Bb]in/
7 | Assets/AssetStoreTools*
8 |
9 | # Visual Studio cache directory
10 | .vs/
11 |
12 | # Autogenerated VS/MD/Consulo solution and project files
13 | ExportedObj/
14 | .consulo/
15 | *.csproj
16 | *.unityproj
17 | *.sln
18 | *.suo
19 | *.tmp
20 | *.user
21 | *.userprefs
22 | *.pidb
23 | *.booproj
24 | *.svd
25 | *.pdb
26 | *.opendb
27 |
28 | # Unity3D generated meta files
29 | *.pidb.meta
30 | *.pdb.meta
31 |
32 | # Unity3D Generated File On Crash Reports
33 | sysinfo.txt
34 |
35 | # Builds
36 | *.apk
37 | *.unitypackage
38 |
--------------------------------------------------------------------------------
/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | - PostProcessing
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 7
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 2
10 | m_DefaultBehaviorMode: 0
11 | m_SpritePackerMode: 0
12 | m_SpritePackerPaddingPower: 1
13 | m_EtcTextureCompressorBehavior: 1
14 | m_EtcTextureFastCompressor: 1
15 | m_EtcTextureNormalCompressor: 2
16 | m_EtcTextureBestCompressor: 4
17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd
18 | m_ProjectGenerationRootNamespace:
19 | m_UserGeneratedProjectSuffix:
20 | m_CollabEditorSettings:
21 | inProgressEnabled: 1
22 |
--------------------------------------------------------------------------------
/ProjectSettings/PresetManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1386491679 &1
4 | PresetManager:
5 | m_ObjectHideFlags: 0
6 | m_DefaultList:
7 | - type:
8 | m_NativeTypeID: 108
9 | m_ManagedTypePPtr: {fileID: 0}
10 | m_ManagedTypeFallback:
11 | defaultPresets:
12 | - m_Preset: {fileID: 2655988077585873504, guid: c1cf8506f04ef2c4a88b64b6c4202eea,
13 | type: 2}
14 | - type:
15 | m_NativeTypeID: 1020
16 | m_ManagedTypePPtr: {fileID: 0}
17 | m_ManagedTypeFallback:
18 | defaultPresets:
19 | - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6,
20 | type: 2}
21 | - type:
22 | m_NativeTypeID: 1006
23 | m_ManagedTypePPtr: {fileID: 0}
24 | m_ManagedTypeFallback:
25 | defaultPresets:
26 | - m_Preset: {fileID: 2655988077585873504, guid: 7a99f8aa944efe94cb9bd74562b7d5f9,
27 | type: 2}
28 |
--------------------------------------------------------------------------------
/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 1
7 | m_Enabled: 1
8 | m_TestMode: 0
9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com
12 | m_TestInitMode: 0
13 | CrashReportingSettings:
14 | m_EventUrl: https://perf-events.cloud.unity3d.com
15 | m_Enabled: 0
16 | m_LogBufferSize: 10
17 | m_CaptureEditorExceptions: 1
18 | UnityPurchasingSettings:
19 | m_Enabled: 0
20 | m_TestMode: 0
21 | UnityAnalyticsSettings:
22 | m_Enabled: 0
23 | m_TestMode: 0
24 | m_InitializeOnStartup: 1
25 | UnityAdsSettings:
26 | m_Enabled: 0
27 | m_InitializeOnStartup: 1
28 | m_TestMode: 0
29 | m_IosGameId:
30 | m_AndroidGameId:
31 | m_GameIds: {}
32 | m_GameId:
33 | PerformanceReportingSettings:
34 | m_Enabled: 0
35 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 TonyViT
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!55 &1
4 | PhysicsManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 8
7 | m_Gravity: {x: 0, y: -9.81, z: 0}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_BounceThreshold: 2
10 | m_SleepThreshold: 0.005
11 | m_DefaultContactOffset: 0.01
12 | m_DefaultSolverIterations: 6
13 | m_DefaultSolverVelocityIterations: 1
14 | m_QueriesHitBackfaces: 0
15 | m_QueriesHitTriggers: 1
16 | m_EnableAdaptiveForce: 0
17 | m_ClothInterCollisionDistance: 0
18 | m_ClothInterCollisionStiffness: 0
19 | m_ContactsGeneration: 1
20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 | m_AutoSimulation: 1
22 | m_AutoSyncTransforms: 0
23 | m_ReuseCollisionCallbacks: 1
24 | m_ClothInterCollisionSettingsToggle: 0
25 | m_ContactPairsMode: 0
26 | m_BroadphaseType: 0
27 | m_WorldBounds:
28 | m_Center: {x: 0, y: 0, z: 0}
29 | m_Extent: {x: 250, y: 250, z: 250}
30 | m_WorldSubdivisions: 8
31 |
--------------------------------------------------------------------------------
/Logs/Packages-Update.log:
--------------------------------------------------------------------------------
1 |
2 | === Fri Apr 26 16:38:57 2019
3 |
4 | Packages were changed.
5 | Update Mode: mergeDefaultDependencies
6 |
7 | The following packages were added:
8 | com.unity.analytics@3.2.2
9 | com.unity.purchasing@2.0.3
10 | com.unity.ads@2.0.8
11 | com.unity.textmeshpro@1.3.0
12 | com.unity.package-manager-ui@2.0.3
13 | com.unity.collab-proxy@1.2.15
14 | com.unity.modules.ai@1.0.0
15 | com.unity.modules.animation@1.0.0
16 | com.unity.modules.assetbundle@1.0.0
17 | com.unity.modules.audio@1.0.0
18 | com.unity.modules.cloth@1.0.0
19 | com.unity.modules.director@1.0.0
20 | com.unity.modules.imageconversion@1.0.0
21 | com.unity.modules.imgui@1.0.0
22 | com.unity.modules.jsonserialize@1.0.0
23 | com.unity.modules.particlesystem@1.0.0
24 | com.unity.modules.physics@1.0.0
25 | com.unity.modules.physics2d@1.0.0
26 | com.unity.modules.screencapture@1.0.0
27 | com.unity.modules.terrain@1.0.0
28 | com.unity.modules.terrainphysics@1.0.0
29 | com.unity.modules.tilemap@1.0.0
30 | com.unity.modules.ui@1.0.0
31 | com.unity.modules.uielements@1.0.0
32 | com.unity.modules.umbra@1.0.0
33 | com.unity.modules.unityanalytics@1.0.0
34 | com.unity.modules.unitywebrequest@1.0.0
35 | com.unity.modules.unitywebrequestassetbundle@1.0.0
36 | com.unity.modules.unitywebrequestaudio@1.0.0
37 | com.unity.modules.unitywebrequesttexture@1.0.0
38 | com.unity.modules.unitywebrequestwww@1.0.0
39 | com.unity.modules.vehicles@1.0.0
40 | com.unity.modules.video@1.0.0
41 | com.unity.modules.vr@1.0.0
42 | com.unity.modules.wind@1.0.0
43 | com.unity.modules.xr@1.0.0
44 |
--------------------------------------------------------------------------------
/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_AutoSimulation: 1
23 | m_QueriesHitTriggers: 1
24 | m_QueriesStartInColliders: 1
25 | m_ChangeStopsCallbacks: 0
26 | m_CallbacksOnDisable: 1
27 | m_ReuseCollisionCallbacks: 1
28 | m_AutoSyncTransforms: 0
29 | m_AlwaysShowColliders: 0
30 | m_ShowColliderSleep: 1
31 | m_ShowColliderContacts: 0
32 | m_ShowColliderAABB: 0
33 | m_ContactArrowScale: 0.2
34 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
35 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
36 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
37 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
38 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
39 |
--------------------------------------------------------------------------------
/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshProjectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | areas:
8 | - name: Walkable
9 | cost: 1
10 | - name: Not Walkable
11 | cost: 1
12 | - name: Jump
13 | cost: 2
14 | - name:
15 | cost: 1
16 | - name:
17 | cost: 1
18 | - name:
19 | cost: 1
20 | - name:
21 | cost: 1
22 | - name:
23 | cost: 1
24 | - name:
25 | cost: 1
26 | - name:
27 | cost: 1
28 | - name:
29 | cost: 1
30 | - name:
31 | cost: 1
32 | - name:
33 | cost: 1
34 | - name:
35 | cost: 1
36 | - name:
37 | cost: 1
38 | - name:
39 | cost: 1
40 | - name:
41 | cost: 1
42 | - name:
43 | cost: 1
44 | - name:
45 | cost: 1
46 | - name:
47 | cost: 1
48 | - name:
49 | cost: 1
50 | - name:
51 | cost: 1
52 | - name:
53 | cost: 1
54 | - name:
55 | cost: 1
56 | - name:
57 | cost: 1
58 | - name:
59 | cost: 1
60 | - name:
61 | cost: 1
62 | - name:
63 | cost: 1
64 | - name:
65 | cost: 1
66 | - name:
67 | cost: 1
68 | - name:
69 | cost: 1
70 | - name:
71 | cost: 1
72 | m_LastAgentTypeID: -887442657
73 | m_Settings:
74 | - serializedVersion: 2
75 | agentTypeID: 0
76 | agentRadius: 0.5
77 | agentHeight: 2
78 | agentSlope: 45
79 | agentClimb: 0.75
80 | ledgeDropHeight: 0
81 | maxJumpAcrossDistance: 0
82 | minRegionArea: 2
83 | manualCellSize: 0
84 | cellSize: 0.16666667
85 | manualTileSize: 0
86 | tileSize: 256
87 | accuratePlacement: 0
88 | debug:
89 | m_Flags: 0
90 | m_SettingNames:
91 | - Humanoid
92 |
--------------------------------------------------------------------------------
/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.ads": "2.0.8",
4 | "com.unity.analytics": "3.2.2",
5 | "com.unity.collab-proxy": "1.2.15",
6 | "com.unity.package-manager-ui": "2.0.3",
7 | "com.unity.purchasing": "2.0.3",
8 | "com.unity.textmeshpro": "1.3.0",
9 | "com.unity.modules.ai": "1.0.0",
10 | "com.unity.modules.animation": "1.0.0",
11 | "com.unity.modules.assetbundle": "1.0.0",
12 | "com.unity.modules.audio": "1.0.0",
13 | "com.unity.modules.cloth": "1.0.0",
14 | "com.unity.modules.director": "1.0.0",
15 | "com.unity.modules.imageconversion": "1.0.0",
16 | "com.unity.modules.imgui": "1.0.0",
17 | "com.unity.modules.jsonserialize": "1.0.0",
18 | "com.unity.modules.particlesystem": "1.0.0",
19 | "com.unity.modules.physics": "1.0.0",
20 | "com.unity.modules.physics2d": "1.0.0",
21 | "com.unity.modules.screencapture": "1.0.0",
22 | "com.unity.modules.terrain": "1.0.0",
23 | "com.unity.modules.terrainphysics": "1.0.0",
24 | "com.unity.modules.tilemap": "1.0.0",
25 | "com.unity.modules.ui": "1.0.0",
26 | "com.unity.modules.uielements": "1.0.0",
27 | "com.unity.modules.umbra": "1.0.0",
28 | "com.unity.modules.unityanalytics": "1.0.0",
29 | "com.unity.modules.unitywebrequest": "1.0.0",
30 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
31 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
32 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
33 | "com.unity.modules.unitywebrequestwww": "1.0.0",
34 | "com.unity.modules.vehicles": "1.0.0",
35 | "com.unity.modules.video": "1.0.0",
36 | "com.unity.modules.vr": "1.0.0",
37 | "com.unity.modules.wind": "1.0.0",
38 | "com.unity.modules.xr": "1.0.0"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Sample Scene/Materials/SphereMaterial.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: SphereMaterial
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_ShaderKeywords:
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 0
63 | - _GlossMapScale: 1
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 0
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 0
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 1
75 | m_Colors:
76 | - _Color: {r: 1, g: 0, b: 0, a: 1}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Materials/DepthPostProcessing.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: DepthPostProcessing
11 | m_Shader: {fileID: 4800000, guid: 4201c49082e3e6843b14e001df04f210, type: 3}
12 | m_ShaderKeywords:
13 | m_LightmapFlags: 4
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DepthMultiplier: 5
62 | - _DetailNormalMapScale: 1
63 | - _DstBlend: 0
64 | - _GlossMapScale: 1
65 | - _Glossiness: 0.5
66 | - _GlossyReflections: 1
67 | - _Metallic: 0
68 | - _Mode: 0
69 | - _OcclusionStrength: 1
70 | - _Parallax: 0.02
71 | - _SmoothnessTextureChannel: 0
72 | - _SpecularHighlights: 1
73 | - _SrcBlend: 1
74 | - _UVSec: 0
75 | - _WaveDistance: 3.1790903
76 | - _WaveTrail: 1
77 | - _ZWrite: 1
78 | - _depthMultiplier: 0.005
79 | m_Colors:
80 | - _Color: {r: 1, g: 0, b: 0, a: 1}
81 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
82 | - _WaveColor: {r: 1, g: 0, b: 0, a: 1}
83 |
--------------------------------------------------------------------------------
/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 12
7 | m_Deferred:
8 | m_Mode: 1
9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
10 | m_DeferredReflections:
11 | m_Mode: 1
12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
13 | m_ScreenSpaceShadows:
14 | m_Mode: 1
15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
16 | m_LegacyDeferred:
17 | m_Mode: 1
18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
19 | m_DepthNormals:
20 | m_Mode: 1
21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
22 | m_MotionVectors:
23 | m_Mode: 1
24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
25 | m_LightHalo:
26 | m_Mode: 1
27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
28 | m_LensFlare:
29 | m_Mode: 1
30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
31 | m_AlwaysIncludedShaders:
32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
38 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
39 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
40 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0}
41 | m_PreloadedShaders: []
42 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
43 | type: 0}
44 | m_CustomRenderPipeline: {fileID: 0}
45 | m_TransparencySortMode: 0
46 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
47 | m_DefaultRenderingPath: 1
48 | m_DefaultMobileRenderingPath: 1
49 | m_TierSettings: []
50 | m_LightmapStripping: 0
51 | m_FogStripping: 0
52 | m_InstancingStripping: 0
53 | m_LightmapKeepPlain: 1
54 | m_LightmapKeepDirCombined: 1
55 | m_LightmapKeepDynamicPlain: 1
56 | m_LightmapKeepDynamicDirCombined: 1
57 | m_LightmapKeepShadowMask: 1
58 | m_LightmapKeepSubtractive: 1
59 | m_FogKeepLinear: 1
60 | m_FogKeepExp: 1
61 | m_FogKeepExp2: 1
62 | m_AlbedoSwatchInfos: []
63 | m_LightsUseLinearIntensity: 0
64 | m_LightsUseColorTemperature: 0
65 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Prefabs/3DPhotoCamera.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &3378097855327244806
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | serializedVersion: 6
10 | m_Component:
11 | - component: {fileID: 3378097855327244802}
12 | - component: {fileID: 3378097855327244805}
13 | - component: {fileID: 3378097855327244807}
14 | m_Layer: 0
15 | m_Name: 3DPhotoCamera
16 | m_TagString: Untagged
17 | m_Icon: {fileID: 0}
18 | m_NavMeshLayer: 0
19 | m_StaticEditorFlags: 0
20 | m_IsActive: 1
21 | --- !u!4 &3378097855327244802
22 | Transform:
23 | m_ObjectHideFlags: 0
24 | m_CorrespondingSourceObject: {fileID: 0}
25 | m_PrefabInstance: {fileID: 0}
26 | m_PrefabAsset: {fileID: 0}
27 | m_GameObject: {fileID: 3378097855327244806}
28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
29 | m_LocalPosition: {x: 0, y: 0, z: 0}
30 | m_LocalScale: {x: 1, y: 1, z: 1}
31 | m_Children: []
32 | m_Father: {fileID: 0}
33 | m_RootOrder: 0
34 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
35 | --- !u!20 &3378097855327244805
36 | Camera:
37 | m_ObjectHideFlags: 0
38 | m_CorrespondingSourceObject: {fileID: 0}
39 | m_PrefabInstance: {fileID: 0}
40 | m_PrefabAsset: {fileID: 0}
41 | m_GameObject: {fileID: 3378097855327244806}
42 | m_Enabled: 0
43 | serializedVersion: 2
44 | m_ClearFlags: 1
45 | m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
46 | m_projectionMatrixMode: 1
47 | m_SensorSize: {x: 36, y: 24}
48 | m_LensShift: {x: 0, y: 0}
49 | m_GateFitMode: 2
50 | m_FocalLength: 50
51 | m_NormalizedViewPortRect:
52 | serializedVersion: 2
53 | x: 0
54 | y: 0
55 | width: 1
56 | height: 1
57 | near clip plane: 0.3
58 | far clip plane: 1000
59 | field of view: 60
60 | orthographic: 0
61 | orthographic size: 5
62 | m_Depth: -1
63 | m_CullingMask:
64 | serializedVersion: 2
65 | m_Bits: 4294967295
66 | m_RenderingPath: -1
67 | m_TargetTexture: {fileID: 0}
68 | m_TargetDisplay: 0
69 | m_TargetEye: 3
70 | m_HDR: 1
71 | m_AllowMSAA: 1
72 | m_AllowDynamicResolution: 0
73 | m_ForceIntoRT: 0
74 | m_OcclusionCulling: 1
75 | m_StereoConvergence: 10
76 | m_StereoSeparation: 0.022
77 | --- !u!114 &3378097855327244807
78 | MonoBehaviour:
79 | m_ObjectHideFlags: 0
80 | m_CorrespondingSourceObject: {fileID: 0}
81 | m_PrefabInstance: {fileID: 0}
82 | m_PrefabAsset: {fileID: 0}
83 | m_GameObject: {fileID: 3378097855327244806}
84 | m_Enabled: 1
85 | m_EditorHideFlags: 0
86 | m_Script: {fileID: 11500000, guid: 8b79c26b771b8f34a9103f60c391fe58, type: 3}
87 | m_Name:
88 | m_EditorClassIdentifier:
89 | PostprocessMaterial: {fileID: 2100000, guid: 65023a62af465674291010c12f80fd8f, type: 2}
90 | DepthMultiplier: 5
91 | PhotoWidth: 1920
92 | PhotoHeight: 1080
93 | ProgramTag: UnityApp
94 | ReferenceCamera: {fileID: 0}
95 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Shaders/DepthPostProcessing.shader:
--------------------------------------------------------------------------------
1 | //MIT License
2 |
3 | //Copyright(c) 2019 Antony Vitillo(a.k.a. "Skarredghost")
4 |
5 | //Permission is hereby granted, free of charge, to any person obtaining a copy
6 | //of this software and associated documentation files (the "Software"), to deal
7 | //in the Software without restriction, including without limitation the rights
8 | //to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | //copies of the Software, and to permit persons to whom the Software is
10 | //furnished to do so, subject to the following conditions:
11 |
12 | //The above copyright notice and this permission notice shall be included in all
13 | //copies or substantial portions of the Software.
14 |
15 | //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | //IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | //FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | //AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | //LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | //OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | //SOFTWARE.
22 |
23 | //The code is a modification of a tutorial by Ronja, that is released until a CC-0 license
24 | //You can find his tutorial at this link https://www.ronja-tutorials.com/2018/07/01/postprocessing-depth.html
25 | //And the related GitHub repository at this link https://github.com/ronja-tutorials/ShaderTutorials
26 |
27 | Shader "Photo3D/Depth_Postprocessing"{
28 | //show values to edit in inspector
29 | Properties{
30 | [HideInInspector]_MainTex ("Texture", 2D) = "white" {}
31 | _DepthMultiplier("Depth Multiplier", Float) = 1
32 | }
33 |
34 | SubShader{
35 | // markers that specify that we don't need culling
36 | // or comparing/writing to the depth buffer
37 | Cull Off
38 | ZWrite Off
39 | ZTest Always
40 |
41 | Pass{
42 | CGPROGRAM
43 | //include useful shader functions
44 | #include "UnityCG.cginc"
45 |
46 | //define vertex and fragment shader
47 | #pragma vertex vert
48 | #pragma fragment frag
49 |
50 | //the rendered screen so far
51 | sampler2D _MainTex;
52 |
53 | //the depth texture
54 | sampler2D _CameraDepthTexture;
55 |
56 | //the depth multiplier
57 | float _DepthMultiplier;
58 |
59 | //the object data that's put into the vertex shader
60 | struct appdata{
61 | float4 vertex : POSITION;
62 | float2 uv : TEXCOORD0;
63 | };
64 |
65 | //the data that's used to generate fragments and can be read by the fragment shader
66 | struct v2f{
67 | float4 position : SV_POSITION;
68 | float2 uv : TEXCOORD0;
69 | };
70 |
71 | //the vertex shader
72 | v2f vert(appdata v){
73 | v2f o;
74 | //convert the vertex positions from object space to clip space so they can be rendered
75 | o.position = UnityObjectToClipPos(v.vertex);
76 | o.uv = v.uv;
77 | return o;
78 | }
79 |
80 | //the fragment shader
81 | fixed4 frag(v2f i) : SV_TARGET{
82 | //get depth from depth texture
83 | float depth = tex2D(_CameraDepthTexture, i.uv).r;
84 |
85 | //linear depth between camera and far clipping plane
86 | depth = Linear01Depth(depth);
87 |
88 | //if a pixel is beyond the far plane, draw it in black
89 | if (depth >= 1)
90 | return fixed4(0, 0, 0, 1);
91 |
92 | //depth as distance from camera in units
93 | depth = depth * _DepthMultiplier;
94 |
95 | //return depth color
96 | return fixed4(1 - depth, 1 - depth, 1 - depth, 1);;
97 | }
98 | ENDCG
99 | }
100 | }
101 | }
102 |
--------------------------------------------------------------------------------
/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!47 &1
4 | QualitySettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 5
7 | m_CurrentQuality: 4
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Very Low
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | shadowNearPlaneOffset: 3
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | shadowmaskMode: 0
21 | blendWeights: 1
22 | textureQuality: 1
23 | anisotropicTextures: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.3
31 | maximumLODLevel: 0
32 | particleRaycastBudget: 4
33 | asyncUploadTimeSlice: 2
34 | asyncUploadBufferSize: 16
35 | resolutionScalingFixedDPIFactor: 1
36 | excludedTargetPlatforms: []
37 | - serializedVersion: 2
38 | name: Low
39 | pixelLightCount: 0
40 | shadows: 0
41 | shadowResolution: 0
42 | shadowProjection: 1
43 | shadowCascades: 1
44 | shadowDistance: 20
45 | shadowNearPlaneOffset: 3
46 | shadowCascade2Split: 0.33333334
47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
48 | shadowmaskMode: 0
49 | blendWeights: 2
50 | textureQuality: 0
51 | anisotropicTextures: 0
52 | antiAliasing: 0
53 | softParticles: 0
54 | softVegetation: 0
55 | realtimeReflectionProbes: 0
56 | billboardsFaceCameraPosition: 0
57 | vSyncCount: 0
58 | lodBias: 0.4
59 | maximumLODLevel: 0
60 | particleRaycastBudget: 16
61 | asyncUploadTimeSlice: 2
62 | asyncUploadBufferSize: 16
63 | resolutionScalingFixedDPIFactor: 1
64 | excludedTargetPlatforms: []
65 | - serializedVersion: 2
66 | name: Medium
67 | pixelLightCount: 1
68 | shadows: 1
69 | shadowResolution: 0
70 | shadowProjection: 1
71 | shadowCascades: 1
72 | shadowDistance: 20
73 | shadowNearPlaneOffset: 3
74 | shadowCascade2Split: 0.33333334
75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
76 | shadowmaskMode: 0
77 | blendWeights: 2
78 | textureQuality: 0
79 | anisotropicTextures: 1
80 | antiAliasing: 0
81 | softParticles: 0
82 | softVegetation: 0
83 | realtimeReflectionProbes: 0
84 | billboardsFaceCameraPosition: 0
85 | vSyncCount: 1
86 | lodBias: 0.7
87 | maximumLODLevel: 0
88 | particleRaycastBudget: 64
89 | asyncUploadTimeSlice: 2
90 | asyncUploadBufferSize: 16
91 | resolutionScalingFixedDPIFactor: 1
92 | excludedTargetPlatforms: []
93 | - serializedVersion: 2
94 | name: High
95 | pixelLightCount: 2
96 | shadows: 2
97 | shadowResolution: 1
98 | shadowProjection: 1
99 | shadowCascades: 2
100 | shadowDistance: 40
101 | shadowNearPlaneOffset: 3
102 | shadowCascade2Split: 0.33333334
103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
104 | shadowmaskMode: 1
105 | blendWeights: 2
106 | textureQuality: 0
107 | anisotropicTextures: 1
108 | antiAliasing: 2
109 | softParticles: 0
110 | softVegetation: 1
111 | realtimeReflectionProbes: 1
112 | billboardsFaceCameraPosition: 1
113 | vSyncCount: 1
114 | lodBias: 1
115 | maximumLODLevel: 0
116 | particleRaycastBudget: 256
117 | asyncUploadTimeSlice: 2
118 | asyncUploadBufferSize: 16
119 | resolutionScalingFixedDPIFactor: 1
120 | excludedTargetPlatforms: []
121 | - serializedVersion: 2
122 | name: Very High
123 | pixelLightCount: 3
124 | shadows: 2
125 | shadowResolution: 2
126 | shadowProjection: 1
127 | shadowCascades: 2
128 | shadowDistance: 40
129 | shadowNearPlaneOffset: 3
130 | shadowCascade2Split: 0.33333334
131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
132 | shadowmaskMode: 1
133 | blendWeights: 4
134 | textureQuality: 0
135 | anisotropicTextures: 1
136 | antiAliasing: 4
137 | softParticles: 1
138 | softVegetation: 1
139 | realtimeReflectionProbes: 1
140 | billboardsFaceCameraPosition: 1
141 | vSyncCount: 1
142 | lodBias: 1.5
143 | maximumLODLevel: 0
144 | particleRaycastBudget: 1024
145 | asyncUploadTimeSlice: 2
146 | asyncUploadBufferSize: 16
147 | resolutionScalingFixedDPIFactor: 1
148 | excludedTargetPlatforms: []
149 | - serializedVersion: 2
150 | name: Ultra
151 | pixelLightCount: 4
152 | shadows: 2
153 | shadowResolution: 2
154 | shadowProjection: 1
155 | shadowCascades: 4
156 | shadowDistance: 150
157 | shadowNearPlaneOffset: 3
158 | shadowCascade2Split: 0.33333334
159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
160 | shadowmaskMode: 1
161 | blendWeights: 4
162 | textureQuality: 0
163 | anisotropicTextures: 1
164 | antiAliasing: 4
165 | softParticles: 1
166 | softVegetation: 1
167 | realtimeReflectionProbes: 1
168 | billboardsFaceCameraPosition: 1
169 | vSyncCount: 1
170 | lodBias: 2
171 | maximumLODLevel: 0
172 | particleRaycastBudget: 4096
173 | asyncUploadTimeSlice: 2
174 | asyncUploadBufferSize: 16
175 | resolutionScalingFixedDPIFactor: 1
176 | excludedTargetPlatforms: []
177 | m_PerPlatformDefaultQuality:
178 | Android: 2
179 | Nintendo 3DS: 5
180 | Nintendo Switch: 5
181 | PS4: 5
182 | PSP2: 2
183 | Standalone: 5
184 | Tizen: 2
185 | WebGL: 3
186 | WiiU: 5
187 | Windows Store Apps: 5
188 | XboxOne: 5
189 | iPhone: 2
190 | tvOS: 2
191 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # UnityFacebook3DPhoto
2 | A plugin to let you shoot easily 3D Photos for Facebook directly from Unity.
3 |
4 | With this solution you will be able to just press a key in your Unity project and generate instantly the color and depth images required to publish a 3D Photo post of Facebook. The photos will be taken by a Camera that is in the Unity scene and saved on the disk. This way you will be able to promote your Unity project on Facebook in a more innovative way.
5 |
6 | The solution is experimental, so feel free to experiment with it and improve its features.
7 |
8 | ## Getting Started
9 | To see what the UnityFacebook3DPhoto plugin is able to do, my advice is to start by just giving it a try. So, clone this repository, open the project with Unity and open the SampleScene that is located in \Assets\3DPhotos\Sample Scene. Run the application in the editor and press P on your keyboard. Now go to the main folder of the project (the parent folder of Assets): you should find two images, with a name like "UnityApp_Photo3D_2019_4_27_17_1_7.png" and "UnityApp_Photo3D_2019_4_27_17_1_7_depth.png". If you try to drag contemporarily them on Facebook, Facebook will create a 3D post out of them.
10 |
11 | ## Using it in other projects
12 | After you have tested the sample, you would like for sure to use this plugin in a project of yours. To do this, you have just to:
13 | * Copy the \Assets\3DPhotos folder inside the Assets folder of your Unity project;
14 | * Drag into your Unity scene the 3DPhotoCamera Prefab that is located in the \Assets\3DPhotos\Prefabs folder
15 | * Tweak the parameters of the Photo3DShooter behaviour attached to the prefab, if needed
16 | * Modify the code of the Photo3DShooter script, if needed
17 | * Run your application and trigger the photo, using the P key
18 |
19 | The resulting Photo files will be located in:
20 | * The main project folder, if you are in the Unity editor
21 | * The executable folder, if you are launching an .EXE on windows
22 | * The \DCIM\\<ProgramTag> folder, on Android (included AR and VR devices that run Android). "ProgramTag" is one of the parameters of the script, that is set by default as "UnityApp"
23 |
24 | ### Script parameters
25 | The parameters of the Photo3DShooter behaviour define how the 3D photo will be shot. They are heavily commented in the code and also through tooltips, so it is easy for the developer modifying them.
26 |
27 | They are:
28 | * Postprocess Material: you had better not changing it. It is a material used to create the depth map
29 | * Depth Multiplier: it is a constant for which the depth values of the scene gets multiplied for. Unity computes the depth of the scene as a value from 0 to 1. With this multiplier, you can amplify the depth value. Since the resulting color is computed by 1 - multiplied_depth, the more this value is big, the more the depth map will appear black and background objects will disappear from the photo. The more this value is small, the more all objects in the scene will be visualized. NOTE: the default value is 5, but to shoot the photo for my mixed reality game Hit Motion, I had to use a value of around 400, because all objects were close to the camera and I wanted more precision in detecting their different depths. So, experiment with various values: if all objects are white, make this value bigger.
30 | * Photo Width, Photo Height: used to determine the resolution of the 3D Photo files
31 | * Program Tag: name of your application. It is used to set the filename of the photo. On Android, it also determines the folder inside DCIM into which store the photo
32 | * Reference Camera: if this value is null, the photo will be shot by the current Camera present into the prefab, from its position and orientation and with its parameters. If this value is not null, the photo will be shot from the position and rotation of the Reference Camera and using the render parameters of the Reference Camera
33 |
34 | ### Required code modifications
35 | You may want to modify the code to let it suit your needs.
36 |
37 | This may be useful for instance to:
38 | * Save the photos in a different folder or with a different name;
39 | * Implement saving mechanics for other OS (currently only Windows and Android are supported)
40 | * Implement a new mechanism to trigger the photo: e.g. if you use a VR headset, you would probably want to trigger the photo when the user presses the Trigger button on his controller and not when the S key is pressed. This can be easily modified in the Update method of the script 3DPhotoCamera
41 |
42 | ## Understanding the code
43 | The code is very short and highly commented.
44 |
45 | In short, the 3DPhotoCamera behaviour, when the P key is pressed, renders an image from the point of view of the camera that is attached to its gameobject. This is the color image. Then it renders a second image that gets modified by the shader DepthPostProcessing so that every pixel in this new image gets a color that corresponds to its depth in the scene, and so you also have the depth map. These images gets later saved to disk.
46 |
47 | ## Prerequisites
48 | If you want to use the project, you must have Unity editor installed. It has been developed and tested with Unity 2018.3.6f1.
49 |
50 | ## Known issues
51 | This is an experimental project in its first version and so has various problems:
52 | * It is not compatible with all platforms (but you can easily expand it in this sense)
53 | * It is not multithread, so when the photo gets shot, the program halts for an instant
54 | * It may be not the most efficient implementation to shoot a 3D photo
55 |
56 | People more skilled than me are welcome to contribute to this project... to improve and expand it.
57 |
58 | ## Authors
59 |
60 | * **Antony Vitillo (Skarredghost)** - [Blog](http://skarredghost.com)
61 |
62 | ## License
63 |
64 | This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.
65 |
66 | This project uses in part some code from [Ronja Tutorials](https://github.com/ronja-tutorials/ShaderTutorials) that is released under the CC0 1.0 license
67 |
68 | ## Acknowledgments
69 |
70 | I'm releasing this for free, to be helpful for the community. I would really appreciate whatever kind of support if you use this plugin in your project: a hug, a thank you, a subscription to the newsletter of [my blog](https://skarredghost.com), a mention in the credits of your project, a collaboration proposal for your XR project, a donation of 1 million Euros, the phone number of Scarlett Johansson, etc...
71 |
72 | You can contact me [here](https://skarredghost.com/contact/) if you wish.
73 |
74 | Have fun :)
75 |
--------------------------------------------------------------------------------
/ProjectSettings/InputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!13 &1
4 | InputManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Axes:
8 | - serializedVersion: 3
9 | m_Name: Horizontal
10 | descriptiveName:
11 | descriptiveNegativeName:
12 | negativeButton: left
13 | positiveButton: right
14 | altNegativeButton: a
15 | altPositiveButton: d
16 | gravity: 3
17 | dead: 0.001
18 | sensitivity: 3
19 | snap: 1
20 | invert: 0
21 | type: 0
22 | axis: 0
23 | joyNum: 0
24 | - serializedVersion: 3
25 | m_Name: Vertical
26 | descriptiveName:
27 | descriptiveNegativeName:
28 | negativeButton: down
29 | positiveButton: up
30 | altNegativeButton: s
31 | altPositiveButton: w
32 | gravity: 3
33 | dead: 0.001
34 | sensitivity: 3
35 | snap: 1
36 | invert: 0
37 | type: 0
38 | axis: 0
39 | joyNum: 0
40 | - serializedVersion: 3
41 | m_Name: Fire1
42 | descriptiveName:
43 | descriptiveNegativeName:
44 | negativeButton:
45 | positiveButton: left ctrl
46 | altNegativeButton:
47 | altPositiveButton: mouse 0
48 | gravity: 1000
49 | dead: 0.001
50 | sensitivity: 1000
51 | snap: 0
52 | invert: 0
53 | type: 0
54 | axis: 0
55 | joyNum: 0
56 | - serializedVersion: 3
57 | m_Name: Fire2
58 | descriptiveName:
59 | descriptiveNegativeName:
60 | negativeButton:
61 | positiveButton: left alt
62 | altNegativeButton:
63 | altPositiveButton: mouse 1
64 | gravity: 1000
65 | dead: 0.001
66 | sensitivity: 1000
67 | snap: 0
68 | invert: 0
69 | type: 0
70 | axis: 0
71 | joyNum: 0
72 | - serializedVersion: 3
73 | m_Name: Fire3
74 | descriptiveName:
75 | descriptiveNegativeName:
76 | negativeButton:
77 | positiveButton: left shift
78 | altNegativeButton:
79 | altPositiveButton: mouse 2
80 | gravity: 1000
81 | dead: 0.001
82 | sensitivity: 1000
83 | snap: 0
84 | invert: 0
85 | type: 0
86 | axis: 0
87 | joyNum: 0
88 | - serializedVersion: 3
89 | m_Name: Jump
90 | descriptiveName:
91 | descriptiveNegativeName:
92 | negativeButton:
93 | positiveButton: space
94 | altNegativeButton:
95 | altPositiveButton:
96 | gravity: 1000
97 | dead: 0.001
98 | sensitivity: 1000
99 | snap: 0
100 | invert: 0
101 | type: 0
102 | axis: 0
103 | joyNum: 0
104 | - serializedVersion: 3
105 | m_Name: Mouse X
106 | descriptiveName:
107 | descriptiveNegativeName:
108 | negativeButton:
109 | positiveButton:
110 | altNegativeButton:
111 | altPositiveButton:
112 | gravity: 0
113 | dead: 0
114 | sensitivity: 0.1
115 | snap: 0
116 | invert: 0
117 | type: 1
118 | axis: 0
119 | joyNum: 0
120 | - serializedVersion: 3
121 | m_Name: Mouse Y
122 | descriptiveName:
123 | descriptiveNegativeName:
124 | negativeButton:
125 | positiveButton:
126 | altNegativeButton:
127 | altPositiveButton:
128 | gravity: 0
129 | dead: 0
130 | sensitivity: 0.1
131 | snap: 0
132 | invert: 0
133 | type: 1
134 | axis: 1
135 | joyNum: 0
136 | - serializedVersion: 3
137 | m_Name: Mouse ScrollWheel
138 | descriptiveName:
139 | descriptiveNegativeName:
140 | negativeButton:
141 | positiveButton:
142 | altNegativeButton:
143 | altPositiveButton:
144 | gravity: 0
145 | dead: 0
146 | sensitivity: 0.1
147 | snap: 0
148 | invert: 0
149 | type: 1
150 | axis: 2
151 | joyNum: 0
152 | - serializedVersion: 3
153 | m_Name: Horizontal
154 | descriptiveName:
155 | descriptiveNegativeName:
156 | negativeButton:
157 | positiveButton:
158 | altNegativeButton:
159 | altPositiveButton:
160 | gravity: 0
161 | dead: 0.19
162 | sensitivity: 1
163 | snap: 0
164 | invert: 0
165 | type: 2
166 | axis: 0
167 | joyNum: 0
168 | - serializedVersion: 3
169 | m_Name: Vertical
170 | descriptiveName:
171 | descriptiveNegativeName:
172 | negativeButton:
173 | positiveButton:
174 | altNegativeButton:
175 | altPositiveButton:
176 | gravity: 0
177 | dead: 0.19
178 | sensitivity: 1
179 | snap: 0
180 | invert: 1
181 | type: 2
182 | axis: 1
183 | joyNum: 0
184 | - serializedVersion: 3
185 | m_Name: Fire1
186 | descriptiveName:
187 | descriptiveNegativeName:
188 | negativeButton:
189 | positiveButton: joystick button 0
190 | altNegativeButton:
191 | altPositiveButton:
192 | gravity: 1000
193 | dead: 0.001
194 | sensitivity: 1000
195 | snap: 0
196 | invert: 0
197 | type: 0
198 | axis: 0
199 | joyNum: 0
200 | - serializedVersion: 3
201 | m_Name: Fire2
202 | descriptiveName:
203 | descriptiveNegativeName:
204 | negativeButton:
205 | positiveButton: joystick button 1
206 | altNegativeButton:
207 | altPositiveButton:
208 | gravity: 1000
209 | dead: 0.001
210 | sensitivity: 1000
211 | snap: 0
212 | invert: 0
213 | type: 0
214 | axis: 0
215 | joyNum: 0
216 | - serializedVersion: 3
217 | m_Name: Fire3
218 | descriptiveName:
219 | descriptiveNegativeName:
220 | negativeButton:
221 | positiveButton: joystick button 2
222 | altNegativeButton:
223 | altPositiveButton:
224 | gravity: 1000
225 | dead: 0.001
226 | sensitivity: 1000
227 | snap: 0
228 | invert: 0
229 | type: 0
230 | axis: 0
231 | joyNum: 0
232 | - serializedVersion: 3
233 | m_Name: Jump
234 | descriptiveName:
235 | descriptiveNegativeName:
236 | negativeButton:
237 | positiveButton: joystick button 3
238 | altNegativeButton:
239 | altPositiveButton:
240 | gravity: 1000
241 | dead: 0.001
242 | sensitivity: 1000
243 | snap: 0
244 | invert: 0
245 | type: 0
246 | axis: 0
247 | joyNum: 0
248 | - serializedVersion: 3
249 | m_Name: Submit
250 | descriptiveName:
251 | descriptiveNegativeName:
252 | negativeButton:
253 | positiveButton: return
254 | altNegativeButton:
255 | altPositiveButton: joystick button 0
256 | gravity: 1000
257 | dead: 0.001
258 | sensitivity: 1000
259 | snap: 0
260 | invert: 0
261 | type: 0
262 | axis: 0
263 | joyNum: 0
264 | - serializedVersion: 3
265 | m_Name: Submit
266 | descriptiveName:
267 | descriptiveNegativeName:
268 | negativeButton:
269 | positiveButton: enter
270 | altNegativeButton:
271 | altPositiveButton: space
272 | gravity: 1000
273 | dead: 0.001
274 | sensitivity: 1000
275 | snap: 0
276 | invert: 0
277 | type: 0
278 | axis: 0
279 | joyNum: 0
280 | - serializedVersion: 3
281 | m_Name: Cancel
282 | descriptiveName:
283 | descriptiveNegativeName:
284 | negativeButton:
285 | positiveButton: escape
286 | altNegativeButton:
287 | altPositiveButton: joystick button 1
288 | gravity: 1000
289 | dead: 0.001
290 | sensitivity: 1000
291 | snap: 0
292 | invert: 0
293 | type: 0
294 | axis: 0
295 | joyNum: 0
296 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Scripts/Photo3DShooter.cs:
--------------------------------------------------------------------------------
1 | //MIT License
2 |
3 | //Copyright(c) 2019 Antony Vitillo(a.k.a. "Skarredghost")
4 |
5 | //Permission is hereby granted, free of charge, to any person obtaining a copy
6 | //of this software and associated documentation files (the "Software"), to deal
7 | //in the Software without restriction, including without limitation the rights
8 | //to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | //copies of the Software, and to permit persons to whom the Software is
10 | //furnished to do so, subject to the following conditions:
11 |
12 | //The above copyright notice and this permission notice shall be included in all
13 | //copies or substantial portions of the Software.
14 |
15 | //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | //IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | //FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | //AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | //LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | //OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | //SOFTWARE.
22 |
23 | //The code is a inspired by a tutorial by Ronja, that is released until a CC-0 license
24 | //You can find his tutorial at this link https://www.ronja-tutorials.com/2018/07/01/postprocessing-depth.html
25 | //And the related GitHub repository at this link https://github.com/ronja-tutorials/ShaderTutorials
26 |
27 | using System;
28 | using System.Collections;
29 | using System.IO;
30 | using UnityEngine;
31 |
32 | namespace Photo3D
33 | {
34 | ///
35 | /// Shoots a 3D photo
36 | ///
37 | [RequireComponent(typeof(Camera))]
38 | public class Photo3DShooter : MonoBehaviour
39 | {
40 | ///
41 | /// Material used to compute the depth distance
42 | ///
43 | [Tooltip("Material used to compute the depth map... do not touch :)")]
44 | public Material PostprocessMaterial;
45 |
46 | ///
47 | /// Multiplier of depth value
48 | ///
49 | [Tooltip("Constant for which the depth map computed by Unity has to be multiplied. The more it is small, the more the depth map becomes white; the more it is big, the more the depth map becomes black and background objects disappear in the 3D Photo")]
50 | public float DepthMultiplier = 5f;
51 |
52 | ///
53 | /// Width of the screenshot to take
54 | ///
55 | [Tooltip("Width of the 3D Photo")]
56 | public int PhotoWidth = 1920;
57 |
58 | ///
59 | /// Height of the screenshot to take
60 | ///
61 | [Tooltip("Height of the 3D Photo")]
62 | public int PhotoHeight = 1080;
63 |
64 | ///
65 | /// The name of the app, used to change the filename and the folder used to save the photo
66 | ///
67 | [Tooltip("The name of your application")]
68 | public string ProgramTag = "UnityApp";
69 |
70 | ///
71 | /// Reference camera to be used to take the photos. If this value is null, the photo will be taken with the camera attached to this object, as is.
72 | /// If the value is not null, the camera that takes the 3D photo will copy all parameters of the reference camera and will also match the position and rotation of the reference camera when shooting the photo.
73 | ///
74 | [Tooltip("Reference camera to shoot the photos. If this value is null, the photo will be taken with the camera attached to this object, as is. If the value is not null, the camera that takes the 3D photo will copy all parameters of the reference camera and will also match the position and rotation of the reference camera when shooting the photo.")]
75 | public Camera ReferenceCamera = null;
76 |
77 | ///
78 | /// Render Texture used to shoot the photos from this camera
79 | ///
80 | private RenderTexture m_renderTexture;
81 |
82 | ///
83 | /// Texture used to copy the values of the render texture
84 | ///
85 | private Texture2D m_texture;
86 |
87 | ///
88 | /// Reference to the camera attached to this object
89 | ///
90 | private Camera m_camera;
91 |
92 | ///
93 | /// False if we are shooting the color photo, true if we are shooting the depth map photo
94 | ///
95 | private bool m_depthImage;
96 |
97 | ///
98 | /// Start
99 | ///
100 | private void Start()
101 | {
102 | //get the camera and initialize it
103 | m_camera = GetComponent();
104 |
105 | if (ReferenceCamera != null)
106 | m_camera.CopyFrom(ReferenceCamera); //copy parameters of reference camera
107 |
108 | m_camera.depthTextureMode = m_camera.depthTextureMode | DepthTextureMode.Depth; //needed to compute the depth map
109 | m_camera.enabled = false;
110 |
111 | //init textures
112 | m_renderTexture = new RenderTexture(PhotoWidth, PhotoHeight, 24, RenderTextureFormat.ARGB32);
113 | m_renderTexture.Create();
114 | m_texture = new Texture2D(PhotoWidth, PhotoHeight, TextureFormat.ARGB32, false);
115 |
116 | //set depth multiplier, as required by the user
117 | PostprocessMaterial.SetFloat("_DepthMultiplier", DepthMultiplier);
118 | }
119 |
120 | ///
121 | /// Update
122 | ///
123 | private void Update()
124 | {
125 | //TODO: Change this to match your requirements. Most probably on Android or in AR/VR experiences you will have to set your own mechanics to trigger the Capture function
126 | if (Input.GetKeyDown(KeyCode.P))
127 | Capture();
128 | }
129 |
130 | ///
131 | /// Method which is automatically called by unity after the camera is done rendering
132 | ///
133 | private void OnRenderImage(RenderTexture source, RenderTexture destination)
134 | {
135 | //draws the pixels from the source texture to the destination texture. If we are computing the depth image, apply the special shader to compute it, otherwise just copy the image as-is
136 | if (m_depthImage)
137 | Graphics.Blit(source, destination, PostprocessMaterial);
138 | else
139 | Graphics.Blit(source, destination);
140 | }
141 |
142 | ///
143 | /// Capture the 3D photo
144 | ///
145 | private void Capture()
146 | {
147 | //copy pose of reference camera, if needed
148 | if (ReferenceCamera != null)
149 | m_camera.transform.SetPositionAndRotation(ReferenceCamera.transform.position, ReferenceCamera.transform.rotation);
150 |
151 | //enable camera and render texture
152 | m_camera.enabled = true;
153 | m_camera.targetTexture = m_renderTexture;
154 | RenderTexture.active = m_renderTexture;
155 |
156 | //compute date for the file name. We do it here, otherwise the name of the file may change between depth and color computations
157 | DateTime nowTime = DateTime.Now;
158 |
159 | //shoot Color photo
160 | RenderAndSaveImage(false, nowTime);
161 |
162 | //shoot Depth photo
163 | RenderAndSaveImage(true, nowTime);
164 |
165 | //disable camera and render texture
166 | RenderTexture.active = null;
167 | m_camera.targetTexture = null;
168 | m_camera.enabled = false;
169 | }
170 |
171 | ///
172 | /// Renders an image from current camera and saves it to a file on disk
173 | ///
174 | /// True if we must compute depth map, false for color image
175 | /// Present time used to save the images
176 | private void RenderAndSaveImage(bool isDepthImage, DateTime nowTime)
177 | {
178 | //set depth parameter: it will be used by the OnRenderImage method called internally by the Render() method of the camera to decide if applying a depth-compute shader or not
179 | m_depthImage = isDepthImage;
180 |
181 | //render the scene and save it to texture
182 | m_camera.Render();
183 | m_texture.ReadPixels(new Rect(0, 0, PhotoWidth, PhotoHeight), 0, 0);
184 |
185 | //convert to PNG
186 | byte[] imgPng = m_texture.EncodeToPNG();
187 |
188 | //save image to disk
189 | //TODO: put it into another thread to not make the saving block the application
190 | StartCoroutine(SaveImage(imgPng, isDepthImage, nowTime));
191 | }
192 |
193 | ///
194 | /// Saves the image to disk
195 | ///
196 | /// PNG image to save
197 | /// True if it is a depth image, false otherwise
198 | /// Present time used to compute the filename
199 | ///
200 | private IEnumerator SaveImage(byte[] imageToSave, bool isDepthImage, DateTime nowTime)
201 | {
202 | //create a file name. Notice that the depth map must end with "_depth"
203 | string fileName = String.Format("{0}_Photo3D_{1}_{2}_{3}_{4}_{5}_{6}.png", ProgramTag, nowTime.Year, nowTime.Month, nowTime.Day, nowTime.Hour, nowTime.Minute, nowTime.Second + (isDepthImage ? "_depth" : ""));
204 |
205 | #if UNITY_STANDALONE || UNITY_EDITOR
206 | //on PC, let's save the image on the directory of the executable
207 | //If we are in the Unity editor, it will be saved in the directory of the project
208 | File.WriteAllBytes(Application.dataPath + @"\..\" + fileName, imageToSave);
209 | yield break;
210 |
211 | #elif UNITY_ANDROID
212 | //on Android devices (so also VR standalones), let's save the image in "/DCIM/ProgramTag/
213 |
214 | string imageGalleryPath = "";
215 | string temporaryImageName = "image";
216 |
217 | //set the directory into which save the image so that when you connect the Focus to the PC it appears in /DCIM/FocusSelfies
218 | try
219 | {
220 | using (var environment = new AndroidJavaClass("android.os.Environment"))
221 | {
222 |
223 | var dirFile = environment.CallStatic("getExternalStorageDirectory");
224 | imageGalleryPath = dirFile.Call("getAbsolutePath");
225 | }
226 |
227 | }
228 | catch (Exception e)
229 | {
230 | yield break;
231 | }
232 |
233 | imageGalleryPath += "/DCIM/" + ProgramTag;
234 |
235 | //save the image to a temporary file into application internal path. Wait until the file gets created
236 | System.IO.File.WriteAllBytes(Application.persistentDataPath + "/" + temporaryImageName + ".png", imageToSave);
237 |
238 | while (!System.IO.File.Exists(Application.persistentDataPath + "/" + temporaryImageName + ".png"))
239 | yield return null;
240 |
241 | //copy the temporary file to the final destination
242 | if (!System.IO.Directory.Exists(imageGalleryPath))
243 | System.IO.Directory.CreateDirectory(imageGalleryPath);
244 | System.IO.File.Copy(Application.persistentDataPath + "/" + temporaryImageName + ".png", imageGalleryPath + "/" + fileName);
245 |
246 | //delete the temporary file
247 | System.IO.File.Delete(Application.persistentDataPath + "/" + temporaryImageName + ".png");
248 | #endif
249 | }
250 | }
251 |
252 | }
--------------------------------------------------------------------------------
/ProjectSettings/ProjectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!129 &1
4 | PlayerSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 15
7 | productGUID: bd72fb363411c7a4f9f14f2d6bed3d05
8 | AndroidProfiler: 0
9 | AndroidFilterTouchesWhenObscured: 0
10 | AndroidEnableSustainedPerformanceMode: 0
11 | defaultScreenOrientation: 4
12 | targetDevice: 2
13 | useOnDemandResources: 0
14 | accelerometerFrequency: 60
15 | companyName: New Technology Walkers
16 | productName: Photos3DTest
17 | defaultCursor: {fileID: 0}
18 | cursorHotspot: {x: 0, y: 0}
19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
20 | m_ShowUnitySplashScreen: 1
21 | m_ShowUnitySplashLogo: 1
22 | m_SplashScreenOverlayOpacity: 1
23 | m_SplashScreenAnimation: 1
24 | m_SplashScreenLogoStyle: 1
25 | m_SplashScreenDrawMode: 0
26 | m_SplashScreenBackgroundAnimationZoom: 1
27 | m_SplashScreenLogoAnimationZoom: 1
28 | m_SplashScreenBackgroundLandscapeAspect: 1
29 | m_SplashScreenBackgroundPortraitAspect: 1
30 | m_SplashScreenBackgroundLandscapeUvs:
31 | serializedVersion: 2
32 | x: 0
33 | y: 0
34 | width: 1
35 | height: 1
36 | m_SplashScreenBackgroundPortraitUvs:
37 | serializedVersion: 2
38 | x: 0
39 | y: 0
40 | width: 1
41 | height: 1
42 | m_SplashScreenLogos: []
43 | m_VirtualRealitySplashScreen: {fileID: 0}
44 | m_HolographicTrackingLossScreen: {fileID: 0}
45 | defaultScreenWidth: 1024
46 | defaultScreenHeight: 768
47 | defaultScreenWidthWeb: 960
48 | defaultScreenHeightWeb: 600
49 | m_StereoRenderingPath: 0
50 | m_ActiveColorSpace: 0
51 | m_MTRendering: 1
52 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000
53 | iosShowActivityIndicatorOnLoading: -1
54 | androidShowActivityIndicatorOnLoading: -1
55 | iosAppInBackgroundBehavior: 0
56 | displayResolutionDialog: 1
57 | iosAllowHTTPDownload: 1
58 | allowedAutorotateToPortrait: 1
59 | allowedAutorotateToPortraitUpsideDown: 1
60 | allowedAutorotateToLandscapeRight: 1
61 | allowedAutorotateToLandscapeLeft: 1
62 | useOSAutorotation: 1
63 | use32BitDisplayBuffer: 1
64 | preserveFramebufferAlpha: 0
65 | disableDepthAndStencilBuffers: 0
66 | androidStartInFullscreen: 1
67 | androidRenderOutsideSafeArea: 0
68 | androidBlitType: 0
69 | defaultIsNativeResolution: 1
70 | macRetinaSupport: 1
71 | runInBackground: 1
72 | captureSingleScreen: 0
73 | muteOtherAudioSources: 0
74 | Prepare IOS For Recording: 0
75 | Force IOS Speakers When Recording: 0
76 | deferSystemGesturesMode: 0
77 | hideHomeButton: 0
78 | submitAnalytics: 1
79 | usePlayerLog: 1
80 | bakeCollisionMeshes: 0
81 | forceSingleInstance: 0
82 | resizableWindow: 0
83 | useMacAppStoreValidation: 0
84 | macAppStoreCategory: public.app-category.games
85 | gpuSkinning: 1
86 | graphicsJobs: 0
87 | xboxPIXTextureCapture: 0
88 | xboxEnableAvatar: 0
89 | xboxEnableKinect: 0
90 | xboxEnableKinectAutoTracking: 0
91 | xboxEnableFitness: 0
92 | visibleInBackground: 1
93 | allowFullscreenSwitch: 1
94 | graphicsJobMode: 0
95 | fullscreenMode: 1
96 | xboxSpeechDB: 0
97 | xboxEnableHeadOrientation: 0
98 | xboxEnableGuest: 0
99 | xboxEnablePIXSampling: 0
100 | metalFramebufferOnly: 0
101 | xboxOneResolution: 0
102 | xboxOneSResolution: 0
103 | xboxOneXResolution: 3
104 | xboxOneMonoLoggingLevel: 0
105 | xboxOneLoggingLevel: 1
106 | xboxOneDisableEsram: 0
107 | xboxOnePresentImmediateThreshold: 0
108 | switchQueueCommandMemory: 1048576
109 | switchQueueControlMemory: 16384
110 | switchQueueComputeMemory: 262144
111 | switchNVNShaderPoolsGranularity: 33554432
112 | switchNVNDefaultPoolsGranularity: 16777216
113 | switchNVNOtherPoolsGranularity: 16777216
114 | vulkanEnableSetSRGBWrite: 0
115 | m_SupportedAspectRatios:
116 | 4:3: 1
117 | 5:4: 1
118 | 16:10: 1
119 | 16:9: 1
120 | Others: 1
121 | bundleVersion: 0.1
122 | preloadedAssets: []
123 | metroInputSource: 0
124 | wsaTransparentSwapchain: 0
125 | m_HolographicPauseOnTrackingLoss: 1
126 | xboxOneDisableKinectGpuReservation: 0
127 | xboxOneEnable7thCore: 0
128 | isWsaHolographicRemotingEnabled: 0
129 | vrSettings:
130 | cardboard:
131 | depthFormat: 0
132 | enableTransitionView: 0
133 | daydream:
134 | depthFormat: 0
135 | useSustainedPerformanceMode: 0
136 | enableVideoLayer: 0
137 | useProtectedVideoMemory: 0
138 | minimumSupportedHeadTracking: 0
139 | maximumSupportedHeadTracking: 1
140 | hololens:
141 | depthFormat: 1
142 | depthBufferSharingEnabled: 0
143 | oculus:
144 | sharedDepthBuffer: 1
145 | dashSupport: 1
146 | enable360StereoCapture: 0
147 | protectGraphicsMemory: 0
148 | enableFrameTimingStats: 0
149 | useHDRDisplay: 0
150 | m_ColorGamuts: 00000000
151 | targetPixelDensity: 30
152 | resolutionScalingMode: 0
153 | androidSupportedAspectRatio: 1
154 | androidMaxAspectRatio: 2.1
155 | applicationIdentifier:
156 | Android: com.ntw.Photos3DTest
157 | buildNumber: {}
158 | AndroidBundleVersionCode: 1
159 | AndroidMinSdkVersion: 16
160 | AndroidTargetSdkVersion: 0
161 | AndroidPreferredInstallLocation: 1
162 | aotOptions:
163 | stripEngineCode: 1
164 | iPhoneStrippingLevel: 0
165 | iPhoneScriptCallOptimization: 0
166 | ForceInternetPermission: 0
167 | ForceSDCardPermission: 0
168 | CreateWallpaper: 0
169 | APKExpansionFiles: 0
170 | keepLoadedShadersAlive: 0
171 | StripUnusedMeshComponents: 1
172 | VertexChannelCompressionMask: 4054
173 | iPhoneSdkVersion: 988
174 | iOSTargetOSVersionString: 9.0
175 | tvOSSdkVersion: 0
176 | tvOSRequireExtendedGameController: 0
177 | tvOSTargetOSVersionString: 9.0
178 | uIPrerenderedIcon: 0
179 | uIRequiresPersistentWiFi: 0
180 | uIRequiresFullScreen: 1
181 | uIStatusBarHidden: 1
182 | uIExitOnSuspend: 0
183 | uIStatusBarStyle: 0
184 | iPhoneSplashScreen: {fileID: 0}
185 | iPhoneHighResSplashScreen: {fileID: 0}
186 | iPhoneTallHighResSplashScreen: {fileID: 0}
187 | iPhone47inSplashScreen: {fileID: 0}
188 | iPhone55inPortraitSplashScreen: {fileID: 0}
189 | iPhone55inLandscapeSplashScreen: {fileID: 0}
190 | iPhone58inPortraitSplashScreen: {fileID: 0}
191 | iPhone58inLandscapeSplashScreen: {fileID: 0}
192 | iPadPortraitSplashScreen: {fileID: 0}
193 | iPadHighResPortraitSplashScreen: {fileID: 0}
194 | iPadLandscapeSplashScreen: {fileID: 0}
195 | iPadHighResLandscapeSplashScreen: {fileID: 0}
196 | appleTVSplashScreen: {fileID: 0}
197 | appleTVSplashScreen2x: {fileID: 0}
198 | tvOSSmallIconLayers: []
199 | tvOSSmallIconLayers2x: []
200 | tvOSLargeIconLayers: []
201 | tvOSLargeIconLayers2x: []
202 | tvOSTopShelfImageLayers: []
203 | tvOSTopShelfImageLayers2x: []
204 | tvOSTopShelfImageWideLayers: []
205 | tvOSTopShelfImageWideLayers2x: []
206 | iOSLaunchScreenType: 0
207 | iOSLaunchScreenPortrait: {fileID: 0}
208 | iOSLaunchScreenLandscape: {fileID: 0}
209 | iOSLaunchScreenBackgroundColor:
210 | serializedVersion: 2
211 | rgba: 0
212 | iOSLaunchScreenFillPct: 100
213 | iOSLaunchScreenSize: 100
214 | iOSLaunchScreenCustomXibPath:
215 | iOSLaunchScreeniPadType: 0
216 | iOSLaunchScreeniPadImage: {fileID: 0}
217 | iOSLaunchScreeniPadBackgroundColor:
218 | serializedVersion: 2
219 | rgba: 0
220 | iOSLaunchScreeniPadFillPct: 100
221 | iOSLaunchScreeniPadSize: 100
222 | iOSLaunchScreeniPadCustomXibPath:
223 | iOSUseLaunchScreenStoryboard: 0
224 | iOSLaunchScreenCustomStoryboardPath:
225 | iOSDeviceRequirements: []
226 | iOSURLSchemes: []
227 | iOSBackgroundModes: 0
228 | iOSMetalForceHardShadows: 0
229 | metalEditorSupport: 1
230 | metalAPIValidation: 1
231 | iOSRenderExtraFrameOnPause: 0
232 | appleDeveloperTeamID:
233 | iOSManualSigningProvisioningProfileID:
234 | tvOSManualSigningProvisioningProfileID:
235 | iOSManualSigningProvisioningProfileType: 0
236 | tvOSManualSigningProvisioningProfileType: 0
237 | appleEnableAutomaticSigning: 0
238 | iOSRequireARKit: 0
239 | appleEnableProMotion: 0
240 | clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea
241 | templatePackageId: com.unity.template.3d@1.0.4
242 | templateDefaultScene: Assets/Scenes/SampleScene.unity
243 | AndroidTargetArchitectures: 5
244 | AndroidSplashScreenScale: 0
245 | androidSplashScreen: {fileID: 0}
246 | AndroidKeystoreName:
247 | AndroidKeyaliasName:
248 | AndroidBuildApkPerCpuArchitecture: 0
249 | AndroidTVCompatibility: 1
250 | AndroidIsGame: 1
251 | AndroidEnableTango: 0
252 | androidEnableBanner: 1
253 | androidUseLowAccuracyLocation: 0
254 | m_AndroidBanners:
255 | - width: 320
256 | height: 180
257 | banner: {fileID: 0}
258 | androidGamepadSupportLevel: 0
259 | resolutionDialogBanner: {fileID: 0}
260 | m_BuildTargetIcons: []
261 | m_BuildTargetPlatformIcons: []
262 | m_BuildTargetBatching:
263 | - m_BuildTarget: Standalone
264 | m_StaticBatching: 1
265 | m_DynamicBatching: 0
266 | - m_BuildTarget: tvOS
267 | m_StaticBatching: 1
268 | m_DynamicBatching: 0
269 | - m_BuildTarget: Android
270 | m_StaticBatching: 1
271 | m_DynamicBatching: 0
272 | - m_BuildTarget: iPhone
273 | m_StaticBatching: 1
274 | m_DynamicBatching: 0
275 | - m_BuildTarget: WebGL
276 | m_StaticBatching: 0
277 | m_DynamicBatching: 0
278 | m_BuildTargetGraphicsAPIs:
279 | - m_BuildTarget: AndroidPlayer
280 | m_APIs: 0b00000008000000
281 | m_Automatic: 1
282 | - m_BuildTarget: iOSSupport
283 | m_APIs: 10000000
284 | m_Automatic: 1
285 | - m_BuildTarget: AppleTVSupport
286 | m_APIs: 10000000
287 | m_Automatic: 0
288 | - m_BuildTarget: WebGLSupport
289 | m_APIs: 0b000000
290 | m_Automatic: 1
291 | m_BuildTargetVRSettings:
292 | - m_BuildTarget: Standalone
293 | m_Enabled: 0
294 | m_Devices:
295 | - Oculus
296 | - OpenVR
297 | m_BuildTargetEnableVuforiaSettings: []
298 | openGLRequireES31: 0
299 | openGLRequireES31AEP: 0
300 | m_TemplateCustomTags: {}
301 | mobileMTRendering:
302 | Android: 1
303 | iPhone: 1
304 | tvOS: 1
305 | m_BuildTargetGroupLightmapEncodingQuality: []
306 | m_BuildTargetGroupLightmapSettings: []
307 | playModeTestRunnerEnabled: 0
308 | runPlayModeTestAsEditModeTest: 0
309 | actionOnDotNetUnhandledException: 1
310 | enableInternalProfiler: 0
311 | logObjCUncaughtExceptions: 1
312 | enableCrashReportAPI: 0
313 | cameraUsageDescription:
314 | locationUsageDescription:
315 | microphoneUsageDescription:
316 | switchNetLibKey:
317 | switchSocketMemoryPoolSize: 6144
318 | switchSocketAllocatorPoolSize: 128
319 | switchSocketConcurrencyLimit: 14
320 | switchScreenResolutionBehavior: 2
321 | switchUseCPUProfiler: 0
322 | switchApplicationID: 0x01004b9000490000
323 | switchNSODependencies:
324 | switchTitleNames_0:
325 | switchTitleNames_1:
326 | switchTitleNames_2:
327 | switchTitleNames_3:
328 | switchTitleNames_4:
329 | switchTitleNames_5:
330 | switchTitleNames_6:
331 | switchTitleNames_7:
332 | switchTitleNames_8:
333 | switchTitleNames_9:
334 | switchTitleNames_10:
335 | switchTitleNames_11:
336 | switchTitleNames_12:
337 | switchTitleNames_13:
338 | switchTitleNames_14:
339 | switchPublisherNames_0:
340 | switchPublisherNames_1:
341 | switchPublisherNames_2:
342 | switchPublisherNames_3:
343 | switchPublisherNames_4:
344 | switchPublisherNames_5:
345 | switchPublisherNames_6:
346 | switchPublisherNames_7:
347 | switchPublisherNames_8:
348 | switchPublisherNames_9:
349 | switchPublisherNames_10:
350 | switchPublisherNames_11:
351 | switchPublisherNames_12:
352 | switchPublisherNames_13:
353 | switchPublisherNames_14:
354 | switchIcons_0: {fileID: 0}
355 | switchIcons_1: {fileID: 0}
356 | switchIcons_2: {fileID: 0}
357 | switchIcons_3: {fileID: 0}
358 | switchIcons_4: {fileID: 0}
359 | switchIcons_5: {fileID: 0}
360 | switchIcons_6: {fileID: 0}
361 | switchIcons_7: {fileID: 0}
362 | switchIcons_8: {fileID: 0}
363 | switchIcons_9: {fileID: 0}
364 | switchIcons_10: {fileID: 0}
365 | switchIcons_11: {fileID: 0}
366 | switchIcons_12: {fileID: 0}
367 | switchIcons_13: {fileID: 0}
368 | switchIcons_14: {fileID: 0}
369 | switchSmallIcons_0: {fileID: 0}
370 | switchSmallIcons_1: {fileID: 0}
371 | switchSmallIcons_2: {fileID: 0}
372 | switchSmallIcons_3: {fileID: 0}
373 | switchSmallIcons_4: {fileID: 0}
374 | switchSmallIcons_5: {fileID: 0}
375 | switchSmallIcons_6: {fileID: 0}
376 | switchSmallIcons_7: {fileID: 0}
377 | switchSmallIcons_8: {fileID: 0}
378 | switchSmallIcons_9: {fileID: 0}
379 | switchSmallIcons_10: {fileID: 0}
380 | switchSmallIcons_11: {fileID: 0}
381 | switchSmallIcons_12: {fileID: 0}
382 | switchSmallIcons_13: {fileID: 0}
383 | switchSmallIcons_14: {fileID: 0}
384 | switchManualHTML:
385 | switchAccessibleURLs:
386 | switchLegalInformation:
387 | switchMainThreadStackSize: 1048576
388 | switchPresenceGroupId:
389 | switchLogoHandling: 0
390 | switchReleaseVersion: 0
391 | switchDisplayVersion: 1.0.0
392 | switchStartupUserAccount: 0
393 | switchTouchScreenUsage: 0
394 | switchSupportedLanguagesMask: 0
395 | switchLogoType: 0
396 | switchApplicationErrorCodeCategory:
397 | switchUserAccountSaveDataSize: 0
398 | switchUserAccountSaveDataJournalSize: 0
399 | switchApplicationAttribute: 0
400 | switchCardSpecSize: -1
401 | switchCardSpecClock: -1
402 | switchRatingsMask: 0
403 | switchRatingsInt_0: 0
404 | switchRatingsInt_1: 0
405 | switchRatingsInt_2: 0
406 | switchRatingsInt_3: 0
407 | switchRatingsInt_4: 0
408 | switchRatingsInt_5: 0
409 | switchRatingsInt_6: 0
410 | switchRatingsInt_7: 0
411 | switchRatingsInt_8: 0
412 | switchRatingsInt_9: 0
413 | switchRatingsInt_10: 0
414 | switchRatingsInt_11: 0
415 | switchLocalCommunicationIds_0:
416 | switchLocalCommunicationIds_1:
417 | switchLocalCommunicationIds_2:
418 | switchLocalCommunicationIds_3:
419 | switchLocalCommunicationIds_4:
420 | switchLocalCommunicationIds_5:
421 | switchLocalCommunicationIds_6:
422 | switchLocalCommunicationIds_7:
423 | switchParentalControl: 0
424 | switchAllowsScreenshot: 1
425 | switchAllowsVideoCapturing: 1
426 | switchAllowsRuntimeAddOnContentInstall: 0
427 | switchDataLossConfirmation: 0
428 | switchUserAccountLockEnabled: 0
429 | switchSystemResourceMemory: 16777216
430 | switchSupportedNpadStyles: 3
431 | switchNativeFsCacheSize: 32
432 | switchIsHoldTypeHorizontal: 0
433 | switchSupportedNpadCount: 8
434 | switchSocketConfigEnabled: 0
435 | switchTcpInitialSendBufferSize: 32
436 | switchTcpInitialReceiveBufferSize: 64
437 | switchTcpAutoSendBufferSizeMax: 256
438 | switchTcpAutoReceiveBufferSizeMax: 256
439 | switchUdpSendBufferSize: 9
440 | switchUdpReceiveBufferSize: 42
441 | switchSocketBufferEfficiency: 4
442 | switchSocketInitializeEnabled: 1
443 | switchNetworkInterfaceManagerInitializeEnabled: 1
444 | switchPlayerConnectionEnabled: 1
445 | ps4NPAgeRating: 12
446 | ps4NPTitleSecret:
447 | ps4NPTrophyPackPath:
448 | ps4ParentalLevel: 11
449 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000
450 | ps4Category: 0
451 | ps4MasterVersion: 01.00
452 | ps4AppVersion: 01.00
453 | ps4AppType: 0
454 | ps4ParamSfxPath:
455 | ps4VideoOutPixelFormat: 0
456 | ps4VideoOutInitialWidth: 1920
457 | ps4VideoOutBaseModeInitialWidth: 1920
458 | ps4VideoOutReprojectionRate: 60
459 | ps4PronunciationXMLPath:
460 | ps4PronunciationSIGPath:
461 | ps4BackgroundImagePath:
462 | ps4StartupImagePath:
463 | ps4StartupImagesFolder:
464 | ps4IconImagesFolder:
465 | ps4SaveDataImagePath:
466 | ps4SdkOverride:
467 | ps4BGMPath:
468 | ps4ShareFilePath:
469 | ps4ShareOverlayImagePath:
470 | ps4PrivacyGuardImagePath:
471 | ps4NPtitleDatPath:
472 | ps4RemotePlayKeyAssignment: -1
473 | ps4RemotePlayKeyMappingDir:
474 | ps4PlayTogetherPlayerCount: 0
475 | ps4EnterButtonAssignment: 1
476 | ps4ApplicationParam1: 0
477 | ps4ApplicationParam2: 0
478 | ps4ApplicationParam3: 0
479 | ps4ApplicationParam4: 0
480 | ps4DownloadDataSize: 0
481 | ps4GarlicHeapSize: 2048
482 | ps4ProGarlicHeapSize: 2560
483 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
484 | ps4pnSessions: 1
485 | ps4pnPresence: 1
486 | ps4pnFriends: 1
487 | ps4pnGameCustomData: 1
488 | playerPrefsSupport: 0
489 | enableApplicationExit: 0
490 | resetTempFolder: 1
491 | restrictedAudioUsageRights: 0
492 | ps4UseResolutionFallback: 0
493 | ps4ReprojectionSupport: 0
494 | ps4UseAudio3dBackend: 0
495 | ps4SocialScreenEnabled: 0
496 | ps4ScriptOptimizationLevel: 0
497 | ps4Audio3dVirtualSpeakerCount: 14
498 | ps4attribCpuUsage: 0
499 | ps4PatchPkgPath:
500 | ps4PatchLatestPkgPath:
501 | ps4PatchChangeinfoPath:
502 | ps4PatchDayOne: 0
503 | ps4attribUserManagement: 0
504 | ps4attribMoveSupport: 0
505 | ps4attrib3DSupport: 0
506 | ps4attribShareSupport: 0
507 | ps4attribExclusiveVR: 0
508 | ps4disableAutoHideSplash: 0
509 | ps4videoRecordingFeaturesUsed: 0
510 | ps4contentSearchFeaturesUsed: 0
511 | ps4attribEyeToEyeDistanceSettingVR: 0
512 | ps4IncludedModules: []
513 | monoEnv:
514 | splashScreenBackgroundSourceLandscape: {fileID: 0}
515 | splashScreenBackgroundSourcePortrait: {fileID: 0}
516 | spritePackerPolicy:
517 | webGLMemorySize: 256
518 | webGLExceptionSupport: 1
519 | webGLNameFilesAsHashes: 0
520 | webGLDataCaching: 1
521 | webGLDebugSymbols: 0
522 | webGLEmscriptenArgs:
523 | webGLModulesDirectory:
524 | webGLTemplate: APPLICATION:Default
525 | webGLAnalyzeBuildSize: 0
526 | webGLUseEmbeddedResources: 0
527 | webGLCompressionFormat: 1
528 | webGLLinkerTarget: 1
529 | webGLThreadsSupport: 0
530 | scriptingDefineSymbols: {}
531 | platformArchitecture: {}
532 | scriptingBackend: {}
533 | il2cppCompilerConfiguration: {}
534 | managedStrippingLevel: {}
535 | incrementalIl2cppBuild: {}
536 | allowUnsafeCode: 0
537 | additionalIl2CppArgs:
538 | scriptingRuntimeVersion: 1
539 | apiCompatibilityLevelPerPlatform: {}
540 | m_RenderingPath: 1
541 | m_MobileRenderingPath: 1
542 | metroPackageName: Template_3D
543 | metroPackageVersion:
544 | metroCertificatePath:
545 | metroCertificatePassword:
546 | metroCertificateSubject:
547 | metroCertificateIssuer:
548 | metroCertificateNotAfter: 0000000000000000
549 | metroApplicationDescription: Template_3D
550 | wsaImages: {}
551 | metroTileShortName:
552 | metroTileShowName: 0
553 | metroMediumTileShowName: 0
554 | metroLargeTileShowName: 0
555 | metroWideTileShowName: 0
556 | metroSupportStreamingInstall: 0
557 | metroLastRequiredScene: 0
558 | metroDefaultTileSize: 1
559 | metroTileForegroundText: 2
560 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
561 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628,
562 | a: 1}
563 | metroSplashScreenUseBackgroundColor: 0
564 | platformCapabilities: {}
565 | metroTargetDeviceFamilies: {}
566 | metroFTAName:
567 | metroFTAFileTypes: []
568 | metroProtocolName:
569 | metroCompilationOverrides: 1
570 | XboxOneProductId:
571 | XboxOneUpdateKey:
572 | XboxOneSandboxId:
573 | XboxOneContentId:
574 | XboxOneTitleId:
575 | XboxOneSCId:
576 | XboxOneGameOsOverridePath:
577 | XboxOnePackagingOverridePath:
578 | XboxOneAppManifestOverridePath:
579 | XboxOneVersion: 1.0.0.0
580 | XboxOnePackageEncryption: 0
581 | XboxOnePackageUpdateGranularity: 2
582 | XboxOneDescription:
583 | XboxOneLanguage:
584 | - enus
585 | XboxOneCapability: []
586 | XboxOneGameRating: {}
587 | XboxOneIsContentPackage: 0
588 | XboxOneEnableGPUVariability: 0
589 | XboxOneSockets: {}
590 | XboxOneSplashScreen: {fileID: 0}
591 | XboxOneAllowedProductIds: []
592 | XboxOnePersistentLocalStorageSize: 0
593 | XboxOneXTitleMemory: 8
594 | xboxOneScriptCompiler: 0
595 | XboxOneOverrideIdentityName:
596 | vrEditorSettings:
597 | daydream:
598 | daydreamIconForeground: {fileID: 0}
599 | daydreamIconBackground: {fileID: 0}
600 | cloudServicesEnabled:
601 | UNet: 1
602 | luminIcon:
603 | m_Name:
604 | m_ModelFolderPath:
605 | m_PortalFolderPath:
606 | luminCert:
607 | m_CertPath:
608 | m_PrivateKeyPath:
609 | luminIsChannelApp: 0
610 | luminVersion:
611 | m_VersionCode: 1
612 | m_VersionName:
613 | facebookSdkVersion: 7.9.4
614 | facebookAppId:
615 | facebookCookies: 1
616 | facebookLogging: 1
617 | facebookStatus: 1
618 | facebookXfbml: 0
619 | facebookFrictionlessRequests: 1
620 | apiCompatibilityLevel: 6
621 | cloudProjectId:
622 | framebufferDepthMemorylessMode: 0
623 | projectName:
624 | organizationId:
625 | cloudEnabled: 0
626 | enableNativePlatformBackendsForNewInputSystem: 0
627 | disableOldInputManagerSupport: 0
628 | legacyClampBlendShapeWeights: 0
629 |
--------------------------------------------------------------------------------
/Assets/3DPhotos/Sample Scene/SampleScene.unity:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!29 &1
4 | OcclusionCullingSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_OcclusionBakeSettings:
8 | smallestOccluder: 5
9 | smallestHole: 0.25
10 | backfaceThreshold: 100
11 | m_SceneGUID: 00000000000000000000000000000000
12 | m_OcclusionCullingData: {fileID: 0}
13 | --- !u!104 &2
14 | RenderSettings:
15 | m_ObjectHideFlags: 0
16 | serializedVersion: 9
17 | m_Fog: 0
18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
19 | m_FogMode: 3
20 | m_FogDensity: 0.01
21 | m_LinearFogStart: 0
22 | m_LinearFogEnd: 300
23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
26 | m_AmbientIntensity: 1
27 | m_AmbientMode: 0
28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
30 | m_HaloStrength: 0.5
31 | m_FlareStrength: 1
32 | m_FlareFadeSpeed: 3
33 | m_HaloTexture: {fileID: 0}
34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
35 | m_DefaultReflectionMode: 0
36 | m_DefaultReflectionResolution: 128
37 | m_ReflectionBounces: 1
38 | m_ReflectionIntensity: 1
39 | m_CustomReflection: {fileID: 0}
40 | m_Sun: {fileID: 170076734}
41 | m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
42 | m_UseRadianceAmbientProbe: 0
43 | --- !u!157 &3
44 | LightmapSettings:
45 | m_ObjectHideFlags: 0
46 | serializedVersion: 11
47 | m_GIWorkflowMode: 0
48 | m_GISettings:
49 | serializedVersion: 2
50 | m_BounceScale: 1
51 | m_IndirectOutputScale: 1
52 | m_AlbedoBoost: 1
53 | m_EnvironmentLightingMode: 0
54 | m_EnableBakedLightmaps: 1
55 | m_EnableRealtimeLightmaps: 0
56 | m_LightmapEditorSettings:
57 | serializedVersion: 10
58 | m_Resolution: 2
59 | m_BakeResolution: 10
60 | m_AtlasSize: 512
61 | m_AO: 0
62 | m_AOMaxDistance: 1
63 | m_CompAOExponent: 1
64 | m_CompAOExponentDirect: 0
65 | m_Padding: 2
66 | m_LightmapParameters: {fileID: 0}
67 | m_LightmapsBakeMode: 1
68 | m_TextureCompression: 1
69 | m_FinalGather: 0
70 | m_FinalGatherFiltering: 1
71 | m_FinalGatherRayCount: 256
72 | m_ReflectionCompression: 2
73 | m_MixedBakeMode: 2
74 | m_BakeBackend: 1
75 | m_PVRSampling: 1
76 | m_PVRDirectSampleCount: 32
77 | m_PVRSampleCount: 256
78 | m_PVRBounces: 2
79 | m_PVRFilterTypeDirect: 0
80 | m_PVRFilterTypeIndirect: 0
81 | m_PVRFilterTypeAO: 0
82 | m_PVRFilteringMode: 1
83 | m_PVRCulling: 1
84 | m_PVRFilteringGaussRadiusDirect: 1
85 | m_PVRFilteringGaussRadiusIndirect: 5
86 | m_PVRFilteringGaussRadiusAO: 2
87 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5
88 | m_PVRFilteringAtrousPositionSigmaIndirect: 2
89 | m_PVRFilteringAtrousPositionSigmaAO: 1
90 | m_ShowResolutionOverlay: 1
91 | m_LightingDataAsset: {fileID: 0}
92 | m_UseShadowmask: 1
93 | --- !u!196 &4
94 | NavMeshSettings:
95 | serializedVersion: 2
96 | m_ObjectHideFlags: 0
97 | m_BuildSettings:
98 | serializedVersion: 2
99 | agentTypeID: 0
100 | agentRadius: 0.5
101 | agentHeight: 2
102 | agentSlope: 45
103 | agentClimb: 0.4
104 | ledgeDropHeight: 0
105 | maxJumpAcrossDistance: 0
106 | minRegionArea: 2
107 | manualCellSize: 0
108 | cellSize: 0.16666667
109 | manualTileSize: 0
110 | tileSize: 256
111 | accuratePlacement: 0
112 | debug:
113 | m_Flags: 0
114 | m_NavMeshData: {fileID: 0}
115 | --- !u!1 &170076733
116 | GameObject:
117 | m_ObjectHideFlags: 0
118 | m_CorrespondingSourceObject: {fileID: 0}
119 | m_PrefabInstance: {fileID: 0}
120 | m_PrefabAsset: {fileID: 0}
121 | serializedVersion: 6
122 | m_Component:
123 | - component: {fileID: 170076735}
124 | - component: {fileID: 170076734}
125 | m_Layer: 0
126 | m_Name: Directional Light
127 | m_TagString: Untagged
128 | m_Icon: {fileID: 0}
129 | m_NavMeshLayer: 0
130 | m_StaticEditorFlags: 0
131 | m_IsActive: 1
132 | --- !u!108 &170076734
133 | Light:
134 | m_ObjectHideFlags: 0
135 | m_CorrespondingSourceObject: {fileID: 0}
136 | m_PrefabInstance: {fileID: 0}
137 | m_PrefabAsset: {fileID: 0}
138 | m_GameObject: {fileID: 170076733}
139 | m_Enabled: 1
140 | serializedVersion: 8
141 | m_Type: 1
142 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
143 | m_Intensity: 1
144 | m_Range: 10
145 | m_SpotAngle: 30
146 | m_CookieSize: 10
147 | m_Shadows:
148 | m_Type: 2
149 | m_Resolution: -1
150 | m_CustomResolution: -1
151 | m_Strength: 1
152 | m_Bias: 0.05
153 | m_NormalBias: 0.4
154 | m_NearPlane: 0.2
155 | m_Cookie: {fileID: 0}
156 | m_DrawHalo: 0
157 | m_Flare: {fileID: 0}
158 | m_RenderMode: 0
159 | m_CullingMask:
160 | serializedVersion: 2
161 | m_Bits: 4294967295
162 | m_Lightmapping: 1
163 | m_LightShadowCasterMode: 0
164 | m_AreaSize: {x: 1, y: 1}
165 | m_BounceIntensity: 1
166 | m_ColorTemperature: 6570
167 | m_UseColorTemperature: 0
168 | m_ShadowRadius: 0
169 | m_ShadowAngle: 0
170 | --- !u!4 &170076735
171 | Transform:
172 | m_ObjectHideFlags: 0
173 | m_CorrespondingSourceObject: {fileID: 0}
174 | m_PrefabInstance: {fileID: 0}
175 | m_PrefabAsset: {fileID: 0}
176 | m_GameObject: {fileID: 170076733}
177 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
178 | m_LocalPosition: {x: 0, y: 3, z: 0}
179 | m_LocalScale: {x: 1, y: 1, z: 1}
180 | m_Children: []
181 | m_Father: {fileID: 0}
182 | m_RootOrder: 1
183 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
184 | --- !u!1 &449034923
185 | GameObject:
186 | m_ObjectHideFlags: 0
187 | m_CorrespondingSourceObject: {fileID: 0}
188 | m_PrefabInstance: {fileID: 0}
189 | m_PrefabAsset: {fileID: 0}
190 | serializedVersion: 6
191 | m_Component:
192 | - component: {fileID: 449034927}
193 | - component: {fileID: 449034926}
194 | - component: {fileID: 449034925}
195 | - component: {fileID: 449034924}
196 | m_Layer: 5
197 | m_Name: UI_Canvas
198 | m_TagString: Untagged
199 | m_Icon: {fileID: 0}
200 | m_NavMeshLayer: 0
201 | m_StaticEditorFlags: 0
202 | m_IsActive: 1
203 | --- !u!114 &449034924
204 | MonoBehaviour:
205 | m_ObjectHideFlags: 0
206 | m_CorrespondingSourceObject: {fileID: 0}
207 | m_PrefabInstance: {fileID: 0}
208 | m_PrefabAsset: {fileID: 0}
209 | m_GameObject: {fileID: 449034923}
210 | m_Enabled: 1
211 | m_EditorHideFlags: 0
212 | m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
213 | m_Name:
214 | m_EditorClassIdentifier:
215 | m_IgnoreReversedGraphics: 1
216 | m_BlockingObjects: 0
217 | m_BlockingMask:
218 | serializedVersion: 2
219 | m_Bits: 4294967295
220 | --- !u!114 &449034925
221 | MonoBehaviour:
222 | m_ObjectHideFlags: 0
223 | m_CorrespondingSourceObject: {fileID: 0}
224 | m_PrefabInstance: {fileID: 0}
225 | m_PrefabAsset: {fileID: 0}
226 | m_GameObject: {fileID: 449034923}
227 | m_Enabled: 1
228 | m_EditorHideFlags: 0
229 | m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
230 | m_Name:
231 | m_EditorClassIdentifier:
232 | m_UiScaleMode: 0
233 | m_ReferencePixelsPerUnit: 100
234 | m_ScaleFactor: 1
235 | m_ReferenceResolution: {x: 800, y: 600}
236 | m_ScreenMatchMode: 0
237 | m_MatchWidthOrHeight: 0
238 | m_PhysicalUnit: 3
239 | m_FallbackScreenDPI: 96
240 | m_DefaultSpriteDPI: 96
241 | m_DynamicPixelsPerUnit: 1
242 | --- !u!223 &449034926
243 | Canvas:
244 | m_ObjectHideFlags: 0
245 | m_CorrespondingSourceObject: {fileID: 0}
246 | m_PrefabInstance: {fileID: 0}
247 | m_PrefabAsset: {fileID: 0}
248 | m_GameObject: {fileID: 449034923}
249 | m_Enabled: 1
250 | serializedVersion: 3
251 | m_RenderMode: 0
252 | m_Camera: {fileID: 0}
253 | m_PlaneDistance: 100
254 | m_PixelPerfect: 0
255 | m_ReceivesEvents: 1
256 | m_OverrideSorting: 0
257 | m_OverridePixelPerfect: 0
258 | m_SortingBucketNormalizedSize: 0
259 | m_AdditionalShaderChannelsFlag: 0
260 | m_SortingLayerID: 0
261 | m_SortingOrder: 0
262 | m_TargetDisplay: 0
263 | --- !u!224 &449034927
264 | RectTransform:
265 | m_ObjectHideFlags: 0
266 | m_CorrespondingSourceObject: {fileID: 0}
267 | m_PrefabInstance: {fileID: 0}
268 | m_PrefabAsset: {fileID: 0}
269 | m_GameObject: {fileID: 449034923}
270 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
271 | m_LocalPosition: {x: 0, y: 0, z: 0}
272 | m_LocalScale: {x: 0, y: 0, z: 0}
273 | m_Children:
274 | - {fileID: 862334374}
275 | m_Father: {fileID: 0}
276 | m_RootOrder: 5
277 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
278 | m_AnchorMin: {x: 0, y: 0}
279 | m_AnchorMax: {x: 0, y: 0}
280 | m_AnchoredPosition: {x: 0, y: 0}
281 | m_SizeDelta: {x: 0, y: 0}
282 | m_Pivot: {x: 0, y: 0}
283 | --- !u!1 &524547550
284 | GameObject:
285 | m_ObjectHideFlags: 0
286 | m_CorrespondingSourceObject: {fileID: 0}
287 | m_PrefabInstance: {fileID: 0}
288 | m_PrefabAsset: {fileID: 0}
289 | serializedVersion: 6
290 | m_Component:
291 | - component: {fileID: 524547553}
292 | - component: {fileID: 524547552}
293 | - component: {fileID: 524547551}
294 | m_Layer: 0
295 | m_Name: EventSystem
296 | m_TagString: Untagged
297 | m_Icon: {fileID: 0}
298 | m_NavMeshLayer: 0
299 | m_StaticEditorFlags: 0
300 | m_IsActive: 1
301 | --- !u!114 &524547551
302 | MonoBehaviour:
303 | m_ObjectHideFlags: 0
304 | m_CorrespondingSourceObject: {fileID: 0}
305 | m_PrefabInstance: {fileID: 0}
306 | m_PrefabAsset: {fileID: 0}
307 | m_GameObject: {fileID: 524547550}
308 | m_Enabled: 1
309 | m_EditorHideFlags: 0
310 | m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
311 | m_Name:
312 | m_EditorClassIdentifier:
313 | m_HorizontalAxis: Horizontal
314 | m_VerticalAxis: Vertical
315 | m_SubmitButton: Submit
316 | m_CancelButton: Cancel
317 | m_InputActionsPerSecond: 10
318 | m_RepeatDelay: 0.5
319 | m_ForceModuleActive: 0
320 | --- !u!114 &524547552
321 | MonoBehaviour:
322 | m_ObjectHideFlags: 0
323 | m_CorrespondingSourceObject: {fileID: 0}
324 | m_PrefabInstance: {fileID: 0}
325 | m_PrefabAsset: {fileID: 0}
326 | m_GameObject: {fileID: 524547550}
327 | m_Enabled: 1
328 | m_EditorHideFlags: 0
329 | m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
330 | m_Name:
331 | m_EditorClassIdentifier:
332 | m_FirstSelected: {fileID: 0}
333 | m_sendNavigationEvents: 1
334 | m_DragThreshold: 10
335 | --- !u!4 &524547553
336 | Transform:
337 | m_ObjectHideFlags: 0
338 | m_CorrespondingSourceObject: {fileID: 0}
339 | m_PrefabInstance: {fileID: 0}
340 | m_PrefabAsset: {fileID: 0}
341 | m_GameObject: {fileID: 524547550}
342 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
343 | m_LocalPosition: {x: 0, y: 0, z: 0}
344 | m_LocalScale: {x: 1, y: 1, z: 1}
345 | m_Children: []
346 | m_Father: {fileID: 0}
347 | m_RootOrder: 6
348 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
349 | --- !u!1 &534669902
350 | GameObject:
351 | m_ObjectHideFlags: 0
352 | m_CorrespondingSourceObject: {fileID: 0}
353 | m_PrefabInstance: {fileID: 0}
354 | m_PrefabAsset: {fileID: 0}
355 | serializedVersion: 6
356 | m_Component:
357 | - component: {fileID: 534669905}
358 | - component: {fileID: 534669904}
359 | - component: {fileID: 534669903}
360 | m_Layer: 0
361 | m_Name: Main Camera
362 | m_TagString: MainCamera
363 | m_Icon: {fileID: 0}
364 | m_NavMeshLayer: 0
365 | m_StaticEditorFlags: 0
366 | m_IsActive: 1
367 | --- !u!81 &534669903
368 | AudioListener:
369 | m_ObjectHideFlags: 0
370 | m_CorrespondingSourceObject: {fileID: 0}
371 | m_PrefabInstance: {fileID: 0}
372 | m_PrefabAsset: {fileID: 0}
373 | m_GameObject: {fileID: 534669902}
374 | m_Enabled: 1
375 | --- !u!20 &534669904
376 | Camera:
377 | m_ObjectHideFlags: 0
378 | m_CorrespondingSourceObject: {fileID: 0}
379 | m_PrefabInstance: {fileID: 0}
380 | m_PrefabAsset: {fileID: 0}
381 | m_GameObject: {fileID: 534669902}
382 | m_Enabled: 1
383 | serializedVersion: 2
384 | m_ClearFlags: 1
385 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
386 | m_projectionMatrixMode: 1
387 | m_SensorSize: {x: 36, y: 24}
388 | m_LensShift: {x: 0, y: 0}
389 | m_GateFitMode: 2
390 | m_FocalLength: 50
391 | m_NormalizedViewPortRect:
392 | serializedVersion: 2
393 | x: 0
394 | y: 0
395 | width: 1
396 | height: 1
397 | near clip plane: 0.3
398 | far clip plane: 1000
399 | field of view: 60
400 | orthographic: 0
401 | orthographic size: 5
402 | m_Depth: -1
403 | m_CullingMask:
404 | serializedVersion: 2
405 | m_Bits: 4294967295
406 | m_RenderingPath: -1
407 | m_TargetTexture: {fileID: 0}
408 | m_TargetDisplay: 0
409 | m_TargetEye: 3
410 | m_HDR: 1
411 | m_AllowMSAA: 1
412 | m_AllowDynamicResolution: 0
413 | m_ForceIntoRT: 0
414 | m_OcclusionCulling: 1
415 | m_StereoConvergence: 10
416 | m_StereoSeparation: 0.022
417 | --- !u!4 &534669905
418 | Transform:
419 | m_ObjectHideFlags: 0
420 | m_CorrespondingSourceObject: {fileID: 0}
421 | m_PrefabInstance: {fileID: 0}
422 | m_PrefabAsset: {fileID: 0}
423 | m_GameObject: {fileID: 534669902}
424 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
425 | m_LocalPosition: {x: 0, y: 1, z: -10}
426 | m_LocalScale: {x: 1, y: 1, z: 1}
427 | m_Children: []
428 | m_Father: {fileID: 0}
429 | m_RootOrder: 0
430 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
431 | --- !u!1 &762449935
432 | GameObject:
433 | m_ObjectHideFlags: 0
434 | m_CorrespondingSourceObject: {fileID: 0}
435 | m_PrefabInstance: {fileID: 0}
436 | m_PrefabAsset: {fileID: 0}
437 | serializedVersion: 6
438 | m_Component:
439 | - component: {fileID: 762449939}
440 | - component: {fileID: 762449938}
441 | - component: {fileID: 762449937}
442 | - component: {fileID: 762449936}
443 | m_Layer: 0
444 | m_Name: Cube
445 | m_TagString: Untagged
446 | m_Icon: {fileID: 0}
447 | m_NavMeshLayer: 0
448 | m_StaticEditorFlags: 0
449 | m_IsActive: 1
450 | --- !u!65 &762449936
451 | BoxCollider:
452 | m_ObjectHideFlags: 0
453 | m_CorrespondingSourceObject: {fileID: 0}
454 | m_PrefabInstance: {fileID: 0}
455 | m_PrefabAsset: {fileID: 0}
456 | m_GameObject: {fileID: 762449935}
457 | m_Material: {fileID: 0}
458 | m_IsTrigger: 0
459 | m_Enabled: 1
460 | serializedVersion: 2
461 | m_Size: {x: 1, y: 1, z: 1}
462 | m_Center: {x: 0, y: 0, z: 0}
463 | --- !u!23 &762449937
464 | MeshRenderer:
465 | m_ObjectHideFlags: 0
466 | m_CorrespondingSourceObject: {fileID: 0}
467 | m_PrefabInstance: {fileID: 0}
468 | m_PrefabAsset: {fileID: 0}
469 | m_GameObject: {fileID: 762449935}
470 | m_Enabled: 1
471 | m_CastShadows: 1
472 | m_ReceiveShadows: 1
473 | m_DynamicOccludee: 1
474 | m_MotionVectors: 1
475 | m_LightProbeUsage: 1
476 | m_ReflectionProbeUsage: 1
477 | m_RenderingLayerMask: 1
478 | m_RendererPriority: 0
479 | m_Materials:
480 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
481 | m_StaticBatchInfo:
482 | firstSubMesh: 0
483 | subMeshCount: 0
484 | m_StaticBatchRoot: {fileID: 0}
485 | m_ProbeAnchor: {fileID: 0}
486 | m_LightProbeVolumeOverride: {fileID: 0}
487 | m_ScaleInLightmap: 1
488 | m_PreserveUVs: 0
489 | m_IgnoreNormalsForChartDetection: 0
490 | m_ImportantGI: 0
491 | m_StitchLightmapSeams: 0
492 | m_SelectedEditorRenderState: 3
493 | m_MinimumChartSize: 4
494 | m_AutoUVMaxDistance: 0.5
495 | m_AutoUVMaxAngle: 89
496 | m_LightmapParameters: {fileID: 0}
497 | m_SortingLayerID: 0
498 | m_SortingLayer: 0
499 | m_SortingOrder: 0
500 | --- !u!33 &762449938
501 | MeshFilter:
502 | m_ObjectHideFlags: 0
503 | m_CorrespondingSourceObject: {fileID: 0}
504 | m_PrefabInstance: {fileID: 0}
505 | m_PrefabAsset: {fileID: 0}
506 | m_GameObject: {fileID: 762449935}
507 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
508 | --- !u!4 &762449939
509 | Transform:
510 | m_ObjectHideFlags: 0
511 | m_CorrespondingSourceObject: {fileID: 0}
512 | m_PrefabInstance: {fileID: 0}
513 | m_PrefabAsset: {fileID: 0}
514 | m_GameObject: {fileID: 762449935}
515 | m_LocalRotation: {x: 0.10056289, y: 0.45405024, z: 0.19143306, w: 0.86433727}
516 | m_LocalPosition: {x: 0, y: 0, z: 76.45}
517 | m_LocalScale: {x: 14.652048, y: 14.652048, z: 14.652048}
518 | m_Children: []
519 | m_Father: {fileID: 0}
520 | m_RootOrder: 2
521 | m_LocalEulerAnglesHint: {x: 0, y: 55.427002, z: 24.977001}
522 | --- !u!1 &862334373
523 | GameObject:
524 | m_ObjectHideFlags: 0
525 | m_CorrespondingSourceObject: {fileID: 0}
526 | m_PrefabInstance: {fileID: 0}
527 | m_PrefabAsset: {fileID: 0}
528 | serializedVersion: 6
529 | m_Component:
530 | - component: {fileID: 862334374}
531 | - component: {fileID: 862334376}
532 | - component: {fileID: 862334375}
533 | m_Layer: 5
534 | m_Name: Text
535 | m_TagString: Untagged
536 | m_Icon: {fileID: 0}
537 | m_NavMeshLayer: 0
538 | m_StaticEditorFlags: 0
539 | m_IsActive: 1
540 | --- !u!224 &862334374
541 | RectTransform:
542 | m_ObjectHideFlags: 0
543 | m_CorrespondingSourceObject: {fileID: 0}
544 | m_PrefabInstance: {fileID: 0}
545 | m_PrefabAsset: {fileID: 0}
546 | m_GameObject: {fileID: 862334373}
547 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
548 | m_LocalPosition: {x: 0, y: 0, z: 0}
549 | m_LocalScale: {x: 1, y: 1, z: 1}
550 | m_Children: []
551 | m_Father: {fileID: 449034927}
552 | m_RootOrder: 0
553 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
554 | m_AnchorMin: {x: 0, y: 0}
555 | m_AnchorMax: {x: 0, y: 0}
556 | m_AnchoredPosition: {x: 21.77, y: 0}
557 | m_SizeDelta: {x: 974.9, y: 135.4}
558 | m_Pivot: {x: 0, y: 0}
559 | --- !u!114 &862334375
560 | MonoBehaviour:
561 | m_ObjectHideFlags: 0
562 | m_CorrespondingSourceObject: {fileID: 0}
563 | m_PrefabInstance: {fileID: 0}
564 | m_PrefabAsset: {fileID: 0}
565 | m_GameObject: {fileID: 862334373}
566 | m_Enabled: 1
567 | m_EditorHideFlags: 0
568 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
569 | m_Name:
570 | m_EditorClassIdentifier:
571 | m_Material: {fileID: 0}
572 | m_Color: {r: 0, g: 0.96084595, b: 1, a: 1}
573 | m_RaycastTarget: 1
574 | m_OnCullStateChanged:
575 | m_PersistentCalls:
576 | m_Calls: []
577 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
578 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
579 | m_FontData:
580 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
581 | m_FontSize: 31
582 | m_FontStyle: 0
583 | m_BestFit: 0
584 | m_MinSize: 2
585 | m_MaxSize: 40
586 | m_Alignment: 0
587 | m_AlignByGeometry: 0
588 | m_RichText: 1
589 | m_HorizontalOverflow: 0
590 | m_VerticalOverflow: 0
591 | m_LineSpacing: 1
592 | m_Text: "Press P to take a 3D Photo from the point of view of the Main Camera.\nYou
593 | will find two PNG images in the main folder of your project. \nIf you drag them
594 | to Facebook, you will publish a 3D Photo"
595 | --- !u!222 &862334376
596 | CanvasRenderer:
597 | m_ObjectHideFlags: 0
598 | m_CorrespondingSourceObject: {fileID: 0}
599 | m_PrefabInstance: {fileID: 0}
600 | m_PrefabAsset: {fileID: 0}
601 | m_GameObject: {fileID: 862334373}
602 | m_CullTransparentMesh: 0
603 | --- !u!1 &919065273
604 | GameObject:
605 | m_ObjectHideFlags: 0
606 | m_CorrespondingSourceObject: {fileID: 0}
607 | m_PrefabInstance: {fileID: 0}
608 | m_PrefabAsset: {fileID: 0}
609 | serializedVersion: 6
610 | m_Component:
611 | - component: {fileID: 919065277}
612 | - component: {fileID: 919065276}
613 | - component: {fileID: 919065275}
614 | - component: {fileID: 919065274}
615 | m_Layer: 0
616 | m_Name: Sphere
617 | m_TagString: Untagged
618 | m_Icon: {fileID: 0}
619 | m_NavMeshLayer: 0
620 | m_StaticEditorFlags: 0
621 | m_IsActive: 1
622 | --- !u!135 &919065274
623 | SphereCollider:
624 | m_ObjectHideFlags: 0
625 | m_CorrespondingSourceObject: {fileID: 0}
626 | m_PrefabInstance: {fileID: 0}
627 | m_PrefabAsset: {fileID: 0}
628 | m_GameObject: {fileID: 919065273}
629 | m_Material: {fileID: 0}
630 | m_IsTrigger: 0
631 | m_Enabled: 1
632 | serializedVersion: 2
633 | m_Radius: 0.5
634 | m_Center: {x: 0, y: 0, z: 0}
635 | --- !u!23 &919065275
636 | MeshRenderer:
637 | m_ObjectHideFlags: 0
638 | m_CorrespondingSourceObject: {fileID: 0}
639 | m_PrefabInstance: {fileID: 0}
640 | m_PrefabAsset: {fileID: 0}
641 | m_GameObject: {fileID: 919065273}
642 | m_Enabled: 1
643 | m_CastShadows: 1
644 | m_ReceiveShadows: 1
645 | m_DynamicOccludee: 1
646 | m_MotionVectors: 1
647 | m_LightProbeUsage: 1
648 | m_ReflectionProbeUsage: 1
649 | m_RenderingLayerMask: 1
650 | m_RendererPriority: 0
651 | m_Materials:
652 | - {fileID: 2100000, guid: 6d1a3990493bc1e40a7f3eb87b0c864d, type: 2}
653 | m_StaticBatchInfo:
654 | firstSubMesh: 0
655 | subMeshCount: 0
656 | m_StaticBatchRoot: {fileID: 0}
657 | m_ProbeAnchor: {fileID: 0}
658 | m_LightProbeVolumeOverride: {fileID: 0}
659 | m_ScaleInLightmap: 1
660 | m_PreserveUVs: 0
661 | m_IgnoreNormalsForChartDetection: 0
662 | m_ImportantGI: 0
663 | m_StitchLightmapSeams: 0
664 | m_SelectedEditorRenderState: 3
665 | m_MinimumChartSize: 4
666 | m_AutoUVMaxDistance: 0.5
667 | m_AutoUVMaxAngle: 89
668 | m_LightmapParameters: {fileID: 0}
669 | m_SortingLayerID: 0
670 | m_SortingLayer: 0
671 | m_SortingOrder: 0
672 | --- !u!33 &919065276
673 | MeshFilter:
674 | m_ObjectHideFlags: 0
675 | m_CorrespondingSourceObject: {fileID: 0}
676 | m_PrefabInstance: {fileID: 0}
677 | m_PrefabAsset: {fileID: 0}
678 | m_GameObject: {fileID: 919065273}
679 | m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
680 | --- !u!4 &919065277
681 | Transform:
682 | m_ObjectHideFlags: 0
683 | m_CorrespondingSourceObject: {fileID: 0}
684 | m_PrefabInstance: {fileID: 0}
685 | m_PrefabAsset: {fileID: 0}
686 | m_GameObject: {fileID: 919065273}
687 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
688 | m_LocalPosition: {x: 0, y: 0, z: -5.19}
689 | m_LocalScale: {x: 1, y: 1, z: 1}
690 | m_Children: []
691 | m_Father: {fileID: 0}
692 | m_RootOrder: 3
693 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
694 | --- !u!1001 &3378097855339000238
695 | PrefabInstance:
696 | m_ObjectHideFlags: 0
697 | serializedVersion: 2
698 | m_Modification:
699 | m_TransformParent: {fileID: 0}
700 | m_Modifications:
701 | - target: {fileID: 3378097855327244806, guid: 5040451c6193bfa45894f72dc99892b4,
702 | type: 3}
703 | propertyPath: m_Name
704 | value: 3DPhotoCamera
705 | objectReference: {fileID: 0}
706 | - target: {fileID: 3378097855327244802, guid: 5040451c6193bfa45894f72dc99892b4,
707 | type: 3}
708 | propertyPath: m_LocalPosition.x
709 | value: 0
710 | objectReference: {fileID: 0}
711 | - target: {fileID: 3378097855327244802, guid: 5040451c6193bfa45894f72dc99892b4,
712 | type: 3}
713 | propertyPath: m_LocalPosition.y
714 | value: 0
715 | objectReference: {fileID: 0}
716 | - target: {fileID: 3378097855327244802, guid: 5040451c6193bfa45894f72dc99892b4,
717 | type: 3}
718 | propertyPath: m_LocalPosition.z
719 | value: 0
720 | objectReference: {fileID: 0}
721 | - target: {fileID: 3378097855327244802, guid: 5040451c6193bfa45894f72dc99892b4,
722 | type: 3}
723 | propertyPath: m_LocalRotation.x
724 | value: 0
725 | objectReference: {fileID: 0}
726 | - target: {fileID: 3378097855327244802, guid: 5040451c6193bfa45894f72dc99892b4,
727 | type: 3}
728 | propertyPath: m_LocalRotation.y
729 | value: 0
730 | objectReference: {fileID: 0}
731 | - target: {fileID: 3378097855327244802, guid: 5040451c6193bfa45894f72dc99892b4,
732 | type: 3}
733 | propertyPath: m_LocalRotation.z
734 | value: 0
735 | objectReference: {fileID: 0}
736 | - target: {fileID: 3378097855327244802, guid: 5040451c6193bfa45894f72dc99892b4,
737 | type: 3}
738 | propertyPath: m_LocalRotation.w
739 | value: 1
740 | objectReference: {fileID: 0}
741 | - target: {fileID: 3378097855327244802, guid: 5040451c6193bfa45894f72dc99892b4,
742 | type: 3}
743 | propertyPath: m_RootOrder
744 | value: 4
745 | objectReference: {fileID: 0}
746 | - target: {fileID: 3378097855327244802, guid: 5040451c6193bfa45894f72dc99892b4,
747 | type: 3}
748 | propertyPath: m_LocalEulerAnglesHint.x
749 | value: 0
750 | objectReference: {fileID: 0}
751 | - target: {fileID: 3378097855327244802, guid: 5040451c6193bfa45894f72dc99892b4,
752 | type: 3}
753 | propertyPath: m_LocalEulerAnglesHint.y
754 | value: 0
755 | objectReference: {fileID: 0}
756 | - target: {fileID: 3378097855327244802, guid: 5040451c6193bfa45894f72dc99892b4,
757 | type: 3}
758 | propertyPath: m_LocalEulerAnglesHint.z
759 | value: 0
760 | objectReference: {fileID: 0}
761 | - target: {fileID: 3378097855327244807, guid: 5040451c6193bfa45894f72dc99892b4,
762 | type: 3}
763 | propertyPath: ReferenceCamera
764 | value:
765 | objectReference: {fileID: 534669904}
766 | m_RemovedComponents: []
767 | m_SourcePrefab: {fileID: 100100000, guid: 5040451c6193bfa45894f72dc99892b4, type: 3}
768 |
--------------------------------------------------------------------------------