├── .github
└── workflows
│ └── publish.yml
├── .gitignore
├── Assembly-CSharp.csproj
├── Assets
├── MoveNet3DSample.cs
├── MoveNet3DSample.cs.meta
├── MoveNet3DSample.unity
├── MoveNet3DSample.unity.meta
├── MoveNet3DVisualizer.cs
├── MoveNet3DVisualizer.cs.meta
├── XR.meta
└── XR
│ ├── Loaders.meta
│ ├── Loaders
│ ├── AR Core Loader.asset
│ ├── AR Core Loader.asset.meta
│ ├── AR Kit Loader.asset
│ ├── AR Kit Loader.asset.meta
│ ├── SimulationLoader.asset
│ └── SimulationLoader.asset.meta
│ ├── Resources.meta
│ ├── Resources
│ ├── XRSimulationRuntimeSettings.asset
│ └── XRSimulationRuntimeSettings.asset.meta
│ ├── Settings.meta
│ ├── Settings
│ ├── AR Core Settings.asset
│ ├── AR Core Settings.asset.meta
│ ├── AR Kit Settings.asset
│ ├── AR Kit Settings.asset.meta
│ ├── XRSimulationSettings.asset
│ └── XRSimulationSettings.asset.meta
│ ├── UserSimulationSettings.meta
│ ├── UserSimulationSettings
│ ├── Resources.meta
│ ├── Resources
│ │ ├── XRSimulationPreferences.asset
│ │ └── XRSimulationPreferences.asset.meta
│ ├── SimulationEnvironmentAssetsManager.asset
│ └── SimulationEnvironmentAssetsManager.asset.meta
│ ├── XRGeneralSettings.asset
│ └── XRGeneralSettings.asset.meta
├── LICENSE
├── Packages
├── ai.natml.vision.movenet-3d
│ ├── Changelog.md
│ ├── Changelog.md.meta
│ ├── LICENSE
│ ├── LICENSE.meta
│ ├── README.md
│ ├── README.md.meta
│ ├── Runtime.meta
│ ├── Runtime
│ │ ├── MoveNet3DPose.cs
│ │ ├── MoveNet3DPose.cs.meta
│ │ ├── MoveNet3DPredictor.cs
│ │ ├── MoveNet3DPredictor.cs.meta
│ │ ├── NatML.Vision.MoveNet3D.asmdef
│ │ └── NatML.Vision.MoveNet3D.asmdef.meta
│ ├── package.json
│ └── package.json.meta
├── manifest.json
└── packages-lock.json
├── ProjectSettings
├── AudioManager.asset
├── ClusterInputManager.asset
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── MemorySettings.asset
├── NavMeshAreas.asset
├── PackageManagerSettings.asset
├── Packages
│ └── com.unity.testtools.codecoverage
│ │ └── Settings.json
├── Physics2DSettings.asset
├── PresetManager.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── SceneTemplateSettings.json
├── TagManager.asset
├── TimeManager.asset
├── UnityConnectSettings.asset
├── VFXManager.asset
├── VersionControlSettings.asset
├── XRPackageSettings.asset
└── XRSettings.asset
├── README.md
├── UserSettings
├── EditorUserSettings.asset
├── Layouts
│ ├── CurrentMaximizeLayout.dwlt
│ ├── default-2021.dwlt
│ └── default-2022.dwlt
├── Search.index
└── Search.settings
├── demo.gif
└── movenet-3d-unity.sln
/.github/workflows/publish.yml:
--------------------------------------------------------------------------------
1 | name: Publish to NPM
2 |
3 | on:
4 | release:
5 | types: [published]
6 | workflow_dispatch:
7 |
8 | jobs:
9 | npm:
10 | runs-on: ubuntu-latest
11 | env:
12 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
13 | steps:
14 | - uses: actions/checkout@v2
15 | - uses: actions/setup-node@v2
16 | with:
17 | registry-url: 'https://registry.npmjs.org'
18 | - run: npm publish --access public
19 | working-directory: Packages/ai.natml.vision.movenet-3d
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Unity
2 | Library/
3 | Temp/
4 | obj/
5 | Logs/
6 |
7 | # IDE
8 | .vscode/
9 | .gradle/
10 | .vs/
11 |
12 | # Function
13 | ProjectSettings/Function.asset
14 |
15 | # NatML
16 | ProjectSettings/NatML.asset
17 | ProjectSettings/NatMLHub.asset
18 |
19 | # VideoKit
20 | ProjectSettings/VideoKit.asset
21 |
22 | # Misc
23 | .DS_Store
--------------------------------------------------------------------------------
/Assets/MoveNet3DSample.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * MoveNet 3D
3 | * Copyright © 2023 NatML Inc. All Rights Reserved.
4 | */
5 |
6 | namespace NatML.Examples {
7 |
8 | using UnityEngine;
9 | using UnityEngine.XR.ARFoundation;
10 | using NatML.Features;
11 | using NatML.Vision;
12 | using Visualizers;
13 |
14 | public sealed class MoveNet3DSample : MonoBehaviour {
15 |
16 | [Header(@"AR")]
17 | public Camera arCamera;
18 | public ARCameraManager cameraManager;
19 | public AROcclusionManager occlusionManager;
20 |
21 | [Header(@"Visualizer")]
22 | public MoveNet3DVisualizer visualizer;
23 |
24 | private MLImageFeature imageFeature;
25 | private MoveNet3DPredictor predictor;
26 |
27 | async void Start () {
28 | Debug.Log("Fetching model data from NatML...");
29 | // Create the MoveNet 3D predictor
30 | predictor = await MoveNet3DPredictor.Create();
31 | }
32 |
33 | void Update () {
34 | // Check that the predictor has been created
35 | if (predictor == null)
36 | return;
37 | // Get the camera image
38 | if (cameraManager.TryAcquireLatestCpuImage(out var image)) using (image)
39 | // Get depth image
40 | if (occlusionManager.TryAcquireEnvironmentDepthCpuImage(out var depth)) using (depth) {
41 | // Create image feature
42 | var imageType = image.GetFeatureType();
43 | imageFeature ??= new MLImageFeature(imageType.width, imageType.height);
44 | imageFeature.CopyFrom(image);
45 | // Create depth feature
46 | var depthFeature = new MLXRCpuDepthFeature(depth, arCamera);
47 | // Predict
48 | var pose = predictor.Predict(imageFeature, depthFeature);
49 | // Visualize
50 | visualizer.Render(pose);
51 | }
52 | }
53 |
54 | void OnDisable () {
55 | // Dispose the predictor
56 | predictor?.Dispose();
57 | }
58 | }
59 | }
--------------------------------------------------------------------------------
/Assets/MoveNet3DSample.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 255a8145f5dc54ab19ba5f8a37c41381
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/MoveNet3DSample.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: 705507994}
41 | m_IndirectSpecularColor: {r: 0.44657838, g: 0.49641234, b: 0.57481676, a: 1}
42 | m_UseRadianceAmbientProbe: 0
43 | --- !u!157 &3
44 | LightmapSettings:
45 | m_ObjectHideFlags: 0
46 | serializedVersion: 12
47 | m_GIWorkflowMode: 1
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: 12
58 | m_Resolution: 2
59 | m_BakeResolution: 40
60 | m_AtlasSize: 1024
61 | m_AO: 0
62 | m_AOMaxDistance: 1
63 | m_CompAOExponent: 1
64 | m_CompAOExponentDirect: 0
65 | m_ExtractAmbientOcclusion: 0
66 | m_Padding: 2
67 | m_LightmapParameters: {fileID: 0}
68 | m_LightmapsBakeMode: 1
69 | m_TextureCompression: 1
70 | m_FinalGather: 0
71 | m_FinalGatherFiltering: 1
72 | m_FinalGatherRayCount: 256
73 | m_ReflectionCompression: 2
74 | m_MixedBakeMode: 2
75 | m_BakeBackend: 1
76 | m_PVRSampling: 1
77 | m_PVRDirectSampleCount: 32
78 | m_PVRSampleCount: 500
79 | m_PVRBounces: 2
80 | m_PVREnvironmentSampleCount: 500
81 | m_PVREnvironmentReferencePointCount: 2048
82 | m_PVRFilteringMode: 2
83 | m_PVRDenoiserTypeDirect: 0
84 | m_PVRDenoiserTypeIndirect: 0
85 | m_PVRDenoiserTypeAO: 0
86 | m_PVRFilterTypeDirect: 0
87 | m_PVRFilterTypeIndirect: 0
88 | m_PVRFilterTypeAO: 0
89 | m_PVREnvironmentMIS: 0
90 | m_PVRCulling: 1
91 | m_PVRFilteringGaussRadiusDirect: 1
92 | m_PVRFilteringGaussRadiusIndirect: 5
93 | m_PVRFilteringGaussRadiusAO: 2
94 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5
95 | m_PVRFilteringAtrousPositionSigmaIndirect: 2
96 | m_PVRFilteringAtrousPositionSigmaAO: 1
97 | m_ExportTrainingData: 0
98 | m_TrainingDataDestination: TrainingData
99 | m_LightProbeSampleCountMultiplier: 4
100 | m_LightingDataAsset: {fileID: 0}
101 | m_LightingSettings: {fileID: 0}
102 | --- !u!196 &4
103 | NavMeshSettings:
104 | serializedVersion: 2
105 | m_ObjectHideFlags: 0
106 | m_BuildSettings:
107 | serializedVersion: 2
108 | agentTypeID: 0
109 | agentRadius: 0.5
110 | agentHeight: 2
111 | agentSlope: 45
112 | agentClimb: 0.4
113 | ledgeDropHeight: 0
114 | maxJumpAcrossDistance: 0
115 | minRegionArea: 2
116 | manualCellSize: 0
117 | cellSize: 0.16666667
118 | manualTileSize: 0
119 | tileSize: 256
120 | accuratePlacement: 0
121 | maxJobWorkers: 0
122 | preserveTilesOutsideBounds: 0
123 | debug:
124 | m_Flags: 0
125 | m_NavMeshData: {fileID: 0}
126 | --- !u!1 &173637692
127 | GameObject:
128 | m_ObjectHideFlags: 0
129 | m_CorrespondingSourceObject: {fileID: 0}
130 | m_PrefabInstance: {fileID: 0}
131 | m_PrefabAsset: {fileID: 0}
132 | serializedVersion: 6
133 | m_Component:
134 | - component: {fileID: 173637694}
135 | - component: {fileID: 173637693}
136 | - component: {fileID: 173637695}
137 | m_Layer: 0
138 | m_Name: AR Session Origin
139 | m_TagString: Untagged
140 | m_Icon: {fileID: 0}
141 | m_NavMeshLayer: 0
142 | m_StaticEditorFlags: 0
143 | m_IsActive: 1
144 | --- !u!114 &173637693
145 | MonoBehaviour:
146 | m_ObjectHideFlags: 0
147 | m_CorrespondingSourceObject: {fileID: 0}
148 | m_PrefabInstance: {fileID: 0}
149 | m_PrefabAsset: {fileID: 0}
150 | m_GameObject: {fileID: 173637692}
151 | m_Enabled: 1
152 | m_EditorHideFlags: 0
153 | m_Script: {fileID: 11500000, guid: 520bb47c46cf8624fafb307b7d1b862a, type: 3}
154 | m_Name:
155 | m_EditorClassIdentifier:
156 | m_Camera: {fileID: 1691906187}
157 | --- !u!4 &173637694
158 | Transform:
159 | m_ObjectHideFlags: 0
160 | m_CorrespondingSourceObject: {fileID: 0}
161 | m_PrefabInstance: {fileID: 0}
162 | m_PrefabAsset: {fileID: 0}
163 | m_GameObject: {fileID: 173637692}
164 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
165 | m_LocalPosition: {x: 0, y: 0, z: 0}
166 | m_LocalScale: {x: 1, y: 1, z: 1}
167 | m_ConstrainProportionsScale: 0
168 | m_Children:
169 | - {fileID: 1691906192}
170 | m_Father: {fileID: 0}
171 | m_RootOrder: 2
172 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
173 | --- !u!114 &173637695
174 | MonoBehaviour:
175 | m_ObjectHideFlags: 0
176 | m_CorrespondingSourceObject: {fileID: 0}
177 | m_PrefabInstance: {fileID: 0}
178 | m_PrefabAsset: {fileID: 0}
179 | m_GameObject: {fileID: 173637692}
180 | m_Enabled: 1
181 | m_EditorHideFlags: 0
182 | m_Script: {fileID: 11500000, guid: b15f82cc229284894964d2d30806969d, type: 3}
183 | m_Name:
184 | m_EditorClassIdentifier:
185 | m_HumanSegmentationStencilMode: 1
186 | m_HumanSegmentationDepthMode: 1
187 | m_EnvironmentDepthMode: 1
188 | m_EnvironmentDepthTemporalSmoothing: 1
189 | m_OcclusionPreferenceMode: 0
190 | --- !u!1 &364965603
191 | GameObject:
192 | m_ObjectHideFlags: 0
193 | m_CorrespondingSourceObject: {fileID: 0}
194 | m_PrefabInstance: {fileID: 0}
195 | m_PrefabAsset: {fileID: 0}
196 | serializedVersion: 6
197 | m_Component:
198 | - component: {fileID: 364965605}
199 | - component: {fileID: 364965604}
200 | - component: {fileID: 364965606}
201 | m_Layer: 0
202 | m_Name: MoveNet3DSample
203 | m_TagString: Untagged
204 | m_Icon: {fileID: 0}
205 | m_NavMeshLayer: 0
206 | m_StaticEditorFlags: 0
207 | m_IsActive: 1
208 | --- !u!114 &364965604
209 | MonoBehaviour:
210 | m_ObjectHideFlags: 0
211 | m_CorrespondingSourceObject: {fileID: 0}
212 | m_PrefabInstance: {fileID: 0}
213 | m_PrefabAsset: {fileID: 0}
214 | m_GameObject: {fileID: 364965603}
215 | m_Enabled: 1
216 | m_EditorHideFlags: 0
217 | m_Script: {fileID: 11500000, guid: 255a8145f5dc54ab19ba5f8a37c41381, type: 3}
218 | m_Name:
219 | m_EditorClassIdentifier:
220 | arCamera: {fileID: 1691906187}
221 | cameraManager: {fileID: 1691906189}
222 | occlusionManager: {fileID: 173637695}
223 | visualizer: {fileID: 364965606}
224 | --- !u!4 &364965605
225 | Transform:
226 | m_ObjectHideFlags: 0
227 | m_CorrespondingSourceObject: {fileID: 0}
228 | m_PrefabInstance: {fileID: 0}
229 | m_PrefabAsset: {fileID: 0}
230 | m_GameObject: {fileID: 364965603}
231 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
232 | m_LocalPosition: {x: 0, y: 0, z: 0}
233 | m_LocalScale: {x: 1, y: 1, z: 1}
234 | m_ConstrainProportionsScale: 0
235 | m_Children: []
236 | m_Father: {fileID: 0}
237 | m_RootOrder: 3
238 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
239 | --- !u!114 &364965606
240 | MonoBehaviour:
241 | m_ObjectHideFlags: 0
242 | m_CorrespondingSourceObject: {fileID: 0}
243 | m_PrefabInstance: {fileID: 0}
244 | m_PrefabAsset: {fileID: 0}
245 | m_GameObject: {fileID: 364965603}
246 | m_Enabled: 1
247 | m_EditorHideFlags: 0
248 | m_Script: {fileID: 11500000, guid: a3d4ec4eb1fb14f65a77e3496877ce32, type: 3}
249 | m_Name:
250 | m_EditorClassIdentifier:
251 | keypointPrefab: {fileID: 1798559001}
252 | bonePrefab: {fileID: 1351607713}
253 | --- !u!1 &705507993
254 | GameObject:
255 | m_ObjectHideFlags: 0
256 | m_CorrespondingSourceObject: {fileID: 0}
257 | m_PrefabInstance: {fileID: 0}
258 | m_PrefabAsset: {fileID: 0}
259 | serializedVersion: 6
260 | m_Component:
261 | - component: {fileID: 705507995}
262 | - component: {fileID: 705507994}
263 | m_Layer: 0
264 | m_Name: Directional Light
265 | m_TagString: Untagged
266 | m_Icon: {fileID: 0}
267 | m_NavMeshLayer: 0
268 | m_StaticEditorFlags: 0
269 | m_IsActive: 1
270 | --- !u!108 &705507994
271 | Light:
272 | m_ObjectHideFlags: 0
273 | m_CorrespondingSourceObject: {fileID: 0}
274 | m_PrefabInstance: {fileID: 0}
275 | m_PrefabAsset: {fileID: 0}
276 | m_GameObject: {fileID: 705507993}
277 | m_Enabled: 1
278 | serializedVersion: 10
279 | m_Type: 1
280 | m_Shape: 0
281 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
282 | m_Intensity: 1
283 | m_Range: 10
284 | m_SpotAngle: 30
285 | m_InnerSpotAngle: 21.802082
286 | m_CookieSize: 10
287 | m_Shadows:
288 | m_Type: 2
289 | m_Resolution: -1
290 | m_CustomResolution: -1
291 | m_Strength: 1
292 | m_Bias: 0.05
293 | m_NormalBias: 0.4
294 | m_NearPlane: 0.2
295 | m_CullingMatrixOverride:
296 | e00: 1
297 | e01: 0
298 | e02: 0
299 | e03: 0
300 | e10: 0
301 | e11: 1
302 | e12: 0
303 | e13: 0
304 | e20: 0
305 | e21: 0
306 | e22: 1
307 | e23: 0
308 | e30: 0
309 | e31: 0
310 | e32: 0
311 | e33: 1
312 | m_UseCullingMatrixOverride: 0
313 | m_Cookie: {fileID: 0}
314 | m_DrawHalo: 0
315 | m_Flare: {fileID: 0}
316 | m_RenderMode: 0
317 | m_CullingMask:
318 | serializedVersion: 2
319 | m_Bits: 4294967295
320 | m_RenderingLayerMask: 1
321 | m_Lightmapping: 1
322 | m_LightShadowCasterMode: 0
323 | m_AreaSize: {x: 1, y: 1}
324 | m_BounceIntensity: 1
325 | m_ColorTemperature: 6570
326 | m_UseColorTemperature: 0
327 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
328 | m_UseBoundingSphereOverride: 0
329 | m_UseViewFrustumForShadowCasterCull: 1
330 | m_ShadowRadius: 0
331 | m_ShadowAngle: 0
332 | --- !u!4 &705507995
333 | Transform:
334 | m_ObjectHideFlags: 0
335 | m_CorrespondingSourceObject: {fileID: 0}
336 | m_PrefabInstance: {fileID: 0}
337 | m_PrefabAsset: {fileID: 0}
338 | m_GameObject: {fileID: 705507993}
339 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
340 | m_LocalPosition: {x: 0, y: 3, z: 0}
341 | m_LocalScale: {x: 1, y: 1, z: 1}
342 | m_ConstrainProportionsScale: 0
343 | m_Children: []
344 | m_Father: {fileID: 0}
345 | m_RootOrder: 0
346 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
347 | --- !u!1 &825047926
348 | GameObject:
349 | m_ObjectHideFlags: 0
350 | m_CorrespondingSourceObject: {fileID: 0}
351 | m_PrefabInstance: {fileID: 0}
352 | m_PrefabAsset: {fileID: 0}
353 | serializedVersion: 6
354 | m_Component:
355 | - component: {fileID: 825047929}
356 | - component: {fileID: 825047928}
357 | - component: {fileID: 825047927}
358 | m_Layer: 0
359 | m_Name: AR Session
360 | m_TagString: Untagged
361 | m_Icon: {fileID: 0}
362 | m_NavMeshLayer: 0
363 | m_StaticEditorFlags: 0
364 | m_IsActive: 1
365 | --- !u!114 &825047927
366 | MonoBehaviour:
367 | m_ObjectHideFlags: 0
368 | m_CorrespondingSourceObject: {fileID: 0}
369 | m_PrefabInstance: {fileID: 0}
370 | m_PrefabAsset: {fileID: 0}
371 | m_GameObject: {fileID: 825047926}
372 | m_Enabled: 1
373 | m_EditorHideFlags: 0
374 | m_Script: {fileID: 11500000, guid: fa850fbd5b8aded44846f96e35f1a9f5, type: 3}
375 | m_Name:
376 | m_EditorClassIdentifier:
377 | --- !u!114 &825047928
378 | MonoBehaviour:
379 | m_ObjectHideFlags: 0
380 | m_CorrespondingSourceObject: {fileID: 0}
381 | m_PrefabInstance: {fileID: 0}
382 | m_PrefabAsset: {fileID: 0}
383 | m_GameObject: {fileID: 825047926}
384 | m_Enabled: 1
385 | m_EditorHideFlags: 0
386 | m_Script: {fileID: 11500000, guid: 3859a92a05d4f5d418cb6ca605290e74, type: 3}
387 | m_Name:
388 | m_EditorClassIdentifier:
389 | m_AttemptUpdate: 1
390 | m_MatchFrameRate: 1
391 | m_TrackingMode: 2
392 | --- !u!4 &825047929
393 | Transform:
394 | m_ObjectHideFlags: 0
395 | m_CorrespondingSourceObject: {fileID: 0}
396 | m_PrefabInstance: {fileID: 0}
397 | m_PrefabAsset: {fileID: 0}
398 | m_GameObject: {fileID: 825047926}
399 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
400 | m_LocalPosition: {x: 0, y: 0, z: 0}
401 | m_LocalScale: {x: 1, y: 1, z: 1}
402 | m_ConstrainProportionsScale: 0
403 | m_Children: []
404 | m_Father: {fileID: 0}
405 | m_RootOrder: 1
406 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
407 | --- !u!1 &1351607712
408 | GameObject:
409 | m_ObjectHideFlags: 0
410 | m_CorrespondingSourceObject: {fileID: 0}
411 | m_PrefabInstance: {fileID: 0}
412 | m_PrefabAsset: {fileID: 0}
413 | serializedVersion: 6
414 | m_Component:
415 | - component: {fileID: 1351607714}
416 | - component: {fileID: 1351607713}
417 | m_Layer: 0
418 | m_Name: Bone
419 | m_TagString: Untagged
420 | m_Icon: {fileID: 0}
421 | m_NavMeshLayer: 0
422 | m_StaticEditorFlags: 0
423 | m_IsActive: 0
424 | --- !u!120 &1351607713
425 | LineRenderer:
426 | m_ObjectHideFlags: 0
427 | m_CorrespondingSourceObject: {fileID: 0}
428 | m_PrefabInstance: {fileID: 0}
429 | m_PrefabAsset: {fileID: 0}
430 | m_GameObject: {fileID: 1351607712}
431 | m_Enabled: 1
432 | m_CastShadows: 1
433 | m_ReceiveShadows: 1
434 | m_DynamicOccludee: 1
435 | m_StaticShadowCaster: 0
436 | m_MotionVectors: 0
437 | m_LightProbeUsage: 0
438 | m_ReflectionProbeUsage: 0
439 | m_RayTracingMode: 0
440 | m_RayTraceProcedural: 0
441 | m_RenderingLayerMask: 1
442 | m_RendererPriority: 0
443 | m_Materials:
444 | - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0}
445 | m_StaticBatchInfo:
446 | firstSubMesh: 0
447 | subMeshCount: 0
448 | m_StaticBatchRoot: {fileID: 0}
449 | m_ProbeAnchor: {fileID: 0}
450 | m_LightProbeVolumeOverride: {fileID: 0}
451 | m_ScaleInLightmap: 1
452 | m_ReceiveGI: 1
453 | m_PreserveUVs: 0
454 | m_IgnoreNormalsForChartDetection: 0
455 | m_ImportantGI: 0
456 | m_StitchLightmapSeams: 1
457 | m_SelectedEditorRenderState: 3
458 | m_MinimumChartSize: 4
459 | m_AutoUVMaxDistance: 0.5
460 | m_AutoUVMaxAngle: 89
461 | m_LightmapParameters: {fileID: 0}
462 | m_SortingLayerID: 0
463 | m_SortingLayer: 0
464 | m_SortingOrder: 0
465 | m_Positions:
466 | - {x: 0, y: 0, z: 0}
467 | - {x: 0, y: 0, z: 1}
468 | m_Parameters:
469 | serializedVersion: 3
470 | widthMultiplier: 0.04
471 | widthCurve:
472 | serializedVersion: 2
473 | m_Curve:
474 | - serializedVersion: 3
475 | time: 0
476 | value: 1
477 | inSlope: 0
478 | outSlope: 0
479 | tangentMode: 0
480 | weightedMode: 0
481 | inWeight: 0.33333334
482 | outWeight: 0.33333334
483 | m_PreInfinity: 2
484 | m_PostInfinity: 2
485 | m_RotationOrder: 4
486 | colorGradient:
487 | serializedVersion: 2
488 | key0: {r: 0, g: 1, b: 0.026485443, a: 1}
489 | key1: {r: 0, g: 1, b: 0.071077585, a: 1}
490 | key2: {r: 0, g: 0, b: 0, a: 0}
491 | key3: {r: 0, g: 0, b: 0, a: 0}
492 | key4: {r: 0, g: 0, b: 0, a: 0}
493 | key5: {r: 0, g: 0, b: 0, a: 0}
494 | key6: {r: 0, g: 0, b: 0, a: 0}
495 | key7: {r: 0, g: 0, b: 0, a: 0}
496 | ctime0: 0
497 | ctime1: 65535
498 | ctime2: 0
499 | ctime3: 0
500 | ctime4: 0
501 | ctime5: 0
502 | ctime6: 0
503 | ctime7: 0
504 | atime0: 0
505 | atime1: 65535
506 | atime2: 0
507 | atime3: 0
508 | atime4: 0
509 | atime5: 0
510 | atime6: 0
511 | atime7: 0
512 | m_Mode: 0
513 | m_NumColorKeys: 2
514 | m_NumAlphaKeys: 2
515 | numCornerVertices: 0
516 | numCapVertices: 0
517 | alignment: 0
518 | textureMode: 0
519 | shadowBias: 0.5
520 | generateLightingData: 0
521 | m_UseWorldSpace: 0
522 | m_Loop: 0
523 | --- !u!4 &1351607714
524 | Transform:
525 | m_ObjectHideFlags: 0
526 | m_CorrespondingSourceObject: {fileID: 0}
527 | m_PrefabInstance: {fileID: 0}
528 | m_PrefabAsset: {fileID: 0}
529 | m_GameObject: {fileID: 1351607712}
530 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
531 | m_LocalPosition: {x: 0, y: 0, z: 0}
532 | m_LocalScale: {x: 1, y: 1, z: 1}
533 | m_ConstrainProportionsScale: 0
534 | m_Children: []
535 | m_Father: {fileID: 0}
536 | m_RootOrder: 5
537 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
538 | --- !u!1 &1691906186
539 | GameObject:
540 | m_ObjectHideFlags: 0
541 | m_CorrespondingSourceObject: {fileID: 0}
542 | m_PrefabInstance: {fileID: 0}
543 | m_PrefabAsset: {fileID: 0}
544 | serializedVersion: 6
545 | m_Component:
546 | - component: {fileID: 1691906192}
547 | - component: {fileID: 1691906187}
548 | - component: {fileID: 1691906191}
549 | - component: {fileID: 1691906190}
550 | - component: {fileID: 1691906189}
551 | - component: {fileID: 1691906188}
552 | m_Layer: 0
553 | m_Name: AR Camera
554 | m_TagString: MainCamera
555 | m_Icon: {fileID: 0}
556 | m_NavMeshLayer: 0
557 | m_StaticEditorFlags: 0
558 | m_IsActive: 1
559 | --- !u!20 &1691906187
560 | Camera:
561 | m_ObjectHideFlags: 0
562 | m_CorrespondingSourceObject: {fileID: 0}
563 | m_PrefabInstance: {fileID: 0}
564 | m_PrefabAsset: {fileID: 0}
565 | m_GameObject: {fileID: 1691906186}
566 | m_Enabled: 1
567 | serializedVersion: 2
568 | m_ClearFlags: 2
569 | m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
570 | m_projectionMatrixMode: 1
571 | m_GateFitMode: 2
572 | m_FOVAxisMode: 0
573 | m_SensorSize: {x: 36, y: 24}
574 | m_LensShift: {x: 0, y: 0}
575 | m_FocalLength: 50
576 | m_NormalizedViewPortRect:
577 | serializedVersion: 2
578 | x: 0
579 | y: 0
580 | width: 1
581 | height: 1
582 | near clip plane: 0.1
583 | far clip plane: 20
584 | field of view: 60
585 | orthographic: 0
586 | orthographic size: 5
587 | m_Depth: 0
588 | m_CullingMask:
589 | serializedVersion: 2
590 | m_Bits: 4294967295
591 | m_RenderingPath: -1
592 | m_TargetTexture: {fileID: 0}
593 | m_TargetDisplay: 0
594 | m_TargetEye: 3
595 | m_HDR: 1
596 | m_AllowMSAA: 1
597 | m_AllowDynamicResolution: 0
598 | m_ForceIntoRT: 0
599 | m_OcclusionCulling: 1
600 | m_StereoConvergence: 10
601 | m_StereoSeparation: 0.022
602 | --- !u!114 &1691906188
603 | MonoBehaviour:
604 | m_ObjectHideFlags: 0
605 | m_CorrespondingSourceObject: {fileID: 0}
606 | m_PrefabInstance: {fileID: 0}
607 | m_PrefabAsset: {fileID: 0}
608 | m_GameObject: {fileID: 1691906186}
609 | m_Enabled: 1
610 | m_EditorHideFlags: 0
611 | m_Script: {fileID: 11500000, guid: 816b289ef451e094f9ae174fb4cf8db0, type: 3}
612 | m_Name:
613 | m_EditorClassIdentifier:
614 | m_UseCustomMaterial: 0
615 | m_CustomMaterial: {fileID: 0}
616 | --- !u!114 &1691906189
617 | MonoBehaviour:
618 | m_ObjectHideFlags: 0
619 | m_CorrespondingSourceObject: {fileID: 0}
620 | m_PrefabInstance: {fileID: 0}
621 | m_PrefabAsset: {fileID: 0}
622 | m_GameObject: {fileID: 1691906186}
623 | m_Enabled: 1
624 | m_EditorHideFlags: 0
625 | m_Script: {fileID: 11500000, guid: 4966719baa26e4b0e8231a24d9bd491a, type: 3}
626 | m_Name:
627 | m_EditorClassIdentifier:
628 | m_FocusMode: -1
629 | m_LightEstimationMode: -1
630 | m_AutoFocus: 1
631 | m_LightEstimation: 0
632 | m_FacingDirection: 1
633 | --- !u!114 &1691906190
634 | MonoBehaviour:
635 | m_ObjectHideFlags: 0
636 | m_CorrespondingSourceObject: {fileID: 0}
637 | m_PrefabInstance: {fileID: 0}
638 | m_PrefabAsset: {fileID: 0}
639 | m_GameObject: {fileID: 1691906186}
640 | m_Enabled: 1
641 | m_EditorHideFlags: 0
642 | m_Script: {fileID: 11500000, guid: 6e3c44306fb1e439a9f18b2212b8ab70, type: 3}
643 | m_Name:
644 | m_EditorClassIdentifier:
645 | --- !u!81 &1691906191
646 | AudioListener:
647 | m_ObjectHideFlags: 0
648 | m_CorrespondingSourceObject: {fileID: 0}
649 | m_PrefabInstance: {fileID: 0}
650 | m_PrefabAsset: {fileID: 0}
651 | m_GameObject: {fileID: 1691906186}
652 | m_Enabled: 1
653 | --- !u!4 &1691906192
654 | Transform:
655 | m_ObjectHideFlags: 0
656 | m_CorrespondingSourceObject: {fileID: 0}
657 | m_PrefabInstance: {fileID: 0}
658 | m_PrefabAsset: {fileID: 0}
659 | m_GameObject: {fileID: 1691906186}
660 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
661 | m_LocalPosition: {x: 0, y: 0, z: 0}
662 | m_LocalScale: {x: 1, y: 1, z: 1}
663 | m_ConstrainProportionsScale: 0
664 | m_Children: []
665 | m_Father: {fileID: 173637694}
666 | m_RootOrder: 0
667 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
668 | --- !u!1 &1798558997
669 | GameObject:
670 | m_ObjectHideFlags: 0
671 | m_CorrespondingSourceObject: {fileID: 0}
672 | m_PrefabInstance: {fileID: 0}
673 | m_PrefabAsset: {fileID: 0}
674 | serializedVersion: 6
675 | m_Component:
676 | - component: {fileID: 1798559001}
677 | - component: {fileID: 1798559000}
678 | - component: {fileID: 1798558999}
679 | - component: {fileID: 1798558998}
680 | m_Layer: 0
681 | m_Name: Keypoint
682 | m_TagString: Untagged
683 | m_Icon: {fileID: 0}
684 | m_NavMeshLayer: 0
685 | m_StaticEditorFlags: 0
686 | m_IsActive: 0
687 | --- !u!135 &1798558998
688 | SphereCollider:
689 | m_ObjectHideFlags: 0
690 | m_CorrespondingSourceObject: {fileID: 0}
691 | m_PrefabInstance: {fileID: 0}
692 | m_PrefabAsset: {fileID: 0}
693 | m_GameObject: {fileID: 1798558997}
694 | m_Material: {fileID: 0}
695 | m_IsTrigger: 0
696 | m_Enabled: 1
697 | serializedVersion: 2
698 | m_Radius: 0.5
699 | m_Center: {x: 0, y: 0, z: 0}
700 | --- !u!23 &1798558999
701 | MeshRenderer:
702 | m_ObjectHideFlags: 0
703 | m_CorrespondingSourceObject: {fileID: 0}
704 | m_PrefabInstance: {fileID: 0}
705 | m_PrefabAsset: {fileID: 0}
706 | m_GameObject: {fileID: 1798558997}
707 | m_Enabled: 1
708 | m_CastShadows: 1
709 | m_ReceiveShadows: 1
710 | m_DynamicOccludee: 1
711 | m_StaticShadowCaster: 0
712 | m_MotionVectors: 1
713 | m_LightProbeUsage: 1
714 | m_ReflectionProbeUsage: 1
715 | m_RayTracingMode: 2
716 | m_RayTraceProcedural: 0
717 | m_RenderingLayerMask: 1
718 | m_RendererPriority: 0
719 | m_Materials:
720 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
721 | m_StaticBatchInfo:
722 | firstSubMesh: 0
723 | subMeshCount: 0
724 | m_StaticBatchRoot: {fileID: 0}
725 | m_ProbeAnchor: {fileID: 0}
726 | m_LightProbeVolumeOverride: {fileID: 0}
727 | m_ScaleInLightmap: 1
728 | m_ReceiveGI: 1
729 | m_PreserveUVs: 0
730 | m_IgnoreNormalsForChartDetection: 0
731 | m_ImportantGI: 0
732 | m_StitchLightmapSeams: 1
733 | m_SelectedEditorRenderState: 3
734 | m_MinimumChartSize: 4
735 | m_AutoUVMaxDistance: 0.5
736 | m_AutoUVMaxAngle: 89
737 | m_LightmapParameters: {fileID: 0}
738 | m_SortingLayerID: 0
739 | m_SortingLayer: 0
740 | m_SortingOrder: 0
741 | m_AdditionalVertexStreams: {fileID: 0}
742 | --- !u!33 &1798559000
743 | MeshFilter:
744 | m_ObjectHideFlags: 0
745 | m_CorrespondingSourceObject: {fileID: 0}
746 | m_PrefabInstance: {fileID: 0}
747 | m_PrefabAsset: {fileID: 0}
748 | m_GameObject: {fileID: 1798558997}
749 | m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
750 | --- !u!4 &1798559001
751 | Transform:
752 | m_ObjectHideFlags: 0
753 | m_CorrespondingSourceObject: {fileID: 0}
754 | m_PrefabInstance: {fileID: 0}
755 | m_PrefabAsset: {fileID: 0}
756 | m_GameObject: {fileID: 1798558997}
757 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
758 | m_LocalPosition: {x: 0, y: 0, z: 0}
759 | m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
760 | m_ConstrainProportionsScale: 0
761 | m_Children: []
762 | m_Father: {fileID: 0}
763 | m_RootOrder: 4
764 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
765 |
--------------------------------------------------------------------------------
/Assets/MoveNet3DSample.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9fc0d4010bbf28b4594072e72b8655ab
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/MoveNet3DVisualizer.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * MoveNet 3D
3 | * Copyright © 2023 NatML Inc. All Rights Reserved.
4 | */
5 |
6 | namespace NatML.Examples.Visualizers {
7 |
8 | using System.Collections.Generic;
9 | using System.Linq;
10 | using UnityEngine;
11 | using NatML.Vision;
12 |
13 | ///
14 | /// Lightweight 3D body pose skeleton visualizer.
15 | ///
16 | public sealed class MoveNet3DVisualizer : MonoBehaviour {
17 |
18 | #region --Client API--
19 | ///
20 | /// Render a body pose.
21 | ///
22 | ///
23 | public void Render (MoveNet3DPredictor.Pose pose) {
24 | // Delete current
25 | foreach (var point in currentSkeleton)
26 | GameObject.Destroy(point.gameObject);
27 | currentSkeleton.Clear();
28 | // Instantiate keypoints
29 | for (var i = 5; i < 17; ++i) {
30 | var point = Instantiate(keypointPrefab, (Vector3)pose[i], Quaternion.identity, transform);
31 | point.gameObject.SetActive(true);
32 | currentSkeleton.Add(point);
33 | }
34 | // Instantiate bones
35 | foreach (var positions in new [] {
36 | new [] { pose.leftShoulder, pose.rightShoulder },
37 | new [] { pose.leftShoulder, pose.leftElbow, pose.leftWrist },
38 | new [] { pose.rightShoulder, pose.rightElbow, pose.rightWrist },
39 | new [] { pose.leftShoulder, pose.leftHip },
40 | new [] { pose.rightShoulder, pose.rightHip },
41 | new [] { pose.leftHip, pose.rightHip },
42 | new [] { pose.leftHip, pose.leftKnee, pose.leftAnkle },
43 | new [] { pose.rightHip, pose.rightKnee, pose.rightAnkle }
44 | }) {
45 | var bone = Instantiate(bonePrefab, transform.position, Quaternion.identity, transform);
46 | bone.gameObject.SetActive(true);
47 | bone.positionCount = positions.Length;
48 | bone.SetPositions(positions.Select(v => (Vector3)v).ToArray());
49 | currentSkeleton.Add(bone.transform);
50 | };
51 | }
52 | #endregion
53 |
54 |
55 | #region --Operations--
56 | [SerializeField] Transform keypointPrefab;
57 | [SerializeField] LineRenderer bonePrefab;
58 | readonly List currentSkeleton = new List();
59 | #endregion
60 | }
61 | }
--------------------------------------------------------------------------------
/Assets/MoveNet3DVisualizer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a3d4ec4eb1fb14f65a77e3496877ce32
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/XR.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: da599680234fa42de85b106c84a0961a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/Loaders.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b88a8eee3db11477bb2207bb3a121920
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/Loaders/AR Core Loader.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 06042c85f885b4d1886f3ca5a1074eca, type: 3}
13 | m_Name: AR Core Loader
14 | m_EditorClassIdentifier:
15 |
--------------------------------------------------------------------------------
/Assets/XR/Loaders/AR Core Loader.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: be8007f86c601448cbfb1f68ce624181
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/Loaders/AR Kit Loader.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: a18c4d6661b404073b154020b9e2d993, type: 3}
13 | m_Name: AR Kit Loader
14 | m_EditorClassIdentifier:
15 |
--------------------------------------------------------------------------------
/Assets/XR/Loaders/AR Kit Loader.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4acb1af3951de444a8dc153e0ce2c68a
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/Loaders/SimulationLoader.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: df71837a07684b24082222c253aa156a, type: 3}
13 | m_Name: SimulationLoader
14 | m_EditorClassIdentifier:
15 |
--------------------------------------------------------------------------------
/Assets/XR/Loaders/SimulationLoader.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e5fd2e7b1b31d4bff9cee2880d8df00a
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a5fa253388cae48218529666a5bc9715
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/Resources/XRSimulationRuntimeSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: e2b12afd4d27418a9cfb2823fe2b9ff3, type: 3}
13 | m_Name: XRSimulationRuntimeSettings
14 | m_EditorClassIdentifier:
15 | m_EnvironmentLayer: 30
16 | m_EnvironmentScanParams:
17 | m_MinimumRescanTime: 0.1
18 | m_DeltaCameraDistanceToRescan: 0.025
19 | m_DeltaCameraAngleToRescan: 4
20 | m_RaysPerCast: 10
21 | m_MaximumHitDistance: 12
22 | m_MinimumHitDistance: 0.05
23 | m_PlaneFindingParams:
24 | m_MinimumPlaneUpdateTime: 0.13
25 | m_MinPointsPerSqMeter: 30
26 | m_MinSideLength: 0.11
27 | m_InLayerMergeDistance: 0.2
28 | m_CrossLayerMergeDistance: 0.05
29 | m_CheckEmptyArea: 0
30 | m_AllowedEmptyAreaCurve:
31 | serializedVersion: 2
32 | m_Curve:
33 | - serializedVersion: 3
34 | time: 0
35 | value: 0
36 | inSlope: 0
37 | outSlope: 0
38 | tangentMode: 0
39 | weightedMode: 0
40 | inWeight: 0
41 | outWeight: 0
42 | - serializedVersion: 3
43 | time: 1
44 | value: 1
45 | inSlope: 0
46 | outSlope: 0
47 | tangentMode: 0
48 | weightedMode: 0
49 | inWeight: 0
50 | outWeight: 0
51 | m_PreInfinity: 2
52 | m_PostInfinity: 2
53 | m_RotationOrder: 4
54 | m_PointUpdateDropoutRate: 0.4
55 | m_NormalToleranceAngle: 15
56 | m_VoxelSize: 0.1
57 | m_TrackedImageDiscoveryParams:
58 | m_TrackingUpdateInterval: 0.09
59 | m_UseXRay: 1
60 | m_FlipXRayDirection: 0
61 |
--------------------------------------------------------------------------------
/Assets/XR/Resources/XRSimulationRuntimeSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5d2dc9109f64e45739bf27f322406eb6
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/Settings.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3dcafced96ff543b382c54744efc9772
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/Settings/AR Core Settings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 9dae4501572e1418791be3e3bf1f7faa, type: 3}
13 | m_Name: AR Core Settings
14 | m_EditorClassIdentifier:
15 | m_Requirement: 0
16 | m_Depth: 0
17 | m_IgnoreGradleVersion: 0
18 |
--------------------------------------------------------------------------------
/Assets/XR/Settings/AR Core Settings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: da1bcde9bdafe49de88f2153e68a1319
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/Settings/AR Kit Settings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 7a3c2811d41034e52a6d6c33ac73a207, type: 3}
13 | m_Name: AR Kit Settings
14 | m_EditorClassIdentifier:
15 | m_Requirement: 0
16 | m_FaceTracking: 0
17 |
--------------------------------------------------------------------------------
/Assets/XR/Settings/AR Kit Settings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3550e81b0f0b347ffa2d873d5ad03207
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/Settings/XRSimulationSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: e0688bbae6cedcd4a871944e38c19ec0, type: 3}
13 | m_Name: XRSimulationSettings
14 | m_EditorClassIdentifier:
15 |
--------------------------------------------------------------------------------
/Assets/XR/Settings/XRSimulationSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 63fd76b476bdc4a75845d899947afb5c
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/UserSimulationSettings.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bcb3bcbaf2afd4ffebd46257384d013f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/UserSimulationSettings/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9c18046035fe240ab95d8b7b163f4926
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/UserSimulationSettings/Resources/XRSimulationPreferences.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: b2f528b98f844ed8b6b2d5fdf90b40e6, type: 3}
13 | m_Name: XRSimulationPreferences
14 | m_EditorClassIdentifier:
15 | m_EnvironmentPrefab: {fileID: 0}
16 | m_FallbackEnvironmentPrefab: {fileID: 7576867131100388943, guid: c7b92c392902f4043a03a64032c02fe1, type: 3}
17 | m_EnableNavigation: 1
18 |
--------------------------------------------------------------------------------
/Assets/XR/UserSimulationSettings/Resources/XRSimulationPreferences.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 748a3bf856b6e4acf9520bd2b8b19f58
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/UserSimulationSettings/SimulationEnvironmentAssetsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 378fb4eec0f59ac4c95c0d5b227aa85e, type: 3}
13 | m_Name: SimulationEnvironmentAssetsManager
14 | m_EditorClassIdentifier:
15 | m_EnvironmentPrefabPaths:
16 | - Packages/com.unity.xr.arfoundation/Assets/Prefabs/DefaultSimulationEnvironment.prefab
17 | m_FallbackAtEndOfList: 1
18 |
--------------------------------------------------------------------------------
/Assets/XR/UserSimulationSettings/SimulationEnvironmentAssetsManager.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ff295a6daa03843ec9ea4734a5dae295
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/XR/XRGeneralSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &-7966939349611894677
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: f4c3631f5e58749a59194e0cf6baf6d5, type: 3}
13 | m_Name: Android Providers
14 | m_EditorClassIdentifier:
15 | m_RequiresSettingsUpdate: 0
16 | m_AutomaticLoading: 0
17 | m_AutomaticRunning: 0
18 | m_Loaders:
19 | - {fileID: 11400000, guid: be8007f86c601448cbfb1f68ce624181, type: 2}
20 | --- !u!114 &-5496220974847538343
21 | MonoBehaviour:
22 | m_ObjectHideFlags: 0
23 | m_CorrespondingSourceObject: {fileID: 0}
24 | m_PrefabInstance: {fileID: 0}
25 | m_PrefabAsset: {fileID: 0}
26 | m_GameObject: {fileID: 0}
27 | m_Enabled: 1
28 | m_EditorHideFlags: 0
29 | m_Script: {fileID: 11500000, guid: d236b7d11115f2143951f1e14045df39, type: 3}
30 | m_Name: Standalone Settings
31 | m_EditorClassIdentifier:
32 | m_LoaderManagerInstance: {fileID: 877375087569125513}
33 | m_InitManagerOnStart: 1
34 | --- !u!114 &-791425217882447612
35 | MonoBehaviour:
36 | m_ObjectHideFlags: 0
37 | m_CorrespondingSourceObject: {fileID: 0}
38 | m_PrefabInstance: {fileID: 0}
39 | m_PrefabAsset: {fileID: 0}
40 | m_GameObject: {fileID: 0}
41 | m_Enabled: 1
42 | m_EditorHideFlags: 0
43 | m_Script: {fileID: 11500000, guid: d236b7d11115f2143951f1e14045df39, type: 3}
44 | m_Name: WebGL Settings
45 | m_EditorClassIdentifier:
46 | m_LoaderManagerInstance: {fileID: 2706134320255659779}
47 | m_InitManagerOnStart: 1
48 | --- !u!114 &11400000
49 | MonoBehaviour:
50 | m_ObjectHideFlags: 0
51 | m_CorrespondingSourceObject: {fileID: 0}
52 | m_PrefabInstance: {fileID: 0}
53 | m_PrefabAsset: {fileID: 0}
54 | m_GameObject: {fileID: 0}
55 | m_Enabled: 1
56 | m_EditorHideFlags: 0
57 | m_Script: {fileID: 11500000, guid: d2dc886499c26824283350fa532d087d, type: 3}
58 | m_Name: XRGeneralSettings
59 | m_EditorClassIdentifier:
60 | Keys: 0400000007000000010000000d000000
61 | Values:
62 | - {fileID: 478846268311228511}
63 | - {fileID: 4737225931480435525}
64 | - {fileID: -5496220974847538343}
65 | - {fileID: -791425217882447612}
66 | --- !u!114 &478846268311228511
67 | MonoBehaviour:
68 | m_ObjectHideFlags: 0
69 | m_CorrespondingSourceObject: {fileID: 0}
70 | m_PrefabInstance: {fileID: 0}
71 | m_PrefabAsset: {fileID: 0}
72 | m_GameObject: {fileID: 0}
73 | m_Enabled: 1
74 | m_EditorHideFlags: 0
75 | m_Script: {fileID: 11500000, guid: d236b7d11115f2143951f1e14045df39, type: 3}
76 | m_Name: iPhone Settings
77 | m_EditorClassIdentifier:
78 | m_LoaderManagerInstance: {fileID: 4552980718501979256}
79 | m_InitManagerOnStart: 1
80 | --- !u!114 &877375087569125513
81 | MonoBehaviour:
82 | m_ObjectHideFlags: 0
83 | m_CorrespondingSourceObject: {fileID: 0}
84 | m_PrefabInstance: {fileID: 0}
85 | m_PrefabAsset: {fileID: 0}
86 | m_GameObject: {fileID: 0}
87 | m_Enabled: 1
88 | m_EditorHideFlags: 0
89 | m_Script: {fileID: 11500000, guid: f4c3631f5e58749a59194e0cf6baf6d5, type: 3}
90 | m_Name: Standalone Providers
91 | m_EditorClassIdentifier:
92 | m_RequiresSettingsUpdate: 0
93 | m_AutomaticLoading: 0
94 | m_AutomaticRunning: 0
95 | m_Loaders: []
96 | --- !u!114 &2706134320255659779
97 | MonoBehaviour:
98 | m_ObjectHideFlags: 0
99 | m_CorrespondingSourceObject: {fileID: 0}
100 | m_PrefabInstance: {fileID: 0}
101 | m_PrefabAsset: {fileID: 0}
102 | m_GameObject: {fileID: 0}
103 | m_Enabled: 1
104 | m_EditorHideFlags: 0
105 | m_Script: {fileID: 11500000, guid: f4c3631f5e58749a59194e0cf6baf6d5, type: 3}
106 | m_Name: WebGL Providers
107 | m_EditorClassIdentifier:
108 | m_RequiresSettingsUpdate: 0
109 | m_AutomaticLoading: 0
110 | m_AutomaticRunning: 0
111 | m_Loaders: []
112 | --- !u!114 &4552980718501979256
113 | MonoBehaviour:
114 | m_ObjectHideFlags: 0
115 | m_CorrespondingSourceObject: {fileID: 0}
116 | m_PrefabInstance: {fileID: 0}
117 | m_PrefabAsset: {fileID: 0}
118 | m_GameObject: {fileID: 0}
119 | m_Enabled: 1
120 | m_EditorHideFlags: 0
121 | m_Script: {fileID: 11500000, guid: f4c3631f5e58749a59194e0cf6baf6d5, type: 3}
122 | m_Name: iPhone Providers
123 | m_EditorClassIdentifier:
124 | m_RequiresSettingsUpdate: 0
125 | m_AutomaticLoading: 0
126 | m_AutomaticRunning: 0
127 | m_Loaders:
128 | - {fileID: 11400000, guid: 4acb1af3951de444a8dc153e0ce2c68a, type: 2}
129 | --- !u!114 &4737225931480435525
130 | MonoBehaviour:
131 | m_ObjectHideFlags: 0
132 | m_CorrespondingSourceObject: {fileID: 0}
133 | m_PrefabInstance: {fileID: 0}
134 | m_PrefabAsset: {fileID: 0}
135 | m_GameObject: {fileID: 0}
136 | m_Enabled: 1
137 | m_EditorHideFlags: 0
138 | m_Script: {fileID: 11500000, guid: d236b7d11115f2143951f1e14045df39, type: 3}
139 | m_Name: Android Settings
140 | m_EditorClassIdentifier:
141 | m_LoaderManagerInstance: {fileID: -7966939349611894677}
142 | m_InitManagerOnStart: 1
143 |
--------------------------------------------------------------------------------
/Assets/XR/XRGeneralSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5f8b0168b156e443ea6e05741438f12e
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/Changelog.md:
--------------------------------------------------------------------------------
1 | ## 1.0.2
2 | + Upgraded to NatML 1.1.15.
3 |
4 | ## 1.0.1
5 | + Added `MoveNet3DPredictor.Create` static method for creating the predictor.
6 | + Removed `MoveNetPredictor` public constructor.
7 | + Upgraded to NatML 1.1.2.
8 |
9 | ## 1.0.0
10 | + First release.
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/Changelog.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5993385a898a24be387b70f1af738239
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/LICENSE.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b29944e48201542f28dd43f29027bf9c
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/README.md:
--------------------------------------------------------------------------------
1 | # MoveNet 3D
2 | Realtime 3D pose tracking with [MoveNet](https://blog.tensorflow.org/2021/05/next-generation-pose-detection-with-movenet-and-tensorflowjs.html) in augmented reality with [ARFoundation](https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@4.1/manual/index.html).
3 |
4 | ## Installing MoveNet 3D
5 | Add the following items to your Unity project's `Packages/manifest.json`:
6 | ```json
7 | {
8 | "scopedRegistries": [
9 | {
10 | "name": "NatML",
11 | "url": "https://registry.npmjs.com",
12 | "scopes": ["ai.fxn", "ai.natml"]
13 | }
14 | ],
15 | "dependencies": {
16 | "ai.natml.vision.movenet-3d": "1.0.2"
17 | }
18 | }
19 | ```
20 |
21 | ## Predicting 3D Pose in Augmented Reality
22 | These steps assume that you are starting with an AR scene in Unity with an `ARSession` and `ARSessionOrigin`. In your pose detection script, first create the MoveNet 3D predictor:
23 | ```csharp
24 | MoveNet3DPredictor predictor;
25 |
26 | async void Start () {
27 | // Create the MoveNet 3D predictor
28 | predictor = await MoveNet3DPredictor.Create();
29 | }
30 | ```
31 |
32 | Then in `Update`, acquire the latest CPU camera image and depth image from ARFoundation, then predict the pose:
33 | ```csharp
34 | // Assign these in the inspector
35 | public Camera arCamera;
36 | public ARCameraManager cameraManager;
37 | public AROcclusionManager occlusionManager;
38 |
39 | void Update () {
40 | // Get the camera image
41 | if (cameraManager.TryAcquireLatestCpuImage(out var image))
42 | // Get the depth image
43 | if (occlusionManager.TryAcquireEnvironmentDepthCpuImage(out var depth)) {
44 | // Create an ML feature for the camera image
45 | var imageType = image.GetFeatureType();
46 | var imageFeature = new MLImageFeature(imageType.width, imageType.height);
47 | imageFeature.CopyFrom(image);
48 | // Create an ML feature for the depth image
49 | var depthFeature = new MLXRCpuDepthFeature(depth, arCamera);
50 | // Predict
51 | MoveNet3DPredictor.Pose pose = predictor.Predict(imageFeature, depthFeature);
52 | }
53 | }
54 | ```
55 |
56 | The pose contains 3D world positions for each detected keypoint.
57 |
58 | > Note that on older iOS devices that don't support environment depth, you can use the human depth image instead which is supported by iPhone XS/XR or newer.
59 |
60 | ___
61 |
62 | ## Requirements
63 | - Unity 2022.3+
64 |
65 | ## Quick Tips
66 | - Discover more ML models on [NatML Hub](https://hub.natml.ai).
67 | - See the [NatML documentation](https://docs.natml.ai/unity).
68 | - Join the [NatML community on Discord](https://natml.ai/community).
69 | - Contact us at [hi@natml.ai](mailto:hi@natml.ai).
70 |
71 | Thank you very much!
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/README.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dd4d3546d7f2d4e5489d557ede82a5e7
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/Runtime.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 08cb7f62868b54026ba8f148f29da462
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/Runtime/MoveNet3DPose.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * MoveNet 3D
3 | * Copyright © 2023 NatML Inc. All Rights Reserved.
4 | */
5 |
6 | namespace NatML.Vision {
7 |
8 | using System.Collections;
9 | using System.Collections.Generic;
10 | using UnityEngine;
11 | using NatML.Features;
12 | using NatML.Types;
13 |
14 | public sealed partial class MoveNet3DPredictor {
15 |
16 | ///
17 | /// Detected 3D body pose.
18 | /// The xyz coordinates are the world position of the keypoint.
19 | /// The w coordinate is the confidence score of the keypoint, in range [0, 1].
20 | ///
21 | public readonly struct Pose : IReadOnlyList {
22 |
23 | #region --Client API--
24 | ///
25 | /// Number of keypoints in the pose.
26 | ///
27 | public readonly int Count => keypoints.Length;
28 |
29 | ///
30 | /// Nose position.
31 | ///
32 | public readonly Vector4 nose => this[0];
33 |
34 | ///
35 | /// Left eye position.
36 | /// '
37 | public readonly Vector4 leftEye => this[1];
38 |
39 | ///
40 | /// Right eye position.
41 | ///
42 | public readonly Vector4 rightEye => this[2];
43 |
44 | ///
45 | /// Left ear position.
46 | ///
47 | public readonly Vector4 leftEar => this[3];
48 |
49 | ///
50 | /// Right ear position.
51 | ///
52 | public readonly Vector4 rightEar => this[4];
53 |
54 | ///
55 | /// Left shoulder position.
56 | ///
57 | public readonly Vector4 leftShoulder => this[5];
58 |
59 | ///
60 | /// Right shoulder position.
61 | ///
62 | public readonly Vector4 rightShoulder => this[6];
63 |
64 | ///
65 | /// Left elbow position.
66 | ///
67 | public readonly Vector4 leftElbow => this[7];
68 |
69 | ///
70 | /// Right elbow position.
71 | ///
72 | public readonly Vector4 rightElbow => this[8];
73 |
74 | ///
75 | /// Left wrist position.
76 | ///
77 | public readonly Vector4 leftWrist => this[9];
78 |
79 | ///
80 | /// Right wrist position.
81 | ///
82 | public readonly Vector4 rightWrist => this[10];
83 |
84 | ///
85 | /// Left hip position.
86 | ///
87 | public readonly Vector4 leftHip => this[11];
88 |
89 | ///
90 | /// Right hip position.
91 | ///
92 | public readonly Vector4 rightHip => this[12];
93 |
94 | ///
95 | /// Left knee position.
96 | ///
97 | public readonly Vector4 leftKnee => this[13];
98 |
99 | ///
100 | /// Right knee position.
101 | ///
102 | public readonly Vector4 rightKnee => this[14];
103 |
104 | ///
105 | /// Left ankle position.
106 | ///
107 | public readonly Vector4 leftAnkle => this[15];
108 |
109 | ///
110 | /// Right ankle position.
111 | ///
112 | public readonly Vector4 rightAnkle => this[16];
113 |
114 | ///
115 | /// Get a pose anchor by index.
116 | ///
117 | /// Keypoint index. Must be in range [0, 16].
118 | public readonly Vector4 this [int idx] => keypoints[idx];
119 | #endregion
120 |
121 |
122 | #region --Operations--
123 | private readonly Vector4[] keypoints;
124 |
125 | internal Pose (MoveNetPredictor.Pose pose, MLImageType imageType, MLDepthFeature depthMap) { // INCOMPLETE // Aspect handling
126 | // Compute scale factor
127 | var xScale = (float)Screen.width / imageType.width;
128 | var yScale = (float)Screen.height / imageType.height;
129 | var scale = Mathf.Max(xScale, yScale); // Image is always aspect filled in screen
130 | var xRatio = scale * imageType.width / Screen.width;
131 | var yRatio = scale * imageType.height / Screen.height;
132 | // Transform
133 | keypoints = new Vector4[pose.Count];
134 | for (var i = 0; i < pose.Count; ++i) {
135 | var keypoint = pose[i];
136 | var scaledKeypoint = new Vector2(xRatio * (keypoint.x - 0.5f) + 0.5f, yRatio * (keypoint.y - 0.5f) + 0.5f);
137 | var worldPoint = depthMap.Unproject(scaledKeypoint);
138 | keypoints[i] = new Vector4(worldPoint.x, worldPoint.y, worldPoint.z, keypoint.z);
139 | }
140 | }
141 |
142 | IEnumerator IEnumerable.GetEnumerator () {
143 | for (var i = 0; i < Count; ++i)
144 | yield return this[i];
145 | }
146 |
147 | IEnumerator IEnumerable.GetEnumerator() => (this as IEnumerable).GetEnumerator();
148 | #endregion
149 | }
150 | }
151 | }
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/Runtime/MoveNet3DPose.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 541f6c6f81d964f04a35850d486301c8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/Runtime/MoveNet3DPredictor.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * MoveNet 3D
3 | * Copyright © 2023 NatML Inc. All Rights Reserved.
4 | */
5 |
6 | namespace NatML.Vision {
7 |
8 | using System;
9 | using System.Threading.Tasks;
10 | using NatML.Features;
11 | using NatML.Internal;
12 | using NatML.Types;
13 |
14 | ///
15 | /// MoveNet 3D body pose predictor.
16 | /// This predictor uses environment depth to project the detected body pose into world space.
17 | ///
18 | public sealed partial class MoveNet3DPredictor : IMLPredictor {
19 |
20 | #region --Client API--
21 | ///
22 | /// Detect the body pose in an image.
23 | ///
24 | /// Input image and corresponding depth image.
25 | /// Detected body pose.
26 | public Pose Predict (params MLFeature[] inputs) {
27 | // Check
28 | if (inputs.Length != 2)
29 | throw new ArgumentException(@"MoveNet3D predictor expects an image feature and a depth feature", nameof(inputs));
30 | // Check image
31 | var imageFeature = inputs[0];
32 | var imageType = MLImageType.FromType(imageFeature.type);
33 | if (!imageType)
34 | throw new ArgumentException(@"MoveNet3D predictor expects first input feature to be an array or image feature", nameof(inputs));
35 | // Check depth
36 | if (!(inputs[1] is MLDepthFeature depthFeature))
37 | throw new ArgumentException(@"MoveNet3D predictor expects second input feature to be a depth feature", nameof(inputs));
38 | // Predict
39 | var pose = predictor.Predict(imageFeature);
40 | var result = new Pose(pose, imageType, depthFeature);
41 | return result;
42 | }
43 |
44 | ///
45 | /// Dispose the predictor and release resources.
46 | ///
47 | public void Dispose () => predictor.Dispose();
48 |
49 | ///
50 | /// Create the MoveNet 3D predictor.
51 | ///
52 | /// Apply smoothing filter to detected points.
53 | /// Model configuration.
54 | /// NatML access key.
55 | public static async Task Create (
56 | bool smoothing = true,
57 | MLEdgeModel.Configuration configuration = null,
58 | string accessKey = null
59 | ) {
60 | var movenet = await MoveNetPredictor.Create(smoothing, configuration, accessKey);
61 | var predictor = new MoveNet3DPredictor(movenet);
62 | return predictor;
63 | }
64 | #endregion
65 |
66 |
67 | #region --Operations--
68 | private readonly MoveNetPredictor predictor;
69 |
70 | public MoveNet3DPredictor (MoveNetPredictor predictor) => this.predictor = predictor;
71 | #endregion
72 | }
73 | }
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/Runtime/MoveNet3DPredictor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 21af03d8f6e624e12800224447ab1a96
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/Runtime/NatML.Vision.MoveNet3D.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "NatML.Vision.MoveNet3D",
3 | "references": [
4 | "NatML.Runtime",
5 | "NatML.Vision.MoveNet"
6 | ],
7 | "includePlatforms": [
8 | "Android",
9 | "Editor",
10 | "iOS",
11 | "macOSStandalone",
12 | "WebGL",
13 | "WindowsStandalone64"
14 | ],
15 | "excludePlatforms": [],
16 | "allowUnsafeCode": false,
17 | "overrideReferences": false,
18 | "precompiledReferences": [],
19 | "autoReferenced": true,
20 | "defineConstraints": [],
21 | "versionDefines": [],
22 | "noEngineReferences": false
23 | }
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/Runtime/NatML.Vision.MoveNet3D.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8f2d355cc68a646d68ca9d1c993dba53
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ai.natml.vision.movenet-3d",
3 | "version": "1.0.2",
4 | "displayName": "MoveNet 3D",
5 | "description": "Realtime 3D pose detection with MoveNet.",
6 | "unity": "2022.3",
7 | "dependencies": {
8 | "ai.natml.vision.movenet": "1.0.9"
9 | },
10 | "keywords": [
11 | "natml",
12 | "machine learning",
13 | "ml",
14 | "mocap",
15 | "motion capture",
16 | "face detection",
17 | "mediapipe",
18 | "pose detection",
19 | "augmented reality"
20 | ],
21 | "author": {
22 | "name": "NatML",
23 | "email": "hi@natml.ai",
24 | "url": "https://github.com/natmlx"
25 | },
26 | "license": "Apache-2.0",
27 | "repository": "github:natml-hub/movenet-3d"
28 | }
--------------------------------------------------------------------------------
/Packages/ai.natml.vision.movenet-3d/package.json.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c0857c108864441f8b6f70b3972ae53f
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "scopedRegistries": [
3 | {
4 | "name": "NatML",
5 | "url": "https://registry.npmjs.com",
6 | "scopes": [
7 | "ai.fxn",
8 | "ai.natml"
9 | ]
10 | }
11 | ],
12 | "dependencies": {
13 | "ai.natml.natml.arfoundation": "1.0.3",
14 | "com.unity.ai.navigation": "1.1.4",
15 | "com.unity.collab-proxy": "2.0.5",
16 | "com.unity.feature.development": "1.0.1",
17 | "com.unity.ide.rider": "3.0.24",
18 | "com.unity.ide.visualstudio": "2.0.18",
19 | "com.unity.ide.vscode": "1.2.5",
20 | "com.unity.test-framework": "1.1.33",
21 | "com.unity.textmeshpro": "3.0.6",
22 | "com.unity.timeline": "1.7.5",
23 | "com.unity.ugui": "1.0.0",
24 | "com.unity.visualscripting": "1.8.0",
25 | "com.unity.xr.arcore": "5.0.6",
26 | "com.unity.xr.arfoundation": "5.0.6",
27 | "com.unity.xr.arkit": "5.0.6",
28 | "com.unity.modules.ai": "1.0.0",
29 | "com.unity.modules.androidjni": "1.0.0",
30 | "com.unity.modules.animation": "1.0.0",
31 | "com.unity.modules.assetbundle": "1.0.0",
32 | "com.unity.modules.audio": "1.0.0",
33 | "com.unity.modules.cloth": "1.0.0",
34 | "com.unity.modules.director": "1.0.0",
35 | "com.unity.modules.imageconversion": "1.0.0",
36 | "com.unity.modules.imgui": "1.0.0",
37 | "com.unity.modules.jsonserialize": "1.0.0",
38 | "com.unity.modules.particlesystem": "1.0.0",
39 | "com.unity.modules.physics": "1.0.0",
40 | "com.unity.modules.physics2d": "1.0.0",
41 | "com.unity.modules.screencapture": "1.0.0",
42 | "com.unity.modules.terrain": "1.0.0",
43 | "com.unity.modules.terrainphysics": "1.0.0",
44 | "com.unity.modules.tilemap": "1.0.0",
45 | "com.unity.modules.ui": "1.0.0",
46 | "com.unity.modules.uielements": "1.0.0",
47 | "com.unity.modules.umbra": "1.0.0",
48 | "com.unity.modules.unityanalytics": "1.0.0",
49 | "com.unity.modules.unitywebrequest": "1.0.0",
50 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
51 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
52 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
53 | "com.unity.modules.unitywebrequestwww": "1.0.0",
54 | "com.unity.modules.vehicles": "1.0.0",
55 | "com.unity.modules.video": "1.0.0",
56 | "com.unity.modules.vr": "1.0.0",
57 | "com.unity.modules.wind": "1.0.0",
58 | "com.unity.modules.xr": "1.0.0"
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/Packages/packages-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "ai.natml.natml": {
4 | "version": "1.1.15",
5 | "depth": 1,
6 | "source": "registry",
7 | "dependencies": {
8 | "com.unity.nuget.newtonsoft-json": "3.2.1"
9 | },
10 | "url": "https://registry.npmjs.com"
11 | },
12 | "ai.natml.natml.arfoundation": {
13 | "version": "1.0.3",
14 | "depth": 0,
15 | "source": "registry",
16 | "dependencies": {
17 | "ai.natml.natml": "1.1.15",
18 | "com.unity.mathematics": "1.2.1",
19 | "com.unity.xr.arfoundation": "5.0.7"
20 | },
21 | "url": "https://registry.npmjs.com"
22 | },
23 | "ai.natml.vision.movenet": {
24 | "version": "1.0.9",
25 | "depth": 1,
26 | "source": "registry",
27 | "dependencies": {
28 | "ai.natml.natml": "1.1.15"
29 | },
30 | "url": "https://registry.npmjs.com"
31 | },
32 | "ai.natml.vision.movenet-3d": {
33 | "version": "file:ai.natml.vision.movenet-3d",
34 | "depth": 0,
35 | "source": "embedded",
36 | "dependencies": {
37 | "ai.natml.vision.movenet": "1.0.9"
38 | }
39 | },
40 | "com.unity.ai.navigation": {
41 | "version": "1.1.4",
42 | "depth": 0,
43 | "source": "registry",
44 | "dependencies": {
45 | "com.unity.modules.ai": "1.0.0"
46 | },
47 | "url": "https://packages.unity.com"
48 | },
49 | "com.unity.collab-proxy": {
50 | "version": "2.0.5",
51 | "depth": 0,
52 | "source": "registry",
53 | "dependencies": {},
54 | "url": "https://packages.unity.com"
55 | },
56 | "com.unity.editorcoroutines": {
57 | "version": "1.0.0",
58 | "depth": 1,
59 | "source": "registry",
60 | "dependencies": {},
61 | "url": "https://packages.unity.com"
62 | },
63 | "com.unity.ext.nunit": {
64 | "version": "1.0.6",
65 | "depth": 1,
66 | "source": "registry",
67 | "dependencies": {},
68 | "url": "https://packages.unity.com"
69 | },
70 | "com.unity.feature.development": {
71 | "version": "1.0.1",
72 | "depth": 0,
73 | "source": "builtin",
74 | "dependencies": {
75 | "com.unity.ide.visualstudio": "2.0.18",
76 | "com.unity.ide.rider": "3.0.24",
77 | "com.unity.ide.vscode": "1.2.5",
78 | "com.unity.editorcoroutines": "1.0.0",
79 | "com.unity.performance.profile-analyzer": "1.2.2",
80 | "com.unity.test-framework": "1.1.33",
81 | "com.unity.testtools.codecoverage": "1.2.4"
82 | }
83 | },
84 | "com.unity.ide.rider": {
85 | "version": "3.0.24",
86 | "depth": 0,
87 | "source": "registry",
88 | "dependencies": {
89 | "com.unity.ext.nunit": "1.0.6"
90 | },
91 | "url": "https://packages.unity.com"
92 | },
93 | "com.unity.ide.visualstudio": {
94 | "version": "2.0.18",
95 | "depth": 0,
96 | "source": "registry",
97 | "dependencies": {
98 | "com.unity.test-framework": "1.1.9"
99 | },
100 | "url": "https://packages.unity.com"
101 | },
102 | "com.unity.ide.vscode": {
103 | "version": "1.2.5",
104 | "depth": 0,
105 | "source": "registry",
106 | "dependencies": {},
107 | "url": "https://packages.unity.com"
108 | },
109 | "com.unity.inputsystem": {
110 | "version": "1.6.1",
111 | "depth": 1,
112 | "source": "registry",
113 | "dependencies": {
114 | "com.unity.modules.uielements": "1.0.0"
115 | },
116 | "url": "https://packages.unity.com"
117 | },
118 | "com.unity.mathematics": {
119 | "version": "1.2.6",
120 | "depth": 1,
121 | "source": "registry",
122 | "dependencies": {},
123 | "url": "https://packages.unity.com"
124 | },
125 | "com.unity.nuget.newtonsoft-json": {
126 | "version": "3.2.1",
127 | "depth": 2,
128 | "source": "registry",
129 | "dependencies": {},
130 | "url": "https://packages.unity.com"
131 | },
132 | "com.unity.performance.profile-analyzer": {
133 | "version": "1.2.2",
134 | "depth": 1,
135 | "source": "registry",
136 | "dependencies": {},
137 | "url": "https://packages.unity.com"
138 | },
139 | "com.unity.settings-manager": {
140 | "version": "2.0.1",
141 | "depth": 2,
142 | "source": "registry",
143 | "dependencies": {},
144 | "url": "https://packages.unity.com"
145 | },
146 | "com.unity.test-framework": {
147 | "version": "1.1.33",
148 | "depth": 0,
149 | "source": "registry",
150 | "dependencies": {
151 | "com.unity.ext.nunit": "1.0.6",
152 | "com.unity.modules.imgui": "1.0.0",
153 | "com.unity.modules.jsonserialize": "1.0.0"
154 | },
155 | "url": "https://packages.unity.com"
156 | },
157 | "com.unity.testtools.codecoverage": {
158 | "version": "1.2.4",
159 | "depth": 1,
160 | "source": "registry",
161 | "dependencies": {
162 | "com.unity.test-framework": "1.0.16",
163 | "com.unity.settings-manager": "1.0.1"
164 | },
165 | "url": "https://packages.unity.com"
166 | },
167 | "com.unity.textmeshpro": {
168 | "version": "3.0.6",
169 | "depth": 0,
170 | "source": "registry",
171 | "dependencies": {
172 | "com.unity.ugui": "1.0.0"
173 | },
174 | "url": "https://packages.unity.com"
175 | },
176 | "com.unity.timeline": {
177 | "version": "1.7.5",
178 | "depth": 0,
179 | "source": "registry",
180 | "dependencies": {
181 | "com.unity.modules.director": "1.0.0",
182 | "com.unity.modules.animation": "1.0.0",
183 | "com.unity.modules.audio": "1.0.0",
184 | "com.unity.modules.particlesystem": "1.0.0"
185 | },
186 | "url": "https://packages.unity.com"
187 | },
188 | "com.unity.ugui": {
189 | "version": "1.0.0",
190 | "depth": 0,
191 | "source": "builtin",
192 | "dependencies": {
193 | "com.unity.modules.ui": "1.0.0",
194 | "com.unity.modules.imgui": "1.0.0"
195 | }
196 | },
197 | "com.unity.visualscripting": {
198 | "version": "1.8.0",
199 | "depth": 0,
200 | "source": "registry",
201 | "dependencies": {
202 | "com.unity.ugui": "1.0.0",
203 | "com.unity.modules.jsonserialize": "1.0.0"
204 | },
205 | "url": "https://packages.unity.com"
206 | },
207 | "com.unity.xr.arcore": {
208 | "version": "5.0.6",
209 | "depth": 0,
210 | "source": "registry",
211 | "dependencies": {
212 | "com.unity.xr.arfoundation": "5.0.6",
213 | "com.unity.xr.core-utils": "2.1.0",
214 | "com.unity.xr.management": "4.0.1",
215 | "com.unity.modules.androidjni": "1.0.0",
216 | "com.unity.modules.unitywebrequest": "1.0.0"
217 | },
218 | "url": "https://packages.unity.com"
219 | },
220 | "com.unity.xr.arfoundation": {
221 | "version": "5.0.7",
222 | "depth": 1,
223 | "source": "registry",
224 | "dependencies": {
225 | "com.unity.inputsystem": "1.3.0",
226 | "com.unity.xr.core-utils": "2.1.0",
227 | "com.unity.xr.management": "4.0.1",
228 | "com.unity.ugui": "1.0.0",
229 | "com.unity.mathematics": "1.2.5",
230 | "com.unity.modules.particlesystem": "1.0.0",
231 | "com.unity.modules.ui": "1.0.0",
232 | "com.unity.modules.unityanalytics": "1.0.0",
233 | "com.unity.modules.unitywebrequest": "1.0.0"
234 | },
235 | "url": "https://packages.unity.com"
236 | },
237 | "com.unity.xr.arkit": {
238 | "version": "5.0.6",
239 | "depth": 0,
240 | "source": "registry",
241 | "dependencies": {
242 | "com.unity.editorcoroutines": "1.0.0",
243 | "com.unity.xr.arfoundation": "5.0.6",
244 | "com.unity.xr.core-utils": "2.1.0",
245 | "com.unity.xr.management": "4.0.1"
246 | },
247 | "url": "https://packages.unity.com"
248 | },
249 | "com.unity.xr.core-utils": {
250 | "version": "2.2.1",
251 | "depth": 1,
252 | "source": "registry",
253 | "dependencies": {
254 | "com.unity.modules.xr": "1.0.0"
255 | },
256 | "url": "https://packages.unity.com"
257 | },
258 | "com.unity.xr.legacyinputhelpers": {
259 | "version": "2.1.10",
260 | "depth": 2,
261 | "source": "registry",
262 | "dependencies": {
263 | "com.unity.modules.vr": "1.0.0",
264 | "com.unity.modules.xr": "1.0.0"
265 | },
266 | "url": "https://packages.unity.com"
267 | },
268 | "com.unity.xr.management": {
269 | "version": "4.3.3",
270 | "depth": 1,
271 | "source": "registry",
272 | "dependencies": {
273 | "com.unity.modules.subsystems": "1.0.0",
274 | "com.unity.modules.vr": "1.0.0",
275 | "com.unity.modules.xr": "1.0.0",
276 | "com.unity.xr.legacyinputhelpers": "2.1.7"
277 | },
278 | "url": "https://packages.unity.com"
279 | },
280 | "com.unity.modules.ai": {
281 | "version": "1.0.0",
282 | "depth": 0,
283 | "source": "builtin",
284 | "dependencies": {}
285 | },
286 | "com.unity.modules.androidjni": {
287 | "version": "1.0.0",
288 | "depth": 0,
289 | "source": "builtin",
290 | "dependencies": {}
291 | },
292 | "com.unity.modules.animation": {
293 | "version": "1.0.0",
294 | "depth": 0,
295 | "source": "builtin",
296 | "dependencies": {}
297 | },
298 | "com.unity.modules.assetbundle": {
299 | "version": "1.0.0",
300 | "depth": 0,
301 | "source": "builtin",
302 | "dependencies": {}
303 | },
304 | "com.unity.modules.audio": {
305 | "version": "1.0.0",
306 | "depth": 0,
307 | "source": "builtin",
308 | "dependencies": {}
309 | },
310 | "com.unity.modules.cloth": {
311 | "version": "1.0.0",
312 | "depth": 0,
313 | "source": "builtin",
314 | "dependencies": {
315 | "com.unity.modules.physics": "1.0.0"
316 | }
317 | },
318 | "com.unity.modules.director": {
319 | "version": "1.0.0",
320 | "depth": 0,
321 | "source": "builtin",
322 | "dependencies": {
323 | "com.unity.modules.audio": "1.0.0",
324 | "com.unity.modules.animation": "1.0.0"
325 | }
326 | },
327 | "com.unity.modules.imageconversion": {
328 | "version": "1.0.0",
329 | "depth": 0,
330 | "source": "builtin",
331 | "dependencies": {}
332 | },
333 | "com.unity.modules.imgui": {
334 | "version": "1.0.0",
335 | "depth": 0,
336 | "source": "builtin",
337 | "dependencies": {}
338 | },
339 | "com.unity.modules.jsonserialize": {
340 | "version": "1.0.0",
341 | "depth": 0,
342 | "source": "builtin",
343 | "dependencies": {}
344 | },
345 | "com.unity.modules.particlesystem": {
346 | "version": "1.0.0",
347 | "depth": 0,
348 | "source": "builtin",
349 | "dependencies": {}
350 | },
351 | "com.unity.modules.physics": {
352 | "version": "1.0.0",
353 | "depth": 0,
354 | "source": "builtin",
355 | "dependencies": {}
356 | },
357 | "com.unity.modules.physics2d": {
358 | "version": "1.0.0",
359 | "depth": 0,
360 | "source": "builtin",
361 | "dependencies": {}
362 | },
363 | "com.unity.modules.screencapture": {
364 | "version": "1.0.0",
365 | "depth": 0,
366 | "source": "builtin",
367 | "dependencies": {
368 | "com.unity.modules.imageconversion": "1.0.0"
369 | }
370 | },
371 | "com.unity.modules.subsystems": {
372 | "version": "1.0.0",
373 | "depth": 1,
374 | "source": "builtin",
375 | "dependencies": {
376 | "com.unity.modules.jsonserialize": "1.0.0"
377 | }
378 | },
379 | "com.unity.modules.terrain": {
380 | "version": "1.0.0",
381 | "depth": 0,
382 | "source": "builtin",
383 | "dependencies": {}
384 | },
385 | "com.unity.modules.terrainphysics": {
386 | "version": "1.0.0",
387 | "depth": 0,
388 | "source": "builtin",
389 | "dependencies": {
390 | "com.unity.modules.physics": "1.0.0",
391 | "com.unity.modules.terrain": "1.0.0"
392 | }
393 | },
394 | "com.unity.modules.tilemap": {
395 | "version": "1.0.0",
396 | "depth": 0,
397 | "source": "builtin",
398 | "dependencies": {
399 | "com.unity.modules.physics2d": "1.0.0"
400 | }
401 | },
402 | "com.unity.modules.ui": {
403 | "version": "1.0.0",
404 | "depth": 0,
405 | "source": "builtin",
406 | "dependencies": {}
407 | },
408 | "com.unity.modules.uielements": {
409 | "version": "1.0.0",
410 | "depth": 0,
411 | "source": "builtin",
412 | "dependencies": {
413 | "com.unity.modules.ui": "1.0.0",
414 | "com.unity.modules.imgui": "1.0.0",
415 | "com.unity.modules.jsonserialize": "1.0.0"
416 | }
417 | },
418 | "com.unity.modules.umbra": {
419 | "version": "1.0.0",
420 | "depth": 0,
421 | "source": "builtin",
422 | "dependencies": {}
423 | },
424 | "com.unity.modules.unityanalytics": {
425 | "version": "1.0.0",
426 | "depth": 0,
427 | "source": "builtin",
428 | "dependencies": {
429 | "com.unity.modules.unitywebrequest": "1.0.0",
430 | "com.unity.modules.jsonserialize": "1.0.0"
431 | }
432 | },
433 | "com.unity.modules.unitywebrequest": {
434 | "version": "1.0.0",
435 | "depth": 0,
436 | "source": "builtin",
437 | "dependencies": {}
438 | },
439 | "com.unity.modules.unitywebrequestassetbundle": {
440 | "version": "1.0.0",
441 | "depth": 0,
442 | "source": "builtin",
443 | "dependencies": {
444 | "com.unity.modules.assetbundle": "1.0.0",
445 | "com.unity.modules.unitywebrequest": "1.0.0"
446 | }
447 | },
448 | "com.unity.modules.unitywebrequestaudio": {
449 | "version": "1.0.0",
450 | "depth": 0,
451 | "source": "builtin",
452 | "dependencies": {
453 | "com.unity.modules.unitywebrequest": "1.0.0",
454 | "com.unity.modules.audio": "1.0.0"
455 | }
456 | },
457 | "com.unity.modules.unitywebrequesttexture": {
458 | "version": "1.0.0",
459 | "depth": 0,
460 | "source": "builtin",
461 | "dependencies": {
462 | "com.unity.modules.unitywebrequest": "1.0.0",
463 | "com.unity.modules.imageconversion": "1.0.0"
464 | }
465 | },
466 | "com.unity.modules.unitywebrequestwww": {
467 | "version": "1.0.0",
468 | "depth": 0,
469 | "source": "builtin",
470 | "dependencies": {
471 | "com.unity.modules.unitywebrequest": "1.0.0",
472 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
473 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
474 | "com.unity.modules.audio": "1.0.0",
475 | "com.unity.modules.assetbundle": "1.0.0",
476 | "com.unity.modules.imageconversion": "1.0.0"
477 | }
478 | },
479 | "com.unity.modules.vehicles": {
480 | "version": "1.0.0",
481 | "depth": 0,
482 | "source": "builtin",
483 | "dependencies": {
484 | "com.unity.modules.physics": "1.0.0"
485 | }
486 | },
487 | "com.unity.modules.video": {
488 | "version": "1.0.0",
489 | "depth": 0,
490 | "source": "builtin",
491 | "dependencies": {
492 | "com.unity.modules.audio": "1.0.0",
493 | "com.unity.modules.ui": "1.0.0",
494 | "com.unity.modules.unitywebrequest": "1.0.0"
495 | }
496 | },
497 | "com.unity.modules.vr": {
498 | "version": "1.0.0",
499 | "depth": 0,
500 | "source": "builtin",
501 | "dependencies": {
502 | "com.unity.modules.jsonserialize": "1.0.0",
503 | "com.unity.modules.physics": "1.0.0",
504 | "com.unity.modules.xr": "1.0.0"
505 | }
506 | },
507 | "com.unity.modules.wind": {
508 | "version": "1.0.0",
509 | "depth": 0,
510 | "source": "builtin",
511 | "dependencies": {}
512 | },
513 | "com.unity.modules.xr": {
514 | "version": "1.0.0",
515 | "depth": 0,
516 | "source": "builtin",
517 | "dependencies": {
518 | "com.unity.modules.physics": "1.0.0",
519 | "com.unity.modules.jsonserialize": "1.0.0",
520 | "com.unity.modules.subsystems": "1.0.0"
521 | }
522 | }
523 | }
524 | }
525 |
--------------------------------------------------------------------------------
/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 | serializedVersion: 2
7 | m_Volume: 1
8 | Rolloff Scale: 1
9 | Doppler Factor: 1
10 | Default Speaker Mode: 2
11 | m_SampleRate: 0
12 | m_DSPBufferSize: 1024
13 | m_VirtualVoiceCount: 512
14 | m_RealVoiceCount: 32
15 | m_SpatializerPlugin:
16 | m_AmbisonicDecoderPlugin:
17 | m_DisableAudio: 0
18 | m_VirtualizeEffects: 1
19 | m_RequestedDSPBufferSize: 1024
20 |
--------------------------------------------------------------------------------
/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/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: 11
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 | m_FrictionType: 0
32 | m_EnableEnhancedDeterminism: 0
33 | m_EnableUnifiedHeightmaps: 1
34 | m_DefaultMaxAngluarSpeed: 7
35 |
--------------------------------------------------------------------------------
/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/MoveNet3DSample.unity
10 | guid: 9fc0d4010bbf28b4594072e72b8655ab
11 | m_configObjects:
12 | UnityEditor.XR.ARCore.ARCoreSettings: {fileID: 11400000, guid: da1bcde9bdafe49de88f2153e68a1319, type: 2}
13 | UnityEditor.XR.ARKit.ARKitSettings: {fileID: 11400000, guid: 3550e81b0f0b347ffa2d873d5ad03207, type: 2}
14 | ai.natml.hub.settings: {fileID: 11400000, guid: 6fa432618e3aa4c4badcdebe85cc48ff, type: 2}
15 | com.unity.xr.arfoundation.simulation_settings: {fileID: 11400000, guid: 63fd76b476bdc4a75845d899947afb5c, type: 2}
16 | com.unity.xr.management.loader_settings: {fileID: 11400000, guid: 5f8b0168b156e443ea6e05741438f12e, type: 2}
17 |
--------------------------------------------------------------------------------
/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: 11
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 0
10 | m_DefaultBehaviorMode: 0
11 | m_PrefabRegularEnvironment: {fileID: 0}
12 | m_PrefabUIEnvironment: {fileID: 0}
13 | m_SpritePackerMode: 0
14 | m_SpritePackerPaddingPower: 1
15 | m_EtcTextureCompressorBehavior: 1
16 | m_EtcTextureFastCompressor: 1
17 | m_EtcTextureNormalCompressor: 2
18 | m_EtcTextureBestCompressor: 4
19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref
20 | m_ProjectGenerationRootNamespace:
21 | m_CollabEditorSettings:
22 | inProgressEnabled: 1
23 | m_EnableTextureStreamingInEditMode: 1
24 | m_EnableTextureStreamingInPlayMode: 1
25 | m_AsyncShaderCompilation: 1
26 | m_EnterPlayModeOptionsEnabled: 0
27 | m_EnterPlayModeOptions: 3
28 | m_ShowLightmapResolutionOverlay: 1
29 | m_UseLegacyProbeSampleCount: 0
30 | m_SerializeInlineMappingsOnOneLine: 1
31 |
--------------------------------------------------------------------------------
/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: 13
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 | m_PreloadedShaders: []
39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
40 | type: 0}
41 | m_CustomRenderPipeline: {fileID: 0}
42 | m_TransparencySortMode: 0
43 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
44 | m_DefaultRenderingPath: 1
45 | m_DefaultMobileRenderingPath: 1
46 | m_TierSettings: []
47 | m_LightmapStripping: 0
48 | m_FogStripping: 0
49 | m_InstancingStripping: 0
50 | m_LightmapKeepPlain: 1
51 | m_LightmapKeepDirCombined: 1
52 | m_LightmapKeepDynamicPlain: 1
53 | m_LightmapKeepDynamicDirCombined: 1
54 | m_LightmapKeepShadowMask: 1
55 | m_LightmapKeepSubtractive: 1
56 | m_FogKeepLinear: 1
57 | m_FogKeepExp: 1
58 | m_FogKeepExp2: 1
59 | m_AlbedoSwatchInfos: []
60 | m_LightsUseLinearIntensity: 0
61 | m_LightsUseColorTemperature: 0
62 | m_LogWhenShaderIsCompiled: 0
63 | m_AllowEnlightenSupportForUpgradedProject: 0
64 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/ProjectSettings/MemorySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!387306366 &1
4 | MemorySettings:
5 | m_ObjectHideFlags: 0
6 | m_EditorMemorySettings:
7 | m_MainAllocatorBlockSize: -1
8 | m_ThreadAllocatorBlockSize: -1
9 | m_MainGfxBlockSize: -1
10 | m_ThreadGfxBlockSize: -1
11 | m_CacheBlockSize: -1
12 | m_TypetreeBlockSize: -1
13 | m_ProfilerBlockSize: -1
14 | m_ProfilerEditorBlockSize: -1
15 | m_BucketAllocatorGranularity: -1
16 | m_BucketAllocatorBucketsCount: -1
17 | m_BucketAllocatorBlockSize: -1
18 | m_BucketAllocatorBlockCount: -1
19 | m_ProfilerBucketAllocatorGranularity: -1
20 | m_ProfilerBucketAllocatorBucketsCount: -1
21 | m_ProfilerBucketAllocatorBlockSize: -1
22 | m_ProfilerBucketAllocatorBlockCount: -1
23 | m_TempAllocatorSizeMain: -1
24 | m_JobTempAllocatorBlockSize: -1
25 | m_BackgroundJobTempAllocatorBlockSize: -1
26 | m_JobTempAllocatorReducedBlockSize: -1
27 | m_TempAllocatorSizeGIBakingWorker: -1
28 | m_TempAllocatorSizeNavMeshWorker: -1
29 | m_TempAllocatorSizeAudioWorker: -1
30 | m_TempAllocatorSizeCloudWorker: -1
31 | m_TempAllocatorSizeGfx: -1
32 | m_TempAllocatorSizeJobWorker: -1
33 | m_TempAllocatorSizeBackgroundWorker: -1
34 | m_TempAllocatorSizePreloadManager: -1
35 | m_PlatformMemorySettings: {}
36 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/ProjectSettings/PackageManagerSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 61
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | m_EnablePreReleasePackages: 0
16 | m_AdvancedSettingsExpanded: 1
17 | m_ScopedRegistriesSettingsExpanded: 1
18 | m_SeeAllPackageVersions: 0
19 | m_DismissPreviewPackagesInUse: 0
20 | oneTimeWarningShown: 0
21 | m_Registries:
22 | - m_Id: main
23 | m_Name:
24 | m_Url: https://packages.unity.com
25 | m_Scopes: []
26 | m_IsDefault: 1
27 | m_Capabilities: 7
28 | m_ConfigSource: 0
29 | - m_Id: scoped:project:NatML
30 | m_Name: NatML
31 | m_Url: https://registry.npmjs.com
32 | m_Scopes:
33 | - ai.fxn
34 | - ai.natml
35 | m_IsDefault: 0
36 | m_Capabilities: 0
37 | m_ConfigSource: 4
38 | m_UserSelectedRegistryName: NatML
39 | m_UserAddingNewScopedRegistry: 0
40 | m_RegistryInfoDraft:
41 | m_Modified: 0
42 | m_ErrorMessage:
43 | m_UserModificationsInstanceId: -838
44 | m_OriginalInstanceId: -842
45 | m_LoadAssets: 0
46 |
--------------------------------------------------------------------------------
/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "m_Dictionary": {
3 | "m_DictionaryValues": []
4 | }
5 | }
--------------------------------------------------------------------------------
/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_JobOptions:
23 | serializedVersion: 2
24 | useMultithreading: 0
25 | useConsistencySorting: 0
26 | m_InterpolationPosesPerJob: 100
27 | m_NewContactsPerJob: 30
28 | m_CollideContactsPerJob: 100
29 | m_ClearFlagsPerJob: 200
30 | m_ClearBodyForcesPerJob: 200
31 | m_SyncDiscreteFixturesPerJob: 50
32 | m_SyncContinuousFixturesPerJob: 50
33 | m_FindNearestContactsPerJob: 100
34 | m_UpdateTriggerContactsPerJob: 100
35 | m_IslandSolverCostThreshold: 100
36 | m_IslandSolverBodyCostScale: 1
37 | m_IslandSolverContactCostScale: 10
38 | m_IslandSolverJointCostScale: 10
39 | m_IslandSolverBodiesPerJob: 50
40 | m_IslandSolverContactsPerJob: 50
41 | m_AutoSimulation: 1
42 | m_QueriesHitTriggers: 1
43 | m_QueriesStartInColliders: 1
44 | m_CallbacksOnDisable: 1
45 | m_ReuseCollisionCallbacks: 1
46 | m_AutoSyncTransforms: 0
47 | m_AlwaysShowColliders: 0
48 | m_ShowColliderSleep: 1
49 | m_ShowColliderContacts: 0
50 | m_ShowColliderAABB: 0
51 | m_ContactArrowScale: 0.2
52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
57 |
--------------------------------------------------------------------------------
/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 | serializedVersion: 2
7 | m_DefaultPresets: {}
8 |
--------------------------------------------------------------------------------
/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: 26
7 | productGUID: 340ea173e64804254a34795024d59893
8 | AndroidProfiler: 0
9 | AndroidFilterTouchesWhenObscured: 0
10 | AndroidEnableSustainedPerformanceMode: 0
11 | defaultScreenOrientation: 0
12 | targetDevice: 2
13 | useOnDemandResources: 0
14 | accelerometerFrequency: 60
15 | companyName: NatML
16 | productName: MoveNet3D
17 | defaultCursor: {fileID: 0}
18 | cursorHotspot: {x: 0, y: 0}
19 | m_SplashScreenBackgroundColor: {r: 0.0746262, g: 0.0746262, b: 0.122641504, a: 1}
20 | m_ShowUnitySplashScreen: 1
21 | m_ShowUnitySplashLogo: 0
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 | - logo: {fileID: 21300000, guid: 0733e6937997f4b97be94e96d7a9651f, type: 3}
44 | duration: 2
45 | m_VirtualRealitySplashScreen: {fileID: 0}
46 | m_HolographicTrackingLossScreen: {fileID: 0}
47 | defaultScreenWidth: 1920
48 | defaultScreenHeight: 1080
49 | defaultScreenWidthWeb: 960
50 | defaultScreenHeightWeb: 600
51 | m_StereoRenderingPath: 0
52 | m_ActiveColorSpace: 0
53 | m_SpriteBatchVertexThreshold: 300
54 | m_MTRendering: 1
55 | mipStripping: 0
56 | numberOfMipsStripped: 0
57 | numberOfMipsStrippedPerMipmapLimitGroup: {}
58 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000
59 | iosShowActivityIndicatorOnLoading: -1
60 | androidShowActivityIndicatorOnLoading: -1
61 | iosUseCustomAppBackgroundBehavior: 0
62 | allowedAutorotateToPortrait: 1
63 | allowedAutorotateToPortraitUpsideDown: 1
64 | allowedAutorotateToLandscapeRight: 1
65 | allowedAutorotateToLandscapeLeft: 1
66 | useOSAutorotation: 1
67 | use32BitDisplayBuffer: 1
68 | preserveFramebufferAlpha: 0
69 | disableDepthAndStencilBuffers: 0
70 | androidStartInFullscreen: 1
71 | androidRenderOutsideSafeArea: 1
72 | androidUseSwappy: 1
73 | androidBlitType: 0
74 | androidResizableWindow: 0
75 | androidDefaultWindowWidth: 1920
76 | androidDefaultWindowHeight: 1080
77 | androidMinimumWindowWidth: 400
78 | androidMinimumWindowHeight: 300
79 | androidFullscreenMode: 1
80 | defaultIsNativeResolution: 1
81 | macRetinaSupport: 1
82 | runInBackground: 1
83 | captureSingleScreen: 0
84 | muteOtherAudioSources: 0
85 | Prepare IOS For Recording: 0
86 | Force IOS Speakers When Recording: 0
87 | deferSystemGesturesMode: 0
88 | hideHomeButton: 0
89 | submitAnalytics: 1
90 | usePlayerLog: 1
91 | bakeCollisionMeshes: 0
92 | forceSingleInstance: 0
93 | useFlipModelSwapchain: 1
94 | resizableWindow: 0
95 | useMacAppStoreValidation: 0
96 | macAppStoreCategory: public.app-category.games
97 | gpuSkinning: 1
98 | xboxPIXTextureCapture: 0
99 | xboxEnableAvatar: 0
100 | xboxEnableKinect: 0
101 | xboxEnableKinectAutoTracking: 0
102 | xboxEnableFitness: 0
103 | visibleInBackground: 1
104 | allowFullscreenSwitch: 1
105 | fullscreenMode: 1
106 | xboxSpeechDB: 0
107 | xboxEnableHeadOrientation: 0
108 | xboxEnableGuest: 0
109 | xboxEnablePIXSampling: 0
110 | metalFramebufferOnly: 0
111 | xboxOneResolution: 0
112 | xboxOneSResolution: 0
113 | xboxOneXResolution: 3
114 | xboxOneMonoLoggingLevel: 0
115 | xboxOneLoggingLevel: 1
116 | xboxOneDisableEsram: 0
117 | xboxOneEnableTypeOptimization: 0
118 | xboxOnePresentImmediateThreshold: 0
119 | switchQueueCommandMemory: 0
120 | switchQueueControlMemory: 16384
121 | switchQueueComputeMemory: 262144
122 | switchNVNShaderPoolsGranularity: 33554432
123 | switchNVNDefaultPoolsGranularity: 16777216
124 | switchNVNOtherPoolsGranularity: 16777216
125 | switchGpuScratchPoolGranularity: 2097152
126 | switchAllowGpuScratchShrinking: 0
127 | switchNVNMaxPublicTextureIDCount: 0
128 | switchNVNMaxPublicSamplerIDCount: 0
129 | switchNVNGraphicsFirmwareMemory: 32
130 | stadiaPresentMode: 0
131 | stadiaTargetFramerate: 0
132 | vulkanNumSwapchainBuffers: 3
133 | vulkanEnableSetSRGBWrite: 0
134 | vulkanEnablePreTransform: 1
135 | vulkanEnableLateAcquireNextImage: 0
136 | vulkanEnableCommandBufferRecycling: 1
137 | loadStoreDebugModeEnabled: 0
138 | bundleVersion: 0.1
139 | preloadedAssets: []
140 | metroInputSource: 0
141 | wsaTransparentSwapchain: 0
142 | m_HolographicPauseOnTrackingLoss: 1
143 | xboxOneDisableKinectGpuReservation: 1
144 | xboxOneEnable7thCore: 1
145 | vrSettings:
146 | enable360StereoCapture: 0
147 | isWsaHolographicRemotingEnabled: 0
148 | enableFrameTimingStats: 0
149 | enableOpenGLProfilerGPURecorders: 1
150 | useHDRDisplay: 0
151 | hdrBitDepth: 0
152 | m_ColorGamuts: 00000000
153 | targetPixelDensity: 30
154 | resolutionScalingMode: 0
155 | resetResolutionOnWindowResize: 0
156 | androidSupportedAspectRatio: 1
157 | androidMaxAspectRatio: 2.1
158 | applicationIdentifier:
159 | Standalone: com.NatML.MoveNet3D
160 | iPhone: app.natml.movenet3d
161 | buildNumber:
162 | Standalone: 0
163 | VisionOS: 0
164 | iPhone: 0
165 | tvOS: 0
166 | overrideDefaultApplicationIdentifier: 1
167 | AndroidBundleVersionCode: 1
168 | AndroidMinSdkVersion: 22
169 | AndroidTargetSdkVersion: 0
170 | AndroidPreferredInstallLocation: 1
171 | aotOptions:
172 | stripEngineCode: 1
173 | iPhoneStrippingLevel: 0
174 | iPhoneScriptCallOptimization: 0
175 | ForceInternetPermission: 0
176 | ForceSDCardPermission: 0
177 | CreateWallpaper: 0
178 | APKExpansionFiles: 0
179 | keepLoadedShadersAlive: 0
180 | StripUnusedMeshComponents: 1
181 | strictShaderVariantMatching: 0
182 | VertexChannelCompressionMask: 4054
183 | iPhoneSdkVersion: 988
184 | iOSTargetOSVersionString: 13.0
185 | tvOSSdkVersion: 0
186 | tvOSRequireExtendedGameController: 0
187 | tvOSTargetOSVersionString: 12.0
188 | VisionOSSdkVersion: 0
189 | VisionOSTargetOSVersionString: 1.0
190 | uIPrerenderedIcon: 0
191 | uIRequiresPersistentWiFi: 0
192 | uIRequiresFullScreen: 1
193 | uIStatusBarHidden: 1
194 | uIExitOnSuspend: 0
195 | uIStatusBarStyle: 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 | iOSLaunchScreenCustomStoryboardPath:
224 | iOSLaunchScreeniPadCustomStoryboardPath:
225 | iOSDeviceRequirements: []
226 | iOSURLSchemes: []
227 | macOSURLSchemes: []
228 | iOSBackgroundModes: 0
229 | iOSMetalForceHardShadows: 0
230 | metalEditorSupport: 1
231 | metalAPIValidation: 1
232 | iOSRenderExtraFrameOnPause: 0
233 | iosCopyPluginsCodeInsteadOfSymlink: 0
234 | appleDeveloperTeamID:
235 | iOSManualSigningProvisioningProfileID:
236 | tvOSManualSigningProvisioningProfileID:
237 | VisionOSManualSigningProvisioningProfileID:
238 | iOSManualSigningProvisioningProfileType: 0
239 | tvOSManualSigningProvisioningProfileType: 0
240 | VisionOSManualSigningProvisioningProfileType: 0
241 | appleEnableAutomaticSigning: 0
242 | iOSRequireARKit: 0
243 | iOSAutomaticallyDetectAndAddCapabilities: 1
244 | appleEnableProMotion: 0
245 | shaderPrecisionModel: 0
246 | clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea
247 | templatePackageId: com.unity.template.3d@8.1.0
248 | templateDefaultScene: Assets/Scenes/SampleScene.unity
249 | useCustomMainManifest: 0
250 | useCustomLauncherManifest: 0
251 | useCustomMainGradleTemplate: 0
252 | useCustomLauncherGradleManifest: 0
253 | useCustomBaseGradleTemplate: 0
254 | useCustomGradlePropertiesTemplate: 0
255 | useCustomGradleSettingsTemplate: 0
256 | useCustomProguardFile: 0
257 | AndroidTargetArchitectures: 1
258 | AndroidTargetDevices: 0
259 | AndroidSplashScreenScale: 0
260 | androidSplashScreen: {fileID: 0}
261 | AndroidKeystoreName:
262 | AndroidKeyaliasName:
263 | AndroidEnableArmv9SecurityFeatures: 0
264 | AndroidBuildApkPerCpuArchitecture: 0
265 | AndroidTVCompatibility: 0
266 | AndroidIsGame: 1
267 | AndroidEnableTango: 0
268 | androidEnableBanner: 1
269 | androidUseLowAccuracyLocation: 0
270 | androidUseCustomKeystore: 0
271 | m_AndroidBanners:
272 | - width: 320
273 | height: 180
274 | banner: {fileID: 0}
275 | androidGamepadSupportLevel: 0
276 | chromeosInputEmulation: 1
277 | AndroidMinifyRelease: 0
278 | AndroidMinifyDebug: 0
279 | AndroidValidateAppBundleSize: 1
280 | AndroidAppBundleSizeToValidate: 150
281 | m_BuildTargetIcons: []
282 | m_BuildTargetPlatformIcons:
283 | - m_BuildTarget: iPhone
284 | m_Icons:
285 | - m_Textures: []
286 | m_Width: 180
287 | m_Height: 180
288 | m_Kind: 0
289 | m_SubKind: iPhone
290 | - m_Textures: []
291 | m_Width: 120
292 | m_Height: 120
293 | m_Kind: 0
294 | m_SubKind: iPhone
295 | - m_Textures: []
296 | m_Width: 167
297 | m_Height: 167
298 | m_Kind: 0
299 | m_SubKind: iPad
300 | - m_Textures: []
301 | m_Width: 152
302 | m_Height: 152
303 | m_Kind: 0
304 | m_SubKind: iPad
305 | - m_Textures: []
306 | m_Width: 76
307 | m_Height: 76
308 | m_Kind: 0
309 | m_SubKind: iPad
310 | - m_Textures: []
311 | m_Width: 120
312 | m_Height: 120
313 | m_Kind: 3
314 | m_SubKind: iPhone
315 | - m_Textures: []
316 | m_Width: 80
317 | m_Height: 80
318 | m_Kind: 3
319 | m_SubKind: iPhone
320 | - m_Textures: []
321 | m_Width: 80
322 | m_Height: 80
323 | m_Kind: 3
324 | m_SubKind: iPad
325 | - m_Textures: []
326 | m_Width: 40
327 | m_Height: 40
328 | m_Kind: 3
329 | m_SubKind: iPad
330 | - m_Textures: []
331 | m_Width: 87
332 | m_Height: 87
333 | m_Kind: 1
334 | m_SubKind: iPhone
335 | - m_Textures: []
336 | m_Width: 58
337 | m_Height: 58
338 | m_Kind: 1
339 | m_SubKind: iPhone
340 | - m_Textures: []
341 | m_Width: 29
342 | m_Height: 29
343 | m_Kind: 1
344 | m_SubKind: iPhone
345 | - m_Textures: []
346 | m_Width: 58
347 | m_Height: 58
348 | m_Kind: 1
349 | m_SubKind: iPad
350 | - m_Textures: []
351 | m_Width: 29
352 | m_Height: 29
353 | m_Kind: 1
354 | m_SubKind: iPad
355 | - m_Textures: []
356 | m_Width: 60
357 | m_Height: 60
358 | m_Kind: 2
359 | m_SubKind: iPhone
360 | - m_Textures: []
361 | m_Width: 40
362 | m_Height: 40
363 | m_Kind: 2
364 | m_SubKind: iPhone
365 | - m_Textures: []
366 | m_Width: 40
367 | m_Height: 40
368 | m_Kind: 2
369 | m_SubKind: iPad
370 | - m_Textures: []
371 | m_Width: 20
372 | m_Height: 20
373 | m_Kind: 2
374 | m_SubKind: iPad
375 | - m_Textures: []
376 | m_Width: 1024
377 | m_Height: 1024
378 | m_Kind: 4
379 | m_SubKind: App Store
380 | - m_BuildTarget: Android
381 | m_Icons:
382 | - m_Textures: []
383 | m_Width: 432
384 | m_Height: 432
385 | m_Kind: 2
386 | m_SubKind:
387 | - m_Textures: []
388 | m_Width: 324
389 | m_Height: 324
390 | m_Kind: 2
391 | m_SubKind:
392 | - m_Textures: []
393 | m_Width: 216
394 | m_Height: 216
395 | m_Kind: 2
396 | m_SubKind:
397 | - m_Textures: []
398 | m_Width: 162
399 | m_Height: 162
400 | m_Kind: 2
401 | m_SubKind:
402 | - m_Textures: []
403 | m_Width: 108
404 | m_Height: 108
405 | m_Kind: 2
406 | m_SubKind:
407 | - m_Textures: []
408 | m_Width: 81
409 | m_Height: 81
410 | m_Kind: 2
411 | m_SubKind:
412 | - m_Textures: []
413 | m_Width: 192
414 | m_Height: 192
415 | m_Kind: 1
416 | m_SubKind:
417 | - m_Textures: []
418 | m_Width: 144
419 | m_Height: 144
420 | m_Kind: 1
421 | m_SubKind:
422 | - m_Textures: []
423 | m_Width: 96
424 | m_Height: 96
425 | m_Kind: 1
426 | m_SubKind:
427 | - m_Textures: []
428 | m_Width: 72
429 | m_Height: 72
430 | m_Kind: 1
431 | m_SubKind:
432 | - m_Textures: []
433 | m_Width: 48
434 | m_Height: 48
435 | m_Kind: 1
436 | m_SubKind:
437 | - m_Textures: []
438 | m_Width: 36
439 | m_Height: 36
440 | m_Kind: 1
441 | m_SubKind:
442 | - m_Textures: []
443 | m_Width: 192
444 | m_Height: 192
445 | m_Kind: 0
446 | m_SubKind:
447 | - m_Textures: []
448 | m_Width: 144
449 | m_Height: 144
450 | m_Kind: 0
451 | m_SubKind:
452 | - m_Textures: []
453 | m_Width: 96
454 | m_Height: 96
455 | m_Kind: 0
456 | m_SubKind:
457 | - m_Textures: []
458 | m_Width: 72
459 | m_Height: 72
460 | m_Kind: 0
461 | m_SubKind:
462 | - m_Textures: []
463 | m_Width: 48
464 | m_Height: 48
465 | m_Kind: 0
466 | m_SubKind:
467 | - m_Textures: []
468 | m_Width: 36
469 | m_Height: 36
470 | m_Kind: 0
471 | m_SubKind:
472 | m_BuildTargetBatching:
473 | - m_BuildTarget: Standalone
474 | m_StaticBatching: 1
475 | m_DynamicBatching: 0
476 | - m_BuildTarget: tvOS
477 | m_StaticBatching: 1
478 | m_DynamicBatching: 0
479 | - m_BuildTarget: Android
480 | m_StaticBatching: 1
481 | m_DynamicBatching: 0
482 | - m_BuildTarget: iPhone
483 | m_StaticBatching: 1
484 | m_DynamicBatching: 0
485 | - m_BuildTarget: WebGL
486 | m_StaticBatching: 0
487 | m_DynamicBatching: 0
488 | m_BuildTargetShaderSettings: []
489 | m_BuildTargetGraphicsJobs:
490 | - m_BuildTarget: MacStandaloneSupport
491 | m_GraphicsJobs: 0
492 | - m_BuildTarget: Switch
493 | m_GraphicsJobs: 1
494 | - m_BuildTarget: MetroSupport
495 | m_GraphicsJobs: 1
496 | - m_BuildTarget: AppleTVSupport
497 | m_GraphicsJobs: 0
498 | - m_BuildTarget: BJMSupport
499 | m_GraphicsJobs: 1
500 | - m_BuildTarget: LinuxStandaloneSupport
501 | m_GraphicsJobs: 1
502 | - m_BuildTarget: PS4Player
503 | m_GraphicsJobs: 1
504 | - m_BuildTarget: iOSSupport
505 | m_GraphicsJobs: 0
506 | - m_BuildTarget: WindowsStandaloneSupport
507 | m_GraphicsJobs: 1
508 | - m_BuildTarget: XboxOnePlayer
509 | m_GraphicsJobs: 1
510 | - m_BuildTarget: LuminSupport
511 | m_GraphicsJobs: 0
512 | - m_BuildTarget: AndroidPlayer
513 | m_GraphicsJobs: 0
514 | - m_BuildTarget: WebGLSupport
515 | m_GraphicsJobs: 0
516 | m_BuildTargetGraphicsJobMode:
517 | - m_BuildTarget: PS4Player
518 | m_GraphicsJobMode: 0
519 | - m_BuildTarget: XboxOnePlayer
520 | m_GraphicsJobMode: 0
521 | m_BuildTargetGraphicsAPIs:
522 | - m_BuildTarget: AndroidPlayer
523 | m_APIs: 150000000b000000
524 | m_Automatic: 1
525 | - m_BuildTarget: iOSSupport
526 | m_APIs: 10000000
527 | m_Automatic: 1
528 | - m_BuildTarget: AppleTVSupport
529 | m_APIs: 10000000
530 | m_Automatic: 1
531 | - m_BuildTarget: WebGLSupport
532 | m_APIs: 0b000000
533 | m_Automatic: 1
534 | m_BuildTargetVRSettings:
535 | - m_BuildTarget: Standalone
536 | m_Enabled: 0
537 | m_Devices:
538 | - Oculus
539 | - OpenVR
540 | m_DefaultShaderChunkSizeInMB: 16
541 | m_DefaultShaderChunkCount: 0
542 | openGLRequireES31: 0
543 | openGLRequireES31AEP: 0
544 | openGLRequireES32: 0
545 | m_TemplateCustomTags: {}
546 | mobileMTRendering:
547 | Android: 1
548 | iPhone: 1
549 | tvOS: 1
550 | m_BuildTargetGroupLightmapEncodingQuality:
551 | - m_BuildTarget: Android
552 | m_EncodingQuality: 1
553 | - m_BuildTarget: iPhone
554 | m_EncodingQuality: 1
555 | - m_BuildTarget: tvOS
556 | m_EncodingQuality: 1
557 | m_BuildTargetGroupHDRCubemapEncodingQuality:
558 | - m_BuildTarget: Android
559 | m_EncodingQuality: 1
560 | - m_BuildTarget: iPhone
561 | m_EncodingQuality: 1
562 | - m_BuildTarget: tvOS
563 | m_EncodingQuality: 1
564 | m_BuildTargetGroupLightmapSettings: []
565 | m_BuildTargetGroupLoadStoreDebugModeSettings: []
566 | m_BuildTargetNormalMapEncoding:
567 | - m_BuildTarget: Android
568 | m_Encoding: 1
569 | - m_BuildTarget: iPhone
570 | m_Encoding: 1
571 | - m_BuildTarget: tvOS
572 | m_Encoding: 1
573 | m_BuildTargetDefaultTextureCompressionFormat:
574 | - m_BuildTarget: Android
575 | m_Format: 3
576 | playModeTestRunnerEnabled: 0
577 | runPlayModeTestAsEditModeTest: 0
578 | actionOnDotNetUnhandledException: 1
579 | enableInternalProfiler: 0
580 | logObjCUncaughtExceptions: 1
581 | enableCrashReportAPI: 0
582 | cameraUsageDescription: Allow this app use the camera.
583 | locationUsageDescription:
584 | microphoneUsageDescription:
585 | bluetoothUsageDescription:
586 | macOSTargetOSVersion: 10.13.0
587 | switchNMETAOverride:
588 | switchNetLibKey:
589 | switchSocketMemoryPoolSize: 6144
590 | switchSocketAllocatorPoolSize: 128
591 | switchSocketConcurrencyLimit: 14
592 | switchScreenResolutionBehavior: 2
593 | switchUseCPUProfiler: 0
594 | switchUseGOLDLinker: 0
595 | switchLTOSetting: 0
596 | switchApplicationID: 0x01004b9000490000
597 | switchNSODependencies:
598 | switchCompilerFlags:
599 | switchTitleNames_0:
600 | switchTitleNames_1:
601 | switchTitleNames_2:
602 | switchTitleNames_3:
603 | switchTitleNames_4:
604 | switchTitleNames_5:
605 | switchTitleNames_6:
606 | switchTitleNames_7:
607 | switchTitleNames_8:
608 | switchTitleNames_9:
609 | switchTitleNames_10:
610 | switchTitleNames_11:
611 | switchTitleNames_12:
612 | switchTitleNames_13:
613 | switchTitleNames_14:
614 | switchTitleNames_15:
615 | switchPublisherNames_0:
616 | switchPublisherNames_1:
617 | switchPublisherNames_2:
618 | switchPublisherNames_3:
619 | switchPublisherNames_4:
620 | switchPublisherNames_5:
621 | switchPublisherNames_6:
622 | switchPublisherNames_7:
623 | switchPublisherNames_8:
624 | switchPublisherNames_9:
625 | switchPublisherNames_10:
626 | switchPublisherNames_11:
627 | switchPublisherNames_12:
628 | switchPublisherNames_13:
629 | switchPublisherNames_14:
630 | switchPublisherNames_15:
631 | switchIcons_0: {fileID: 0}
632 | switchIcons_1: {fileID: 0}
633 | switchIcons_2: {fileID: 0}
634 | switchIcons_3: {fileID: 0}
635 | switchIcons_4: {fileID: 0}
636 | switchIcons_5: {fileID: 0}
637 | switchIcons_6: {fileID: 0}
638 | switchIcons_7: {fileID: 0}
639 | switchIcons_8: {fileID: 0}
640 | switchIcons_9: {fileID: 0}
641 | switchIcons_10: {fileID: 0}
642 | switchIcons_11: {fileID: 0}
643 | switchIcons_12: {fileID: 0}
644 | switchIcons_13: {fileID: 0}
645 | switchIcons_14: {fileID: 0}
646 | switchIcons_15: {fileID: 0}
647 | switchSmallIcons_0: {fileID: 0}
648 | switchSmallIcons_1: {fileID: 0}
649 | switchSmallIcons_2: {fileID: 0}
650 | switchSmallIcons_3: {fileID: 0}
651 | switchSmallIcons_4: {fileID: 0}
652 | switchSmallIcons_5: {fileID: 0}
653 | switchSmallIcons_6: {fileID: 0}
654 | switchSmallIcons_7: {fileID: 0}
655 | switchSmallIcons_8: {fileID: 0}
656 | switchSmallIcons_9: {fileID: 0}
657 | switchSmallIcons_10: {fileID: 0}
658 | switchSmallIcons_11: {fileID: 0}
659 | switchSmallIcons_12: {fileID: 0}
660 | switchSmallIcons_13: {fileID: 0}
661 | switchSmallIcons_14: {fileID: 0}
662 | switchSmallIcons_15: {fileID: 0}
663 | switchManualHTML:
664 | switchAccessibleURLs:
665 | switchLegalInformation:
666 | switchMainThreadStackSize: 1048576
667 | switchPresenceGroupId:
668 | switchLogoHandling: 0
669 | switchReleaseVersion: 0
670 | switchDisplayVersion: 1.0.0
671 | switchStartupUserAccount: 0
672 | switchSupportedLanguagesMask: 0
673 | switchLogoType: 0
674 | switchApplicationErrorCodeCategory:
675 | switchUserAccountSaveDataSize: 0
676 | switchUserAccountSaveDataJournalSize: 0
677 | switchApplicationAttribute: 0
678 | switchCardSpecSize: -1
679 | switchCardSpecClock: -1
680 | switchRatingsMask: 0
681 | switchRatingsInt_0: 0
682 | switchRatingsInt_1: 0
683 | switchRatingsInt_2: 0
684 | switchRatingsInt_3: 0
685 | switchRatingsInt_4: 0
686 | switchRatingsInt_5: 0
687 | switchRatingsInt_6: 0
688 | switchRatingsInt_7: 0
689 | switchRatingsInt_8: 0
690 | switchRatingsInt_9: 0
691 | switchRatingsInt_10: 0
692 | switchRatingsInt_11: 0
693 | switchRatingsInt_12: 0
694 | switchLocalCommunicationIds_0:
695 | switchLocalCommunicationIds_1:
696 | switchLocalCommunicationIds_2:
697 | switchLocalCommunicationIds_3:
698 | switchLocalCommunicationIds_4:
699 | switchLocalCommunicationIds_5:
700 | switchLocalCommunicationIds_6:
701 | switchLocalCommunicationIds_7:
702 | switchParentalControl: 0
703 | switchAllowsScreenshot: 1
704 | switchAllowsVideoCapturing: 1
705 | switchAllowsRuntimeAddOnContentInstall: 0
706 | switchDataLossConfirmation: 0
707 | switchUserAccountLockEnabled: 0
708 | switchSystemResourceMemory: 16777216
709 | switchSupportedNpadStyles: 22
710 | switchNativeFsCacheSize: 32
711 | switchIsHoldTypeHorizontal: 0
712 | switchSupportedNpadCount: 8
713 | switchEnableTouchScreen: 1
714 | switchSocketConfigEnabled: 0
715 | switchTcpInitialSendBufferSize: 32
716 | switchTcpInitialReceiveBufferSize: 64
717 | switchTcpAutoSendBufferSizeMax: 256
718 | switchTcpAutoReceiveBufferSizeMax: 256
719 | switchUdpSendBufferSize: 9
720 | switchUdpReceiveBufferSize: 42
721 | switchSocketBufferEfficiency: 4
722 | switchSocketInitializeEnabled: 1
723 | switchNetworkInterfaceManagerInitializeEnabled: 1
724 | switchPlayerConnectionEnabled: 1
725 | switchUseNewStyleFilepaths: 0
726 | switchUseLegacyFmodPriorities: 0
727 | switchUseMicroSleepForYield: 1
728 | switchEnableRamDiskSupport: 0
729 | switchMicroSleepForYieldTime: 25
730 | switchRamDiskSpaceSize: 12
731 | ps4NPAgeRating: 12
732 | ps4NPTitleSecret:
733 | ps4NPTrophyPackPath:
734 | ps4ParentalLevel: 11
735 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000
736 | ps4Category: 0
737 | ps4MasterVersion: 01.00
738 | ps4AppVersion: 01.00
739 | ps4AppType: 0
740 | ps4ParamSfxPath:
741 | ps4VideoOutPixelFormat: 0
742 | ps4VideoOutInitialWidth: 1920
743 | ps4VideoOutBaseModeInitialWidth: 1920
744 | ps4VideoOutReprojectionRate: 60
745 | ps4PronunciationXMLPath:
746 | ps4PronunciationSIGPath:
747 | ps4BackgroundImagePath:
748 | ps4StartupImagePath:
749 | ps4StartupImagesFolder:
750 | ps4IconImagesFolder:
751 | ps4SaveDataImagePath:
752 | ps4SdkOverride:
753 | ps4BGMPath:
754 | ps4ShareFilePath:
755 | ps4ShareOverlayImagePath:
756 | ps4PrivacyGuardImagePath:
757 | ps4ExtraSceSysFile:
758 | ps4NPtitleDatPath:
759 | ps4RemotePlayKeyAssignment: -1
760 | ps4RemotePlayKeyMappingDir:
761 | ps4PlayTogetherPlayerCount: 0
762 | ps4EnterButtonAssignment: 1
763 | ps4ApplicationParam1: 0
764 | ps4ApplicationParam2: 0
765 | ps4ApplicationParam3: 0
766 | ps4ApplicationParam4: 0
767 | ps4DownloadDataSize: 0
768 | ps4GarlicHeapSize: 2048
769 | ps4ProGarlicHeapSize: 2560
770 | playerPrefsMaxSize: 32768
771 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
772 | ps4pnSessions: 1
773 | ps4pnPresence: 1
774 | ps4pnFriends: 1
775 | ps4pnGameCustomData: 1
776 | playerPrefsSupport: 0
777 | enableApplicationExit: 0
778 | resetTempFolder: 1
779 | restrictedAudioUsageRights: 0
780 | ps4UseResolutionFallback: 0
781 | ps4ReprojectionSupport: 0
782 | ps4UseAudio3dBackend: 0
783 | ps4UseLowGarlicFragmentationMode: 1
784 | ps4SocialScreenEnabled: 0
785 | ps4ScriptOptimizationLevel: 0
786 | ps4Audio3dVirtualSpeakerCount: 14
787 | ps4attribCpuUsage: 0
788 | ps4PatchPkgPath:
789 | ps4PatchLatestPkgPath:
790 | ps4PatchChangeinfoPath:
791 | ps4PatchDayOne: 0
792 | ps4attribUserManagement: 0
793 | ps4attribMoveSupport: 0
794 | ps4attrib3DSupport: 0
795 | ps4attribShareSupport: 0
796 | ps4attribExclusiveVR: 0
797 | ps4disableAutoHideSplash: 0
798 | ps4videoRecordingFeaturesUsed: 0
799 | ps4contentSearchFeaturesUsed: 0
800 | ps4CompatibilityPS5: 0
801 | ps4AllowPS5Detection: 0
802 | ps4GPU800MHz: 1
803 | ps4attribEyeToEyeDistanceSettingVR: 0
804 | ps4IncludedModules: []
805 | ps4attribVROutputEnabled: 0
806 | monoEnv:
807 | splashScreenBackgroundSourceLandscape: {fileID: 0}
808 | splashScreenBackgroundSourcePortrait: {fileID: 0}
809 | blurSplashScreenBackground: 1
810 | spritePackerPolicy:
811 | webGLMemorySize: 16
812 | webGLExceptionSupport: 1
813 | webGLNameFilesAsHashes: 0
814 | webGLShowDiagnostics: 0
815 | webGLDataCaching: 1
816 | webGLDebugSymbols: 0
817 | webGLEmscriptenArgs:
818 | webGLModulesDirectory:
819 | webGLTemplate: APPLICATION:Default
820 | webGLAnalyzeBuildSize: 0
821 | webGLUseEmbeddedResources: 0
822 | webGLCompressionFormat: 1
823 | webGLWasmArithmeticExceptions: 0
824 | webGLLinkerTarget: 1
825 | webGLThreadsSupport: 0
826 | webGLDecompressionFallback: 0
827 | webGLInitialMemorySize: 32
828 | webGLMaximumMemorySize: 2048
829 | webGLMemoryGrowthMode: 2
830 | webGLMemoryLinearGrowthStep: 16
831 | webGLMemoryGeometricGrowthStep: 0.2
832 | webGLMemoryGeometricGrowthCap: 96
833 | webGLPowerPreference: 2
834 | scriptingDefineSymbols:
835 | iPhone: UNITY_XR_ARKIT_LOADER_ENABLED
836 | additionalCompilerArguments: {}
837 | platformArchitecture: {}
838 | scriptingBackend: {}
839 | il2cppCompilerConfiguration: {}
840 | il2cppCodeGeneration: {}
841 | managedStrippingLevel:
842 | EmbeddedLinux: 1
843 | GameCoreScarlett: 1
844 | GameCoreXboxOne: 1
845 | Nintendo Switch: 1
846 | PS4: 1
847 | PS5: 1
848 | QNX: 1
849 | Stadia: 1
850 | VisionOS: 1
851 | WebGL: 1
852 | Windows Store Apps: 1
853 | XboxOne: 1
854 | iPhone: 1
855 | tvOS: 1
856 | incrementalIl2cppBuild: {}
857 | suppressCommonWarnings: 1
858 | allowUnsafeCode: 0
859 | useDeterministicCompilation: 1
860 | additionalIl2CppArgs:
861 | scriptingRuntimeVersion: 1
862 | gcIncremental: 1
863 | gcWBarrierValidation: 0
864 | apiCompatibilityLevelPerPlatform: {}
865 | m_RenderingPath: 1
866 | m_MobileRenderingPath: 1
867 | metroPackageName: Template_3D
868 | metroPackageVersion:
869 | metroCertificatePath:
870 | metroCertificatePassword:
871 | metroCertificateSubject:
872 | metroCertificateIssuer:
873 | metroCertificateNotAfter: 0000000000000000
874 | metroApplicationDescription: Template_3D
875 | wsaImages: {}
876 | metroTileShortName:
877 | metroTileShowName: 0
878 | metroMediumTileShowName: 0
879 | metroLargeTileShowName: 0
880 | metroWideTileShowName: 0
881 | metroSupportStreamingInstall: 0
882 | metroLastRequiredScene: 0
883 | metroDefaultTileSize: 1
884 | metroTileForegroundText: 2
885 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
886 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1}
887 | metroSplashScreenUseBackgroundColor: 0
888 | platformCapabilities: {}
889 | metroTargetDeviceFamilies: {}
890 | metroFTAName:
891 | metroFTAFileTypes: []
892 | metroProtocolName:
893 | vcxProjDefaultLanguage:
894 | XboxOneProductId:
895 | XboxOneUpdateKey:
896 | XboxOneSandboxId:
897 | XboxOneContentId:
898 | XboxOneTitleId:
899 | XboxOneSCId:
900 | XboxOneGameOsOverridePath:
901 | XboxOnePackagingOverridePath:
902 | XboxOneAppManifestOverridePath:
903 | XboxOneVersion: 1.0.0.0
904 | XboxOnePackageEncryption: 0
905 | XboxOnePackageUpdateGranularity: 2
906 | XboxOneDescription:
907 | XboxOneLanguage:
908 | - enus
909 | XboxOneCapability: []
910 | XboxOneGameRating: {}
911 | XboxOneIsContentPackage: 0
912 | XboxOneEnhancedXboxCompatibilityMode: 0
913 | XboxOneEnableGPUVariability: 1
914 | XboxOneSockets: {}
915 | XboxOneSplashScreen: {fileID: 0}
916 | XboxOneAllowedProductIds: []
917 | XboxOnePersistentLocalStorageSize: 0
918 | XboxOneXTitleMemory: 8
919 | XboxOneOverrideIdentityName:
920 | XboxOneOverrideIdentityPublisher:
921 | vrEditorSettings: {}
922 | cloudServicesEnabled:
923 | UNet: 1
924 | luminIcon:
925 | m_Name:
926 | m_ModelFolderPath:
927 | m_PortalFolderPath:
928 | luminCert:
929 | m_CertPath:
930 | m_SignPackage: 1
931 | luminIsChannelApp: 0
932 | luminVersion:
933 | m_VersionCode: 1
934 | m_VersionName:
935 | hmiPlayerDataPath:
936 | hmiForceSRGBBlit: 1
937 | embeddedLinuxEnableGamepadInput: 1
938 | hmiLogStartupTiming: 0
939 | hmiCpuConfiguration:
940 | apiCompatibilityLevel: 6
941 | activeInputHandler: 2
942 | windowsGamepadBackendHint: 0
943 | cloudProjectId:
944 | framebufferDepthMemorylessMode: 0
945 | qualitySettingsNames: []
946 | projectName:
947 | organizationId:
948 | cloudEnabled: 0
949 | legacyClampBlendShapeWeights: 0
950 | hmiLoadingImage: {fileID: 0}
951 | platformRequiresReadableAssets: 0
952 | virtualTexturingSupportEnabled: 0
953 | insecureHttpOption: 0
954 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2022.3.5f1
2 | m_EditorVersionWithRevision: 2022.3.5f1 (9674261d40ee)
3 |
--------------------------------------------------------------------------------
/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: 5
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 | skinWeights: 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 | streamingMipmapsActive: 0
33 | streamingMipmapsAddAllCameras: 1
34 | streamingMipmapsMemoryBudget: 512
35 | streamingMipmapsRenderersPerFrame: 512
36 | streamingMipmapsMaxLevelReduction: 2
37 | streamingMipmapsMaxFileIORequests: 1024
38 | particleRaycastBudget: 4
39 | asyncUploadTimeSlice: 2
40 | asyncUploadBufferSize: 16
41 | asyncUploadPersistentBuffer: 1
42 | resolutionScalingFixedDPIFactor: 1
43 | customRenderPipeline: {fileID: 0}
44 | excludedTargetPlatforms: []
45 | - serializedVersion: 2
46 | name: Low
47 | pixelLightCount: 0
48 | shadows: 0
49 | shadowResolution: 0
50 | shadowProjection: 1
51 | shadowCascades: 1
52 | shadowDistance: 20
53 | shadowNearPlaneOffset: 3
54 | shadowCascade2Split: 0.33333334
55 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
56 | shadowmaskMode: 0
57 | skinWeights: 2
58 | textureQuality: 0
59 | anisotropicTextures: 0
60 | antiAliasing: 0
61 | softParticles: 0
62 | softVegetation: 0
63 | realtimeReflectionProbes: 0
64 | billboardsFaceCameraPosition: 0
65 | vSyncCount: 0
66 | lodBias: 0.4
67 | maximumLODLevel: 0
68 | streamingMipmapsActive: 0
69 | streamingMipmapsAddAllCameras: 1
70 | streamingMipmapsMemoryBudget: 512
71 | streamingMipmapsRenderersPerFrame: 512
72 | streamingMipmapsMaxLevelReduction: 2
73 | streamingMipmapsMaxFileIORequests: 1024
74 | particleRaycastBudget: 16
75 | asyncUploadTimeSlice: 2
76 | asyncUploadBufferSize: 16
77 | asyncUploadPersistentBuffer: 1
78 | resolutionScalingFixedDPIFactor: 1
79 | customRenderPipeline: {fileID: 0}
80 | excludedTargetPlatforms: []
81 | - serializedVersion: 2
82 | name: Medium
83 | pixelLightCount: 1
84 | shadows: 1
85 | shadowResolution: 0
86 | shadowProjection: 1
87 | shadowCascades: 1
88 | shadowDistance: 20
89 | shadowNearPlaneOffset: 3
90 | shadowCascade2Split: 0.33333334
91 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
92 | shadowmaskMode: 0
93 | skinWeights: 2
94 | textureQuality: 0
95 | anisotropicTextures: 1
96 | antiAliasing: 0
97 | softParticles: 0
98 | softVegetation: 0
99 | realtimeReflectionProbes: 0
100 | billboardsFaceCameraPosition: 0
101 | vSyncCount: 1
102 | lodBias: 0.7
103 | maximumLODLevel: 0
104 | streamingMipmapsActive: 0
105 | streamingMipmapsAddAllCameras: 1
106 | streamingMipmapsMemoryBudget: 512
107 | streamingMipmapsRenderersPerFrame: 512
108 | streamingMipmapsMaxLevelReduction: 2
109 | streamingMipmapsMaxFileIORequests: 1024
110 | particleRaycastBudget: 64
111 | asyncUploadTimeSlice: 2
112 | asyncUploadBufferSize: 16
113 | asyncUploadPersistentBuffer: 1
114 | resolutionScalingFixedDPIFactor: 1
115 | customRenderPipeline: {fileID: 0}
116 | excludedTargetPlatforms: []
117 | - serializedVersion: 2
118 | name: High
119 | pixelLightCount: 2
120 | shadows: 2
121 | shadowResolution: 1
122 | shadowProjection: 1
123 | shadowCascades: 2
124 | shadowDistance: 40
125 | shadowNearPlaneOffset: 3
126 | shadowCascade2Split: 0.33333334
127 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
128 | shadowmaskMode: 1
129 | skinWeights: 2
130 | textureQuality: 0
131 | anisotropicTextures: 1
132 | antiAliasing: 0
133 | softParticles: 0
134 | softVegetation: 1
135 | realtimeReflectionProbes: 1
136 | billboardsFaceCameraPosition: 1
137 | vSyncCount: 1
138 | lodBias: 1
139 | maximumLODLevel: 0
140 | streamingMipmapsActive: 0
141 | streamingMipmapsAddAllCameras: 1
142 | streamingMipmapsMemoryBudget: 512
143 | streamingMipmapsRenderersPerFrame: 512
144 | streamingMipmapsMaxLevelReduction: 2
145 | streamingMipmapsMaxFileIORequests: 1024
146 | particleRaycastBudget: 256
147 | asyncUploadTimeSlice: 2
148 | asyncUploadBufferSize: 16
149 | asyncUploadPersistentBuffer: 1
150 | resolutionScalingFixedDPIFactor: 1
151 | customRenderPipeline: {fileID: 0}
152 | excludedTargetPlatforms: []
153 | - serializedVersion: 2
154 | name: Very High
155 | pixelLightCount: 3
156 | shadows: 2
157 | shadowResolution: 2
158 | shadowProjection: 1
159 | shadowCascades: 2
160 | shadowDistance: 70
161 | shadowNearPlaneOffset: 3
162 | shadowCascade2Split: 0.33333334
163 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
164 | shadowmaskMode: 1
165 | skinWeights: 4
166 | textureQuality: 0
167 | anisotropicTextures: 2
168 | antiAliasing: 2
169 | softParticles: 1
170 | softVegetation: 1
171 | realtimeReflectionProbes: 1
172 | billboardsFaceCameraPosition: 1
173 | vSyncCount: 1
174 | lodBias: 1.5
175 | maximumLODLevel: 0
176 | streamingMipmapsActive: 0
177 | streamingMipmapsAddAllCameras: 1
178 | streamingMipmapsMemoryBudget: 512
179 | streamingMipmapsRenderersPerFrame: 512
180 | streamingMipmapsMaxLevelReduction: 2
181 | streamingMipmapsMaxFileIORequests: 1024
182 | particleRaycastBudget: 1024
183 | asyncUploadTimeSlice: 2
184 | asyncUploadBufferSize: 16
185 | asyncUploadPersistentBuffer: 1
186 | resolutionScalingFixedDPIFactor: 1
187 | customRenderPipeline: {fileID: 0}
188 | excludedTargetPlatforms: []
189 | - serializedVersion: 2
190 | name: Ultra
191 | pixelLightCount: 4
192 | shadows: 2
193 | shadowResolution: 2
194 | shadowProjection: 1
195 | shadowCascades: 4
196 | shadowDistance: 150
197 | shadowNearPlaneOffset: 3
198 | shadowCascade2Split: 0.33333334
199 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
200 | shadowmaskMode: 1
201 | skinWeights: 4
202 | textureQuality: 0
203 | anisotropicTextures: 2
204 | antiAliasing: 2
205 | softParticles: 1
206 | softVegetation: 1
207 | realtimeReflectionProbes: 1
208 | billboardsFaceCameraPosition: 1
209 | vSyncCount: 1
210 | lodBias: 2
211 | maximumLODLevel: 0
212 | streamingMipmapsActive: 0
213 | streamingMipmapsAddAllCameras: 1
214 | streamingMipmapsMemoryBudget: 512
215 | streamingMipmapsRenderersPerFrame: 512
216 | streamingMipmapsMaxLevelReduction: 2
217 | streamingMipmapsMaxFileIORequests: 1024
218 | particleRaycastBudget: 4096
219 | asyncUploadTimeSlice: 2
220 | asyncUploadBufferSize: 16
221 | asyncUploadPersistentBuffer: 1
222 | resolutionScalingFixedDPIFactor: 1
223 | customRenderPipeline: {fileID: 0}
224 | excludedTargetPlatforms: []
225 | m_PerPlatformDefaultQuality:
226 | Android: 2
227 | Lumin: 5
228 | Nintendo 3DS: 5
229 | Nintendo Switch: 5
230 | PS4: 5
231 | PSP2: 2
232 | Server: 0
233 | Stadia: 5
234 | Standalone: 5
235 | WebGL: 3
236 | Windows Store Apps: 5
237 | XboxOne: 5
238 | iPhone: 2
239 | tvOS: 2
240 |
--------------------------------------------------------------------------------
/ProjectSettings/SceneTemplateSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "templatePinStates": [],
3 | "dependencyTypeInfos": [
4 | {
5 | "userAdded": false,
6 | "type": "UnityEngine.AnimationClip",
7 | "ignore": false,
8 | "defaultInstantiationMode": 0,
9 | "supportsModification": true
10 | },
11 | {
12 | "userAdded": false,
13 | "type": "UnityEditor.Animations.AnimatorController",
14 | "ignore": false,
15 | "defaultInstantiationMode": 0,
16 | "supportsModification": true
17 | },
18 | {
19 | "userAdded": false,
20 | "type": "UnityEngine.AnimatorOverrideController",
21 | "ignore": false,
22 | "defaultInstantiationMode": 0,
23 | "supportsModification": true
24 | },
25 | {
26 | "userAdded": false,
27 | "type": "UnityEditor.Audio.AudioMixerController",
28 | "ignore": false,
29 | "defaultInstantiationMode": 0,
30 | "supportsModification": true
31 | },
32 | {
33 | "userAdded": false,
34 | "type": "UnityEngine.ComputeShader",
35 | "ignore": true,
36 | "defaultInstantiationMode": 1,
37 | "supportsModification": true
38 | },
39 | {
40 | "userAdded": false,
41 | "type": "UnityEngine.Cubemap",
42 | "ignore": false,
43 | "defaultInstantiationMode": 0,
44 | "supportsModification": true
45 | },
46 | {
47 | "userAdded": false,
48 | "type": "UnityEngine.GameObject",
49 | "ignore": false,
50 | "defaultInstantiationMode": 0,
51 | "supportsModification": true
52 | },
53 | {
54 | "userAdded": false,
55 | "type": "UnityEditor.LightingDataAsset",
56 | "ignore": false,
57 | "defaultInstantiationMode": 0,
58 | "supportsModification": false
59 | },
60 | {
61 | "userAdded": false,
62 | "type": "UnityEngine.LightingSettings",
63 | "ignore": false,
64 | "defaultInstantiationMode": 0,
65 | "supportsModification": true
66 | },
67 | {
68 | "userAdded": false,
69 | "type": "UnityEngine.Material",
70 | "ignore": false,
71 | "defaultInstantiationMode": 0,
72 | "supportsModification": true
73 | },
74 | {
75 | "userAdded": false,
76 | "type": "UnityEditor.MonoScript",
77 | "ignore": true,
78 | "defaultInstantiationMode": 1,
79 | "supportsModification": true
80 | },
81 | {
82 | "userAdded": false,
83 | "type": "UnityEngine.PhysicMaterial",
84 | "ignore": false,
85 | "defaultInstantiationMode": 0,
86 | "supportsModification": true
87 | },
88 | {
89 | "userAdded": false,
90 | "type": "UnityEngine.PhysicsMaterial2D",
91 | "ignore": false,
92 | "defaultInstantiationMode": 0,
93 | "supportsModification": true
94 | },
95 | {
96 | "userAdded": false,
97 | "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile",
98 | "ignore": false,
99 | "defaultInstantiationMode": 0,
100 | "supportsModification": true
101 | },
102 | {
103 | "userAdded": false,
104 | "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources",
105 | "ignore": false,
106 | "defaultInstantiationMode": 0,
107 | "supportsModification": true
108 | },
109 | {
110 | "userAdded": false,
111 | "type": "UnityEngine.Rendering.VolumeProfile",
112 | "ignore": false,
113 | "defaultInstantiationMode": 0,
114 | "supportsModification": true
115 | },
116 | {
117 | "userAdded": false,
118 | "type": "UnityEditor.SceneAsset",
119 | "ignore": false,
120 | "defaultInstantiationMode": 0,
121 | "supportsModification": false
122 | },
123 | {
124 | "userAdded": false,
125 | "type": "UnityEngine.Shader",
126 | "ignore": true,
127 | "defaultInstantiationMode": 1,
128 | "supportsModification": true
129 | },
130 | {
131 | "userAdded": false,
132 | "type": "UnityEngine.ShaderVariantCollection",
133 | "ignore": true,
134 | "defaultInstantiationMode": 1,
135 | "supportsModification": true
136 | },
137 | {
138 | "userAdded": false,
139 | "type": "UnityEngine.Texture",
140 | "ignore": false,
141 | "defaultInstantiationMode": 0,
142 | "supportsModification": true
143 | },
144 | {
145 | "userAdded": false,
146 | "type": "UnityEngine.Texture2D",
147 | "ignore": false,
148 | "defaultInstantiationMode": 0,
149 | "supportsModification": true
150 | },
151 | {
152 | "userAdded": false,
153 | "type": "UnityEngine.Timeline.TimelineAsset",
154 | "ignore": false,
155 | "defaultInstantiationMode": 0,
156 | "supportsModification": true
157 | }
158 | ],
159 | "defaultDependencyTypeInfo": {
160 | "userAdded": false,
161 | "type": "",
162 | "ignore": false,
163 | "defaultInstantiationMode": 1,
164 | "supportsModification": true
165 | },
166 | "newSceneOverride": 0
167 | }
--------------------------------------------------------------------------------
/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 | -
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/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.33333334
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/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: 0
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_DashboardUrl: https://dashboard.unity3d.com
13 | m_TestInitMode: 0
14 | CrashReportingSettings:
15 | m_EventUrl: https://perf-events.cloud.unity3d.com
16 | m_Enabled: 0
17 | m_LogBufferSize: 10
18 | m_CaptureEditorExceptions: 1
19 | UnityPurchasingSettings:
20 | m_Enabled: 0
21 | m_TestMode: 0
22 | UnityAnalyticsSettings:
23 | m_Enabled: 0
24 | m_TestMode: 0
25 | m_InitializeOnStartup: 1
26 | UnityAdsSettings:
27 | m_Enabled: 0
28 | m_InitializeOnStartup: 1
29 | m_TestMode: 0
30 | m_IosGameId:
31 | m_AndroidGameId:
32 | m_GameIds: {}
33 | m_GameId:
34 | PerformanceReportingSettings:
35 | m_Enabled: 0
36 |
--------------------------------------------------------------------------------
/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_StripUpdateShader: {fileID: 0}
10 | m_RenderPipeSettingsPath:
11 | m_FixedTimeStep: 0.016666668
12 | m_MaxDeltaTime: 0.05
13 |
--------------------------------------------------------------------------------
/ProjectSettings/VersionControlSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!890905787 &1
4 | VersionControlSettings:
5 | m_ObjectHideFlags: 0
6 | m_Mode: Visible Meta Files
7 | m_CollabEditorSettings:
8 | inProgressEnabled: 1
9 |
--------------------------------------------------------------------------------
/ProjectSettings/XRPackageSettings.asset:
--------------------------------------------------------------------------------
1 | {
2 | "m_Settings": [
3 | "RemoveLegacyInputHelpersForReload"
4 | ]
5 | }
--------------------------------------------------------------------------------
/ProjectSettings/XRSettings.asset:
--------------------------------------------------------------------------------
1 | {
2 | "m_SettingKeys": [
3 | "VR Device Disabled",
4 | "VR Device User Alert"
5 | ],
6 | "m_SettingValues": [
7 | "False",
8 | "False"
9 | ]
10 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # MoveNet 3D
2 |
3 | 
4 |
5 | Realtime 3D pose detection in augmented reality with NatML and Unity ARFoundation.
6 |
7 | ## Setup Instructions
8 | Retrieve your access key from [NatML Hub](https://hub.natml.ai/profile) and add it to your Project Settings:
9 |
10 | 
11 |
12 | ## Using in Existing Project
13 | [See the package README](Packages/ai.natml.vision.movenet-3d) for installing the standalone MoveNet 3D predictor in an existing Unity project.
14 |
15 | ## Requirements
16 | - Unity 2022.3+
17 |
18 | ## Supported Platforms
19 | - Android API level 24+
20 | - iOS 13+
21 | - Unity Editor with [ARFoundation Remote](https://assetstore.unity.com/packages/tools/utilities/ar-foundation-remote-2-0-201106):
22 | - macOS 10.15+ (Apple Silicon and Intel)
23 | - Windows 10+ (64-bit only)
24 |
25 | ## Resources
26 | - Join the [NatML community on Discord](https://natml.ai/community).
27 | - See the [NatML documentation](https://docs.natml.ai/unity).
28 | - Check out [NatML on GitHub](https://github.com/natmlx).
29 | - Read the [NatML blog](https://blog.natml.ai/).
30 | - Contact us at [hi@natml.ai](mailto:hi@natml.ai).
31 |
32 | Thank you very much!
--------------------------------------------------------------------------------
/UserSettings/EditorUserSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!162 &1
4 | EditorUserSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_ConfigSettings:
8 | RecentlyUsedSceneGuid-0:
9 | value: 5a5757560101590a5d0c0e24427b5d44434e4c7a7b7a23677f2b4565b7b5353a
10 | flags: 0
11 | vcSharedLogLevel:
12 | value: 0d5e400f0650
13 | flags: 0
14 | m_VCAutomaticAdd: 1
15 | m_VCDebugCom: 0
16 | m_VCDebugCmd: 0
17 | m_VCDebugOut: 0
18 | m_SemanticMergeMode: 2
19 | m_DesiredImportWorkerCount: 2
20 | m_StandbyImportWorkerCount: 2
21 | m_IdleImportWorkerShutdownDelay: 60000
22 | m_VCShowFailedCheckout: 1
23 | m_VCOverwriteFailedCheckoutAssets: 1
24 | m_VCProjectOverlayIcons: 1
25 | m_VCHierarchyOverlayIcons: 1
26 | m_VCOtherOverlayIcons: 1
27 | m_VCAllowAsyncUpdate: 1
28 | m_ArtifactGarbageCollection: 1
29 |
--------------------------------------------------------------------------------
/UserSettings/Layouts/CurrentMaximizeLayout.dwlt:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 52
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 1
12 | m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | m_Children:
16 | - {fileID: 3}
17 | - {fileID: 5}
18 | - {fileID: 7}
19 | - {fileID: 13}
20 | m_Position:
21 | serializedVersion: 2
22 | x: 0
23 | y: 30
24 | width: 1440
25 | height: 746
26 | m_MinSize: {x: 400, y: 200}
27 | m_MaxSize: {x: 32384, y: 16192}
28 | vertical: 0
29 | controlID: 17
30 | --- !u!114 &2
31 | MonoBehaviour:
32 | m_ObjectHideFlags: 52
33 | m_CorrespondingSourceObject: {fileID: 0}
34 | m_PrefabInstance: {fileID: 0}
35 | m_PrefabAsset: {fileID: 0}
36 | m_GameObject: {fileID: 0}
37 | m_Enabled: 1
38 | m_EditorHideFlags: 0
39 | m_Script: {fileID: 13854, guid: 0000000000000000e000000000000000, type: 0}
40 | m_Name:
41 | m_EditorClassIdentifier:
42 | m_MinSize: {x: 310, y: 200}
43 | m_MaxSize: {x: 4000, y: 4000}
44 | m_TitleContent:
45 | m_Text: Project Settings
46 | m_Image: {fileID: -5712115415447495865, guid: 0000000000000000d000000000000000, type: 0}
47 | m_Tooltip:
48 | m_Pos:
49 | serializedVersion: 2
50 | x: 1118
51 | y: 83
52 | width: 321
53 | height: 725
54 | m_ViewDataDictionary: {fileID: 0}
55 | m_OverlayCanvas:
56 | m_LastAppliedPresetName: Default
57 | m_SaveData: []
58 | m_PosLeft: {x: 0, y: 0}
59 | m_PosRight: {x: 0, y: 0}
60 | m_Scope: 1
61 | m_SplitterFlex: 0.2
62 | m_SearchText:
63 | m_TreeViewState:
64 | scrollPos: {x: 0, y: 0}
65 | m_SelectedIDs: 4dcf9b58
66 | m_LastClickedID: 1486606157
67 | m_ExpandedIDs: a01a5fa6000000004f0a7f2e
68 | m_RenameOverlay:
69 | m_UserAcceptedRename: 0
70 | m_Name:
71 | m_OriginalName:
72 | m_EditFieldRect:
73 | serializedVersion: 2
74 | x: 0
75 | y: 0
76 | width: 0
77 | height: 0
78 | m_UserData: 0
79 | m_IsWaitingForDelay: 0
80 | m_IsRenaming: 0
81 | m_OriginalEventType: 11
82 | m_IsRenamingFilename: 0
83 | m_ClientGUIView: {fileID: 0}
84 | m_SearchString:
85 | --- !u!114 &3
86 | MonoBehaviour:
87 | m_ObjectHideFlags: 52
88 | m_CorrespondingSourceObject: {fileID: 0}
89 | m_PrefabInstance: {fileID: 0}
90 | m_PrefabAsset: {fileID: 0}
91 | m_GameObject: {fileID: 0}
92 | m_Enabled: 1
93 | m_EditorHideFlags: 0
94 | m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
95 | m_Name: SceneView
96 | m_EditorClassIdentifier:
97 | m_Children: []
98 | m_Position:
99 | serializedVersion: 2
100 | x: 0
101 | y: 0
102 | width: 394
103 | height: 746
104 | m_MinSize: {x: 201, y: 221}
105 | m_MaxSize: {x: 4001, y: 4021}
106 | m_ActualView: {fileID: 4}
107 | m_Panes:
108 | - {fileID: 4}
109 | m_Selected: 0
110 | m_LastSelected: 0
111 | --- !u!114 &4
112 | MonoBehaviour:
113 | m_ObjectHideFlags: 52
114 | m_CorrespondingSourceObject: {fileID: 0}
115 | m_PrefabInstance: {fileID: 0}
116 | m_PrefabAsset: {fileID: 0}
117 | m_GameObject: {fileID: 0}
118 | m_Enabled: 1
119 | m_EditorHideFlags: 1
120 | m_Script: {fileID: 12013, guid: 0000000000000000e000000000000000, type: 0}
121 | m_Name:
122 | m_EditorClassIdentifier:
123 | m_MinSize: {x: 200, y: 200}
124 | m_MaxSize: {x: 4000, y: 4000}
125 | m_TitleContent:
126 | m_Text: Scene
127 | m_Image: {fileID: 2593428753322112591, guid: 0000000000000000d000000000000000, type: 0}
128 | m_Tooltip:
129 | m_Pos:
130 | serializedVersion: 2
131 | x: 0
132 | y: 83
133 | width: 393
134 | height: 725
135 | m_ViewDataDictionary: {fileID: 0}
136 | m_OverlayCanvas:
137 | m_LastAppliedPresetName: Default
138 | m_SaveData:
139 | - dockPosition: 0
140 | containerId: overlay-toolbar__top
141 | floating: 0
142 | collapsed: 0
143 | displayed: 1
144 | snapOffset: {x: 0, y: 0}
145 | snapOffsetDelta: {x: -98, y: -26}
146 | snapCorner: 3
147 | id: Tool Settings
148 | index: 0
149 | layout: 1
150 | - dockPosition: 0
151 | containerId: overlay-toolbar__top
152 | floating: 0
153 | collapsed: 0
154 | displayed: 1
155 | snapOffset: {x: -141, y: 149}
156 | snapOffsetDelta: {x: 0, y: 0}
157 | snapCorner: 1
158 | id: unity-grid-and-snap-toolbar
159 | index: 1
160 | layout: 1
161 | - dockPosition: 1
162 | containerId: overlay-toolbar__top
163 | floating: 0
164 | collapsed: 0
165 | displayed: 1
166 | snapOffset: {x: 0, y: 0}
167 | snapOffsetDelta: {x: 0, y: 0}
168 | snapCorner: 0
169 | id: unity-scene-view-toolbar
170 | index: 0
171 | layout: 1
172 | - dockPosition: 1
173 | containerId: overlay-toolbar__top
174 | floating: 0
175 | collapsed: 0
176 | displayed: 0
177 | snapOffset: {x: 0, y: 0}
178 | snapOffsetDelta: {x: 0, y: 0}
179 | snapCorner: 1
180 | id: unity-search-toolbar
181 | index: 1
182 | layout: 1
183 | - dockPosition: 0
184 | containerId: overlay-container--left
185 | floating: 0
186 | collapsed: 0
187 | displayed: 1
188 | snapOffset: {x: 0, y: 0}
189 | snapOffsetDelta: {x: 0, y: 0}
190 | snapCorner: 0
191 | id: unity-transform-toolbar
192 | index: 0
193 | layout: 2
194 | - dockPosition: 0
195 | containerId: overlay-container--right
196 | floating: 0
197 | collapsed: 0
198 | displayed: 1
199 | snapOffset: {x: 67.5, y: 86}
200 | snapOffsetDelta: {x: 0, y: 0}
201 | snapCorner: 0
202 | id: Orientation
203 | index: 0
204 | layout: 4
205 | - dockPosition: 1
206 | containerId: overlay-container--right
207 | floating: 0
208 | collapsed: 0
209 | displayed: 0
210 | snapOffset: {x: 0, y: 0}
211 | snapOffsetDelta: {x: 0, y: 0}
212 | snapCorner: 0
213 | id: Scene View/Light Settings
214 | index: 0
215 | layout: 4
216 | - dockPosition: 1
217 | containerId: overlay-container--right
218 | floating: 0
219 | collapsed: 0
220 | displayed: 0
221 | snapOffset: {x: 0, y: 0}
222 | snapOffsetDelta: {x: 0, y: 0}
223 | snapCorner: 0
224 | id: Scene View/Camera
225 | index: 1
226 | layout: 4
227 | - dockPosition: 1
228 | containerId: overlay-container--right
229 | floating: 0
230 | collapsed: 0
231 | displayed: 0
232 | snapOffset: {x: 0, y: 0}
233 | snapOffsetDelta: {x: 0, y: 0}
234 | snapCorner: 0
235 | id: Scene View/Cloth Constraints
236 | index: 2
237 | layout: 4
238 | - dockPosition: 1
239 | containerId: overlay-container--right
240 | floating: 0
241 | collapsed: 0
242 | displayed: 0
243 | snapOffset: {x: 0, y: 0}
244 | snapOffsetDelta: {x: 0, y: 0}
245 | snapCorner: 0
246 | id: Scene View/Cloth Collisions
247 | index: 3
248 | layout: 4
249 | - dockPosition: 1
250 | containerId: overlay-container--right
251 | floating: 0
252 | collapsed: 0
253 | displayed: 0
254 | snapOffset: {x: 0, y: 0}
255 | snapOffsetDelta: {x: 0, y: 0}
256 | snapCorner: 0
257 | id: Scene View/Navmesh Display
258 | index: 4
259 | layout: 4
260 | - dockPosition: 1
261 | containerId: overlay-container--right
262 | floating: 0
263 | collapsed: 0
264 | displayed: 0
265 | snapOffset: {x: 0, y: 0}
266 | snapOffsetDelta: {x: 0, y: 0}
267 | snapCorner: 0
268 | id: Scene View/Agent Display
269 | index: 5
270 | layout: 4
271 | - dockPosition: 1
272 | containerId: overlay-container--right
273 | floating: 0
274 | collapsed: 0
275 | displayed: 0
276 | snapOffset: {x: 0, y: 0}
277 | snapOffsetDelta: {x: 0, y: 0}
278 | snapCorner: 0
279 | id: Scene View/Obstacle Display
280 | index: 6
281 | layout: 4
282 | - dockPosition: 1
283 | containerId: overlay-container--right
284 | floating: 0
285 | collapsed: 0
286 | displayed: 0
287 | snapOffset: {x: 0, y: 0}
288 | snapOffsetDelta: {x: 0, y: 0}
289 | snapCorner: 0
290 | id: Scene View/Occlusion Culling
291 | index: 7
292 | layout: 4
293 | - dockPosition: 1
294 | containerId: overlay-container--right
295 | floating: 0
296 | collapsed: 0
297 | displayed: 0
298 | snapOffset: {x: 0, y: 0}
299 | snapOffsetDelta: {x: 0, y: 0}
300 | snapCorner: 0
301 | id: Scene View/Physics Debugger
302 | index: 8
303 | layout: 4
304 | - dockPosition: 1
305 | containerId: overlay-container--right
306 | floating: 0
307 | collapsed: 0
308 | displayed: 0
309 | snapOffset: {x: 0, y: 0}
310 | snapOffsetDelta: {x: 0, y: 0}
311 | snapCorner: 0
312 | id: Scene View/Scene Visibility
313 | index: 9
314 | layout: 4
315 | - dockPosition: 1
316 | containerId: overlay-container--right
317 | floating: 0
318 | collapsed: 0
319 | displayed: 0
320 | snapOffset: {x: 0, y: 0}
321 | snapOffsetDelta: {x: 0, y: 0}
322 | snapCorner: 0
323 | id: Scene View/Particles
324 | index: 10
325 | layout: 4
326 | m_WindowGUID: 1d45929b00f6948df87353c3ba418123
327 | m_Gizmos: 1
328 | m_OverrideSceneCullingMask: 6917529027641081856
329 | m_SceneIsLit: 1
330 | m_SceneLighting: 1
331 | m_2DMode: 0
332 | m_isRotationLocked: 0
333 | m_PlayAudio: 0
334 | m_AudioPlay: 0
335 | m_Position:
336 | m_Target: {x: 0, y: 0, z: 0}
337 | speed: 2
338 | m_Value: {x: 0, y: 0, z: 0}
339 | m_RenderMode: 0
340 | m_CameraMode:
341 | drawMode: 0
342 | name: Shaded
343 | section: Shading Mode
344 | m_ValidateTrueMetals: 0
345 | m_DoValidateTrueMetals: 0
346 | m_ExposureSliderValue: 0
347 | m_SceneViewState:
348 | m_AlwaysRefresh: 0
349 | showFog: 1
350 | showSkybox: 1
351 | showFlares: 1
352 | showImageEffects: 1
353 | showParticleSystems: 1
354 | showVisualEffectGraphs: 1
355 | m_FxEnabled: 1
356 | m_Grid:
357 | xGrid:
358 | m_Fade:
359 | m_Target: 0
360 | speed: 2
361 | m_Value: 0
362 | m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
363 | m_Pivot: {x: 0, y: 0, z: 0}
364 | m_Size: {x: 0, y: 0}
365 | yGrid:
366 | m_Fade:
367 | m_Target: 1
368 | speed: 2
369 | m_Value: 1
370 | m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
371 | m_Pivot: {x: 0, y: 0, z: 0}
372 | m_Size: {x: 1, y: 1}
373 | zGrid:
374 | m_Fade:
375 | m_Target: 0
376 | speed: 2
377 | m_Value: 0
378 | m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
379 | m_Pivot: {x: 0, y: 0, z: 0}
380 | m_Size: {x: 0, y: 0}
381 | m_ShowGrid: 1
382 | m_GridAxis: 1
383 | m_gridOpacity: 0.5
384 | m_Rotation:
385 | m_Target: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226}
386 | speed: 2
387 | m_Value: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226}
388 | m_Size:
389 | m_Target: 11.346729
390 | speed: 2
391 | m_Value: 11.346729
392 | m_Ortho:
393 | m_Target: 0
394 | speed: 2
395 | m_Value: 0
396 | m_CameraSettings:
397 | m_Speed: 1
398 | m_SpeedNormalized: 0.5
399 | m_SpeedMin: 0.01
400 | m_SpeedMax: 2
401 | m_EasingEnabled: 1
402 | m_EasingDuration: 0.4
403 | m_AccelerationEnabled: 1
404 | m_FieldOfViewHorizontalOrVertical: 60
405 | m_NearClip: 0.03
406 | m_FarClip: 10000
407 | m_DynamicClip: 1
408 | m_OcclusionCulling: 0
409 | m_LastSceneViewRotation: {x: 0, y: 0, z: 0, w: 0}
410 | m_LastSceneViewOrtho: 0
411 | m_ReplacementShader: {fileID: 0}
412 | m_ReplacementString:
413 | m_SceneVisActive: 1
414 | m_LastLockedObject: {fileID: 0}
415 | m_ViewIsLockedToObject: 0
416 | --- !u!114 &5
417 | MonoBehaviour:
418 | m_ObjectHideFlags: 52
419 | m_CorrespondingSourceObject: {fileID: 0}
420 | m_PrefabInstance: {fileID: 0}
421 | m_PrefabAsset: {fileID: 0}
422 | m_GameObject: {fileID: 0}
423 | m_Enabled: 1
424 | m_EditorHideFlags: 1
425 | m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
426 | m_Name: GameView
427 | m_EditorClassIdentifier:
428 | m_Children: []
429 | m_Position:
430 | serializedVersion: 2
431 | x: 394
432 | y: 0
433 | width: 407.5
434 | height: 746
435 | m_MinSize: {x: 202, y: 221}
436 | m_MaxSize: {x: 4002, y: 4021}
437 | m_ActualView: {fileID: 6}
438 | m_Panes:
439 | - {fileID: 6}
440 | m_Selected: 0
441 | m_LastSelected: 0
442 | --- !u!114 &6
443 | MonoBehaviour:
444 | m_ObjectHideFlags: 52
445 | m_CorrespondingSourceObject: {fileID: 0}
446 | m_PrefabInstance: {fileID: 0}
447 | m_PrefabAsset: {fileID: 0}
448 | m_GameObject: {fileID: 0}
449 | m_Enabled: 1
450 | m_EditorHideFlags: 1
451 | m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0}
452 | m_Name:
453 | m_EditorClassIdentifier:
454 | m_MinSize: {x: 200, y: 200}
455 | m_MaxSize: {x: 4000, y: 4000}
456 | m_TitleContent:
457 | m_Text: Game
458 | m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000, type: 0}
459 | m_Tooltip:
460 | m_Pos:
461 | serializedVersion: 2
462 | x: 394
463 | y: 83
464 | width: 405.5
465 | height: 725
466 | m_ViewDataDictionary: {fileID: 0}
467 | m_OverlayCanvas:
468 | m_LastAppliedPresetName: Default
469 | m_SaveData: []
470 | m_SerializedViewNames: []
471 | m_SerializedViewValues: []
472 | m_PlayModeViewName: GameView
473 | m_ShowGizmos: 0
474 | m_TargetDisplay: 0
475 | m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
476 | m_TargetSize: {x: 811, y: 1408}
477 | m_TextureFilterMode: 0
478 | m_TextureHideFlags: 61
479 | m_RenderIMGUI: 1
480 | m_EnterPlayModeBehavior: 0
481 | m_UseMipMap: 0
482 | m_VSyncEnabled: 0
483 | m_Gizmos: 0
484 | m_Stats: 0
485 | m_SelectedSizes: 00000000000000000000000000000000000000000000000000000000000000000000000000000000
486 | m_ZoomArea:
487 | m_HRangeLocked: 0
488 | m_VRangeLocked: 0
489 | hZoomLockedByDefault: 0
490 | vZoomLockedByDefault: 0
491 | m_HBaseRangeMin: -202.75
492 | m_HBaseRangeMax: 202.75
493 | m_VBaseRangeMin: -352
494 | m_VBaseRangeMax: 352
495 | m_HAllowExceedBaseRangeMin: 1
496 | m_HAllowExceedBaseRangeMax: 1
497 | m_VAllowExceedBaseRangeMin: 1
498 | m_VAllowExceedBaseRangeMax: 1
499 | m_ScaleWithWindow: 0
500 | m_HSlider: 0
501 | m_VSlider: 0
502 | m_IgnoreScrollWheelUntilClicked: 0
503 | m_EnableMouseInput: 1
504 | m_EnableSliderZoomHorizontal: 0
505 | m_EnableSliderZoomVertical: 0
506 | m_UniformScale: 1
507 | m_UpDirection: 1
508 | m_DrawArea:
509 | serializedVersion: 2
510 | x: 0
511 | y: 21
512 | width: 405.5
513 | height: 704
514 | m_Scale: {x: 1, y: 1}
515 | m_Translation: {x: 202.75, y: 352}
516 | m_MarginLeft: 0
517 | m_MarginRight: 0
518 | m_MarginTop: 0
519 | m_MarginBottom: 0
520 | m_LastShownAreaInsideMargins:
521 | serializedVersion: 2
522 | x: -202.75
523 | y: -352
524 | width: 405.5
525 | height: 704
526 | m_MinimalGUI: 1
527 | m_defaultScale: 1
528 | m_LastWindowPixelSize: {x: 811, y: 1450}
529 | m_ClearInEditMode: 1
530 | m_NoCameraWarning: 1
531 | m_LowResolutionForAspectRatios: 00000000000000000000
532 | m_XRRenderMode: 0
533 | m_RenderTexture: {fileID: 0}
534 | --- !u!114 &7
535 | MonoBehaviour:
536 | m_ObjectHideFlags: 52
537 | m_CorrespondingSourceObject: {fileID: 0}
538 | m_PrefabInstance: {fileID: 0}
539 | m_PrefabAsset: {fileID: 0}
540 | m_GameObject: {fileID: 0}
541 | m_Enabled: 1
542 | m_EditorHideFlags: 1
543 | m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
544 | m_Name:
545 | m_EditorClassIdentifier:
546 | m_Children:
547 | - {fileID: 8}
548 | - {fileID: 11}
549 | m_Position:
550 | serializedVersion: 2
551 | x: 801.5
552 | y: 0
553 | width: 316.5
554 | height: 746
555 | m_MinSize: {x: 100, y: 200}
556 | m_MaxSize: {x: 8096, y: 16192}
557 | vertical: 1
558 | controlID: 87
559 | --- !u!114 &8
560 | MonoBehaviour:
561 | m_ObjectHideFlags: 52
562 | m_CorrespondingSourceObject: {fileID: 0}
563 | m_PrefabInstance: {fileID: 0}
564 | m_PrefabAsset: {fileID: 0}
565 | m_GameObject: {fileID: 0}
566 | m_Enabled: 1
567 | m_EditorHideFlags: 1
568 | m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
569 | m_Name: SceneHierarchyWindow
570 | m_EditorClassIdentifier:
571 | m_Children: []
572 | m_Position:
573 | serializedVersion: 2
574 | x: 0
575 | y: 0
576 | width: 316.5
577 | height: 328
578 | m_MinSize: {x: 202, y: 221}
579 | m_MaxSize: {x: 4002, y: 4021}
580 | m_ActualView: {fileID: 9}
581 | m_Panes:
582 | - {fileID: 9}
583 | - {fileID: 10}
584 | m_Selected: 0
585 | m_LastSelected: 1
586 | --- !u!114 &9
587 | MonoBehaviour:
588 | m_ObjectHideFlags: 52
589 | m_CorrespondingSourceObject: {fileID: 0}
590 | m_PrefabInstance: {fileID: 0}
591 | m_PrefabAsset: {fileID: 0}
592 | m_GameObject: {fileID: 0}
593 | m_Enabled: 1
594 | m_EditorHideFlags: 1
595 | m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0}
596 | m_Name:
597 | m_EditorClassIdentifier:
598 | m_MinSize: {x: 200, y: 200}
599 | m_MaxSize: {x: 4000, y: 4000}
600 | m_TitleContent:
601 | m_Text: Hierarchy
602 | m_Image: {fileID: 7966133145522015247, guid: 0000000000000000d000000000000000, type: 0}
603 | m_Tooltip:
604 | m_Pos:
605 | serializedVersion: 2
606 | x: 801.5
607 | y: 83
608 | width: 314.5
609 | height: 307
610 | m_ViewDataDictionary: {fileID: 0}
611 | m_OverlayCanvas:
612 | m_LastAppliedPresetName: Default
613 | m_SaveData: []
614 | m_SceneHierarchy:
615 | m_TreeViewState:
616 | scrollPos: {x: 0, y: 0}
617 | m_SelectedIDs: de8d0000
618 | m_LastClickedID: 36318
619 | m_ExpandedIDs: 60caffff74cbffff
620 | m_RenameOverlay:
621 | m_UserAcceptedRename: 0
622 | m_Name:
623 | m_OriginalName:
624 | m_EditFieldRect:
625 | serializedVersion: 2
626 | x: 0
627 | y: 0
628 | width: 0
629 | height: 0
630 | m_UserData: 0
631 | m_IsWaitingForDelay: 0
632 | m_IsRenaming: 0
633 | m_OriginalEventType: 11
634 | m_IsRenamingFilename: 0
635 | m_ClientGUIView: {fileID: 0}
636 | m_SearchString:
637 | m_ExpandedScenes: []
638 | m_CurrenRootInstanceID: 0
639 | m_LockTracker:
640 | m_IsLocked: 0
641 | m_CurrentSortingName: TransformSorting
642 | m_WindowGUID: 71c31f393e97f497b92ac8b36e0c6c21
643 | --- !u!114 &10
644 | MonoBehaviour:
645 | m_ObjectHideFlags: 52
646 | m_CorrespondingSourceObject: {fileID: 0}
647 | m_PrefabInstance: {fileID: 0}
648 | m_PrefabAsset: {fileID: 0}
649 | m_GameObject: {fileID: 0}
650 | m_Enabled: 1
651 | m_EditorHideFlags: 0
652 | m_Script: {fileID: 12003, guid: 0000000000000000e000000000000000, type: 0}
653 | m_Name:
654 | m_EditorClassIdentifier:
655 | m_MinSize: {x: 100, y: 100}
656 | m_MaxSize: {x: 4000, y: 4000}
657 | m_TitleContent:
658 | m_Text: Console
659 | m_Image: {fileID: -4327648978806127646, guid: 0000000000000000d000000000000000, type: 0}
660 | m_Tooltip:
661 | m_Pos:
662 | serializedVersion: 2
663 | x: 801.5
664 | y: 30
665 | width: 314.5
666 | height: 353
667 | m_ViewDataDictionary: {fileID: 0}
668 | m_OverlayCanvas:
669 | m_LastAppliedPresetName: Default
670 | m_SaveData: []
671 | --- !u!114 &11
672 | MonoBehaviour:
673 | m_ObjectHideFlags: 52
674 | m_CorrespondingSourceObject: {fileID: 0}
675 | m_PrefabInstance: {fileID: 0}
676 | m_PrefabAsset: {fileID: 0}
677 | m_GameObject: {fileID: 0}
678 | m_Enabled: 1
679 | m_EditorHideFlags: 1
680 | m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
681 | m_Name:
682 | m_EditorClassIdentifier:
683 | m_Children: []
684 | m_Position:
685 | serializedVersion: 2
686 | x: 0
687 | y: 328
688 | width: 316.5
689 | height: 418
690 | m_MinSize: {x: 232, y: 271}
691 | m_MaxSize: {x: 10002, y: 10021}
692 | m_ActualView: {fileID: 12}
693 | m_Panes:
694 | - {fileID: 12}
695 | m_Selected: 0
696 | m_LastSelected: 0
697 | --- !u!114 &12
698 | MonoBehaviour:
699 | m_ObjectHideFlags: 52
700 | m_CorrespondingSourceObject: {fileID: 0}
701 | m_PrefabInstance: {fileID: 0}
702 | m_PrefabAsset: {fileID: 0}
703 | m_GameObject: {fileID: 0}
704 | m_Enabled: 1
705 | m_EditorHideFlags: 1
706 | m_Script: {fileID: 12014, guid: 0000000000000000e000000000000000, type: 0}
707 | m_Name:
708 | m_EditorClassIdentifier:
709 | m_MinSize: {x: 230, y: 250}
710 | m_MaxSize: {x: 10000, y: 10000}
711 | m_TitleContent:
712 | m_Text: Project
713 | m_Image: {fileID: -5467254957812901981, guid: 0000000000000000d000000000000000, type: 0}
714 | m_Tooltip:
715 | m_Pos:
716 | serializedVersion: 2
717 | x: 801.5
718 | y: 411
719 | width: 314.5
720 | height: 397
721 | m_ViewDataDictionary: {fileID: 0}
722 | m_OverlayCanvas:
723 | m_LastAppliedPresetName: Default
724 | m_SaveData: []
725 | m_SearchFilter:
726 | m_NameFilter:
727 | m_ClassNames: []
728 | m_AssetLabels: []
729 | m_AssetBundleNames: []
730 | m_VersionControlStates: []
731 | m_SoftLockControlStates: []
732 | m_ReferencingInstanceIDs:
733 | m_SceneHandles:
734 | m_ShowAllHits: 0
735 | m_SkipHidden: 0
736 | m_SearchArea: 1
737 | m_Folders:
738 | - Assets
739 | m_Globs: []
740 | m_OriginalText:
741 | m_ViewMode: 1
742 | m_StartGridSize: 64
743 | m_LastFolders:
744 | - Assets
745 | m_LastFoldersGridSize: -1
746 | m_LastProjectPath: /Users/yusuf/Desktop/MoveNet-3D
747 | m_LockTracker:
748 | m_IsLocked: 0
749 | m_FolderTreeState:
750 | scrollPos: {x: 0, y: 0}
751 | m_SelectedIDs: 8a8d0000
752 | m_LastClickedID: 36234
753 | m_ExpandedIDs: 000000008a8d000000ca9a3b
754 | m_RenameOverlay:
755 | m_UserAcceptedRename: 0
756 | m_Name:
757 | m_OriginalName:
758 | m_EditFieldRect:
759 | serializedVersion: 2
760 | x: 0
761 | y: 0
762 | width: 0
763 | height: 0
764 | m_UserData: 0
765 | m_IsWaitingForDelay: 0
766 | m_IsRenaming: 0
767 | m_OriginalEventType: 11
768 | m_IsRenamingFilename: 1
769 | m_ClientGUIView: {fileID: 0}
770 | m_SearchString:
771 | m_CreateAssetUtility:
772 | m_EndAction: {fileID: 0}
773 | m_InstanceID: 0
774 | m_Path:
775 | m_Icon: {fileID: 0}
776 | m_ResourceFile:
777 | m_AssetTreeState:
778 | scrollPos: {x: 0, y: 0}
779 | m_SelectedIDs:
780 | m_LastClickedID: 0
781 | m_ExpandedIDs:
782 | m_RenameOverlay:
783 | m_UserAcceptedRename: 0
784 | m_Name:
785 | m_OriginalName:
786 | m_EditFieldRect:
787 | serializedVersion: 2
788 | x: 0
789 | y: 0
790 | width: 0
791 | height: 0
792 | m_UserData: 0
793 | m_IsWaitingForDelay: 0
794 | m_IsRenaming: 0
795 | m_OriginalEventType: 11
796 | m_IsRenamingFilename: 1
797 | m_ClientGUIView: {fileID: 0}
798 | m_SearchString:
799 | m_CreateAssetUtility:
800 | m_EndAction: {fileID: 0}
801 | m_InstanceID: 0
802 | m_Path:
803 | m_Icon: {fileID: 0}
804 | m_ResourceFile:
805 | m_ListAreaState:
806 | m_SelectedInstanceIDs: de8d0000
807 | m_LastClickedInstanceID: 36318
808 | m_HadKeyboardFocusLastEvent: 1
809 | m_ExpandedInstanceIDs: c6230000
810 | m_RenameOverlay:
811 | m_UserAcceptedRename: 0
812 | m_Name:
813 | m_OriginalName:
814 | m_EditFieldRect:
815 | serializedVersion: 2
816 | x: 0
817 | y: 0
818 | width: 0
819 | height: 0
820 | m_UserData: 0
821 | m_IsWaitingForDelay: 0
822 | m_IsRenaming: 0
823 | m_OriginalEventType: 11
824 | m_IsRenamingFilename: 1
825 | m_ClientGUIView: {fileID: 11}
826 | m_CreateAssetUtility:
827 | m_EndAction: {fileID: 0}
828 | m_InstanceID: 0
829 | m_Path:
830 | m_Icon: {fileID: 0}
831 | m_ResourceFile:
832 | m_NewAssetIndexInList: -1
833 | m_ScrollPosition: {x: 0, y: 0}
834 | m_GridSize: 64
835 | m_SkipHiddenPackages: 0
836 | m_DirectoriesAreaWidth: 115
837 | --- !u!114 &13
838 | MonoBehaviour:
839 | m_ObjectHideFlags: 52
840 | m_CorrespondingSourceObject: {fileID: 0}
841 | m_PrefabInstance: {fileID: 0}
842 | m_PrefabAsset: {fileID: 0}
843 | m_GameObject: {fileID: 0}
844 | m_Enabled: 1
845 | m_EditorHideFlags: 1
846 | m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
847 | m_Name: ProjectSettingsWindow
848 | m_EditorClassIdentifier:
849 | m_Children: []
850 | m_Position:
851 | serializedVersion: 2
852 | x: 1118
853 | y: 0
854 | width: 322
855 | height: 746
856 | m_MinSize: {x: 311, y: 221}
857 | m_MaxSize: {x: 4001, y: 4021}
858 | m_ActualView: {fileID: 2}
859 | m_Panes:
860 | - {fileID: 14}
861 | - {fileID: 2}
862 | m_Selected: 1
863 | m_LastSelected: 0
864 | --- !u!114 &14
865 | MonoBehaviour:
866 | m_ObjectHideFlags: 52
867 | m_CorrespondingSourceObject: {fileID: 0}
868 | m_PrefabInstance: {fileID: 0}
869 | m_PrefabAsset: {fileID: 0}
870 | m_GameObject: {fileID: 0}
871 | m_Enabled: 1
872 | m_EditorHideFlags: 1
873 | m_Script: {fileID: 12019, guid: 0000000000000000e000000000000000, type: 0}
874 | m_Name:
875 | m_EditorClassIdentifier:
876 | m_MinSize: {x: 275, y: 50}
877 | m_MaxSize: {x: 4000, y: 4000}
878 | m_TitleContent:
879 | m_Text: Inspector
880 | m_Image: {fileID: -440750813802333266, guid: 0000000000000000d000000000000000, type: 0}
881 | m_Tooltip:
882 | m_Pos:
883 | serializedVersion: 2
884 | x: 1118
885 | y: 83
886 | width: 321
887 | height: 725
888 | m_ViewDataDictionary: {fileID: 0}
889 | m_OverlayCanvas:
890 | m_LastAppliedPresetName: Default
891 | m_SaveData: []
892 | m_ObjectsLockedBeforeSerialization: []
893 | m_InstanceIDsLockedBeforeSerialization:
894 | m_PreviewResizer:
895 | m_CachedPref: -160
896 | m_ControlHash: -371814159
897 | m_PrefName: Preview_InspectorPreview
898 | m_LastInspectedObjectInstanceID: -1
899 | m_LastVerticalScrollValue: 0
900 | m_GlobalObjectId:
901 | m_InspectorMode: 0
902 | m_LockTracker:
903 | m_IsLocked: 0
904 | m_PreviewWindow: {fileID: 0}
905 |
--------------------------------------------------------------------------------
/UserSettings/Search.index:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Assets",
3 | "roots": ["Assets"],
4 | "includes": [],
5 | "excludes": [],
6 | "options": {
7 | "types": true,
8 | "properties": true,
9 | "extended": false,
10 | "dependencies": false
11 | },
12 | "baseScore": 999
13 | }
--------------------------------------------------------------------------------
/UserSettings/Search.settings:
--------------------------------------------------------------------------------
1 | trackSelection = true
2 | refreshSearchWindowsInPlayMode = false
3 | fetchPreview = true
4 | defaultFlags = 0
5 | keepOpen = false
6 | queryFolder = "Assets"
7 | onBoardingDoNotAskAgain = true
8 | showPackageIndexes = false
9 | showStatusBar = false
10 | scopes = {
11 | }
12 | providers = {
13 | adb = {
14 | active = false
15 | priority = 2500
16 | defaultAction = null
17 | }
18 | log = {
19 | active = false
20 | priority = 210
21 | defaultAction = null
22 | }
23 | performance = {
24 | active = false
25 | priority = 100
26 | defaultAction = null
27 | }
28 | store = {
29 | active = true
30 | priority = 100
31 | defaultAction = null
32 | }
33 | profilermarkers = {
34 | active = false
35 | priority = 100
36 | defaultAction = null
37 | }
38 | scene = {
39 | active = true
40 | priority = 50
41 | defaultAction = null
42 | }
43 | find = {
44 | active = true
45 | priority = 25
46 | defaultAction = null
47 | }
48 | packages = {
49 | active = true
50 | priority = 90
51 | defaultAction = null
52 | }
53 | asset = {
54 | active = true
55 | priority = 25
56 | defaultAction = null
57 | }
58 | }
59 | objectSelectors = {
60 | }
61 | recentSearches = [
62 | ]
63 | searchItemFavorites = [
64 | ]
65 | savedSearchesSortOrder = 0
66 | showSavedSearchPanel = false
67 | hideTabs = false
68 | expandedQueries = [
69 | ]
70 | queryBuilder = false
71 | ignoredProperties = "id;name;classname;imagecontentshash"
72 | helperWidgetCurrentArea = "all"
73 | disabledIndexers = ""
74 | minIndexVariations = 2
75 | findProviderIndexHelper = true
--------------------------------------------------------------------------------
/demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/natmlx/movenet-3d-unity/b2f3aa2ac7ddee3a2529372089f58704d1908a37/demo.gif
--------------------------------------------------------------------------------
/movenet-3d-unity.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 11.00
3 | # Visual Studio 2010
4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{237b1810-b8d7-bb37-84ab-1d7c792b3985}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Any CPU = Debug|Any CPU
9 | EndGlobalSection
10 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
11 | {237b1810-b8d7-bb37-84ab-1d7c792b3985}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
12 | {237b1810-b8d7-bb37-84ab-1d7c792b3985}.Debug|Any CPU.Build.0 = Debug|Any CPU
13 | EndGlobalSection
14 | GlobalSection(SolutionProperties) = preSolution
15 | HideSolutionNode = FALSE
16 | EndGlobalSection
17 | EndGlobal
18 |
--------------------------------------------------------------------------------