浏览代码
Merge pull request #148 from Unity-Technologies/arkit3-samples-for-2019.1
Merge pull request #148 from Unity-Technologies/arkit3-samples-for-2019.1
Introducing samples for ARFoundation 2.2 and ARKit 3./3.1
GitHub
6 年前
当前提交
1ff6d79b
共有 72 个文件被更改,包括 6836 次插入 和 112 次删除
-
2Assets/Scenes/ARWorldMap.unity
-
4Assets/Scenes/Check Support.unity
-
15Assets/Scenes/EnvironmentProbes.unity
-
17Assets/Scenes/FaceTracking/ARCoreFaceRegions.unity
-
3Assets/Scenes/FaceTracking/ARKitFaceBlendShapes.unity
-
265Assets/Scenes/FaceTracking/FaceMesh.unity
-
3Assets/Scenes/FaceTracking/FacePose.unity
-
2Assets/Scenes/LightEstimation.unity
-
4Assets/Scenes/Object Tracking/Cube.arobject.meta
-
4Assets/Scenes/Object Tracking/Cylinder.arobject.meta
-
14Assets/Scenes/Object Tracking/ObjectTracking.unity
-
6Assets/Scenes/Object Tracking/ReferenceObjectLibrary.asset
-
26Assets/Scenes/Plane Detection/FeatheredPlanes.unity
-
2Assets/Scenes/Plane Detection/TogglePlaneDetection.unity
-
2Assets/Scenes/Scale.unity
-
8Assets/Scenes/SimpleAR.unity
-
2Assets/Scenes/UX/SampleUXScene.unity
-
2Assets/Scripts/PlaceOnPlane.cs
-
13Packages/manifest.json
-
18ProjectSettings/EditorBuildSettings.asset
-
3ProjectSettings/ProjectSettings.asset
-
4ProjectSettings/ProjectVersion.txt
-
86ProjectSettings/TagManager.asset
-
2README.md
-
85Assets/Materials/JointLineMaterial.mat
-
8Assets/Materials/JointLineMaterial.mat.meta
-
126Assets/Prefabs/JointLineRenderer.prefab
-
7Assets/Prefabs/JointLineRenderer.prefab.meta
-
8Assets/Scenes/ARCollaborationData.meta
-
35Assets/Scenes/FaceTracking/DisplayFaceInfo.cs
-
11Assets/Scenes/FaceTracking/DisplayFaceInfo.cs.meta
-
893Assets/Scenes/FaceTracking/RearCameraWithFrontCameraFaceMesh.unity
-
7Assets/Scenes/FaceTracking/RearCameraWithFrontCameraFaceMesh.unity.meta
-
52Assets/Scenes/FaceTracking/ToggleManagers.cs
-
11Assets/Scenes/FaceTracking/ToggleManagers.cs.meta
-
8Assets/Scenes/HumanSegmentation.meta
-
81Assets/Scripts/Logger.cs
-
11Assets/Scripts/Logger.cs.meta
-
59Assets/Scripts/ReferencePointCreator.cs
-
11Assets/Scripts/ReferencePointCreator.cs.meta
-
160Assets/Scripts/ScreenSpaceJointVisualizer.cs
-
11Assets/Scripts/ScreenSpaceJointVisualizer.cs.meta
-
121Assets/Scripts/TestDepthImage.cs
-
11Assets/Scripts/TestDepthImage.cs.meta
-
208Assets/Scripts/TestHumanBodyTracking.cs
-
11Assets/Scripts/TestHumanBodyTracking.cs.meta
-
1001Assets/Scenes/ARCollaborationData/ARCollaborationDataExample.unity
-
7Assets/Scenes/ARCollaborationData/ARCollaborationDataExample.unity.meta
-
103Assets/Scenes/ARCollaborationData/ClientServerSelector.cs
-
11Assets/Scenes/ARCollaborationData/ClientServerSelector.cs.meta
-
68Assets/Scenes/ARCollaborationData/CollaborationNetworkingIndicator.cs
-
11Assets/Scenes/ARCollaborationData/CollaborationNetworkingIndicator.cs.meta
-
41Assets/Scenes/ARCollaborationData/DisplayTrackingState.cs
-
11Assets/Scenes/ARCollaborationData/DisplayTrackingState.cs.meta
-
96Assets/Scenes/ARCollaborationData/ReferencePointInfoManager.cs
-
11Assets/Scenes/ARCollaborationData/ReferencePointInfoManager.cs.meta
-
610Assets/Scenes/ARCollaborationData/ReferencePointWithDebugText.prefab
-
8Assets/Scenes/ARCollaborationData/ReferencePointWithDebugText.prefab.meta
-
50Assets/Scenes/ARCollaborationData/TCPClient.cs
-
11Assets/Scenes/ARCollaborationData/TCPClient.cs.meta
-
290Assets/Scenes/ARCollaborationData/TCPConnection.cs
-
11Assets/Scenes/ARCollaborationData/TCPConnection.cs.meta
-
43Assets/Scenes/ARCollaborationData/TCPServer.cs
-
11Assets/Scenes/ARCollaborationData/TCPServer.cs.meta
-
497Assets/Scenes/HumanSegmentation/HumanBodyTracking2D.unity
-
7Assets/Scenes/HumanSegmentation/HumanBodyTracking2D.unity.meta
-
593Assets/Scenes/HumanSegmentation/HumanBodyTracking3D.unity
-
7Assets/Scenes/HumanSegmentation/HumanBodyTracking3D.unity.meta
-
1001Assets/Scenes/HumanSegmentation/HumanSegmentationImages.unity
-
7Assets/Scenes/HumanSegmentation/HumanSegmentationImages.unity.meta
|
|||
fileFormatVersion: 2 |
|||
guid: 124f01f93d53b4964a2d0b5319c54392 |
|||
ScriptedImporter: |
|||
internalIDToNameTable: [] |
|||
fileIDToRecycleName: |
|||
11400000: arobject |
|||
serializedVersion: 2 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 1c82254aafb5041a290e59ebe31aee5d |
|||
ScriptedImporter: |
|||
internalIDToNameTable: [] |
|||
fileIDToRecycleName: |
|||
11400000: arobject |
|||
serializedVersion: 2 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
m_EditorVersion: 2019.1.1f1 |
|||
m_EditorVersionWithRevision: 2019.1.1f1 (fef62e97e63b) |
|||
m_EditorVersion: 2019.1.5f1 |
|||
m_EditorVersionWithRevision: 2019.1.5f1 (0ca0f5646614) |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!78 &1 |
|||
TagManager: |
|||
serializedVersion: 2 |
|||
tags: [] |
|||
layers: |
|||
- Default |
|||
- TransparentFX |
|||
- Ignore Raycast |
|||
- |
|||
- Water |
|||
- UI |
|||
- |
|||
- |
|||
- PostProcessing |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
m_SortingLayers: |
|||
- name: Default |
|||
uniqueID: 0 |
|||
locked: 0 |
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!78 &1 |
|||
TagManager: |
|||
serializedVersion: 2 |
|||
tags: [] |
|||
layers: |
|||
- Default |
|||
- TransparentFX |
|||
- Ignore Raycast |
|||
- |
|||
- Water |
|||
- UI |
|||
- |
|||
- |
|||
- PostProcessing |
|||
- Screen Space |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
- |
|||
m_SortingLayers: |
|||
- name: Default |
|||
uniqueID: 0 |
|||
locked: 0 |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!21 &2100000 |
|||
Material: |
|||
serializedVersion: 6 |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_Name: JointLineMaterial |
|||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} |
|||
m_ShaderKeywords: |
|||
m_LightmapFlags: 4 |
|||
m_EnableInstancingVariants: 0 |
|||
m_DoubleSidedGI: 0 |
|||
m_CustomRenderQueue: -1 |
|||
stringTagMap: {} |
|||
disabledShaderPasses: [] |
|||
m_SavedProperties: |
|||
serializedVersion: 3 |
|||
m_TexEnvs: |
|||
- _AlphaTex: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _BumpMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _DetailAlbedoMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _DetailMask: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _DetailNormalMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _EmissionMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _MainTex: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _MetallicGlossMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _OcclusionMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _ParallaxMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
m_Floats: |
|||
- PixelSnap: 0 |
|||
- _BumpScale: 1 |
|||
- _Cutoff: 0.5 |
|||
- _DetailNormalMapScale: 1 |
|||
- _DstBlend: 0 |
|||
- _EnableExternalAlpha: 0 |
|||
- _GlossMapScale: 1 |
|||
- _Glossiness: 0.5 |
|||
- _GlossyReflections: 1 |
|||
- _Metallic: 0 |
|||
- _Mode: 0 |
|||
- _OcclusionStrength: 1 |
|||
- _Parallax: 0.02 |
|||
- _SmoothnessTextureChannel: 0 |
|||
- _SpecularHighlights: 1 |
|||
- _SrcBlend: 1 |
|||
- _UVSec: 0 |
|||
- _ZWrite: 1 |
|||
m_Colors: |
|||
- _Color: {r: 0.0043056235, g: 0.33962262, b: 0, a: 1} |
|||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1} |
|||
- _Flip: {r: 1, g: 1, b: 1, a: 1} |
|||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1} |
|
|||
fileFormatVersion: 2 |
|||
guid: 1d85e66239f5b41eb87246c413157610 |
|||
NativeFormatImporter: |
|||
externalObjects: {} |
|||
mainObjectFileID: 2100000 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!1 &1780351997603834617 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1780351997603834623} |
|||
- component: {fileID: 1780351997603834622} |
|||
m_Layer: 0 |
|||
m_Name: JointRenderer |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!4 &1780351997603834623 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1780351997603834617} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!120 &1780351997603834622 |
|||
LineRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1780351997603834617} |
|||
m_Enabled: 1 |
|||
m_CastShadows: 0 |
|||
m_ReceiveShadows: 0 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 0 |
|||
m_LightProbeUsage: 0 |
|||
m_ReflectionProbeUsage: 0 |
|||
m_RenderingLayerMask: 1 |
|||
m_RendererPriority: 0 |
|||
m_Materials: |
|||
- {fileID: 2100000, guid: 1d85e66239f5b41eb87246c413157610, type: 2} |
|||
m_StaticBatchInfo: |
|||
firstSubMesh: 0 |
|||
subMeshCount: 0 |
|||
m_StaticBatchRoot: {fileID: 0} |
|||
m_ProbeAnchor: {fileID: 0} |
|||
m_LightProbeVolumeOverride: {fileID: 0} |
|||
m_ScaleInLightmap: 1 |
|||
m_PreserveUVs: 0 |
|||
m_IgnoreNormalsForChartDetection: 0 |
|||
m_ImportantGI: 0 |
|||
m_StitchLightmapSeams: 0 |
|||
m_SelectedEditorRenderState: 3 |
|||
m_MinimumChartSize: 4 |
|||
m_AutoUVMaxDistance: 0.5 |
|||
m_AutoUVMaxAngle: 89 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_SortingLayerID: 0 |
|||
m_SortingLayer: 0 |
|||
m_SortingOrder: 0 |
|||
m_Positions: [] |
|||
m_Parameters: |
|||
serializedVersion: 3 |
|||
widthMultiplier: 1 |
|||
widthCurve: |
|||
serializedVersion: 2 |
|||
m_Curve: |
|||
- serializedVersion: 3 |
|||
time: 0.005493164 |
|||
value: 0.0050697327 |
|||
inSlope: 0 |
|||
outSlope: 0 |
|||
tangentMode: 0 |
|||
weightedMode: 0 |
|||
inWeight: 0.33333334 |
|||
outWeight: 0.33333334 |
|||
m_PreInfinity: 2 |
|||
m_PostInfinity: 2 |
|||
m_RotationOrder: 4 |
|||
colorGradient: |
|||
serializedVersion: 2 |
|||
key0: {r: 1, g: 1, b: 1, a: 1} |
|||
key1: {r: 1, g: 1, b: 1, a: 1} |
|||
key2: {r: 0, g: 0, b: 0, a: 0} |
|||
key3: {r: 0, g: 0, b: 0, a: 0} |
|||
key4: {r: 0, g: 0, b: 0, a: 0} |
|||
key5: {r: 0, g: 0, b: 0, a: 0} |
|||
key6: {r: 0, g: 0, b: 0, a: 0} |
|||
key7: {r: 0, g: 0, b: 0, a: 0} |
|||
ctime0: 0 |
|||
ctime1: 65535 |
|||
ctime2: 0 |
|||
ctime3: 0 |
|||
ctime4: 0 |
|||
ctime5: 0 |
|||
ctime6: 0 |
|||
ctime7: 0 |
|||
atime0: 0 |
|||
atime1: 65535 |
|||
atime2: 0 |
|||
atime3: 0 |
|||
atime4: 0 |
|||
atime5: 0 |
|||
atime6: 0 |
|||
atime7: 0 |
|||
m_Mode: 0 |
|||
m_NumColorKeys: 2 |
|||
m_NumAlphaKeys: 2 |
|||
numCornerVertices: 0 |
|||
numCapVertices: 0 |
|||
alignment: 0 |
|||
textureMode: 0 |
|||
shadowBias: 0.5 |
|||
generateLightingData: 0 |
|||
m_UseWorldSpace: 1 |
|||
m_Loop: 0 |
|
|||
fileFormatVersion: 2 |
|||
guid: a52b49b9ddc724c198fda9937a7fced0 |
|||
PrefabImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 8f5b9724e5b144109b2858a750aa19a6 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using UnityEngine; |
|||
using UnityEngine.UI; |
|||
using UnityEngine.XR.ARFoundation; |
|||
|
|||
[RequireComponent(typeof(ARFaceManager))] |
|||
public class DisplayFaceInfo : MonoBehaviour |
|||
{ |
|||
[SerializeField] |
|||
Text m_FaceInfoText; |
|||
|
|||
public Text faceInfoText |
|||
{ |
|||
get { return m_FaceInfoText; } |
|||
set { m_FaceInfoText = value; } |
|||
} |
|||
|
|||
ARFaceManager m_FaceManager; |
|||
|
|||
void Awake() |
|||
{ |
|||
m_FaceManager = GetComponent<ARFaceManager>(); |
|||
} |
|||
|
|||
void Update() |
|||
{ |
|||
if (m_FaceManager.subsystem != null && faceInfoText != null) |
|||
{ |
|||
faceInfoText.text = $"Supported number of tracked faces: {m_FaceManager.supportedFaceCount}\n" + |
|||
$"Max number of faces to track: {m_FaceManager.maximumFaceCount}\n" + |
|||
$"Number of tracked faces: {m_FaceManager.trackables.count}"; |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: f06e395bfff0049859daf1a4e3713f44 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!29 &1 |
|||
OcclusionCullingSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_OcclusionBakeSettings: |
|||
smallestOccluder: 5 |
|||
smallestHole: 0.25 |
|||
backfaceThreshold: 100 |
|||
m_SceneGUID: 00000000000000000000000000000000 |
|||
m_OcclusionCullingData: {fileID: 0} |
|||
--- !u!104 &2 |
|||
RenderSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 9 |
|||
m_Fog: 0 |
|||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} |
|||
m_FogMode: 3 |
|||
m_FogDensity: 0.01 |
|||
m_LinearFogStart: 0 |
|||
m_LinearFogEnd: 300 |
|||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} |
|||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} |
|||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} |
|||
m_AmbientIntensity: 1 |
|||
m_AmbientMode: 0 |
|||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} |
|||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} |
|||
m_HaloStrength: 0.5 |
|||
m_FlareStrength: 1 |
|||
m_FlareFadeSpeed: 3 |
|||
m_HaloTexture: {fileID: 0} |
|||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} |
|||
m_DefaultReflectionMode: 0 |
|||
m_DefaultReflectionResolution: 128 |
|||
m_ReflectionBounces: 1 |
|||
m_ReflectionIntensity: 1 |
|||
m_CustomReflection: {fileID: 0} |
|||
m_Sun: {fileID: 1526980366} |
|||
m_IndirectSpecularColor: {r: 0.44657898, g: 0.49641287, b: 0.5748173, a: 1} |
|||
m_UseRadianceAmbientProbe: 0 |
|||
--- !u!157 &3 |
|||
LightmapSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 11 |
|||
m_GIWorkflowMode: 0 |
|||
m_GISettings: |
|||
serializedVersion: 2 |
|||
m_BounceScale: 1 |
|||
m_IndirectOutputScale: 1 |
|||
m_AlbedoBoost: 1 |
|||
m_EnvironmentLightingMode: 0 |
|||
m_EnableBakedLightmaps: 1 |
|||
m_EnableRealtimeLightmaps: 0 |
|||
m_LightmapEditorSettings: |
|||
serializedVersion: 12 |
|||
m_Resolution: 2 |
|||
m_BakeResolution: 10 |
|||
m_AtlasSize: 512 |
|||
m_AO: 0 |
|||
m_AOMaxDistance: 1 |
|||
m_CompAOExponent: 1 |
|||
m_CompAOExponentDirect: 0 |
|||
m_ExtractAmbientOcclusion: 0 |
|||
m_Padding: 2 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_LightmapsBakeMode: 1 |
|||
m_TextureCompression: 1 |
|||
m_FinalGather: 0 |
|||
m_FinalGatherFiltering: 1 |
|||
m_FinalGatherRayCount: 256 |
|||
m_ReflectionCompression: 2 |
|||
m_MixedBakeMode: 2 |
|||
m_BakeBackend: 1 |
|||
m_PVRSampling: 1 |
|||
m_PVRDirectSampleCount: 32 |
|||
m_PVRSampleCount: 256 |
|||
m_PVRBounces: 2 |
|||
m_PVREnvironmentSampleCount: 256 |
|||
m_PVREnvironmentReferencePointCount: 2048 |
|||
m_PVRFilteringMode: 2 |
|||
m_PVRDenoiserTypeDirect: 0 |
|||
m_PVRDenoiserTypeIndirect: 0 |
|||
m_PVRDenoiserTypeAO: 0 |
|||
m_PVRFilterTypeDirect: 0 |
|||
m_PVRFilterTypeIndirect: 0 |
|||
m_PVRFilterTypeAO: 0 |
|||
m_PVREnvironmentMIS: 0 |
|||
m_PVRCulling: 1 |
|||
m_PVRFilteringGaussRadiusDirect: 1 |
|||
m_PVRFilteringGaussRadiusIndirect: 5 |
|||
m_PVRFilteringGaussRadiusAO: 2 |
|||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5 |
|||
m_PVRFilteringAtrousPositionSigmaIndirect: 2 |
|||
m_PVRFilteringAtrousPositionSigmaAO: 1 |
|||
m_ShowResolutionOverlay: 1 |
|||
m_ExportTrainingData: 0 |
|||
m_LightingDataAsset: {fileID: 0} |
|||
m_UseShadowmask: 1 |
|||
--- !u!196 &4 |
|||
NavMeshSettings: |
|||
serializedVersion: 2 |
|||
m_ObjectHideFlags: 0 |
|||
m_BuildSettings: |
|||
serializedVersion: 2 |
|||
agentTypeID: 0 |
|||
agentRadius: 0.5 |
|||
agentHeight: 2 |
|||
agentSlope: 45 |
|||
agentClimb: 0.4 |
|||
ledgeDropHeight: 0 |
|||
maxJumpAcrossDistance: 0 |
|||
minRegionArea: 2 |
|||
manualCellSize: 0 |
|||
cellSize: 0.16666667 |
|||
manualTileSize: 0 |
|||
tileSize: 256 |
|||
accuratePlacement: 0 |
|||
debug: |
|||
m_Flags: 0 |
|||
m_NavMeshData: {fileID: 0} |
|||
--- !u!1 &10187374 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 10187378} |
|||
- component: {fileID: 10187377} |
|||
- component: {fileID: 10187376} |
|||
- component: {fileID: 10187375} |
|||
m_Layer: 5 |
|||
m_Name: Canvas |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &10187375 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 10187374} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_IgnoreReversedGraphics: 1 |
|||
m_BlockingObjects: 0 |
|||
m_BlockingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
--- !u!114 &10187376 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 10187374} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_UiScaleMode: 0 |
|||
m_ReferencePixelsPerUnit: 100 |
|||
m_ScaleFactor: 1 |
|||
m_ReferenceResolution: {x: 800, y: 600} |
|||
m_ScreenMatchMode: 0 |
|||
m_MatchWidthOrHeight: 0 |
|||
m_PhysicalUnit: 3 |
|||
m_FallbackScreenDPI: 96 |
|||
m_DefaultSpriteDPI: 96 |
|||
m_DynamicPixelsPerUnit: 1 |
|||
--- !u!223 &10187377 |
|||
Canvas: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 10187374} |
|||
m_Enabled: 1 |
|||
serializedVersion: 3 |
|||
m_RenderMode: 0 |
|||
m_Camera: {fileID: 0} |
|||
m_PlaneDistance: 100 |
|||
m_PixelPerfect: 0 |
|||
m_ReceivesEvents: 1 |
|||
m_OverrideSorting: 0 |
|||
m_OverridePixelPerfect: 0 |
|||
m_SortingBucketNormalizedSize: 0 |
|||
m_AdditionalShaderChannelsFlag: 0 |
|||
m_SortingLayerID: 0 |
|||
m_SortingOrder: 0 |
|||
m_TargetDisplay: 0 |
|||
--- !u!224 &10187378 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 10187374} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 0, y: 0, z: 0} |
|||
m_Children: |
|||
- {fileID: 249888566} |
|||
- {fileID: 444253638} |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 3 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 0, y: 0} |
|||
m_AnchoredPosition: {x: 0, y: 0} |
|||
m_SizeDelta: {x: 0, y: 0} |
|||
m_Pivot: {x: 0, y: 0} |
|||
--- !u!1 &138092030 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 138092033} |
|||
- component: {fileID: 138092032} |
|||
- component: {fileID: 138092031} |
|||
m_Layer: 0 |
|||
m_Name: EventSystem |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &138092031 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 138092030} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_HorizontalAxis: Horizontal |
|||
m_VerticalAxis: Vertical |
|||
m_SubmitButton: Submit |
|||
m_CancelButton: Cancel |
|||
m_InputActionsPerSecond: 10 |
|||
m_RepeatDelay: 0.5 |
|||
m_ForceModuleActive: 0 |
|||
--- !u!114 &138092032 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 138092030} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_FirstSelected: {fileID: 0} |
|||
m_sendNavigationEvents: 1 |
|||
m_DragThreshold: 10 |
|||
--- !u!4 &138092033 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 138092030} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 4 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &208234939 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 208234941} |
|||
- component: {fileID: 208234940} |
|||
- component: {fileID: 208234943} |
|||
- component: {fileID: 208234942} |
|||
m_Layer: 0 |
|||
m_Name: AR Session |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &208234940 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 208234939} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 3859a92a05d4f5d418cb6ca605290e74, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_AttemptUpdate: 1 |
|||
--- !u!4 &208234941 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 208234939} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!114 &208234942 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 208234939} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 1eb9777efa8174381b01d319232f7df5, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_TargetFrameRate: 60 |
|||
--- !u!114 &208234943 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 208234939} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: fa850fbd5b8aded44846f96e35f1a9f5, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
--- !u!1 &249888565 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 249888566} |
|||
- component: {fileID: 249888568} |
|||
- component: {fileID: 249888567} |
|||
m_Layer: 5 |
|||
m_Name: Face Info |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!224 &249888566 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 249888565} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 10187378} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 1, y: 1} |
|||
m_AnchorMax: {x: 1, y: 1} |
|||
m_AnchoredPosition: {x: -32, y: -32} |
|||
m_SizeDelta: {x: 725.86, y: 1024} |
|||
m_Pivot: {x: 1, y: 1} |
|||
--- !u!114 &249888567 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 249888565} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 1, g: 1, b: 1, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, |
|||
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null |
|||
m_FontData: |
|||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} |
|||
m_FontSize: 30 |
|||
m_FontStyle: 0 |
|||
m_BestFit: 0 |
|||
m_MinSize: 3 |
|||
m_MaxSize: 40 |
|||
m_Alignment: 2 |
|||
m_AlignByGeometry: 0 |
|||
m_RichText: 1 |
|||
m_HorizontalOverflow: 0 |
|||
m_VerticalOverflow: 0 |
|||
m_LineSpacing: 1 |
|||
m_Text: Face info |
|||
--- !u!222 &249888568 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 249888565} |
|||
m_CullTransparentMesh: 0 |
|||
--- !u!1 &282840810 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 282840814} |
|||
- component: {fileID: 282840813} |
|||
- component: {fileID: 282840811} |
|||
- component: {fileID: 282840812} |
|||
- component: {fileID: 282840816} |
|||
- component: {fileID: 282840815} |
|||
m_Layer: 0 |
|||
m_Name: Main Camera |
|||
m_TagString: MainCamera |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!81 &282840811 |
|||
AudioListener: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
--- !u!114 &282840812 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 816b289ef451e094f9ae174fb4cf8db0, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_UseCustomMaterial: 0 |
|||
m_CustomMaterial: {fileID: 0} |
|||
m_UseCustomRendererAsset: 0 |
|||
m_CustomRendererAsset: {fileID: 0} |
|||
--- !u!20 &282840813 |
|||
Camera: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_ClearFlags: 2 |
|||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} |
|||
m_projectionMatrixMode: 1 |
|||
m_GateFitMode: 2 |
|||
m_FOVAxisMode: 0 |
|||
m_SensorSize: {x: 36, y: 24} |
|||
m_LensShift: {x: 0, y: 0} |
|||
m_FocalLength: 50 |
|||
m_NormalizedViewPortRect: |
|||
serializedVersion: 2 |
|||
x: 0 |
|||
y: 0 |
|||
width: 1 |
|||
height: 1 |
|||
near clip plane: 0.01 |
|||
far clip plane: 100 |
|||
field of view: 60 |
|||
orthographic: 0 |
|||
orthographic size: 5 |
|||
m_Depth: -1 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
m_RenderingPath: -1 |
|||
m_TargetTexture: {fileID: 0} |
|||
m_TargetDisplay: 0 |
|||
m_TargetEye: 3 |
|||
m_HDR: 1 |
|||
m_AllowMSAA: 0 |
|||
m_AllowDynamicResolution: 0 |
|||
m_ForceIntoRT: 1 |
|||
m_OcclusionCulling: 1 |
|||
m_StereoConvergence: 10 |
|||
m_StereoSeparation: 0.022 |
|||
--- !u!4 &282840814 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 406902931} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!114 &282840815 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 5a2a9c34df4095f47b9ca8f975175f5b, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Device: 0 |
|||
m_PoseSource: 6 |
|||
m_PoseProviderComponent: {fileID: 0} |
|||
m_TrackingType: 0 |
|||
m_UpdateType: 0 |
|||
m_UseRelativeTransform: 1 |
|||
--- !u!114 &282840816 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 4966719baa26e4b0e8231a24d9bd491a, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_FocusMode: 1 |
|||
m_LightEstimationMode: 0 |
|||
--- !u!1 &406902928 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 406902931} |
|||
- component: {fileID: 406902930} |
|||
- component: {fileID: 406902929} |
|||
- component: {fileID: 406902932} |
|||
- component: {fileID: 406902933} |
|||
- component: {fileID: 406902934} |
|||
m_Layer: 0 |
|||
m_Name: AR Session Origin |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &406902929 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 406902928} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: caeceacb624484daf8e379c2252fd246, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_FacePrefab: {fileID: 1405894938185170, guid: 92e70fac81673432784c18cf08f10366, |
|||
type: 3} |
|||
m_MaximumFaceCount: 1 |
|||
--- !u!114 &406902930 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 406902928} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 520bb47c46cf8624fafb307b7d1b862a, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Camera: {fileID: 282840813} |
|||
--- !u!4 &406902931 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 406902928} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: |
|||
- {fileID: 282840814} |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 2 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!114 &406902932 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 406902928} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: f06e395bfff0049859daf1a4e3713f44, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_FaceInfoText: {fileID: 249888567} |
|||
--- !u!114 &406902933 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 406902928} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: e1760703bbd54c04488a8d10600262ab, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_PlanePrefab: {fileID: 1568414836858200, guid: f0e0be81472ff1243aa2afa27e5d0e61, |
|||
type: 3} |
|||
m_DetectionMode: -1 |
|||
--- !u!114 &406902934 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 406902928} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 79c03e9e9918e48e08e80457bbf530ac, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_PlaneManager: 1 |
|||
m_FaceManager: 0 |
|||
--- !u!1 &444253637 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 444253638} |
|||
- component: {fileID: 444253640} |
|||
- component: {fileID: 444253639} |
|||
m_Layer: 5 |
|||
m_Name: Log |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!224 &444253638 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 444253637} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 10187378} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 1} |
|||
m_AnchorMax: {x: 0, y: 1} |
|||
m_AnchoredPosition: {x: 32, y: -32} |
|||
m_SizeDelta: {x: 1166, y: 1755.3} |
|||
m_Pivot: {x: 0, y: 1} |
|||
--- !u!114 &444253639 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 444253637} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 1, g: 1, b: 1, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, |
|||
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null |
|||
m_FontData: |
|||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} |
|||
m_FontSize: 30 |
|||
m_FontStyle: 0 |
|||
m_BestFit: 0 |
|||
m_MinSize: 3 |
|||
m_MaxSize: 40 |
|||
m_Alignment: 0 |
|||
m_AlignByGeometry: 0 |
|||
m_RichText: 1 |
|||
m_HorizontalOverflow: 0 |
|||
m_VerticalOverflow: 0 |
|||
m_LineSpacing: 1 |
|||
m_Text: Log |
|||
--- !u!222 &444253640 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 444253637} |
|||
m_CullTransparentMesh: 0 |
|||
--- !u!1 &858637694 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 858637696} |
|||
- component: {fileID: 858637695} |
|||
m_Layer: 0 |
|||
m_Name: Logging |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &858637695 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 858637694} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 6b9ec441ecd1d4c21b5736659749bcf2, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_LogText: {fileID: 444253639} |
|||
m_VisibleMessageCount: 40 |
|||
--- !u!4 &858637696 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 858637694} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 578, y: 1171, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 5 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &1526980365 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1526980367} |
|||
- component: {fileID: 1526980366} |
|||
m_Layer: 0 |
|||
m_Name: Directional Light |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!108 &1526980366 |
|||
Light: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1526980365} |
|||
m_Enabled: 1 |
|||
serializedVersion: 9 |
|||
m_Type: 1 |
|||
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} |
|||
m_Intensity: 1 |
|||
m_Range: 10 |
|||
m_SpotAngle: 30 |
|||
m_InnerSpotAngle: 21.802082 |
|||
m_CookieSize: 10 |
|||
m_Shadows: |
|||
m_Type: 2 |
|||
m_Resolution: 2 |
|||
m_CustomResolution: -1 |
|||
m_Strength: 1 |
|||
m_Bias: 0.005 |
|||
m_NormalBias: 0.1 |
|||
m_NearPlane: 5 |
|||
m_CullingMatrixOverride: |
|||
e00: 1 |
|||
e01: 0 |
|||
e02: 0 |
|||
e03: 0 |
|||
e10: 0 |
|||
e11: 1 |
|||
e12: 0 |
|||
e13: 0 |
|||
e20: 0 |
|||
e21: 0 |
|||
e22: 1 |
|||
e23: 0 |
|||
e30: 0 |
|||
e31: 0 |
|||
e32: 0 |
|||
e33: 1 |
|||
m_UseCullingMatrixOverride: 0 |
|||
m_Cookie: {fileID: 0} |
|||
m_DrawHalo: 0 |
|||
m_Flare: {fileID: 0} |
|||
m_RenderMode: 0 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
m_RenderingLayerMask: 1 |
|||
m_Lightmapping: 1 |
|||
m_LightShadowCasterMode: 0 |
|||
m_AreaSize: {x: 1, y: 1} |
|||
m_BounceIntensity: 1 |
|||
m_ColorTemperature: 6570 |
|||
m_UseColorTemperature: 0 |
|||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} |
|||
m_UseBoundingSphereOverride: 0 |
|||
m_ShadowRadius: 0 |
|||
m_ShadowAngle: 0 |
|||
--- !u!4 &1526980367 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1526980365} |
|||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} |
|||
m_LocalPosition: {x: 0, y: 3, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} |
|
|||
fileFormatVersion: 2 |
|||
guid: ecea31d2ea5464e52bedb91fa1fcb6bb |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using UnityEngine; |
|||
using UnityEngine.XR.ARFoundation; |
|||
|
|||
public class ToggleManagers : MonoBehaviour |
|||
{ |
|||
[SerializeField] |
|||
public bool m_PlaneManager; |
|||
|
|||
public bool planeManager |
|||
{ |
|||
get { return m_PlaneManager; } |
|||
set { m_PlaneManager = value; } |
|||
} |
|||
|
|||
[SerializeField] |
|||
public bool m_FaceManager; |
|||
|
|||
public bool faceManager |
|||
{ |
|||
get { return m_FaceManager; } |
|||
set { m_FaceManager = value; } |
|||
} |
|||
|
|||
void ToggleComponent<T>() where T : MonoBehaviour |
|||
{ |
|||
var behaviour = GetComponent<T>(); |
|||
if (behaviour == null) |
|||
return; |
|||
|
|||
behaviour.enabled = !behaviour.enabled; |
|||
var enabledText = behaviour.enabled ? "enabled" : "disabled"; |
|||
Logger.Log($"{typeof(T).Name} {enabledText}"); |
|||
} |
|||
|
|||
void Update() |
|||
{ |
|||
if (Input.touchCount < 1) |
|||
return; |
|||
|
|||
var touch = Input.touches[0]; |
|||
if (touch.phase == TouchPhase.Began) |
|||
{ |
|||
if (planeManager) |
|||
ToggleComponent<ARPlaneManager>(); |
|||
|
|||
if (faceManager) |
|||
ToggleComponent<ARFaceManager>(); |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 79c03e9e9918e48e08e80457bbf530ac |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 182a357a33f23407ab0bd3ef40079dc9 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System; |
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using System.Text; |
|||
using UnityEngine; |
|||
using UnityEngine.UI; |
|||
|
|||
public class Logger : MonoBehaviour |
|||
{ |
|||
[SerializeField] |
|||
Text m_LogText; |
|||
public Text logText |
|||
{ |
|||
get { return s_LogText; } |
|||
set |
|||
{ |
|||
m_LogText = value; |
|||
s_LogText = value; |
|||
} |
|||
} |
|||
|
|||
[SerializeField] |
|||
int m_VisibleMessageCount = 40; |
|||
public int visibleMessageCount |
|||
{ |
|||
get { return s_VisibleMessageCount; } |
|||
set |
|||
{ |
|||
m_VisibleMessageCount = value; |
|||
s_VisibleMessageCount = value; |
|||
} |
|||
} |
|||
|
|||
int m_LastMessageCount; |
|||
|
|||
static int s_VisibleMessageCount; |
|||
|
|||
static Text s_LogText; |
|||
|
|||
static List<string> s_Log = new List<string>(); |
|||
|
|||
static StringBuilder s_StringBuilder = new StringBuilder(); |
|||
|
|||
void Awake() |
|||
{ |
|||
s_LogText = m_LogText; |
|||
s_VisibleMessageCount = m_VisibleMessageCount; |
|||
Log("Log console initialized."); |
|||
} |
|||
|
|||
void Update() |
|||
{ |
|||
lock (s_Log) |
|||
{ |
|||
if (m_LastMessageCount != s_Log.Count) |
|||
{ |
|||
s_StringBuilder.Clear(); |
|||
var startIndex = Mathf.Max(s_Log.Count - s_VisibleMessageCount, 0); |
|||
for (int i = startIndex; i < s_Log.Count; ++i) |
|||
{ |
|||
s_StringBuilder.Append($"{i:000}> {s_Log[i]}\n"); |
|||
} |
|||
|
|||
s_LogText.text = s_StringBuilder.ToString(); |
|||
} |
|||
|
|||
m_LastMessageCount = s_Log.Count; |
|||
} |
|||
} |
|||
|
|||
public static void Log(string message) |
|||
{ |
|||
lock (s_Log) |
|||
{ |
|||
if (s_Log == null) |
|||
s_Log = new List<string>(); |
|||
|
|||
s_Log.Add(message); |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 6b9ec441ecd1d4c21b5736659749bcf2 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System.Collections.Generic; |
|||
using UnityEngine; |
|||
using UnityEngine.XR.ARFoundation; |
|||
using UnityEngine.XR.ARSubsystems; |
|||
|
|||
[RequireComponent(typeof(ARReferencePointManager))] |
|||
[RequireComponent(typeof(ARRaycastManager))] |
|||
public class ReferencePointCreator : MonoBehaviour |
|||
{ |
|||
public void RemoveAllReferencePoints() |
|||
{ |
|||
foreach (var referencePoint in m_ReferencePoints) |
|||
{ |
|||
m_ReferencePointManager.RemoveReferencePoint(referencePoint); |
|||
} |
|||
m_ReferencePoints.Clear(); |
|||
} |
|||
|
|||
void Awake() |
|||
{ |
|||
m_RaycastManager = GetComponent<ARRaycastManager>(); |
|||
m_ReferencePointManager = GetComponent<ARReferencePointManager>(); |
|||
m_ReferencePoints = new List<ARReferencePoint>(); |
|||
} |
|||
|
|||
void Update() |
|||
{ |
|||
if (Input.touchCount == 0) |
|||
return; |
|||
|
|||
var touch = Input.GetTouch(0); |
|||
if (touch.phase != TouchPhase.Began) |
|||
return; |
|||
|
|||
if (m_RaycastManager.Raycast(touch.position, s_Hits, TrackableType.FeaturePoint)) |
|||
{ |
|||
// Raycast hits are sorted by distance, so the first one
|
|||
// will be the closest hit.
|
|||
var hitPose = s_Hits[0].pose; |
|||
var referencePoint = m_ReferencePointManager.AddReferencePoint(hitPose); |
|||
if (referencePoint == null) |
|||
{ |
|||
Logger.Log("Error creating reference point"); |
|||
} |
|||
else |
|||
{ |
|||
m_ReferencePoints.Add(referencePoint); |
|||
} |
|||
} |
|||
} |
|||
|
|||
static List<ARRaycastHit> s_Hits = new List<ARRaycastHit>(); |
|||
|
|||
List<ARReferencePoint> m_ReferencePoints; |
|||
|
|||
ARRaycastManager m_RaycastManager; |
|||
|
|||
ARReferencePointManager m_ReferencePointManager; |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: f68fbc98b9133456f8a212911c899469 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System; |
|||
using System.Text; |
|||
using System.Collections.Generic; |
|||
using Unity.Collections; |
|||
using UnityEngine; |
|||
using UnityEngine.XR.ARFoundation; |
|||
using UnityEngine.XR.ARSubsystems; |
|||
|
|||
public class ScreenSpaceJointVisualizer : MonoBehaviour |
|||
{ |
|||
// 2D joint skeleton
|
|||
enum JointIndices |
|||
{ |
|||
Invalid = -1, |
|||
head_joint = 0, // parent: neck_1_joint [1]
|
|||
neck_1_joint = 1, // parent: root [16]
|
|||
right_shoulder_1_joint = 2, // parent: neck_1_joint [1]
|
|||
right_forearm_joint = 3, // parent: right_shoulder_1_joint [2]
|
|||
right_hand_joint = 4, // parent: right_forearm_joint [3]
|
|||
left_shoulder_1_joint = 5, // parent: neck_1_joint [1]
|
|||
left_forearm_joint = 6, // parent: left_shoulder_1_joint [5]
|
|||
left_hand_joint = 7, // parent: left_forearm_joint [6]
|
|||
right_upLeg_joint = 8, // parent: root [16]
|
|||
right_leg_joint = 9, // parent: right_upLeg_joint [8]
|
|||
right_foot_joint = 10, // parent: right_leg_joint [9]
|
|||
left_upLeg_joint = 11, // parent: root [16]
|
|||
left_leg_joint = 12, // parent: left_upLeg_joint [11]
|
|||
left_foot_joint = 13, // parent: left_leg_joint [12]
|
|||
right_eye_joint = 14, // parent: head_joint [0]
|
|||
left_eye_joint = 15, // parent: head_joint [0]
|
|||
root = 16, // parent: <none> [-1]
|
|||
} |
|||
|
|||
[SerializeField] |
|||
[Tooltip("The AR camera being used in the scene.")] |
|||
Camera m_ARCamera; |
|||
|
|||
/// <summary>
|
|||
/// Get or set the <c>Camera</c>.
|
|||
/// </summary>
|
|||
public Camera arCamera |
|||
{ |
|||
get { return m_ARCamera; } |
|||
set { m_ARCamera = value; } |
|||
} |
|||
|
|||
[SerializeField] |
|||
[Tooltip("The ARHumanBodyManager which will produce human body anchors.")] |
|||
ARHumanBodyManager m_HumanBodyManager; |
|||
|
|||
/// <summary>
|
|||
/// Get or set the <c>ARHumanBodyManager</c>.
|
|||
/// </summary>
|
|||
public ARHumanBodyManager humanBodyManager |
|||
{ |
|||
get { return m_HumanBodyManager; } |
|||
set { m_HumanBodyManager = value; } |
|||
} |
|||
|
|||
[SerializeField] |
|||
[Tooltip("A prefab that contains a LineRenderer component that will be used for rendering lines, representing the skeleton joints.")] |
|||
GameObject m_LineRendererPrefab; |
|||
|
|||
/// <summary>
|
|||
/// Get or set the Line Renderer prefab.
|
|||
/// </summary>
|
|||
public GameObject lineRendererPrefab |
|||
{ |
|||
get { return m_LineRendererPrefab; } |
|||
set { m_LineRendererPrefab = value; } |
|||
} |
|||
|
|||
Dictionary<int, GameObject> m_LineRenderers; |
|||
static HashSet<int> s_JointSet = new HashSet<int>(); |
|||
|
|||
void Awake() |
|||
{ |
|||
m_LineRenderers = new Dictionary<int, GameObject>(); |
|||
} |
|||
|
|||
void UpdateRenderer(NativeArray<XRHumanBodyPose2DJoint> joints, int index) |
|||
{ |
|||
GameObject lineRendererGO; |
|||
if (!m_LineRenderers.TryGetValue(index, out lineRendererGO)) |
|||
{ |
|||
lineRendererGO = Instantiate(m_LineRendererPrefab, transform); |
|||
m_LineRenderers.Add(index, lineRendererGO); |
|||
} |
|||
|
|||
var lineRenderer = lineRendererGO.GetComponent<LineRenderer>(); |
|||
|
|||
// Traverse hierarchy to determine the longest line set that needs to be drawn.
|
|||
var positions = new NativeArray<Vector2>(joints.Length, Allocator.Temp); |
|||
try |
|||
{ |
|||
var boneIndex = index; |
|||
int jointCount = 0; |
|||
while (boneIndex >= 0) |
|||
{ |
|||
var joint = joints[boneIndex]; |
|||
if (joint.tracked) |
|||
{ |
|||
positions[jointCount++] = joint.position; |
|||
if (!s_JointSet.Add(boneIndex)) |
|||
break; |
|||
} |
|||
else |
|||
break; |
|||
|
|||
boneIndex = joint.parentIndex; |
|||
} |
|||
|
|||
// Render the joints as lines on the camera's near clip plane.
|
|||
lineRenderer.positionCount = jointCount; |
|||
lineRenderer.startWidth = 0.001f; |
|||
lineRenderer.endWidth = 0.001f; |
|||
for (int i = 0; i < jointCount; ++i) |
|||
{ |
|||
var position = positions[i]; |
|||
var worldPosition = m_ARCamera.ViewportToWorldPoint( |
|||
new Vector3(position.x, position.y, m_ARCamera.nearClipPlane)); |
|||
lineRenderer.SetPosition(i, worldPosition); |
|||
} |
|||
lineRendererGO.SetActive(true); |
|||
} |
|||
finally |
|||
{ |
|||
positions.Dispose(); |
|||
} |
|||
} |
|||
|
|||
void Update() |
|||
{ |
|||
Debug.Assert(m_HumanBodyManager != null, "Human body manager cannot be null"); |
|||
var joints = m_HumanBodyManager.GetHumanBodyPose2DJoints(Allocator.Temp); |
|||
if (!joints.IsCreated) |
|||
{ |
|||
HideJointLines(); |
|||
return; |
|||
} |
|||
|
|||
using (joints) |
|||
{ |
|||
s_JointSet.Clear(); |
|||
for (int i = joints.Length - 1; i >= 0; --i) |
|||
{ |
|||
if (joints[i].parentIndex != -1) |
|||
UpdateRenderer(joints, i); |
|||
} |
|||
} |
|||
} |
|||
|
|||
void HideJointLines() |
|||
{ |
|||
foreach (var lineRenderer in m_LineRenderers) |
|||
{ |
|||
lineRenderer.Value.SetActive(false); |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: df5a70088ca42443ebe4c6b2346d7e5e |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System; |
|||
using System.Text; |
|||
using Unity.Collections.LowLevel.Unsafe; |
|||
using UnityEngine; |
|||
using UnityEngine.UI; |
|||
using UnityEngine.XR.ARFoundation; |
|||
using UnityEngine.XR.ARSubsystems; |
|||
|
|||
/// <summary>
|
|||
/// This component tests getting the latest camera image
|
|||
/// and converting it to RGBA format. If successful,
|
|||
/// it displays the image on the screen as a RawImage
|
|||
/// and also displays information about the image.
|
|||
///
|
|||
/// This is useful for computer vision applications where
|
|||
/// you need to access the raw pixels from camera image
|
|||
/// on the CPU.
|
|||
///
|
|||
/// This is different from the ARCameraBackground component, which
|
|||
/// efficiently displays the camera image on the screen. If you
|
|||
/// just want to blit the camera texture to the screen, use
|
|||
/// the ARCameraBackground, or use Graphics.Blit to create
|
|||
/// a GPU-friendly RenderTexture.
|
|||
///
|
|||
/// In this example, we get the camera image data on the CPU,
|
|||
/// convert it to an RGBA format, then display it on the screen
|
|||
/// as a RawImage texture to demonstrate it is working.
|
|||
/// This is done as an example; do not use this technique simply
|
|||
/// to render the camera image on screen.
|
|||
/// </summary>
|
|||
public class TestDepthImage : MonoBehaviour |
|||
{ |
|||
[SerializeField] |
|||
[Tooltip("The ARHumanBodyManager which will produce frame events.")] |
|||
ARHumanBodyManager m_HumanBodyManager; |
|||
|
|||
/// <summary>
|
|||
/// Get or set the <c>ARHumanBodyManager</c>.
|
|||
/// </summary>
|
|||
public ARHumanBodyManager humanBodyManager |
|||
{ |
|||
get { return m_HumanBodyManager; } |
|||
set { m_HumanBodyManager = value; } |
|||
} |
|||
|
|||
[SerializeField] |
|||
RawImage m_RawImage; |
|||
|
|||
/// <summary>
|
|||
/// The UI RawImage used to display the image on screen.
|
|||
/// </summary>
|
|||
public RawImage rawImage |
|||
{ |
|||
get { return m_RawImage; } |
|||
set { m_RawImage = value; } |
|||
} |
|||
|
|||
[SerializeField] |
|||
Text m_ImageInfo; |
|||
|
|||
/// <summary>
|
|||
/// The UI Text used to display information about the image on screen.
|
|||
/// </summary>
|
|||
public Text imageInfo |
|||
{ |
|||
get { return m_ImageInfo; } |
|||
set { m_ImageInfo = value; } |
|||
} |
|||
|
|||
void LogTextureInfo(StringBuilder stringBuilder, string textureName, Texture2D texture) |
|||
{ |
|||
stringBuilder.AppendFormat("texture : {0}\n", textureName); |
|||
if (texture == null) |
|||
{ |
|||
stringBuilder.AppendFormat(" <null>\n"); |
|||
} |
|||
else |
|||
{ |
|||
stringBuilder.AppendFormat(" format : {0}\n", texture.format.ToString()); |
|||
stringBuilder.AppendFormat(" width : {0}\n", texture.width); |
|||
stringBuilder.AppendFormat(" height : {0}\n", texture.height); |
|||
stringBuilder.AppendFormat(" mipmap : {0}\n", texture.mipmapCount); |
|||
} |
|||
} |
|||
|
|||
void Update() |
|||
{ |
|||
var subsystem = m_HumanBodyManager.subsystem; |
|||
if (subsystem == null) |
|||
{ |
|||
if (m_ImageInfo != null) |
|||
{ |
|||
m_ImageInfo.text = "Human Segmentation not supported."; |
|||
} |
|||
return; |
|||
} |
|||
|
|||
StringBuilder sb = new StringBuilder(); |
|||
Texture2D humanStencil = m_HumanBodyManager.humanStencilTexture; |
|||
Texture2D humanDepth = m_HumanBodyManager.humanDepthTexture; |
|||
LogTextureInfo(sb, "stencil", humanStencil); |
|||
LogTextureInfo(sb, "depth", humanDepth); |
|||
|
|||
if (m_ImageInfo != null) |
|||
{ |
|||
m_ImageInfo.text = sb.ToString(); |
|||
} |
|||
else |
|||
{ |
|||
Debug.Log(sb.ToString()); |
|||
} |
|||
|
|||
// To use the stencil, be sure the HumanSegmentationStencilMode property on the ARHumanBodyManager is set to a
|
|||
// non-disabled value.
|
|||
m_RawImage.texture = humanStencil; |
|||
|
|||
// To use the depth, be sure the HumanSegmentationDepthMode property on the ARHumanBodyManager is set to a
|
|||
/// non-disabled value.
|
|||
// m_RawImage.texture = eventArgs.humanDepth;
|
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 5b552aa0564624c56ae746579bc814e6 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System; |
|||
using System.Text; |
|||
using System.Collections.Generic; |
|||
using Unity.Collections; |
|||
using Unity.Collections.LowLevel.Unsafe; |
|||
using UnityEngine; |
|||
using UnityEngine.UI; |
|||
using UnityEngine.XR.ARFoundation; |
|||
using UnityEngine.XR.ARSubsystems; |
|||
|
|||
using Object = UnityEngine.Object; |
|||
|
|||
public class TestHumanBodyTracking : MonoBehaviour |
|||
{ |
|||
// 3D joint skeleton
|
|||
enum JointIndices |
|||
{ |
|||
Invalid = -1, |
|||
root = 0, // parent: <none> [-1]
|
|||
hips_joint = 1, // parent: root [0]
|
|||
left_upLeg_joint = 2, // parent: hips_joint [1]
|
|||
left_leg_joint = 3, // parent: left_upLeg_joint [2]
|
|||
left_foot_joint = 4, // parent: left_leg_joint [3]
|
|||
left_toes_joint = 5, // parent: left_foot_joint [4]
|
|||
left_toesEnd_joint = 6, // parent: left_toes_joint [5]
|
|||
right_upLeg_joint = 7, // parent: hips_joint [1]
|
|||
right_leg_joint = 8, // parent: right_upLeg_joint [7]
|
|||
right_foot_joint = 9, // parent: right_leg_joint [8]
|
|||
right_toes_joint = 10, // parent: right_foot_joint [9]
|
|||
right_toesEnd_joint = 11, // parent: right_toes_joint [10]
|
|||
spine_1_joint = 12, // parent: hips_joint [1]
|
|||
spine_2_joint = 13, // parent: spine_1_joint [12]
|
|||
spine_3_joint = 14, // parent: spine_2_joint [13]
|
|||
spine_4_joint = 15, // parent: spine_3_joint [14]
|
|||
spine_5_joint = 16, // parent: spine_4_joint [15]
|
|||
spine_6_joint = 17, // parent: spine_5_joint [16]
|
|||
spine_7_joint = 18, // parent: spine_6_joint [17]
|
|||
right_shoulder_1_joint = 19, // parent: spine_7_joint [18]
|
|||
right_shoulder_2_joint = 20, // parent: right_shoulder_1_joint [19]
|
|||
right_arm_joint = 21, // parent: right_shoulder_2_joint [20]
|
|||
right_forearm_joint = 22, // parent: right_arm_joint [21]
|
|||
right_hand_joint = 23, // parent: right_forearm_joint [22]
|
|||
right_handThumbStart_joint = 24, // parent: right_hand_joint [23]
|
|||
right_handThumb_1_joint = 25, // parent: right_handThumbStart_joint [24]
|
|||
right_handThumb_2_joint = 26, // parent: right_handThumb_1_joint [25]
|
|||
right_handThumbEnd_joint = 27, // parent: right_handThumb_2_joint [26]
|
|||
right_handIndexStart_joint = 28, // parent: right_hand_joint [23]
|
|||
right_handIndex_1_joint = 29, // parent: right_handIndexStart_joint [28]
|
|||
right_handIndex_2_joint = 30, // parent: right_handIndex_1_joint [29]
|
|||
right_handIndex_3_joint = 31, // parent: right_handIndex_2_joint [30]
|
|||
right_handIndexEnd_joint = 32, // parent: right_handIndex_3_joint [31]
|
|||
right_handMidStart_joint = 33, // parent: right_hand_joint [23]
|
|||
right_handMid_1_joint = 34, // parent: right_handMidStart_joint [33]
|
|||
right_handMid_2_joint = 35, // parent: right_handMid_1_joint [34]
|
|||
right_handMid_3_joint = 36, // parent: right_handMid_2_joint [35]
|
|||
right_handMidEnd_joint = 37, // parent: right_handMid_3_joint [36]
|
|||
right_handRingStart_joint = 38, // parent: right_hand_joint [23]
|
|||
right_handRing_1_joint = 39, // parent: right_handRingStart_joint [38]
|
|||
right_handRing_2_joint = 40, // parent: right_handRing_1_joint [39]
|
|||
right_handRing_3_joint = 41, // parent: right_handRing_2_joint [40]
|
|||
right_handRingEnd_joint = 42, // parent: right_handRing_3_joint [41]
|
|||
right_handPinkyStart_joint = 43, // parent: right_hand_joint [23]
|
|||
right_handPinky_1_joint = 44, // parent: right_handPinkyStart_joint [43]
|
|||
right_handPinky_2_joint = 45, // parent: right_handPinky_1_joint [44]
|
|||
right_handPinky_3_joint = 46, // parent: right_handPinky_2_joint [45]
|
|||
right_handPinkyEnd_joint = 47, // parent: right_handPinky_3_joint [46]
|
|||
left_shoulder_1_joint = 48, // parent: spine_7_joint [18]
|
|||
left_shoulder_2_joint = 49, // parent: left_shoulder_1_joint [48]
|
|||
left_arm_joint = 50, // parent: left_shoulder_2_joint [49]
|
|||
left_forearm_joint = 51, // parent: left_arm_joint [50]
|
|||
left_hand_joint = 52, // parent: left_forearm_joint [51]
|
|||
left_handThumbStart_joint = 53, // parent: left_hand_joint [52]
|
|||
left_handThumb_1_joint = 54, // parent: left_handThumbStart_joint [53]
|
|||
left_handThumb_2_joint = 55, // parent: left_handThumb_1_joint [54]
|
|||
left_handThumbEnd_joint = 56, // parent: left_handThumb_2_joint [55]
|
|||
left_handIndexStart_joint = 57, // parent: left_hand_joint [52]
|
|||
left_handIndex_1_joint = 58, // parent: left_handIndexStart_joint [57]
|
|||
left_handIndex_2_joint = 59, // parent: left_handIndex_1_joint [58]
|
|||
left_handIndex_3_joint = 60, // parent: left_handIndex_2_joint [59]
|
|||
left_handIndexEnd_joint = 61, // parent: left_handIndex_3_joint [60]
|
|||
left_handMidStart_joint = 62, // parent: left_hand_joint [52]
|
|||
left_handMid_1_joint = 63, // parent: left_handMidStart_joint [62]
|
|||
left_handMid_2_joint = 64, // parent: left_handMid_1_joint [63]
|
|||
left_handMid_3_joint = 65, // parent: left_handMid_2_joint [64]
|
|||
left_handMidEnd_joint = 66, // parent: left_handMid_3_joint [65]
|
|||
left_handRingStart_joint = 67, // parent: left_hand_joint [52]
|
|||
left_handRing_1_joint = 68, // parent: left_handRingStart_joint [67]
|
|||
left_handRing_2_joint = 69, // parent: left_handRing_1_joint [68]
|
|||
left_handRing_3_joint = 70, // parent: left_handRing_2_joint [69]
|
|||
left_handRingEnd_joint = 71, // parent: left_handRing_3_joint [70]
|
|||
left_handPinkyStart_joint = 72, // parent: left_hand_joint [52]
|
|||
left_handPinky_1_joint = 73, // parent: left_handPinkyStart_joint [72]
|
|||
left_handPinky_2_joint = 74, // parent: left_handPinky_1_joint [73]
|
|||
left_handPinky_3_joint = 75, // parent: left_handPinky_2_joint [74]
|
|||
left_handPinkyEnd_joint = 76, // parent: left_handPinky_3_joint [75]
|
|||
neck_1_joint = 77, // parent: spine_7_joint [18]
|
|||
neck_2_joint = 78, // parent: neck_1_joint [77]
|
|||
neck_3_joint = 79, // parent: neck_2_joint [78]
|
|||
neck_4_joint = 80, // parent: neck_3_joint [79]
|
|||
head_joint = 81, // parent: neck_4_joint [80]
|
|||
jaw_joint = 82, // parent: head_joint [81]
|
|||
chin_joint = 83, // parent: jaw_joint [82]
|
|||
nose_joint = 84, // parent: head_joint [81]
|
|||
right_eye_joint = 85, // parent: head_joint [81]
|
|||
right_eyeUpperLid_joint = 86, // parent: right_eye_joint [85]
|
|||
right_eyeLowerLid_joint = 87, // parent: right_eye_joint [85]
|
|||
right_eyeBall_joint = 88, // parent: right_eye_joint [85]
|
|||
left_eye_joint = 89, // parent: head_joint [81]
|
|||
left_eyeUpperLid_joint = 90, // parent: left_eye_joint [89]
|
|||
left_eyeLowerLid_joint = 91, // parent: left_eye_joint [89]
|
|||
left_eyeBall_joint = 92, // parent: left_eye_joint [89]
|
|||
} |
|||
|
|||
[SerializeField] |
|||
[Tooltip("The ARHumanBodyManager which will produce frame events.")] |
|||
ARHumanBodyManager m_HumanBodyManager; |
|||
|
|||
/// <summary>
|
|||
/// Get or set the <c>ARHumanBodyManager</c>.
|
|||
/// </summary>
|
|||
public ARHumanBodyManager humanBodyManager |
|||
{ |
|||
get { return m_HumanBodyManager; } |
|||
set { m_HumanBodyManager = value; } |
|||
} |
|||
|
|||
[SerializeField] |
|||
GameObject m_HeadPrefab; |
|||
|
|||
public GameObject headPrefab |
|||
{ |
|||
get { return m_HeadPrefab; } |
|||
set { m_HeadPrefab = value; } |
|||
} |
|||
|
|||
void OnEnable() |
|||
{ |
|||
Debug.Assert(m_HumanBodyManager != null, "human body manager is required"); |
|||
m_HumanBodyManager.humanBodiesChanged += OnHumanBodiesChanged; |
|||
} |
|||
|
|||
void OnDisable() |
|||
{ |
|||
Debug.Assert(m_HumanBodyManager != null, "human body manager is required"); |
|||
m_HumanBodyManager.humanBodiesChanged -= OnHumanBodiesChanged; |
|||
} |
|||
|
|||
void CreateOrUpdateHead(ARHumanBody arBody) |
|||
{ |
|||
if (m_HeadPrefab == null) |
|||
{ |
|||
Debug.Log("no prefab found"); |
|||
return; |
|||
} |
|||
|
|||
Transform rootTransform = arBody.transform; |
|||
if (rootTransform == null) |
|||
{ |
|||
Debug.Log("no root transform found for ARHumanBody"); |
|||
return; |
|||
} |
|||
|
|||
Transform headTransform; |
|||
if (rootTransform.childCount <= 1) |
|||
{ |
|||
GameObject go = Instantiate(m_HeadPrefab, rootTransform); |
|||
headTransform = go.transform; |
|||
} |
|||
else |
|||
{ |
|||
headTransform = rootTransform.GetChild(1); |
|||
} |
|||
|
|||
XRHumanBodyJoint joint = arBody.joints[(int)JointIndices.head_joint]; |
|||
headTransform.localScale = joint.anchorScale; |
|||
headTransform.localRotation = joint.anchorPose.rotation; |
|||
headTransform.localPosition = joint.anchorPose.position; |
|||
} |
|||
|
|||
void OnHumanBodiesChanged(ARHumanBodiesChangedEventArgs eventArgs) |
|||
{ |
|||
StringBuilder sb = new StringBuilder(); |
|||
|
|||
sb.Append("OnHumanBodiesChanged\n"); |
|||
|
|||
sb.AppendFormat(" added[{0}]:\n", eventArgs.added.Count); |
|||
foreach (var humanBody in eventArgs.added) |
|||
{ |
|||
sb.AppendFormat(" human body: {0}\n", humanBody.ToString()); |
|||
CreateOrUpdateHead(humanBody); |
|||
} |
|||
|
|||
sb.AppendFormat(" updated[{0}]:\n", eventArgs.updated.Count); |
|||
foreach (var humanBody in eventArgs.updated) |
|||
{ |
|||
sb.AppendFormat(" human body: {0}\n", humanBody.ToString()); |
|||
CreateOrUpdateHead(humanBody); |
|||
} |
|||
|
|||
sb.AppendFormat(" removed[{0}]:\n", eventArgs.removed.Count); |
|||
foreach (var humanBody in eventArgs.removed) |
|||
{ |
|||
sb.AppendFormat(" human body: {0}\n", humanBody.ToString()); |
|||
} |
|||
|
|||
Debug.Log(sb.ToString()); |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: a70310605953942b396590064b0a3830 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
1001
Assets/Scenes/ARCollaborationData/ARCollaborationDataExample.unity
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: 900e7bfe6122645fba71b90941afb9c5 |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System; |
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using System.IO; |
|||
using UnityEngine; |
|||
using UnityEngine.UI; |
|||
|
|||
[RequireComponent(typeof(TCPClient))] |
|||
[RequireComponent(typeof(TCPServer))] |
|||
public class ClientServerSelector : MonoBehaviour |
|||
{ |
|||
[SerializeField] |
|||
Button m_JoinButton; |
|||
|
|||
public Button joinButton |
|||
{ |
|||
get { return m_JoinButton; } |
|||
set { m_JoinButton = value; } |
|||
} |
|||
|
|||
[SerializeField] |
|||
Button m_HostButton; |
|||
|
|||
public Button hostButton |
|||
{ |
|||
get { return m_HostButton; } |
|||
set { m_HostButton = value; } |
|||
} |
|||
|
|||
[SerializeField] |
|||
InputField m_IPAddressField; |
|||
|
|||
public InputField ipAddressField |
|||
{ |
|||
get { return m_IPAddressField; } |
|||
set { m_IPAddressField = value; } |
|||
} |
|||
|
|||
public void Join() |
|||
{ |
|||
var client = GetComponent<TCPClient>(); |
|||
var ipAddress = m_IPAddressField.text; |
|||
try |
|||
{ |
|||
File.WriteAllText(GetIPAddressPath(), ipAddress); |
|||
} |
|||
catch (Exception e) |
|||
{ |
|||
Logger.Log($"Could not save IP address because {e.ToString()}"); |
|||
} |
|||
|
|||
client.serverIP = ipAddress; |
|||
client.enabled = true; |
|||
enabled = false; |
|||
} |
|||
|
|||
public void Host() |
|||
{ |
|||
GetComponent<TCPClient>().enabled = false; |
|||
GetComponent<TCPServer>().enabled = true; |
|||
enabled = false; |
|||
} |
|||
|
|||
string GetIPAddressPath() |
|||
{ |
|||
return Path.Combine(Application.persistentDataPath, "ipaddress.txt"); |
|||
} |
|||
|
|||
void OnEnable() |
|||
{ |
|||
if (File.Exists(GetIPAddressPath())) |
|||
{ |
|||
var storedIPAddress = File.ReadAllText(GetIPAddressPath()); |
|||
if (storedIPAddress != null) |
|||
{ |
|||
Logger.Log($"Found stored IP address {storedIPAddress}"); |
|||
m_IPAddressField.text = storedIPAddress; |
|||
} |
|||
else |
|||
{ |
|||
Logger.Log($"No IP address tored at {GetIPAddressPath()}"); |
|||
} |
|||
} |
|||
|
|||
if (m_JoinButton != null) |
|||
m_JoinButton.gameObject.SetActive(true); |
|||
|
|||
if (m_HostButton != null) |
|||
m_HostButton.gameObject.SetActive(true); |
|||
} |
|||
|
|||
void OnDisable() |
|||
{ |
|||
if (m_JoinButton != null) |
|||
m_JoinButton.gameObject.SetActive(false); |
|||
|
|||
if (m_HostButton != null) |
|||
m_HostButton.gameObject.SetActive(false); |
|||
|
|||
if (m_IPAddressField != null) |
|||
m_IPAddressField.gameObject.SetActive(false); |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: bbcf44277865e45d399575001e42f155 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System; |
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using System.Text; |
|||
using UnityEngine; |
|||
using UnityEngine.UI; |
|||
|
|||
public class CollaborationNetworkingIndicator : MonoBehaviour |
|||
{ |
|||
[SerializeField] |
|||
Image m_IncomingDataImage; |
|||
|
|||
public Image incomingDataImage |
|||
{ |
|||
get { return m_IncomingDataImage; } |
|||
set { m_IncomingDataImage = value; } |
|||
} |
|||
|
|||
[SerializeField] |
|||
Image m_OutgoingDataImage; |
|||
|
|||
public Image outgoingDataImage |
|||
{ |
|||
get { return m_OutgoingDataImage; } |
|||
set { m_OutgoingDataImage = value; } |
|||
} |
|||
|
|||
[SerializeField] |
|||
Image m_HasCollaborationDataImage; |
|||
|
|||
public Image hasCollaborationDataImage |
|||
{ |
|||
get { return m_HasCollaborationDataImage; } |
|||
set { m_HasCollaborationDataImage = value; } |
|||
} |
|||
|
|||
static bool s_IncomingDataReceived; |
|||
|
|||
static bool s_OutgoingDataSent; |
|||
|
|||
static bool s_HasCollaborationData; |
|||
|
|||
void Update() |
|||
{ |
|||
m_IncomingDataImage.color = s_IncomingDataReceived ? Color.green : Color.red; |
|||
m_OutgoingDataImage.color = s_OutgoingDataSent ? Color.green : Color.red; |
|||
m_HasCollaborationDataImage.color = s_HasCollaborationData ? Color.green : Color.red; |
|||
|
|||
s_IncomingDataReceived = false; |
|||
s_OutgoingDataSent = false; |
|||
s_HasCollaborationData = false; |
|||
} |
|||
|
|||
public static void NotifyIncomingDataReceived() |
|||
{ |
|||
s_IncomingDataReceived = true; |
|||
} |
|||
|
|||
public static void NotifyOutgoingDataSent() |
|||
{ |
|||
s_OutgoingDataSent = true; |
|||
} |
|||
|
|||
public static void NotifyHasCollaborationData() |
|||
{ |
|||
s_HasCollaborationData = true; |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: d1be5be8a43f540cca468deb4a0a0101 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using UnityEngine; |
|||
using UnityEngine.UI; |
|||
using UnityEngine.XR.ARFoundation; |
|||
|
|||
/// <summary>
|
|||
/// When relocalizing with ARCollaborationData or ARWorldMaps, the tracking state
|
|||
/// should change to TrackingState.Limited until the device has successfully
|
|||
/// relocalized to the new data. If it remains TrackingState.Tracking, then
|
|||
/// it is not working.
|
|||
/// </summary>
|
|||
[RequireComponent(typeof(ARSession))] |
|||
public class DisplayTrackingState : MonoBehaviour |
|||
{ |
|||
[SerializeField] |
|||
Text m_Text; |
|||
|
|||
public Text text |
|||
{ |
|||
get { return m_Text; } |
|||
set { m_Text = value; } |
|||
} |
|||
|
|||
ARSession m_Session; |
|||
|
|||
void Start() |
|||
{ |
|||
m_Session = GetComponent<ARSession>(); |
|||
} |
|||
|
|||
void Update() |
|||
{ |
|||
if (text != null) |
|||
{ |
|||
text.text = $"Session ID = {m_Session.subsystem.sessionId}\n" + |
|||
$"Session state = {ARSession.state.ToString()}\n" + |
|||
$"Tracking state = {m_Session.subsystem.trackingState}"; |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: a5af10ee5346e4e829576a57d9a59cd3 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using UnityEngine; |
|||
using UnityEngine.UI; |
|||
using UnityEngine.XR.ARFoundation; |
|||
|
|||
/// <summary>
|
|||
/// Displays information about each reference point including
|
|||
/// whether or not the reference point is local or remote.
|
|||
/// The reference point prefab is assumed to include a GameObject
|
|||
/// which can be colored to indicate which session created it.
|
|||
/// </summary>
|
|||
[RequireComponent(typeof(ARSessionOrigin))] |
|||
[RequireComponent(typeof(ARReferencePointManager))] |
|||
public class ReferencePointInfoManager : MonoBehaviour |
|||
{ |
|||
[SerializeField] |
|||
ARSession m_Session; |
|||
|
|||
public ARSession session |
|||
{ |
|||
get { return m_Session; } |
|||
set { m_Session = value; } |
|||
} |
|||
|
|||
void OnEnable() |
|||
{ |
|||
GetComponent<ARReferencePointManager>().referencePointsChanged += OnReferencePointsChanged; |
|||
} |
|||
|
|||
void OnDisable() |
|||
{ |
|||
GetComponent<ARReferencePointManager>().referencePointsChanged -= OnReferencePointsChanged; |
|||
} |
|||
|
|||
void OnReferencePointsChanged(ARReferencePointsChangedEventArgs eventArgs) |
|||
{ |
|||
foreach (var referencePoint in eventArgs.added) |
|||
{ |
|||
UpdateReferencePoint(referencePoint); |
|||
} |
|||
|
|||
foreach (var referencePoint in eventArgs.updated) |
|||
{ |
|||
UpdateReferencePoint(referencePoint); |
|||
} |
|||
} |
|||
|
|||
unsafe struct byte128 |
|||
{ |
|||
public fixed byte data[16]; |
|||
} |
|||
|
|||
void UpdateReferencePoint(ARReferencePoint referencePoint) |
|||
{ |
|||
var canvas = referencePoint.GetComponentInChildren<Canvas>(); |
|||
if (canvas == null) |
|||
return; |
|||
|
|||
canvas.worldCamera = GetComponent<ARSessionOrigin>().camera; |
|||
|
|||
var text = canvas.GetComponentInChildren<Text>(); |
|||
if (text == null) |
|||
return; |
|||
|
|||
var sessionId = referencePoint.sessionId; |
|||
if (sessionId.Equals(session.subsystem.sessionId)) |
|||
{ |
|||
text.text = $"Local"; |
|||
} |
|||
else |
|||
{ |
|||
text.text = $"Remote"; |
|||
} |
|||
|
|||
var cube = referencePoint.transform.Find("Scale/SessionId Indicator"); |
|||
if (cube != null) |
|||
{ |
|||
var renderer = cube.GetComponent<Renderer>(); |
|||
{ |
|||
// Generate a color from the sessionId
|
|||
Color color; |
|||
unsafe |
|||
{ |
|||
var bytes = *(byte128*)&sessionId; |
|||
color = new Color( |
|||
bytes.data[0] / 255f, |
|||
bytes.data[4] / 255f, |
|||
bytes.data[8] / 255f, |
|||
bytes.data[12] / 255f); |
|||
} |
|||
renderer.material.color = color; |
|||
} |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: d6a1e9f83a6cd403486e67390f5f486c |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!1 &1362899771367802 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 4940852310305428} |
|||
m_Layer: 0 |
|||
m_Name: ReferencePointWithDebugText |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!4 &4940852310305428 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1362899771367802} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: |
|||
- {fileID: 5592926836742763379} |
|||
- {fileID: 2926439546598349138} |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &1544274209718308 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 4209237128822544} |
|||
- component: {fileID: 33224036693064280} |
|||
- component: {fileID: 23670081559731906} |
|||
- component: {fileID: 65286711975546532} |
|||
m_Layer: 0 |
|||
m_Name: YAxis |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!4 &4209237128822544 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1544274209718308} |
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0.5, z: 0} |
|||
m_LocalScale: {x: 0.1, y: 1, z: 0.1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 5592926836742763379} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!33 &33224036693064280 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1544274209718308} |
|||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!23 &23670081559731906 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1544274209718308} |
|||
m_Enabled: 1 |
|||
m_CastShadows: 1 |
|||
m_ReceiveShadows: 1 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 1 |
|||
m_LightProbeUsage: 1 |
|||
m_ReflectionProbeUsage: 1 |
|||
m_RenderingLayerMask: 4294967295 |
|||
m_RendererPriority: 0 |
|||
m_Materials: |
|||
- {fileID: 2100000, guid: e62de97909a2840f786ce710f802cf2d, type: 2} |
|||
m_StaticBatchInfo: |
|||
firstSubMesh: 0 |
|||
subMeshCount: 0 |
|||
m_StaticBatchRoot: {fileID: 0} |
|||
m_ProbeAnchor: {fileID: 0} |
|||
m_LightProbeVolumeOverride: {fileID: 0} |
|||
m_ScaleInLightmap: 1 |
|||
m_PreserveUVs: 0 |
|||
m_IgnoreNormalsForChartDetection: 0 |
|||
m_ImportantGI: 0 |
|||
m_StitchLightmapSeams: 0 |
|||
m_SelectedEditorRenderState: 3 |
|||
m_MinimumChartSize: 4 |
|||
m_AutoUVMaxDistance: 0.5 |
|||
m_AutoUVMaxAngle: 89 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_SortingLayerID: 0 |
|||
m_SortingLayer: 0 |
|||
m_SortingOrder: 0 |
|||
--- !u!65 &65286711975546532 |
|||
BoxCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1544274209718308} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_Size: {x: 1, y: 1, z: 1} |
|||
m_Center: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &1636217163257414 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 4011343239704628} |
|||
- component: {fileID: 33886554858103006} |
|||
- component: {fileID: 23292878307893794} |
|||
- component: {fileID: 65372193988663858} |
|||
m_Layer: 0 |
|||
m_Name: ZAxis |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!4 &4011343239704628 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1636217163257414} |
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0.5} |
|||
m_LocalScale: {x: 0.1, y: 0.1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 5592926836742763379} |
|||
m_RootOrder: 2 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!33 &33886554858103006 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1636217163257414} |
|||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!23 &23292878307893794 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1636217163257414} |
|||
m_Enabled: 1 |
|||
m_CastShadows: 1 |
|||
m_ReceiveShadows: 1 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 1 |
|||
m_LightProbeUsage: 1 |
|||
m_ReflectionProbeUsage: 1 |
|||
m_RenderingLayerMask: 4294967295 |
|||
m_RendererPriority: 0 |
|||
m_Materials: |
|||
- {fileID: 2100000, guid: d80c1a202911a4a37a3da59992876dfc, type: 2} |
|||
m_StaticBatchInfo: |
|||
firstSubMesh: 0 |
|||
subMeshCount: 0 |
|||
m_StaticBatchRoot: {fileID: 0} |
|||
m_ProbeAnchor: {fileID: 0} |
|||
m_LightProbeVolumeOverride: {fileID: 0} |
|||
m_ScaleInLightmap: 1 |
|||
m_PreserveUVs: 0 |
|||
m_IgnoreNormalsForChartDetection: 0 |
|||
m_ImportantGI: 0 |
|||
m_StitchLightmapSeams: 0 |
|||
m_SelectedEditorRenderState: 3 |
|||
m_MinimumChartSize: 4 |
|||
m_AutoUVMaxDistance: 0.5 |
|||
m_AutoUVMaxAngle: 89 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_SortingLayerID: 0 |
|||
m_SortingLayer: 0 |
|||
m_SortingOrder: 0 |
|||
--- !u!65 &65372193988663858 |
|||
BoxCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1636217163257414} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_Size: {x: 1, y: 1, z: 1} |
|||
m_Center: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &1777781554239030 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 4793068442743758} |
|||
- component: {fileID: 33728291956804754} |
|||
- component: {fileID: 23056951466853612} |
|||
- component: {fileID: 65730419922972700} |
|||
m_Layer: 0 |
|||
m_Name: XAxis |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!4 &4793068442743758 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1777781554239030} |
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} |
|||
m_LocalPosition: {x: 0.5, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 0.1, z: 0.1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 5592926836742763379} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!33 &33728291956804754 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1777781554239030} |
|||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!23 &23056951466853612 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1777781554239030} |
|||
m_Enabled: 1 |
|||
m_CastShadows: 1 |
|||
m_ReceiveShadows: 1 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 1 |
|||
m_LightProbeUsage: 1 |
|||
m_ReflectionProbeUsage: 1 |
|||
m_RenderingLayerMask: 4294967295 |
|||
m_RendererPriority: 0 |
|||
m_Materials: |
|||
- {fileID: 2100000, guid: 1d85e66239f5b41eb87246c413157610, type: 2} |
|||
m_StaticBatchInfo: |
|||
firstSubMesh: 0 |
|||
subMeshCount: 0 |
|||
m_StaticBatchRoot: {fileID: 0} |
|||
m_ProbeAnchor: {fileID: 0} |
|||
m_LightProbeVolumeOverride: {fileID: 0} |
|||
m_ScaleInLightmap: 1 |
|||
m_PreserveUVs: 0 |
|||
m_IgnoreNormalsForChartDetection: 0 |
|||
m_ImportantGI: 0 |
|||
m_StitchLightmapSeams: 0 |
|||
m_SelectedEditorRenderState: 3 |
|||
m_MinimumChartSize: 4 |
|||
m_AutoUVMaxDistance: 0.5 |
|||
m_AutoUVMaxAngle: 89 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_SortingLayerID: 0 |
|||
m_SortingLayer: 0 |
|||
m_SortingOrder: 0 |
|||
--- !u!65 &65730419922972700 |
|||
BoxCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1777781554239030} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_Size: {x: 1, y: 1, z: 1} |
|||
m_Center: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &632296245409194844 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 5592926836742763379} |
|||
m_Layer: 0 |
|||
m_Name: Scale |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!4 &5592926836742763379 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 632296245409194844} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} |
|||
m_Children: |
|||
- {fileID: 4793068442743758} |
|||
- {fileID: 4209237128822544} |
|||
- {fileID: 4011343239704628} |
|||
- {fileID: 4919992784813117573} |
|||
m_Father: {fileID: 4940852310305428} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &652790603393003289 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 8626778999668101696} |
|||
- component: {fileID: 6275723017575759369} |
|||
- component: {fileID: 2853658769765301097} |
|||
m_Layer: 5 |
|||
m_Name: Text |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!224 &8626778999668101696 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 652790603393003289} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 2926439546598349138} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0.5, y: 0.5} |
|||
m_AnchorMax: {x: 0.5, y: 0.5} |
|||
m_AnchoredPosition: {x: 0, y: -0.018} |
|||
m_SizeDelta: {x: 1, y: 1} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!222 &6275723017575759369 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 652790603393003289} |
|||
m_CullTransparentMesh: 0 |
|||
--- !u!114 &2853658769765301097 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 652790603393003289} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 1, g: 1, b: 1, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, |
|||
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null |
|||
m_FontData: |
|||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} |
|||
m_FontSize: 20 |
|||
m_FontStyle: 0 |
|||
m_BestFit: 0 |
|||
m_MinSize: 0 |
|||
m_MaxSize: 300 |
|||
m_Alignment: 4 |
|||
m_AlignByGeometry: 0 |
|||
m_RichText: 1 |
|||
m_HorizontalOverflow: 0 |
|||
m_VerticalOverflow: 0 |
|||
m_LineSpacing: 1 |
|||
m_Text: |
|||
--- !u!1 &8837306781102158538 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 2926439546598349138} |
|||
- component: {fileID: 7387694420605897239} |
|||
- component: {fileID: 6908992051379963341} |
|||
- component: {fileID: 447345472762372533} |
|||
m_Layer: 5 |
|||
m_Name: Canvas |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!224 &2926439546598349138 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 8837306781102158538} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: |
|||
- {fileID: 8626778999668101696} |
|||
m_Father: {fileID: 4940852310305428} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 0, y: 0} |
|||
m_AnchoredPosition: {x: 0, y: 0.168} |
|||
m_SizeDelta: {x: 2, y: 2} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!223 &7387694420605897239 |
|||
Canvas: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 8837306781102158538} |
|||
m_Enabled: 1 |
|||
serializedVersion: 3 |
|||
m_RenderMode: 2 |
|||
m_Camera: {fileID: 0} |
|||
m_PlaneDistance: 100 |
|||
m_PixelPerfect: 0 |
|||
m_ReceivesEvents: 1 |
|||
m_OverrideSorting: 0 |
|||
m_OverridePixelPerfect: 0 |
|||
m_SortingBucketNormalizedSize: 0 |
|||
m_AdditionalShaderChannelsFlag: 0 |
|||
m_SortingLayerID: 0 |
|||
m_SortingOrder: 0 |
|||
m_TargetDisplay: 0 |
|||
--- !u!114 &6908992051379963341 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 8837306781102158538} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_UiScaleMode: 0 |
|||
m_ReferencePixelsPerUnit: 100 |
|||
m_ScaleFactor: 1 |
|||
m_ReferenceResolution: {x: 800, y: 600} |
|||
m_ScreenMatchMode: 0 |
|||
m_MatchWidthOrHeight: 0 |
|||
m_PhysicalUnit: 3 |
|||
m_FallbackScreenDPI: 96 |
|||
m_DefaultSpriteDPI: 96 |
|||
m_DynamicPixelsPerUnit: 10000 |
|||
--- !u!114 &447345472762372533 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 8837306781102158538} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_IgnoreReversedGraphics: 1 |
|||
m_BlockingObjects: 0 |
|||
m_BlockingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
--- !u!1 &9089492096723985690 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 4919992784813117573} |
|||
- component: {fileID: 61621641649247610} |
|||
- component: {fileID: 169346888090131886} |
|||
- component: {fileID: 2560051407679676734} |
|||
m_Layer: 0 |
|||
m_Name: SessionId Indicator |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!4 &4919992784813117573 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 9089492096723985690} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 1.1, z: 0} |
|||
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 5592926836742763379} |
|||
m_RootOrder: 3 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!33 &61621641649247610 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 9089492096723985690} |
|||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!23 &169346888090131886 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 9089492096723985690} |
|||
m_Enabled: 1 |
|||
m_CastShadows: 1 |
|||
m_ReceiveShadows: 1 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 1 |
|||
m_LightProbeUsage: 1 |
|||
m_ReflectionProbeUsage: 1 |
|||
m_RenderingLayerMask: 1 |
|||
m_RendererPriority: 0 |
|||
m_Materials: |
|||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} |
|||
m_StaticBatchInfo: |
|||
firstSubMesh: 0 |
|||
subMeshCount: 0 |
|||
m_StaticBatchRoot: {fileID: 0} |
|||
m_ProbeAnchor: {fileID: 0} |
|||
m_LightProbeVolumeOverride: {fileID: 0} |
|||
m_ScaleInLightmap: 1 |
|||
m_PreserveUVs: 0 |
|||
m_IgnoreNormalsForChartDetection: 0 |
|||
m_ImportantGI: 0 |
|||
m_StitchLightmapSeams: 1 |
|||
m_SelectedEditorRenderState: 3 |
|||
m_MinimumChartSize: 4 |
|||
m_AutoUVMaxDistance: 0.5 |
|||
m_AutoUVMaxAngle: 89 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_SortingLayerID: 0 |
|||
m_SortingLayer: 0 |
|||
m_SortingOrder: 0 |
|||
--- !u!65 &2560051407679676734 |
|||
BoxCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 9089492096723985690} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_Size: {x: 1, y: 1, z: 1} |
|||
m_Center: {x: 0, y: 0, z: 0} |
|
|||
fileFormatVersion: 2 |
|||
guid: 8fe3e998d2f7f4eb8ac84726705ca1fd |
|||
NativeFormatImporter: |
|||
externalObjects: {} |
|||
mainObjectFileID: 100100000 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System; |
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using System.Net.Sockets; |
|||
using System.Text; |
|||
using System.Threading; |
|||
using UnityEngine; |
|||
using UnityEngine.UI; |
|||
using UnityEngine.XR.ARFoundation; |
|||
|
|||
[RequireComponent(typeof(ClientServerSelector))] |
|||
public class TCPClient : TCPConnection |
|||
{ |
|||
string m_ServerIP; |
|||
|
|||
public string serverIP |
|||
{ |
|||
get { return m_ServerIP; } |
|||
set |
|||
{ |
|||
if (enabled) |
|||
throw new InvalidOperationException("Cannot change server IP address while enabled."); |
|||
|
|||
m_ServerIP = value; |
|||
} |
|||
} |
|||
|
|||
public void Connect() |
|||
{ |
|||
Logger.Log($"Connecting to {serverIP} on port {port}"); |
|||
|
|||
try |
|||
{ |
|||
m_TcpClient = new TcpClient(serverIP, port); |
|||
Logger.Log("Connected!"); |
|||
} |
|||
catch (SocketException e) |
|||
{ |
|||
Logger.Log(e.Message); |
|||
enabled = false; |
|||
GetComponent<ClientServerSelector>().enabled = true; |
|||
} |
|||
} |
|||
|
|||
protected override void OnEnable() |
|||
{ |
|||
base.OnEnable(); |
|||
Connect(); |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: a4bbe7d8f963c43d7b710873f90b9b2d |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System; |
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using System.IO; |
|||
using System.Net; |
|||
using System.Net.Sockets; |
|||
using System.Runtime.InteropServices; |
|||
using System.Threading; |
|||
using Unity.Collections; |
|||
using Unity.Collections.LowLevel.Unsafe; |
|||
using UnityEngine; |
|||
using UnityEngine.UI; |
|||
using UnityEngine.XR.ARFoundation; |
|||
using UnityEngine.XR.ARSubsystems; |
|||
#if UNITY_IOS
|
|||
using UnityEngine.XR.ARKit; |
|||
#endif
|
|||
|
|||
public abstract class TCPConnection : MonoBehaviour |
|||
{ |
|||
[SerializeField] |
|||
ARSession m_Session; |
|||
|
|||
public ARSession session |
|||
{ |
|||
get { return m_Session; } |
|||
set { m_Session = value; } |
|||
} |
|||
|
|||
[SerializeField] |
|||
int m_Port = 8502; |
|||
|
|||
public int port |
|||
{ |
|||
get { return m_Port; } |
|||
set { m_Port = value; } |
|||
} |
|||
|
|||
public bool connected |
|||
{ |
|||
get |
|||
{ |
|||
return |
|||
(m_TcpClient != null) && |
|||
(m_TcpClient.Connected); |
|||
} |
|||
} |
|||
|
|||
protected TcpClient m_TcpClient; |
|||
|
|||
protected virtual void OnEnable() |
|||
{ |
|||
#if UNITY_IOS
|
|||
if (ARKitSessionSubsystem.supportsCollaboration) |
|||
{ |
|||
m_ExitRequested = false; |
|||
} |
|||
else |
|||
#endif
|
|||
{ |
|||
Logger.Log("Collaboration is not supported by this device."); |
|||
enabled = false; |
|||
} |
|||
} |
|||
|
|||
protected virtual void OnDisable() |
|||
{ |
|||
#if UNITY_IOS
|
|||
// Shutdown running threads
|
|||
m_ExitRequested = true; |
|||
|
|||
if (m_ReadThread.IsAlive) |
|||
m_ReadThread.Join(); |
|||
|
|||
if (m_SendThread.IsAlive) |
|||
m_SendThread.Join(); |
|||
#endif
|
|||
|
|||
// Close down TCP connection
|
|||
if (m_TcpClient != null) |
|||
{ |
|||
m_TcpClient.Close(); |
|||
Logger.Log("Connection closed"); |
|||
} |
|||
|
|||
m_TcpClient = null; |
|||
} |
|||
|
|||
protected virtual void Update() |
|||
{ |
|||
#if UNITY_IOS
|
|||
if (session == null) |
|||
return; |
|||
|
|||
var subsystem = session.subsystem as ARKitSessionSubsystem; |
|||
if (subsystem == null) |
|||
return; |
|||
|
|||
// Disable collaboration if we aren't connected to anyone
|
|||
subsystem.collaborationEnabled = connected; |
|||
|
|||
if (connected) |
|||
{ |
|||
// Make sure threads are running
|
|||
if (!m_ReadThread.IsAlive) |
|||
m_ReadThread.Start(); |
|||
if (!m_SendThread.IsAlive) |
|||
m_SendThread.Start(); |
|||
|
|||
ProcessRemoteCollaborationData(subsystem); |
|||
CheckForLocalCollaborationData(subsystem); |
|||
} |
|||
#endif
|
|||
} |
|||
|
|||
#if UNITY_IOS
|
|||
static readonly byte[] m_Buffer = new Byte[1024]; |
|||
|
|||
Queue<ARCollaborationData> m_CollaborationDataSendQueue; |
|||
|
|||
Queue<ARCollaborationData> m_CollaborationDataReadQueue; |
|||
|
|||
Thread m_ReadThread; |
|||
|
|||
Thread m_SendThread; |
|||
|
|||
bool m_ExitRequested; |
|||
|
|||
void Awake() |
|||
{ |
|||
m_CollaborationDataSendQueue = new Queue<ARCollaborationData>(); |
|||
m_CollaborationDataReadQueue = new Queue<ARCollaborationData>(); |
|||
m_ReadThread = new Thread(ReadThreadProc); |
|||
m_SendThread = new Thread(SendThreadProc); |
|||
} |
|||
|
|||
void SendThreadProc() |
|||
{ |
|||
var stream = m_TcpClient.GetStream(); |
|||
while (!m_ExitRequested) |
|||
{ |
|||
var collaborationData = new ARCollaborationData(); |
|||
int queueSize = 0; |
|||
lock (m_CollaborationDataSendQueue) |
|||
{ |
|||
if (m_CollaborationDataSendQueue.Count > 0) |
|||
{ |
|||
collaborationData = m_CollaborationDataSendQueue.Dequeue(); |
|||
} |
|||
queueSize = m_CollaborationDataSendQueue.Count; |
|||
} |
|||
|
|||
if (collaborationData.valid) |
|||
{ |
|||
using (collaborationData) |
|||
{ |
|||
SendData(stream, collaborationData.bytes); |
|||
} |
|||
} |
|||
|
|||
if (queueSize == 0) |
|||
{ |
|||
// If there's nothing else in the queue at the moment,
|
|||
// then go to sleep for a bit.
|
|||
// Otherwise, immediately try to send the next one.
|
|||
Thread.Sleep(1); |
|||
} |
|||
} |
|||
} |
|||
|
|||
unsafe void ReadThreadProc() |
|||
{ |
|||
var stream = m_TcpClient.GetStream(); |
|||
while (!m_ExitRequested) |
|||
{ |
|||
if (stream.DataAvailable) |
|||
{ |
|||
var lengthBytes = ReadBytes(stream, sizeof(int)); |
|||
int expectedLength = IPAddress.NetworkToHostOrder(BitConverter.ToInt32(lengthBytes, 0)); |
|||
|
|||
if (expectedLength <= 0) |
|||
{ |
|||
Logger.Log($"Warning: received data of length {expectedLength}. Ignoring."); |
|||
} |
|||
else |
|||
{ |
|||
// Read incomming stream into byte arrary.
|
|||
var collaborationBytes = ReadBytes(stream, expectedLength); |
|||
var collaborationData = new ARCollaborationData(collaborationBytes); |
|||
if (collaborationData.valid) |
|||
{ |
|||
lock (m_CollaborationDataReadQueue) |
|||
{ |
|||
m_CollaborationDataReadQueue.Enqueue(collaborationData); |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
Logger.Log($"Received {expectedLength} bytes from remote host, but the collaboration data was not valid."); |
|||
} |
|||
} |
|||
} |
|||
|
|||
Thread.Sleep(1); |
|||
} |
|||
} |
|||
|
|||
void CheckForLocalCollaborationData(ARKitSessionSubsystem subsystem) |
|||
{ |
|||
// Check for new data and queue it
|
|||
if (subsystem.collaborationDataCount > 0) |
|||
{ |
|||
CollaborationNetworkingIndicator.NotifyHasCollaborationData(); |
|||
lock (m_CollaborationDataSendQueue) |
|||
{ |
|||
while (subsystem.collaborationDataCount > 0) |
|||
{ |
|||
m_CollaborationDataSendQueue.Enqueue(subsystem.DequeueCollaborationData()); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
unsafe void ProcessRemoteCollaborationData(ARKitSessionSubsystem subsystem) |
|||
{ |
|||
// Check for remote data and apply it
|
|||
lock (m_CollaborationDataReadQueue) |
|||
{ |
|||
while (m_CollaborationDataReadQueue.Count > 0) |
|||
{ |
|||
using (var collaborationData = m_CollaborationDataReadQueue.Dequeue()) |
|||
{ |
|||
// Only notify user concerning large data sizes
|
|||
if (collaborationData.bytes.Length > 1024) |
|||
{ |
|||
Logger.Log($"Received {collaborationData.bytes.Length} bytes from remote host. Updating session."); |
|||
} |
|||
|
|||
CollaborationNetworkingIndicator.NotifyIncomingDataReceived(); |
|||
|
|||
// Assume we only put in valid collaboration data into the queue.
|
|||
subsystem.UpdateWithCollaborationData(collaborationData); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
static byte[] ReadBytes(NetworkStream stream, int count) |
|||
{ |
|||
var bytes = new byte[count]; |
|||
int bytesRemaining = count; |
|||
int offset = 0; |
|||
|
|||
while (bytesRemaining > 0) |
|||
{ |
|||
int bytesRead = stream.Read(bytes, offset, bytesRemaining); |
|||
offset += bytesRead; |
|||
bytesRemaining -= bytesRead; |
|||
} |
|||
|
|||
return bytes; |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Send message to other device using socket connection.
|
|||
/// </summary>
|
|||
static void SendData(NetworkStream stream, NativeArray<byte> bytes) |
|||
{ |
|||
try |
|||
{ |
|||
var byteArray = bytes.ToArray(); |
|||
int length = IPAddress.HostToNetworkOrder(byteArray.Length); |
|||
var lengthBytes = BitConverter.GetBytes(length); |
|||
stream.Write(lengthBytes, 0, lengthBytes.Length); |
|||
stream.Write(byteArray, 0, byteArray.Length); |
|||
CollaborationNetworkingIndicator.NotifyOutgoingDataSent(); |
|||
|
|||
if (byteArray.Length > 1024) |
|||
{ |
|||
Logger.Log($"Sent {byteArray.Length} bytes to remote."); |
|||
} |
|||
} |
|||
catch (SocketException socketException) |
|||
{ |
|||
Logger.Log("Socket exception: " + socketException); |
|||
} |
|||
} |
|||
#endif
|
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 5a4eb4ee5b17a4cafa6d0e5cdb157fde |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System; |
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using System.Net; |
|||
using System.Net.Sockets; |
|||
using System.Text; |
|||
using System.Threading; |
|||
using UnityEngine; |
|||
using Unity.Collections; |
|||
|
|||
public class TCPServer : TCPConnection |
|||
{ |
|||
TcpListener m_TcpListener; |
|||
|
|||
protected override void OnEnable() |
|||
{ |
|||
base.OnEnable(); |
|||
|
|||
m_TcpListener = new TcpListener(IPAddress.Any, port); |
|||
m_TcpListener.Start(); |
|||
Logger.Log($"Listening for connection on port {port}..."); |
|||
} |
|||
|
|||
protected override void Update() |
|||
{ |
|||
if (m_TcpClient == null && m_TcpListener.Pending()) |
|||
{ |
|||
Logger.Log("Connection pending..."); |
|||
m_TcpClient = m_TcpListener.AcceptTcpClient(); |
|||
Logger.Log($"Connection established. {((IPEndPoint)m_TcpClient.Client.RemoteEndPoint).Address}"); |
|||
} |
|||
|
|||
base.Update(); |
|||
} |
|||
|
|||
protected override void OnDisable() |
|||
{ |
|||
base.OnDisable(); |
|||
|
|||
m_TcpListener.Stop(); |
|||
m_TcpListener = null; |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 6fc24ee8011574921a7d764defd91305 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!29 &1 |
|||
OcclusionCullingSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_OcclusionBakeSettings: |
|||
smallestOccluder: 5 |
|||
smallestHole: 0.25 |
|||
backfaceThreshold: 100 |
|||
m_SceneGUID: 00000000000000000000000000000000 |
|||
m_OcclusionCullingData: {fileID: 0} |
|||
--- !u!104 &2 |
|||
RenderSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 9 |
|||
m_Fog: 0 |
|||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} |
|||
m_FogMode: 3 |
|||
m_FogDensity: 0.01 |
|||
m_LinearFogStart: 0 |
|||
m_LinearFogEnd: 300 |
|||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} |
|||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} |
|||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} |
|||
m_AmbientIntensity: 1 |
|||
m_AmbientMode: 0 |
|||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} |
|||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} |
|||
m_HaloStrength: 0.5 |
|||
m_FlareStrength: 1 |
|||
m_FlareFadeSpeed: 3 |
|||
m_HaloTexture: {fileID: 0} |
|||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} |
|||
m_DefaultReflectionMode: 0 |
|||
m_DefaultReflectionResolution: 128 |
|||
m_ReflectionBounces: 1 |
|||
m_ReflectionIntensity: 1 |
|||
m_CustomReflection: {fileID: 0} |
|||
m_Sun: {fileID: 0} |
|||
m_IndirectSpecularColor: {r: 0.44657898, g: 0.49641287, b: 0.5748173, a: 1} |
|||
m_UseRadianceAmbientProbe: 0 |
|||
--- !u!157 &3 |
|||
LightmapSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 11 |
|||
m_GIWorkflowMode: 0 |
|||
m_GISettings: |
|||
serializedVersion: 2 |
|||
m_BounceScale: 1 |
|||
m_IndirectOutputScale: 1 |
|||
m_AlbedoBoost: 1 |
|||
m_EnvironmentLightingMode: 0 |
|||
m_EnableBakedLightmaps: 1 |
|||
m_EnableRealtimeLightmaps: 0 |
|||
m_LightmapEditorSettings: |
|||
serializedVersion: 12 |
|||
m_Resolution: 2 |
|||
m_BakeResolution: 10 |
|||
m_AtlasSize: 512 |
|||
m_AO: 0 |
|||
m_AOMaxDistance: 1 |
|||
m_CompAOExponent: 1 |
|||
m_CompAOExponentDirect: 0 |
|||
m_ExtractAmbientOcclusion: 0 |
|||
m_Padding: 2 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_LightmapsBakeMode: 1 |
|||
m_TextureCompression: 1 |
|||
m_FinalGather: 0 |
|||
m_FinalGatherFiltering: 1 |
|||
m_FinalGatherRayCount: 256 |
|||
m_ReflectionCompression: 2 |
|||
m_MixedBakeMode: 2 |
|||
m_BakeBackend: 1 |
|||
m_PVRSampling: 1 |
|||
m_PVRDirectSampleCount: 32 |
|||
m_PVRSampleCount: 256 |
|||
m_PVRBounces: 2 |
|||
m_PVREnvironmentSampleCount: 256 |
|||
m_PVREnvironmentReferencePointCount: 2048 |
|||
m_PVRFilteringMode: 2 |
|||
m_PVRDenoiserTypeDirect: 0 |
|||
m_PVRDenoiserTypeIndirect: 0 |
|||
m_PVRDenoiserTypeAO: 0 |
|||
m_PVRFilterTypeDirect: 0 |
|||
m_PVRFilterTypeIndirect: 0 |
|||
m_PVRFilterTypeAO: 0 |
|||
m_PVREnvironmentMIS: 0 |
|||
m_PVRCulling: 1 |
|||
m_PVRFilteringGaussRadiusDirect: 1 |
|||
m_PVRFilteringGaussRadiusIndirect: 5 |
|||
m_PVRFilteringGaussRadiusAO: 2 |
|||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5 |
|||
m_PVRFilteringAtrousPositionSigmaIndirect: 2 |
|||
m_PVRFilteringAtrousPositionSigmaAO: 1 |
|||
m_ShowResolutionOverlay: 1 |
|||
m_ExportTrainingData: 0 |
|||
m_LightingDataAsset: {fileID: 0} |
|||
m_UseShadowmask: 1 |
|||
--- !u!196 &4 |
|||
NavMeshSettings: |
|||
serializedVersion: 2 |
|||
m_ObjectHideFlags: 0 |
|||
m_BuildSettings: |
|||
serializedVersion: 2 |
|||
agentTypeID: 0 |
|||
agentRadius: 0.5 |
|||
agentHeight: 2 |
|||
agentSlope: 45 |
|||
agentClimb: 0.4 |
|||
ledgeDropHeight: 0 |
|||
maxJumpAcrossDistance: 0 |
|||
minRegionArea: 2 |
|||
manualCellSize: 0 |
|||
cellSize: 0.16666667 |
|||
manualTileSize: 0 |
|||
tileSize: 256 |
|||
accuratePlacement: 0 |
|||
debug: |
|||
m_Flags: 0 |
|||
m_NavMeshData: {fileID: 0} |
|||
--- !u!1 &282840810 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 282840814} |
|||
- component: {fileID: 282840813} |
|||
- component: {fileID: 282840811} |
|||
- component: {fileID: 282840815} |
|||
- component: {fileID: 282840816} |
|||
- component: {fileID: 282840812} |
|||
- component: {fileID: 282840817} |
|||
m_Layer: 0 |
|||
m_Name: AR Camera |
|||
m_TagString: MainCamera |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!81 &282840811 |
|||
AudioListener: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
--- !u!114 &282840812 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 816b289ef451e094f9ae174fb4cf8db0, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_UseCustomMaterial: 0 |
|||
m_CustomMaterial: {fileID: 0} |
|||
m_UseCustomRendererAsset: 0 |
|||
m_CustomRendererAsset: {fileID: 0} |
|||
--- !u!20 &282840813 |
|||
Camera: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_ClearFlags: 2 |
|||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} |
|||
m_projectionMatrixMode: 1 |
|||
m_GateFitMode: 2 |
|||
m_FOVAxisMode: 0 |
|||
m_SensorSize: {x: 36, y: 24} |
|||
m_LensShift: {x: 0, y: 0} |
|||
m_FocalLength: 50 |
|||
m_NormalizedViewPortRect: |
|||
serializedVersion: 2 |
|||
x: 0 |
|||
y: 0 |
|||
width: 1 |
|||
height: 1 |
|||
near clip plane: 0.1 |
|||
far clip plane: 20 |
|||
field of view: 60 |
|||
orthographic: 0 |
|||
orthographic size: 5 |
|||
m_Depth: 0 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 311 |
|||
m_RenderingPath: -1 |
|||
m_TargetTexture: {fileID: 0} |
|||
m_TargetDisplay: 0 |
|||
m_TargetEye: 3 |
|||
m_HDR: 1 |
|||
m_AllowMSAA: 1 |
|||
m_AllowDynamicResolution: 0 |
|||
m_ForceIntoRT: 0 |
|||
m_OcclusionCulling: 1 |
|||
m_StereoConvergence: 10 |
|||
m_StereoSeparation: 0.022 |
|||
--- !u!4 &282840814 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 1335839535} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!114 &282840815 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 5a2a9c34df4095f47b9ca8f975175f5b, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Device: 0 |
|||
m_PoseSource: 6 |
|||
m_PoseProviderComponent: {fileID: 0} |
|||
m_TrackingType: 0 |
|||
m_UpdateType: 0 |
|||
m_UseRelativeTransform: 1 |
|||
--- !u!114 &282840816 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 4966719baa26e4b0e8231a24d9bd491a, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_FocusMode: 1 |
|||
m_LightEstimationMode: 0 |
|||
--- !u!114 &282840817 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: df5a70088ca42443ebe4c6b2346d7e5e, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_ARCamera: {fileID: 282840813} |
|||
m_HumanBodyManager: {fileID: 1335839536} |
|||
m_LineRendererPrefab: {fileID: 1780351997603834617, guid: a52b49b9ddc724c198fda9937a7fced0, |
|||
type: 3} |
|||
--- !u!1 &427002218 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 427002220} |
|||
- component: {fileID: 427002219} |
|||
- component: {fileID: 427002222} |
|||
- component: {fileID: 427002221} |
|||
m_Layer: 0 |
|||
m_Name: AR Session |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &427002219 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 427002218} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 3859a92a05d4f5d418cb6ca605290e74, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_AttemptUpdate: 1 |
|||
--- !u!4 &427002220 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 427002218} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!114 &427002221 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 427002218} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 1eb9777efa8174381b01d319232f7df5, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_TargetFrameRate: 60 |
|||
--- !u!114 &427002222 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 427002218} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: fa850fbd5b8aded44846f96e35f1a9f5, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
--- !u!1 &1015722065 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1015722067} |
|||
- component: {fileID: 1015722066} |
|||
m_Layer: 0 |
|||
m_Name: Directional Light |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!108 &1015722066 |
|||
Light: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1015722065} |
|||
m_Enabled: 1 |
|||
serializedVersion: 9 |
|||
m_Type: 1 |
|||
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} |
|||
m_Intensity: 1 |
|||
m_Range: 10 |
|||
m_SpotAngle: 30 |
|||
m_InnerSpotAngle: 21.802082 |
|||
m_CookieSize: 10 |
|||
m_Shadows: |
|||
m_Type: 2 |
|||
m_Resolution: -1 |
|||
m_CustomResolution: -1 |
|||
m_Strength: 1 |
|||
m_Bias: 0.05 |
|||
m_NormalBias: 0.4 |
|||
m_NearPlane: 0.2 |
|||
m_CullingMatrixOverride: |
|||
e00: 1 |
|||
e01: 0 |
|||
e02: 0 |
|||
e03: 0 |
|||
e10: 0 |
|||
e11: 1 |
|||
e12: 0 |
|||
e13: 0 |
|||
e20: 0 |
|||
e21: 0 |
|||
e22: 1 |
|||
e23: 0 |
|||
e30: 0 |
|||
e31: 0 |
|||
e32: 0 |
|||
e33: 1 |
|||
m_UseCullingMatrixOverride: 0 |
|||
m_Cookie: {fileID: 0} |
|||
m_DrawHalo: 0 |
|||
m_Flare: {fileID: 0} |
|||
m_RenderMode: 0 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
m_RenderingLayerMask: 1 |
|||
m_Lightmapping: 4 |
|||
m_LightShadowCasterMode: 0 |
|||
m_AreaSize: {x: 1, y: 1} |
|||
m_BounceIntensity: 1 |
|||
m_ColorTemperature: 6570 |
|||
m_UseColorTemperature: 0 |
|||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} |
|||
m_UseBoundingSphereOverride: 0 |
|||
m_ShadowRadius: 0 |
|||
m_ShadowAngle: 0 |
|||
--- !u!4 &1015722067 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1015722065} |
|||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} |
|||
m_LocalPosition: {x: 0, y: 3, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} |
|||
--- !u!1 &1335839533 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1335839535} |
|||
- component: {fileID: 1335839534} |
|||
- component: {fileID: 1335839536} |
|||
m_Layer: 0 |
|||
m_Name: AR Session Origin |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &1335839534 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1335839533} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 520bb47c46cf8624fafb307b7d1b862a, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Camera: {fileID: 282840813} |
|||
--- !u!4 &1335839535 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1335839533} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: |
|||
- {fileID: 282840814} |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 2 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!114 &1335839536 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1335839533} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 9e5861fe4d817477986290fde61dbc8c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_HumanBodyPoseEstimationEnabled: 1 |
|||
m_HumanSegmentationStencilMode: 0 |
|||
m_HumanSegmentationDepthMode: 0 |
|||
m_HumanBodyPrefab: {fileID: 0} |
|
|||
fileFormatVersion: 2 |
|||
guid: b2551dd1f69e7446e9093f0f38e03160 |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!29 &1 |
|||
OcclusionCullingSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_OcclusionBakeSettings: |
|||
smallestOccluder: 5 |
|||
smallestHole: 0.25 |
|||
backfaceThreshold: 100 |
|||
m_SceneGUID: 00000000000000000000000000000000 |
|||
m_OcclusionCullingData: {fileID: 0} |
|||
--- !u!104 &2 |
|||
RenderSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 9 |
|||
m_Fog: 0 |
|||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} |
|||
m_FogMode: 3 |
|||
m_FogDensity: 0.01 |
|||
m_LinearFogStart: 0 |
|||
m_LinearFogEnd: 300 |
|||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} |
|||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} |
|||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} |
|||
m_AmbientIntensity: 1 |
|||
m_AmbientMode: 0 |
|||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} |
|||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} |
|||
m_HaloStrength: 0.5 |
|||
m_FlareStrength: 1 |
|||
m_FlareFadeSpeed: 3 |
|||
m_HaloTexture: {fileID: 0} |
|||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} |
|||
m_DefaultReflectionMode: 0 |
|||
m_DefaultReflectionResolution: 128 |
|||
m_ReflectionBounces: 1 |
|||
m_ReflectionIntensity: 1 |
|||
m_CustomReflection: {fileID: 0} |
|||
m_Sun: {fileID: 0} |
|||
m_IndirectSpecularColor: {r: 0.44657898, g: 0.49641287, b: 0.5748173, a: 1} |
|||
m_UseRadianceAmbientProbe: 0 |
|||
--- !u!157 &3 |
|||
LightmapSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 11 |
|||
m_GIWorkflowMode: 0 |
|||
m_GISettings: |
|||
serializedVersion: 2 |
|||
m_BounceScale: 1 |
|||
m_IndirectOutputScale: 1 |
|||
m_AlbedoBoost: 1 |
|||
m_EnvironmentLightingMode: 0 |
|||
m_EnableBakedLightmaps: 1 |
|||
m_EnableRealtimeLightmaps: 0 |
|||
m_LightmapEditorSettings: |
|||
serializedVersion: 12 |
|||
m_Resolution: 2 |
|||
m_BakeResolution: 10 |
|||
m_AtlasSize: 512 |
|||
m_AO: 0 |
|||
m_AOMaxDistance: 1 |
|||
m_CompAOExponent: 1 |
|||
m_CompAOExponentDirect: 0 |
|||
m_ExtractAmbientOcclusion: 0 |
|||
m_Padding: 2 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_LightmapsBakeMode: 1 |
|||
m_TextureCompression: 1 |
|||
m_FinalGather: 0 |
|||
m_FinalGatherFiltering: 1 |
|||
m_FinalGatherRayCount: 256 |
|||
m_ReflectionCompression: 2 |
|||
m_MixedBakeMode: 2 |
|||
m_BakeBackend: 1 |
|||
m_PVRSampling: 1 |
|||
m_PVRDirectSampleCount: 32 |
|||
m_PVRSampleCount: 256 |
|||
m_PVRBounces: 2 |
|||
m_PVREnvironmentSampleCount: 256 |
|||
m_PVREnvironmentReferencePointCount: 2048 |
|||
m_PVRFilteringMode: 2 |
|||
m_PVRDenoiserTypeDirect: 0 |
|||
m_PVRDenoiserTypeIndirect: 0 |
|||
m_PVRDenoiserTypeAO: 0 |
|||
m_PVRFilterTypeDirect: 0 |
|||
m_PVRFilterTypeIndirect: 0 |
|||
m_PVRFilterTypeAO: 0 |
|||
m_PVREnvironmentMIS: 0 |
|||
m_PVRCulling: 1 |
|||
m_PVRFilteringGaussRadiusDirect: 1 |
|||
m_PVRFilteringGaussRadiusIndirect: 5 |
|||
m_PVRFilteringGaussRadiusAO: 2 |
|||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5 |
|||
m_PVRFilteringAtrousPositionSigmaIndirect: 2 |
|||
m_PVRFilteringAtrousPositionSigmaAO: 1 |
|||
m_ShowResolutionOverlay: 1 |
|||
m_ExportTrainingData: 0 |
|||
m_LightingDataAsset: {fileID: 0} |
|||
m_UseShadowmask: 1 |
|||
--- !u!196 &4 |
|||
NavMeshSettings: |
|||
serializedVersion: 2 |
|||
m_ObjectHideFlags: 0 |
|||
m_BuildSettings: |
|||
serializedVersion: 2 |
|||
agentTypeID: 0 |
|||
agentRadius: 0.5 |
|||
agentHeight: 2 |
|||
agentSlope: 45 |
|||
agentClimb: 0.4 |
|||
ledgeDropHeight: 0 |
|||
maxJumpAcrossDistance: 0 |
|||
minRegionArea: 2 |
|||
manualCellSize: 0 |
|||
cellSize: 0.16666667 |
|||
manualTileSize: 0 |
|||
tileSize: 256 |
|||
accuratePlacement: 0 |
|||
debug: |
|||
m_Flags: 0 |
|||
m_NavMeshData: {fileID: 0} |
|||
--- !u!1 &282840810 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 282840814} |
|||
- component: {fileID: 282840813} |
|||
- component: {fileID: 282840811} |
|||
- component: {fileID: 282840815} |
|||
- component: {fileID: 282840816} |
|||
- component: {fileID: 282840812} |
|||
m_Layer: 0 |
|||
m_Name: AR Camera |
|||
m_TagString: MainCamera |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!81 &282840811 |
|||
AudioListener: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
--- !u!114 &282840812 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 816b289ef451e094f9ae174fb4cf8db0, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_UseCustomMaterial: 0 |
|||
m_CustomMaterial: {fileID: 0} |
|||
m_UseCustomRendererAsset: 0 |
|||
m_CustomRendererAsset: {fileID: 0} |
|||
--- !u!20 &282840813 |
|||
Camera: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_ClearFlags: 2 |
|||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} |
|||
m_projectionMatrixMode: 1 |
|||
m_GateFitMode: 2 |
|||
m_FOVAxisMode: 0 |
|||
m_SensorSize: {x: 36, y: 24} |
|||
m_LensShift: {x: 0, y: 0} |
|||
m_FocalLength: 50 |
|||
m_NormalizedViewPortRect: |
|||
serializedVersion: 2 |
|||
x: 0 |
|||
y: 0 |
|||
width: 1 |
|||
height: 1 |
|||
near clip plane: 0.1 |
|||
far clip plane: 20 |
|||
field of view: 60 |
|||
orthographic: 0 |
|||
orthographic size: 5 |
|||
m_Depth: 0 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 311 |
|||
m_RenderingPath: -1 |
|||
m_TargetTexture: {fileID: 0} |
|||
m_TargetDisplay: 0 |
|||
m_TargetEye: 3 |
|||
m_HDR: 1 |
|||
m_AllowMSAA: 1 |
|||
m_AllowDynamicResolution: 0 |
|||
m_ForceIntoRT: 0 |
|||
m_OcclusionCulling: 1 |
|||
m_StereoConvergence: 10 |
|||
m_StereoSeparation: 0.022 |
|||
--- !u!4 &282840814 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 1335839535} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!114 &282840815 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 5a2a9c34df4095f47b9ca8f975175f5b, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Device: 0 |
|||
m_PoseSource: 6 |
|||
m_PoseProviderComponent: {fileID: 0} |
|||
m_TrackingType: 0 |
|||
m_UpdateType: 0 |
|||
m_UseRelativeTransform: 1 |
|||
--- !u!114 &282840816 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 282840810} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 4966719baa26e4b0e8231a24d9bd491a, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_FocusMode: 1 |
|||
m_LightEstimationMode: 0 |
|||
--- !u!1 &427002218 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 427002220} |
|||
- component: {fileID: 427002219} |
|||
- component: {fileID: 427002222} |
|||
- component: {fileID: 427002221} |
|||
m_Layer: 0 |
|||
m_Name: AR Session |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &427002219 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 427002218} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 3859a92a05d4f5d418cb6ca605290e74, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_AttemptUpdate: 1 |
|||
--- !u!4 &427002220 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 427002218} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!114 &427002221 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 427002218} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 1eb9777efa8174381b01d319232f7df5, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_TargetFrameRate: 60 |
|||
--- !u!114 &427002222 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 427002218} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: fa850fbd5b8aded44846f96e35f1a9f5, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
--- !u!1 &1015722065 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1015722067} |
|||
- component: {fileID: 1015722066} |
|||
m_Layer: 0 |
|||
m_Name: Directional Light |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!108 &1015722066 |
|||
Light: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1015722065} |
|||
m_Enabled: 1 |
|||
serializedVersion: 9 |
|||
m_Type: 1 |
|||
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} |
|||
m_Intensity: 1 |
|||
m_Range: 10 |
|||
m_SpotAngle: 30 |
|||
m_InnerSpotAngle: 21.802082 |
|||
m_CookieSize: 10 |
|||
m_Shadows: |
|||
m_Type: 2 |
|||
m_Resolution: -1 |
|||
m_CustomResolution: -1 |
|||
m_Strength: 1 |
|||
m_Bias: 0.05 |
|||
m_NormalBias: 0.4 |
|||
m_NearPlane: 0.2 |
|||
m_CullingMatrixOverride: |
|||
e00: 1 |
|||
e01: 0 |
|||
e02: 0 |
|||
e03: 0 |
|||
e10: 0 |
|||
e11: 1 |
|||
e12: 0 |
|||
e13: 0 |
|||
e20: 0 |
|||
e21: 0 |
|||
e22: 1 |
|||
e23: 0 |
|||
e30: 0 |
|||
e31: 0 |
|||
e32: 0 |
|||
e33: 1 |
|||
m_UseCullingMatrixOverride: 0 |
|||
m_Cookie: {fileID: 0} |
|||
m_DrawHalo: 0 |
|||
m_Flare: {fileID: 0} |
|||
m_RenderMode: 0 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
m_RenderingLayerMask: 1 |
|||
m_Lightmapping: 4 |
|||
m_LightShadowCasterMode: 0 |
|||
m_AreaSize: {x: 1, y: 1} |
|||
m_BounceIntensity: 1 |
|||
m_ColorTemperature: 6570 |
|||
m_UseColorTemperature: 0 |
|||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} |
|||
m_UseBoundingSphereOverride: 0 |
|||
m_ShadowRadius: 0 |
|||
m_ShadowAngle: 0 |
|||
--- !u!4 &1015722067 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1015722065} |
|||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} |
|||
m_LocalPosition: {x: 0, y: 3, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} |
|||
--- !u!1 &1148677825 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1148677828} |
|||
- component: {fileID: 1148677827} |
|||
- component: {fileID: 1148677826} |
|||
m_Layer: 0 |
|||
m_Name: EventSystem |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &1148677826 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1148677825} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_HorizontalAxis: Horizontal |
|||
m_VerticalAxis: Vertical |
|||
m_SubmitButton: Submit |
|||
m_CancelButton: Cancel |
|||
m_InputActionsPerSecond: 10 |
|||
m_RepeatDelay: 0.5 |
|||
m_ForceModuleActive: 0 |
|||
--- !u!114 &1148677827 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1148677825} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_FirstSelected: {fileID: 0} |
|||
m_sendNavigationEvents: 1 |
|||
m_DragThreshold: 10 |
|||
--- !u!4 &1148677828 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1148677825} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 3 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &1335839533 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1335839535} |
|||
- component: {fileID: 1335839534} |
|||
- component: {fileID: 1335839536} |
|||
m_Layer: 0 |
|||
m_Name: AR Session Origin |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &1335839534 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1335839533} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 520bb47c46cf8624fafb307b7d1b862a, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Camera: {fileID: 282840813} |
|||
--- !u!4 &1335839535 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1335839533} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: |
|||
- {fileID: 282840814} |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 2 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!114 &1335839536 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1335839533} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 9e5861fe4d817477986290fde61dbc8c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_HumanBodyPoseEstimationEnabled: 1 |
|||
m_HumanSegmentationStencilMode: 0 |
|||
m_HumanSegmentationDepthMode: 0 |
|||
m_HumanBodyPrefab: {fileID: 1934569588295450, guid: b34b6c8f1206a6844b983e23b9da0441, |
|||
type: 3} |
|||
--- !u!1 &1959473036 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
serializedVersion: 6 |
|||
m_Component: |
|||
- component: {fileID: 1959473038} |
|||
- component: {fileID: 1959473037} |
|||
m_Layer: 0 |
|||
m_Name: Human Body Tracking |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &1959473037 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1959473036} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: a70310605953942b396590064b0a3830, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_HumanBodyManager: {fileID: 1335839536} |
|||
m_HeadPrefab: {fileID: 1237402283603786, guid: 2e80f2e009b5347149ebaae6d96ddfb8, |
|||
type: 3} |
|||
--- !u!4 &1959473038 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_CorrespondingSourceObject: {fileID: 0} |
|||
m_PrefabInstance: {fileID: 0} |
|||
m_PrefabAsset: {fileID: 0} |
|||
m_GameObject: {fileID: 1959473036} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 4 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|
|||
fileFormatVersion: 2 |
|||
guid: 9fc1f5ed98d414310a8b9e659c295d7c |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
1001
Assets/Scenes/HumanSegmentation/HumanSegmentationImages.unity
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: ed5207d50697d40d688249cd6c59608b |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
撰写
预览
正在加载...
取消
保存
Reference in new issue