v1.0.3 MRTKv2 support.
Hololens 10.0.17763.914 (RS5) Windows 10 SDK 10.0.18362.0 Visual Studio 2017 or 2019 Unity 2018.4.7f1+ Microsoft Mixed Reality Toolkit v2.2.0 OpenCVForUnity 2.3.7+ HoloLensCameraStream
This commit is contained in:
Родитель
d435038975
Коммит
ca256644c9
|
@ -6,7 +6,7 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
[System.Serializable]
|
||||
public struct CameraParameters
|
||||
{
|
||||
public string calibration_date;
|
||||
public string calibration_date;
|
||||
public int frames_count;
|
||||
public int image_width;
|
||||
public int image_height;
|
||||
|
@ -15,9 +15,9 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
public double[] distortion_coefficients;
|
||||
public double avg_reprojection_error;
|
||||
|
||||
public CameraParameters (int frames_count, int image_width, int image_height, int calibration_flags, double[] camera_matrix, double[] distortion_coefficients, double avg_reprojection_error)
|
||||
public CameraParameters(int frames_count, int image_width, int image_height, int calibration_flags, double[] camera_matrix, double[] distortion_coefficients, double avg_reprojection_error)
|
||||
{
|
||||
this.calibration_date = DateTime.Now.ToString ();
|
||||
this.calibration_date = DateTime.Now.ToString();
|
||||
this.frames_count = frames_count;
|
||||
this.image_width = image_width;
|
||||
this.image_height = image_height;
|
||||
|
@ -27,15 +27,15 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
this.avg_reprojection_error = avg_reprojection_error;
|
||||
}
|
||||
|
||||
public CameraParameters (int frames_count, int image_width, int image_height, int calibration_flags, Mat camera_matrix, Mat distortion_coefficients, double avg_reprojection_error)
|
||||
public CameraParameters(int frames_count, int image_width, int image_height, int calibration_flags, Mat camera_matrix, Mat distortion_coefficients, double avg_reprojection_error)
|
||||
{
|
||||
double[] camera_matrixArr = new double[camera_matrix.total()];
|
||||
camera_matrix.get (0, 0, camera_matrixArr);
|
||||
camera_matrix.get(0, 0, camera_matrixArr);
|
||||
|
||||
double[] distortion_coefficientsArr = new double[distortion_coefficients.total()];
|
||||
distortion_coefficients.get (0, 0, distortion_coefficientsArr);
|
||||
distortion_coefficients.get(0, 0, distortion_coefficientsArr);
|
||||
|
||||
this.calibration_date = DateTime.Now.ToString ();
|
||||
this.calibration_date = DateTime.Now.ToString();
|
||||
this.frames_count = frames_count;
|
||||
this.image_width = image_width;
|
||||
this.image_height = image_height;
|
||||
|
@ -45,17 +45,17 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
this.avg_reprojection_error = avg_reprojection_error;
|
||||
}
|
||||
|
||||
public Mat GetCameraMatrix ()
|
||||
public Mat GetCameraMatrix()
|
||||
{
|
||||
Mat m = new Mat (3, 3, CvType.CV_64FC1);
|
||||
m.put (0, 0, camera_matrix);
|
||||
Mat m = new Mat(3, 3, CvType.CV_64FC1);
|
||||
m.put(0, 0, camera_matrix);
|
||||
return m;
|
||||
}
|
||||
|
||||
public Mat GetDistortionCoefficients ()
|
||||
public Mat GetDistortionCoefficients()
|
||||
{
|
||||
Mat m = new Mat (distortion_coefficients.Length, 1, CvType.CV_64FC1);
|
||||
m.put (0, 0, distortion_coefficients);
|
||||
Mat m = new Mat(distortion_coefficients.Length, 1, CvType.CV_64FC1);
|
||||
m.put(0, 0, distortion_coefficients);
|
||||
return m;
|
||||
}
|
||||
}
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -20,11 +20,11 @@ RenderSettings:
|
|||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
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: 3
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 0}
|
||||
m_HaloStrength: 0.5
|
||||
|
@ -55,23 +55,23 @@ LightmapSettings:
|
|||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 10
|
||||
m_Resolution: 1
|
||||
m_BakeResolution: 50
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 0
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 0
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 1024
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 1
|
||||
m_BakeBackend: 0
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
|
@ -79,7 +79,7 @@ LightmapSettings:
|
|||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVRFilteringMode: 0
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
|
@ -89,7 +89,7 @@ LightmapSettings:
|
|||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ShowResolutionOverlay: 1
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 0
|
||||
m_UseShadowmask: 1
|
||||
--- !u!196 &5
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
|
@ -769,8 +769,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -880,6 +880,148 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 229363022}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &245608064
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 245608065}
|
||||
- component: {fileID: 245608070}
|
||||
- component: {fileID: 245608069}
|
||||
- component: {fileID: 245608068}
|
||||
- component: {fileID: 245608067}
|
||||
- component: {fileID: 245608066}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &245608065
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 245608064}
|
||||
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: 723285959}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &245608066
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 245608064}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bf98dd1206224111a38765365e98e207, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
setCursorInvisibleWhenFocusLocked: 0
|
||||
maxGazeCollisionDistance: 10
|
||||
raycastLayerMasks:
|
||||
- serializedVersion: 2
|
||||
m_Bits: 4294967291
|
||||
stabilizer:
|
||||
storedStabilitySamples: 60
|
||||
gazeTransform: {fileID: 0}
|
||||
minHeadVelocityThreshold: 0.5
|
||||
maxHeadVelocityThreshold: 2
|
||||
useEyeTracking: 1
|
||||
--- !u!114 &245608067
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 245608064}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7a21b486d0bb44444b1418aaa38b44de, 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 &245608068
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 245608064}
|
||||
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!81 &245608069
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 245608064}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &245608070
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 245608064}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_projectionMatrixMode: 1
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_GateFitMode: 2
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!1 &254324689
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1054,8 +1196,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -1247,10 +1389,7 @@ GameObject:
|
|||
- component: {fileID: 313085504}
|
||||
- component: {fileID: 313085503}
|
||||
- component: {fileID: 313085502}
|
||||
- component: {fileID: 313085501}
|
||||
- component: {fileID: 313085500}
|
||||
- component: {fileID: 313085499}
|
||||
- component: {fileID: 313085507}
|
||||
m_Layer: 5
|
||||
m_Name: Canvas
|
||||
m_TagString: Untagged
|
||||
|
@ -1267,49 +1406,9 @@ MonoBehaviour:
|
|||
m_GameObject: {fileID: 313085498}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ac8d5b128a1d8204fb76c86f47b75912, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: ff4e3b9019304b5aaec5664de0778d21, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
pivotAxis: 0
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &313085500
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 313085498}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2be8bd2ebd8277c448d6d81c75517fee, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
TagalongDistance: 2
|
||||
EnforceDistance: 1
|
||||
PositionUpdateSpeed: 9.8
|
||||
SmoothMotion: 1
|
||||
SmoothingFactor: 0.75
|
||||
--- !u!114 &313085501
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 313085498}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fb69de839bd015f4099b5bd2c45e53e5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
UseUnscaledTime: 1
|
||||
PositionPerSecond: 30
|
||||
RotationDegreesPerSecond: 720
|
||||
RotationSpeedScaler: 0
|
||||
ScalePerSecond: 5
|
||||
SmoothLerpToTarget: 0
|
||||
SmoothPositionLerpRatio: 0.5
|
||||
SmoothRotationLerpRatio: 0.5
|
||||
SmoothScaleLerpRatio: 0.5
|
||||
--- !u!65 &313085502
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1372,7 +1471,7 @@ Canvas:
|
|||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 2
|
||||
m_Camera: {fileID: 414521312}
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
|
@ -1390,32 +1489,19 @@ RectTransform:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 313085498}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 2}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.001, y: 0.001, z: 0.001}
|
||||
m_Children:
|
||||
- {fileID: 1419009409}
|
||||
m_Father: {fileID: 0}
|
||||
m_Father: {fileID: 1559141760}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 800, y: 496.1241}
|
||||
m_SizeDelta: {x: 640, y: 480}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &313085507
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 313085498}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2aebab3047f2113489ca3eb8423228b6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Canvas: {fileID: 313085505}
|
||||
--- !u!1 &315922390
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1679,58 +1765,6 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 412044042}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1001 &414521311
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 3
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 114742747811649402, guid: 3eddd1c29199313478dd3f912bfab2ab,
|
||||
type: 3}
|
||||
propertyPath: Cursor
|
||||
value:
|
||||
objectReference: {fileID: 1793930089}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
--- !u!20 &414521312 stripped
|
||||
Camera:
|
||||
m_CorrespondingSourceObject: {fileID: 20049547090947856, guid: 3eddd1c29199313478dd3f912bfab2ab,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 414521311}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &421401889
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2307,8 +2341,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -2765,6 +2799,37 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_ShowMaskGraphic: 0
|
||||
--- !u!1 &723285958
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 723285959}
|
||||
m_Layer: 0
|
||||
m_Name: MixedRealityPlayspace
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &723285959
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 723285958}
|
||||
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: 245608065}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &724712449
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2848,8 +2913,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -3223,8 +3288,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -3379,6 +3444,50 @@ MonoBehaviour:
|
|||
m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
|
||||
Culture=neutral, PublicKeyToken=null
|
||||
m_IsOn: 1
|
||||
--- !u!1 &1070256233
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1070256235}
|
||||
- component: {fileID: 1070256234}
|
||||
m_Layer: 0
|
||||
m_Name: MixedRealityToolkit
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1070256234
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1070256233}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 83d9acc7968244a8886f3af591305bcb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
activeProfile: {fileID: 11400000, guid: 019ea231fcd4127409ae7906b2996ee1, type: 2}
|
||||
--- !u!4 &1070256235
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1070256233}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1092023888
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -3572,52 +3681,6 @@ RectTransform:
|
|||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1001 &1151483541
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 20770519707920992, guid: d29bc40b7f3df26479d6a0aac211c355,
|
||||
type: 3}
|
||||
propertyPath: far clip plane
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
--- !u!1 &1160862974
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -3782,8 +3845,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -4017,8 +4080,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -4108,7 +4171,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &1224273891
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -4125,10 +4188,10 @@ RectTransform:
|
|||
m_Father: {fileID: 1419009409}
|
||||
m_RootOrder: 8
|
||||
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_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 90, y: -230}
|
||||
m_SizeDelta: {x: 160, y: 40}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1224273892
|
||||
MonoBehaviour:
|
||||
|
@ -4173,8 +4236,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -4357,8 +4420,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -5618,8 +5681,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -5689,6 +5752,89 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1499899213}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1559141757
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1559141760}
|
||||
- component: {fileID: 1559141759}
|
||||
- component: {fileID: 1559141758}
|
||||
m_Layer: 0
|
||||
m_Name: UnityUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1559141758
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1559141757}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4684083f6dff4a1d8a790bccc354fcf4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
updateLinkedTransform: 0
|
||||
moveLerpTime: 0.1
|
||||
rotateLerpTime: 0.1
|
||||
scaleLerpTime: 0
|
||||
maintainScale: 1
|
||||
smoothing: 1
|
||||
lifetime: 0
|
||||
referenceDirection: 1
|
||||
minDistance: 1
|
||||
maxDistance: 2
|
||||
minViewDegrees: 0
|
||||
maxViewDegrees: 15
|
||||
aspectV: 1
|
||||
ignoreAngleClamp: 0
|
||||
ignoreDistanceClamp: 0
|
||||
useFixedVerticalPosition: 0
|
||||
fixedVerticalPosition: -0.4
|
||||
orientToReferenceDirection: 0
|
||||
--- !u!114 &1559141759
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1559141757}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b55691ad5b034fe6966763a6e23818d2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
trackedTargetType: 0
|
||||
trackedHandness: 3
|
||||
trackedHandJoint: 2
|
||||
transformOverride: {fileID: 0}
|
||||
additionalOffset: {x: 0, y: 0, z: 0}
|
||||
additionalRotation: {x: 0, y: 0, z: 0}
|
||||
updateSolvers: 1
|
||||
--- !u!4 &1559141760
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1559141757}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 2}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1764784696}
|
||||
- {fileID: 313085506}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1574495391
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -5974,8 +6120,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -6145,8 +6291,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -6248,6 +6394,7 @@ GameObject:
|
|||
- component: {fileID: 1709852085}
|
||||
- component: {fileID: 1709852088}
|
||||
- component: {fileID: 1709852087}
|
||||
- component: {fileID: 1709852082}
|
||||
m_Layer: 0
|
||||
m_Name: HoloLensArUcoCameraCalibrationExample
|
||||
m_TagString: Untagged
|
||||
|
@ -6255,6 +6402,51 @@ GameObject:
|
|||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1709852082
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1709852081}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b7e736ec19b1c5543a9bb27c150f94fb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
isFocusRequired: 0
|
||||
MarkEventsAsUsed: 0
|
||||
OnPointerDown:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_TypeName: Microsoft.MixedReality.Toolkit.Input.PointerUnityEvent, Microsoft.MixedReality.Toolkit.SDK,
|
||||
Version=2.2.0.0, Culture=neutral, PublicKeyToken=null
|
||||
OnPointerUp:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_TypeName: Microsoft.MixedReality.Toolkit.Input.PointerUnityEvent, Microsoft.MixedReality.Toolkit.SDK,
|
||||
Version=2.2.0.0, Culture=neutral, PublicKeyToken=null
|
||||
OnPointerClicked:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 1709852087}
|
||||
m_MethodName: OnTapped
|
||||
m_Mode: 0
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
m_TypeName: Microsoft.MixedReality.Toolkit.Input.PointerUnityEvent, Microsoft.MixedReality.Toolkit.SDK,
|
||||
Version=2.2.0.0, Culture=neutral, PublicKeyToken=null
|
||||
OnPointerDragged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_TypeName: Microsoft.MixedReality.Toolkit.Input.PointerUnityEvent, Microsoft.MixedReality.Toolkit.SDK,
|
||||
Version=2.2.0.0, Culture=neutral, PublicKeyToken=null
|
||||
--- !u!4 &1709852085
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -6281,7 +6473,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: f9a1576f5a2e5884ab5de1d7a3ef98de, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
previewQuad: {fileID: 1745299525}
|
||||
previewQuad: {fileID: 1764784692}
|
||||
markerType: 0
|
||||
markerTypeDropdown: {fileID: 1229642121}
|
||||
dictionaryId: 10
|
||||
|
@ -6364,7 +6556,7 @@ MonoBehaviour:
|
|||
m_TypeName: OpenCVForUnity.UnityUtils.Helper.WebCamTextureToMatHelper+ErrorUnityEvent,
|
||||
Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
avoidAndroidFrontCameraLowLightIssue: 0
|
||||
--- !u!1 &1745299525
|
||||
--- !u!1 &1764784692
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
|
@ -6372,10 +6564,10 @@ GameObject:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1745299526}
|
||||
- component: {fileID: 1745299529}
|
||||
- component: {fileID: 1745299528}
|
||||
- component: {fileID: 1745299527}
|
||||
- component: {fileID: 1764784696}
|
||||
- component: {fileID: 1764784695}
|
||||
- component: {fileID: 1764784694}
|
||||
- component: {fileID: 1764784693}
|
||||
m_Layer: 0
|
||||
m_Name: PreviewQuad
|
||||
m_TagString: Untagged
|
||||
|
@ -6383,27 +6575,13 @@ GameObject:
|
|||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1745299526
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1745299525}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -0.3, y: 0.2, z: 2.2}
|
||||
m_LocalScale: {x: 0.354, y: 0.2, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1765565190}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &1745299527
|
||||
--- !u!23 &1764784693
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1745299525}
|
||||
m_GameObject: {fileID: 1764784692}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
|
@ -6411,7 +6589,7 @@ MeshRenderer:
|
|||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RenderingLayerMask: 1
|
||||
m_RenderingLayerMask: 4294967295
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 56562dd66b290634b865ecdd615f8440, type: 2}
|
||||
|
@ -6434,13 +6612,13 @@ MeshRenderer:
|
|||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!64 &1745299528
|
||||
--- !u!64 &1764784694
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1745299525}
|
||||
m_GameObject: {fileID: 1764784692}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 0
|
||||
|
@ -6448,90 +6626,28 @@ MeshCollider:
|
|||
m_Convex: 0
|
||||
m_CookingOptions: 14
|
||||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!33 &1745299529
|
||||
--- !u!33 &1764784695
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1745299525}
|
||||
m_GameObject: {fileID: 1764784692}
|
||||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!4 &1765565190 stripped
|
||||
--- !u!4 &1764784696
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4587520633816736, guid: d29bc40b7f3df26479d6a0aac211c355,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1151483541}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1001 &1793930088
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 4
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 108000011213487996, guid: b2db04283121ca74495c2ee000fb4243,
|
||||
type: 3}
|
||||
propertyPath: m_Range
|
||||
value: 0.01
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
--- !u!114 &1793930089 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 114000013851064060, guid: b2db04283121ca74495c2ee000fb4243,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1793930088}
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: afa1ae235bc6cfa43addd1435e2fd822, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_GameObject: {fileID: 1764784692}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0.20000005}
|
||||
m_LocalScale: {x: 0.354, y: 0.2, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1559141760}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1793984378
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -7453,8 +7569,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.SceneManagement;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.IO;
|
||||
using System.Xml.Serialization;
|
||||
using HoloToolkit.Unity.InputModule;
|
||||
using OpenCVForUnity.ArucoModule;
|
||||
using OpenCVForUnity.CoreModule;
|
||||
using OpenCVForUnity.UnityUtils.Helper;
|
||||
|
@ -14,6 +13,7 @@ using OpenCVForUnity.Calib3dModule;
|
|||
using OpenCVForUnity.ImgprocModule;
|
||||
using OpenCVForUnity.UnityUtils;
|
||||
using HoloLensWithOpenCVForUnity.UnityUtils.Helper;
|
||||
using Microsoft.MixedReality.Toolkit.Input;
|
||||
|
||||
namespace HoloLensWithOpenCVForUnityExample
|
||||
{
|
||||
|
@ -23,9 +23,9 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// Referring to https://github.com/opencv/opencv_contrib/blob/master/modules/aruco/samples/detect_markers.cpp.
|
||||
/// </summary>
|
||||
[RequireComponent(typeof(HololensCameraStreamToMatHelper))]
|
||||
public class HoloLensArUcoExample : ExampleSceneBase
|
||||
public class HoloLensArUcoExample : MonoBehaviour
|
||||
{
|
||||
[HeaderAttribute ("Preview")]
|
||||
[HeaderAttribute("Preview")]
|
||||
|
||||
/// <summary>
|
||||
/// The preview quad.
|
||||
|
@ -43,7 +43,7 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
public Toggle displayCameraPreviewToggle;
|
||||
|
||||
|
||||
[HeaderAttribute ("Detection")]
|
||||
[HeaderAttribute("Detection")]
|
||||
|
||||
/// <summary>
|
||||
/// Determines if restores the camera parameters when the file exists.
|
||||
|
@ -61,7 +61,7 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
public bool enableDetection = true;
|
||||
|
||||
|
||||
[HeaderAttribute ("AR")]
|
||||
[HeaderAttribute("AR")]
|
||||
|
||||
/// <summary>
|
||||
/// Determines if applied the pose estimation.
|
||||
|
@ -215,74 +215,93 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
double distCoeffs5 = -0.2388065;//radial distortion coefficient k3.
|
||||
|
||||
readonly static Queue<Action> ExecuteOnMainThread = new Queue<Action>();
|
||||
System.Object sync = new System.Object ();
|
||||
System.Object sync = new System.Object();
|
||||
Mat downScaleFrameMat;
|
||||
|
||||
bool _isThreadRunning = false;
|
||||
bool isThreadRunning {
|
||||
get { lock (sync)
|
||||
return _isThreadRunning; }
|
||||
set { lock (sync)
|
||||
_isThreadRunning = value; }
|
||||
bool isThreadRunning
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (sync)
|
||||
return _isThreadRunning;
|
||||
}
|
||||
set
|
||||
{
|
||||
lock (sync)
|
||||
_isThreadRunning = value;
|
||||
}
|
||||
}
|
||||
|
||||
bool _isDetecting = false;
|
||||
bool isDetecting {
|
||||
get { lock (sync)
|
||||
return _isDetecting; }
|
||||
set { lock (sync)
|
||||
_isDetecting = value; }
|
||||
bool isDetecting
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (sync)
|
||||
return _isDetecting;
|
||||
}
|
||||
set
|
||||
{
|
||||
lock (sync)
|
||||
_isDetecting = value;
|
||||
}
|
||||
}
|
||||
|
||||
bool _hasUpdatedARTransformMatrix = false;
|
||||
bool hasUpdatedARTransformMatrix {
|
||||
get { lock (sync)
|
||||
return _hasUpdatedARTransformMatrix; }
|
||||
set { lock (sync)
|
||||
_hasUpdatedARTransformMatrix = value; }
|
||||
bool hasUpdatedARTransformMatrix
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (sync)
|
||||
return _hasUpdatedARTransformMatrix;
|
||||
}
|
||||
set
|
||||
{
|
||||
lock (sync)
|
||||
_hasUpdatedARTransformMatrix = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Use this for initialization
|
||||
protected override void Start ()
|
||||
protected void Start()
|
||||
{
|
||||
base.Start ();
|
||||
|
||||
displayCameraPreviewToggle.isOn = displayCameraPreview;
|
||||
useStoredCameraParametersToggle.isOn = useStoredCameraParameters;
|
||||
enableLowPassFilterToggle.isOn = enableLowPassFilter;
|
||||
|
||||
imageOptimizationHelper = gameObject.GetComponent<ImageOptimizationHelper> ();
|
||||
webCamTextureToMatHelper = gameObject.GetComponent<HololensCameraStreamToMatHelper> ();
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
imageOptimizationHelper = gameObject.GetComponent<ImageOptimizationHelper>();
|
||||
webCamTextureToMatHelper = gameObject.GetComponent<HololensCameraStreamToMatHelper>();
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
webCamTextureToMatHelper.frameMatAcquired += OnFrameMatAcquired;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
webCamTextureToMatHelper.Initialize ();
|
||||
webCamTextureToMatHelper.Initialize();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the web cam texture to mat helper initialized event.
|
||||
/// </summary>
|
||||
public void OnWebCamTextureToMatHelperInitialized ()
|
||||
public void OnWebCamTextureToMatHelperInitialized()
|
||||
{
|
||||
Debug.Log ("OnWebCamTextureToMatHelperInitialized");
|
||||
Debug.Log("OnWebCamTextureToMatHelperInitialized");
|
||||
|
||||
Mat rawSizeMat = webCamTextureToMatHelper.GetMat ();
|
||||
Mat rawSizeMat = webCamTextureToMatHelper.GetMat();
|
||||
float rawSizeWidth = rawSizeMat.width();
|
||||
float rawSizeHeight = rawSizeMat.height();
|
||||
|
||||
Mat webCamTextureMat = imageOptimizationHelper.GetDownScaleMat(rawSizeMat);
|
||||
|
||||
Debug.Log ("Screen.width " + Screen.width + " Screen.height " + Screen.height + " Screen.orientation " + Screen.orientation);
|
||||
Debug.Log("Screen.width " + Screen.width + " Screen.height " + Screen.height + " Screen.orientation " + Screen.orientation);
|
||||
|
||||
float width = webCamTextureMat.width();
|
||||
float height = webCamTextureMat.height();
|
||||
|
||||
texture = new Texture2D ((int)width, (int)height, TextureFormat.RGB24, false);
|
||||
texture = new Texture2D((int)width, (int)height, TextureFormat.RGB24, false);
|
||||
|
||||
previewQuad.GetComponent<MeshRenderer>().material.mainTexture = texture;
|
||||
previewQuad.transform.localScale = new Vector3 (0.2f * width / height, 0.2f, 1);
|
||||
previewQuad.SetActive (displayCameraPreview);
|
||||
previewQuad.transform.localScale = new Vector3(0.2f * width / height, 0.2f, 1);
|
||||
previewQuad.SetActive(displayCameraPreview);
|
||||
|
||||
|
||||
// set camera parameters.
|
||||
|
@ -291,203 +310,214 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
double cx;
|
||||
double cy;
|
||||
|
||||
string loadDirectoryPath = Path.Combine (Application.persistentDataPath, "HoloLensArUcoCameraCalibrationExample");
|
||||
string loadDirectoryPath = Path.Combine(Application.persistentDataPath, "HoloLensArUcoCameraCalibrationExample");
|
||||
string calibratonDirectoryName = "camera_parameters" + rawSizeWidth + "x" + rawSizeHeight;
|
||||
string loadCalibratonFileDirectoryPath = Path.Combine (loadDirectoryPath, calibratonDirectoryName);
|
||||
string loadPath = Path.Combine (loadCalibratonFileDirectoryPath, calibratonDirectoryName + ".xml");
|
||||
if (useStoredCameraParameters && File.Exists (loadPath)) {
|
||||
string loadCalibratonFileDirectoryPath = Path.Combine(loadDirectoryPath, calibratonDirectoryName);
|
||||
string loadPath = Path.Combine(loadCalibratonFileDirectoryPath, calibratonDirectoryName + ".xml");
|
||||
if (useStoredCameraParameters && File.Exists(loadPath))
|
||||
{
|
||||
// If there is a camera parameters stored by HoloLensArUcoCameraCalibrationExample, use it
|
||||
|
||||
CameraParameters param;
|
||||
XmlSerializer serializer = new XmlSerializer( typeof( CameraParameters ) );
|
||||
using (var stream = new FileStream (loadPath, FileMode.Open)) {
|
||||
param = (CameraParameters)serializer.Deserialize (stream);
|
||||
XmlSerializer serializer = new XmlSerializer(typeof(CameraParameters));
|
||||
using (var stream = new FileStream(loadPath, FileMode.Open))
|
||||
{
|
||||
param = (CameraParameters)serializer.Deserialize(stream);
|
||||
}
|
||||
|
||||
|
||||
fx = param.camera_matrix[0];
|
||||
fy = param.camera_matrix[4];
|
||||
cx = param.camera_matrix[2] / imageOptimizationHelper.downscaleRatio;
|
||||
cy = param.camera_matrix[5] / imageOptimizationHelper.downscaleRatio;
|
||||
|
||||
camMatrix = new Mat (3, 3, CvType.CV_64FC1);
|
||||
camMatrix.put (0, 0, fx);
|
||||
camMatrix.put (0, 1, 0);
|
||||
camMatrix.put (0, 2, cx);
|
||||
camMatrix.put (1, 0, 0);
|
||||
camMatrix.put (1, 1, fy);
|
||||
camMatrix.put (1, 2, cy);
|
||||
camMatrix.put (2, 0, 0);
|
||||
camMatrix.put (2, 1, 0);
|
||||
camMatrix.put (2, 2, 1.0f);
|
||||
camMatrix = new Mat(3, 3, CvType.CV_64FC1);
|
||||
camMatrix.put(0, 0, fx);
|
||||
camMatrix.put(0, 1, 0);
|
||||
camMatrix.put(0, 2, cx);
|
||||
camMatrix.put(1, 0, 0);
|
||||
camMatrix.put(1, 1, fy);
|
||||
camMatrix.put(1, 2, cy);
|
||||
camMatrix.put(2, 0, 0);
|
||||
camMatrix.put(2, 1, 0);
|
||||
camMatrix.put(2, 2, 1.0f);
|
||||
|
||||
distCoeffs = new MatOfDouble(param.GetDistortionCoefficients ());
|
||||
distCoeffs = new MatOfDouble(param.GetDistortionCoefficients());
|
||||
|
||||
Debug.Log ("Loaded CameraParameters from a stored XML file.");
|
||||
Debug.Log ("loadPath: " + loadPath);
|
||||
Debug.Log("Loaded CameraParameters from a stored XML file.");
|
||||
Debug.Log("loadPath: " + loadPath);
|
||||
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
fx = this.fx;
|
||||
fy = this.fy;
|
||||
cx = this.cx / imageOptimizationHelper.downscaleRatio;
|
||||
cy = this.cy / imageOptimizationHelper.downscaleRatio;
|
||||
|
||||
camMatrix = new Mat (3, 3, CvType.CV_64FC1);
|
||||
camMatrix.put (0, 0, fx);
|
||||
camMatrix.put (0, 1, 0);
|
||||
camMatrix.put (0, 2, cx);
|
||||
camMatrix.put (1, 0, 0);
|
||||
camMatrix.put (1, 1, fy);
|
||||
camMatrix.put (1, 2, cy);
|
||||
camMatrix.put (2, 0, 0);
|
||||
camMatrix.put (2, 1, 0);
|
||||
camMatrix.put (2, 2, 1.0f);
|
||||
camMatrix = new Mat(3, 3, CvType.CV_64FC1);
|
||||
camMatrix.put(0, 0, fx);
|
||||
camMatrix.put(0, 1, 0);
|
||||
camMatrix.put(0, 2, cx);
|
||||
camMatrix.put(1, 0, 0);
|
||||
camMatrix.put(1, 1, fy);
|
||||
camMatrix.put(1, 2, cy);
|
||||
camMatrix.put(2, 0, 0);
|
||||
camMatrix.put(2, 1, 0);
|
||||
camMatrix.put(2, 2, 1.0f);
|
||||
|
||||
distCoeffs = new MatOfDouble (this.distCoeffs1, this.distCoeffs2, this.distCoeffs3, this.distCoeffs4, this.distCoeffs5);
|
||||
distCoeffs = new MatOfDouble(this.distCoeffs1, this.distCoeffs2, this.distCoeffs3, this.distCoeffs4, this.distCoeffs5);
|
||||
|
||||
Debug.Log ("Created a dummy CameraParameters.");
|
||||
Debug.Log("Created a dummy CameraParameters.");
|
||||
}
|
||||
|
||||
Debug.Log ("camMatrix " + camMatrix.dump ());
|
||||
Debug.Log ("distCoeffs " + distCoeffs.dump ());
|
||||
Debug.Log("camMatrix " + camMatrix.dump());
|
||||
Debug.Log("distCoeffs " + distCoeffs.dump());
|
||||
|
||||
|
||||
//Calibration camera
|
||||
Size imageSize = new Size (width, height);
|
||||
Size imageSize = new Size(width, height);
|
||||
double apertureWidth = 0;
|
||||
double apertureHeight = 0;
|
||||
double[] fovx = new double[1];
|
||||
double[] fovy = new double[1];
|
||||
double[] focalLength = new double[1];
|
||||
Point principalPoint = new Point (0, 0);
|
||||
Point principalPoint = new Point(0, 0);
|
||||
double[] aspectratio = new double[1];
|
||||
|
||||
Calib3d.calibrationMatrixValues (camMatrix, imageSize, apertureWidth, apertureHeight, fovx, fovy, focalLength, principalPoint, aspectratio);
|
||||
Calib3d.calibrationMatrixValues(camMatrix, imageSize, apertureWidth, apertureHeight, fovx, fovy, focalLength, principalPoint, aspectratio);
|
||||
|
||||
Debug.Log ("imageSize " + imageSize.ToString ());
|
||||
Debug.Log ("apertureWidth " + apertureWidth);
|
||||
Debug.Log ("apertureHeight " + apertureHeight);
|
||||
Debug.Log ("fovx " + fovx [0]);
|
||||
Debug.Log ("fovy " + fovy [0]);
|
||||
Debug.Log ("focalLength " + focalLength [0]);
|
||||
Debug.Log ("principalPoint " + principalPoint.ToString ());
|
||||
Debug.Log ("aspectratio " + aspectratio [0]);
|
||||
Debug.Log("imageSize " + imageSize.ToString());
|
||||
Debug.Log("apertureWidth " + apertureWidth);
|
||||
Debug.Log("apertureHeight " + apertureHeight);
|
||||
Debug.Log("fovx " + fovx[0]);
|
||||
Debug.Log("fovy " + fovy[0]);
|
||||
Debug.Log("focalLength " + focalLength[0]);
|
||||
Debug.Log("principalPoint " + principalPoint.ToString());
|
||||
Debug.Log("aspectratio " + aspectratio[0]);
|
||||
|
||||
// Display objects near the camera.
|
||||
arCamera.nearClipPlane = 0.01f;
|
||||
|
||||
grayMat = new Mat ();
|
||||
ids = new Mat ();
|
||||
corners = new List<Mat> ();
|
||||
rejectedCorners = new List<Mat> ();
|
||||
rvecs = new Mat ();
|
||||
tvecs = new Mat ();
|
||||
rotMat = new Mat (3, 3, CvType.CV_64FC1);
|
||||
grayMat = new Mat();
|
||||
ids = new Mat();
|
||||
corners = new List<Mat>();
|
||||
rejectedCorners = new List<Mat>();
|
||||
rvecs = new Mat();
|
||||
tvecs = new Mat();
|
||||
rotMat = new Mat(3, 3, CvType.CV_64FC1);
|
||||
|
||||
|
||||
transformationM = new Matrix4x4 ();
|
||||
transformationM = new Matrix4x4();
|
||||
|
||||
invertYM = Matrix4x4.TRS (Vector3.zero, Quaternion.identity, new Vector3 (1, -1, 1));
|
||||
Debug.Log ("invertYM " + invertYM.ToString ());
|
||||
invertYM = Matrix4x4.TRS(Vector3.zero, Quaternion.identity, new Vector3(1, -1, 1));
|
||||
Debug.Log("invertYM " + invertYM.ToString());
|
||||
|
||||
invertZM = Matrix4x4.TRS (Vector3.zero, Quaternion.identity, new Vector3 (1, 1, -1));
|
||||
Debug.Log ("invertZM " + invertZM.ToString ());
|
||||
invertZM = Matrix4x4.TRS(Vector3.zero, Quaternion.identity, new Vector3(1, 1, -1));
|
||||
Debug.Log("invertZM " + invertZM.ToString());
|
||||
|
||||
detectorParams = DetectorParameters.create ();
|
||||
dictionary = Aruco.getPredefinedDictionary (Aruco.DICT_6X6_250);
|
||||
detectorParams = DetectorParameters.create();
|
||||
dictionary = Aruco.getPredefinedDictionary(Aruco.DICT_6X6_250);
|
||||
|
||||
|
||||
//If WebCamera is frontFaceing,flip Mat.
|
||||
if (webCamTextureToMatHelper.GetWebCamDevice ().isFrontFacing) {
|
||||
webCamTextureToMatHelper.flipHorizontal = true;
|
||||
}
|
||||
|
||||
downScaleFrameMat = new Mat ((int)height, (int)width, CvType.CV_8UC4);
|
||||
rgbMat4preview = new Mat ();
|
||||
webCamTextureToMatHelper.flipHorizontal = webCamTextureToMatHelper.GetWebCamDevice().isFrontFacing;
|
||||
|
||||
downScaleFrameMat = new Mat((int)height, (int)width, CvType.CV_8UC4);
|
||||
rgbMat4preview = new Mat();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the web cam texture to mat helper disposed event.
|
||||
/// </summary>
|
||||
public void OnWebCamTextureToMatHelperDisposed ()
|
||||
public void OnWebCamTextureToMatHelperDisposed()
|
||||
{
|
||||
Debug.Log ("OnWebCamTextureToMatHelperDisposed");
|
||||
Debug.Log("OnWebCamTextureToMatHelperDisposed");
|
||||
|
||||
#if !WINDOWS_UWP || DISABLE_HOLOLENSCAMSTREAM_API
|
||||
#if !WINDOWS_UWP || DISABLE_HOLOLENSCAMSTREAM_API
|
||||
StopThread();
|
||||
lock (ExecuteOnMainThread) {
|
||||
ExecuteOnMainThread.Clear ();
|
||||
lock (ExecuteOnMainThread)
|
||||
{
|
||||
ExecuteOnMainThread.Clear();
|
||||
}
|
||||
isDetecting = false;
|
||||
#endif
|
||||
#endif
|
||||
hasUpdatedARTransformMatrix = false;
|
||||
|
||||
if (grayMat != null)
|
||||
grayMat.Dispose ();
|
||||
grayMat.Dispose();
|
||||
if (ids != null)
|
||||
ids.Dispose ();
|
||||
foreach (var item in corners) {
|
||||
item.Dispose ();
|
||||
ids.Dispose();
|
||||
foreach (var item in corners)
|
||||
{
|
||||
item.Dispose();
|
||||
}
|
||||
corners.Clear ();
|
||||
foreach (var item in rejectedCorners) {
|
||||
item.Dispose ();
|
||||
corners.Clear();
|
||||
foreach (var item in rejectedCorners)
|
||||
{
|
||||
item.Dispose();
|
||||
}
|
||||
rejectedCorners.Clear ();
|
||||
rejectedCorners.Clear();
|
||||
if (rvecs != null)
|
||||
rvecs.Dispose ();
|
||||
rvecs.Dispose();
|
||||
if (tvecs != null)
|
||||
tvecs.Dispose ();
|
||||
tvecs.Dispose();
|
||||
if (rotMat != null)
|
||||
rotMat.Dispose ();
|
||||
rotMat.Dispose();
|
||||
|
||||
if (rgbMat4preview != null)
|
||||
rgbMat4preview.Dispose ();
|
||||
rgbMat4preview.Dispose();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the web cam texture to mat helper error occurred event.
|
||||
/// </summary>
|
||||
/// <param name="errorCode">Error code.</param>
|
||||
public void OnWebCamTextureToMatHelperErrorOccurred(WebCamTextureToMatHelper.ErrorCode errorCode){
|
||||
Debug.Log ("OnWebCamTextureToMatHelperErrorOccurred " + errorCode);
|
||||
public void OnWebCamTextureToMatHelperErrorOccurred(WebCamTextureToMatHelper.ErrorCode errorCode)
|
||||
{
|
||||
Debug.Log("OnWebCamTextureToMatHelperErrorOccurred " + errorCode);
|
||||
}
|
||||
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
public void OnFrameMatAcquired (Mat bgraMat, Matrix4x4 projectionMatrix, Matrix4x4 cameraToWorldMatrix)
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
public void OnFrameMatAcquired(Mat bgraMat, Matrix4x4 projectionMatrix, Matrix4x4 cameraToWorldMatrix)
|
||||
{
|
||||
downScaleFrameMat = imageOptimizationHelper.GetDownScaleMat (bgraMat);
|
||||
downScaleFrameMat = imageOptimizationHelper.GetDownScaleMat(bgraMat);
|
||||
|
||||
if (enableDetection) {
|
||||
|
||||
Imgproc.cvtColor (downScaleFrameMat, grayMat, Imgproc.COLOR_BGRA2GRAY);
|
||||
if (enableDetection)
|
||||
{
|
||||
Imgproc.cvtColor(downScaleFrameMat, grayMat, Imgproc.COLOR_BGRA2GRAY);
|
||||
|
||||
// Detect markers and estimate Pose
|
||||
Aruco.detectMarkers (grayMat, dictionary, corners, ids, detectorParams, rejectedCorners, camMatrix, distCoeffs);
|
||||
Aruco.detectMarkers(grayMat, dictionary, corners, ids, detectorParams, rejectedCorners, camMatrix, distCoeffs);
|
||||
|
||||
if (applyEstimationPose && ids.total () > 0){
|
||||
Aruco.estimatePoseSingleMarkers (corners, markerLength, camMatrix, distCoeffs, rvecs, tvecs);
|
||||
|
||||
for (int i = 0; i < ids.total (); i++) {
|
||||
if (applyEstimationPose && ids.total() > 0)
|
||||
{
|
||||
Aruco.estimatePoseSingleMarkers(corners, markerLength, camMatrix, distCoeffs, rvecs, tvecs);
|
||||
|
||||
for (int i = 0; i < ids.total(); i++)
|
||||
{
|
||||
//This example can display ARObject on only first detected marker.
|
||||
if (i == 0) {
|
||||
|
||||
if (i == 0)
|
||||
{
|
||||
// Convert to unity pose data.
|
||||
double[] rvecArr = new double[3];
|
||||
rvecs.get (0, 0, rvecArr);
|
||||
rvecs.get(0, 0, rvecArr);
|
||||
double[] tvecArr = new double[3];
|
||||
tvecs.get (0, 0, tvecArr);
|
||||
tvecs.get(0, 0, tvecArr);
|
||||
tvecArr[2] /= imageOptimizationHelper.downscaleRatio;
|
||||
PoseData poseData = ARUtils.ConvertRvecTvecToPoseData (rvecArr, tvecArr);
|
||||
PoseData poseData = ARUtils.ConvertRvecTvecToPoseData(rvecArr, tvecArr);
|
||||
|
||||
// Changes in pos/rot below these thresholds are ignored.
|
||||
if (enableLowPassFilter) {
|
||||
ARUtils.LowpassPoseData (ref oldPoseData, ref poseData, positionLowPass, rotationLowPass);
|
||||
if (enableLowPassFilter)
|
||||
{
|
||||
ARUtils.LowpassPoseData(ref oldPoseData, ref poseData, positionLowPass, rotationLowPass);
|
||||
}
|
||||
oldPoseData = poseData;
|
||||
|
||||
// Create transform matrix.
|
||||
transformationM = Matrix4x4.TRS (poseData.pos, poseData.rot, Vector3.one);
|
||||
transformationM = Matrix4x4.TRS(poseData.pos, poseData.rot, Vector3.one);
|
||||
|
||||
lock (sync){
|
||||
lock (sync)
|
||||
{
|
||||
// Right-handed coordinates system (OpenCV) to left-handed one (Unity)
|
||||
ARM = invertYM * transformationM;
|
||||
|
||||
|
@ -504,49 +534,59 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
}
|
||||
|
||||
Mat rgbMat4preview = null;
|
||||
if (displayCameraPreview) {
|
||||
rgbMat4preview = new Mat ();
|
||||
Imgproc.cvtColor (downScaleFrameMat, rgbMat4preview, Imgproc.COLOR_BGRA2RGB);
|
||||
if (displayCameraPreview)
|
||||
{
|
||||
rgbMat4preview = new Mat();
|
||||
Imgproc.cvtColor(downScaleFrameMat, rgbMat4preview, Imgproc.COLOR_BGRA2RGB);
|
||||
|
||||
if (ids.total () > 0) {
|
||||
Aruco.drawDetectedMarkers (rgbMat4preview, corners, ids, new Scalar (0, 255, 0));
|
||||
if (ids.total() > 0)
|
||||
{
|
||||
Aruco.drawDetectedMarkers(rgbMat4preview, corners, ids, new Scalar(0, 255, 0));
|
||||
|
||||
if (applyEstimationPose) {
|
||||
for (int i = 0; i < ids.total (); i++) {
|
||||
using (Mat rvec = new Mat (rvecs, new OpenCVForUnity.CoreModule.Rect(0, i, 1, 1)))
|
||||
using (Mat tvec = new Mat (tvecs, new OpenCVForUnity.CoreModule.Rect(0, i, 1, 1))) {
|
||||
if (applyEstimationPose)
|
||||
{
|
||||
for (int i = 0; i < ids.total(); i++)
|
||||
{
|
||||
using (Mat rvec = new Mat(rvecs, new OpenCVForUnity.CoreModule.Rect(0, i, 1, 1)))
|
||||
using (Mat tvec = new Mat(tvecs, new OpenCVForUnity.CoreModule.Rect(0, i, 1, 1)))
|
||||
{
|
||||
|
||||
// In this example we are processing with RGB color image, so Axis-color correspondences are X: blue, Y: green, Z: red. (Usually X: red, Y: green, Z: blue)
|
||||
Aruco.drawAxis (rgbMat4preview, camMatrix, distCoeffs, rvec, tvec, markerLength * 0.5f);
|
||||
Aruco.drawAxis(rgbMat4preview, camMatrix, distCoeffs, rvec, tvec, markerLength * 0.5f);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Enqueue(() => {
|
||||
Enqueue(() =>
|
||||
{
|
||||
if (!webCamTextureToMatHelper.IsPlaying()) return;
|
||||
|
||||
if (!webCamTextureToMatHelper.IsPlaying ()) return;
|
||||
|
||||
if (displayCameraPreview && rgbMat4preview != null) {
|
||||
Utils.fastMatToTexture2D (rgbMat4preview, texture);
|
||||
if (displayCameraPreview && rgbMat4preview != null)
|
||||
{
|
||||
Utils.fastMatToTexture2D(rgbMat4preview, texture);
|
||||
}
|
||||
|
||||
if (applyEstimationPose) {
|
||||
if (hasUpdatedARTransformMatrix) {
|
||||
if (applyEstimationPose)
|
||||
{
|
||||
if (hasUpdatedARTransformMatrix)
|
||||
{
|
||||
hasUpdatedARTransformMatrix = false;
|
||||
|
||||
lock (sync){
|
||||
lock (sync)
|
||||
{
|
||||
// Apply camera transform matrix.
|
||||
ARM = cameraToWorldMatrix * invertZM * ARM;
|
||||
|
||||
ARUtils.SetTransformFromMatrix (arGameObject.transform, ref ARM);
|
||||
ARUtils.SetTransformFromMatrix(arGameObject.transform, ref ARM);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bgraMat.Dispose ();
|
||||
if (rgbMat4preview != null){
|
||||
bgraMat.Dispose();
|
||||
if (rgbMat4preview != null)
|
||||
{
|
||||
rgbMat4preview.Dispose();
|
||||
}
|
||||
|
||||
|
@ -572,58 +612,66 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
}
|
||||
}
|
||||
|
||||
#else
|
||||
#else
|
||||
|
||||
// Update is called once per frame
|
||||
void Update ()
|
||||
void Update()
|
||||
{
|
||||
lock (ExecuteOnMainThread) {
|
||||
while (ExecuteOnMainThread.Count > 0) {
|
||||
ExecuteOnMainThread.Dequeue ().Invoke ();
|
||||
lock (ExecuteOnMainThread)
|
||||
{
|
||||
while (ExecuteOnMainThread.Count > 0)
|
||||
{
|
||||
ExecuteOnMainThread.Dequeue().Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
if (webCamTextureToMatHelper.IsPlaying () && webCamTextureToMatHelper.DidUpdateThisFrame ()) {
|
||||
|
||||
if (enableDetection && !isDetecting ) {
|
||||
if (webCamTextureToMatHelper.IsPlaying() && webCamTextureToMatHelper.DidUpdateThisFrame())
|
||||
{
|
||||
|
||||
if (enableDetection && !isDetecting)
|
||||
{
|
||||
isDetecting = true;
|
||||
|
||||
downScaleFrameMat = imageOptimizationHelper.GetDownScaleMat (webCamTextureToMatHelper.GetMat ());
|
||||
downScaleFrameMat = imageOptimizationHelper.GetDownScaleMat(webCamTextureToMatHelper.GetMat());
|
||||
|
||||
StartThread (ThreadWorker);
|
||||
StartThread(ThreadWorker);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void StartThread(Action action)
|
||||
{
|
||||
#if WINDOWS_UWP || (!UNITY_WSA_10_0 && (NET_4_6 || NET_STANDARD_2_0))
|
||||
#if WINDOWS_UWP || (!UNITY_WSA_10_0 && (NET_4_6 || NET_STANDARD_2_0))
|
||||
System.Threading.Tasks.Task.Run(() => action());
|
||||
#else
|
||||
#else
|
||||
ThreadPool.QueueUserWorkItem(_ => action());
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
private void StopThread ()
|
||||
private void StopThread()
|
||||
{
|
||||
if (!isThreadRunning)
|
||||
return;
|
||||
|
||||
while (isThreadRunning) {
|
||||
while (isThreadRunning)
|
||||
{
|
||||
//Wait threading stop
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ThreadWorker()
|
||||
{
|
||||
isThreadRunning = true;
|
||||
|
||||
DetectARUcoMarker ();
|
||||
DetectARUcoMarker();
|
||||
|
||||
lock (ExecuteOnMainThread) {
|
||||
if (ExecuteOnMainThread.Count == 0) {
|
||||
ExecuteOnMainThread.Enqueue (() => {
|
||||
OnDetectionDone ();
|
||||
lock (ExecuteOnMainThread)
|
||||
{
|
||||
if (ExecuteOnMainThread.Count == 0)
|
||||
{
|
||||
ExecuteOnMainThread.Enqueue(() =>
|
||||
{
|
||||
OnDetectionDone();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -633,41 +681,44 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
|
||||
private void DetectARUcoMarker()
|
||||
{
|
||||
Imgproc.cvtColor (downScaleFrameMat, grayMat, Imgproc.COLOR_RGBA2GRAY);
|
||||
Imgproc.cvtColor(downScaleFrameMat, grayMat, Imgproc.COLOR_RGBA2GRAY);
|
||||
|
||||
// Detect markers and estimate Pose
|
||||
Aruco.detectMarkers (grayMat, dictionary, corners, ids, detectorParams, rejectedCorners, camMatrix, distCoeffs);
|
||||
Aruco.detectMarkers(grayMat, dictionary, corners, ids, detectorParams, rejectedCorners, camMatrix, distCoeffs);
|
||||
|
||||
if (applyEstimationPose && ids.total () > 0){
|
||||
Aruco.estimatePoseSingleMarkers (corners, markerLength, camMatrix, distCoeffs, rvecs, tvecs);
|
||||
|
||||
for (int i = 0; i < ids.total (); i++) {
|
||||
if (applyEstimationPose && ids.total() > 0)
|
||||
{
|
||||
Aruco.estimatePoseSingleMarkers(corners, markerLength, camMatrix, distCoeffs, rvecs, tvecs);
|
||||
|
||||
for (int i = 0; i < ids.total(); i++)
|
||||
{
|
||||
//This example can display ARObject on only first detected marker.
|
||||
if (i == 0) {
|
||||
|
||||
if (i == 0)
|
||||
{
|
||||
// Convert to unity pose data.
|
||||
double[] rvecArr = new double[3];
|
||||
rvecs.get (0, 0, rvecArr);
|
||||
rvecs.get(0, 0, rvecArr);
|
||||
double[] tvecArr = new double[3];
|
||||
tvecs.get (0, 0, tvecArr);
|
||||
tvecs.get(0, 0, tvecArr);
|
||||
tvecArr[2] /= imageOptimizationHelper.downscaleRatio;
|
||||
PoseData poseData = ARUtils.ConvertRvecTvecToPoseData (rvecArr, tvecArr);
|
||||
PoseData poseData = ARUtils.ConvertRvecTvecToPoseData(rvecArr, tvecArr);
|
||||
|
||||
// Changes in pos/rot below these thresholds are ignored.
|
||||
if (enableLowPassFilter) {
|
||||
ARUtils.LowpassPoseData (ref oldPoseData, ref poseData, positionLowPass, rotationLowPass);
|
||||
if (enableLowPassFilter)
|
||||
{
|
||||
ARUtils.LowpassPoseData(ref oldPoseData, ref poseData, positionLowPass, rotationLowPass);
|
||||
}
|
||||
oldPoseData = poseData;
|
||||
|
||||
// Create transform matrix.
|
||||
transformationM = Matrix4x4.TRS (poseData.pos, poseData.rot, Vector3.one);
|
||||
transformationM = Matrix4x4.TRS(poseData.pos, poseData.rot, Vector3.one);
|
||||
|
||||
// Right-handed coordinates system (OpenCV) to left-handed one (Unity)
|
||||
ARM = invertYM * transformationM;
|
||||
// https://stackoverflow.com/questions/30234945/change-handedness-of-a-row-major-4x4-transformation-matrix
|
||||
ARM = invertYM * transformationM * invertYM;
|
||||
|
||||
// Apply Z-axis inverted matrix.
|
||||
ARM = ARM * invertZM;
|
||||
// Apply Y-axis and Z-axis refletion matrix. (Adjust the posture of the AR object)
|
||||
ARM = ARM * invertYM * invertZM;
|
||||
|
||||
hasUpdatedARTransformMatrix = true;
|
||||
|
||||
|
@ -679,131 +730,148 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
|
||||
private void OnDetectionDone()
|
||||
{
|
||||
if (displayCameraPreview) {
|
||||
Imgproc.cvtColor (downScaleFrameMat, rgbMat4preview, Imgproc.COLOR_RGBA2RGB);
|
||||
if (displayCameraPreview)
|
||||
{
|
||||
Imgproc.cvtColor(downScaleFrameMat, rgbMat4preview, Imgproc.COLOR_RGBA2RGB);
|
||||
|
||||
if (ids.total () > 0) {
|
||||
Aruco.drawDetectedMarkers (rgbMat4preview, corners, ids, new Scalar (0, 255, 0));
|
||||
if (ids.total() > 0)
|
||||
{
|
||||
Aruco.drawDetectedMarkers(rgbMat4preview, corners, ids, new Scalar(0, 255, 0));
|
||||
|
||||
if (applyEstimationPose) {
|
||||
for (int i = 0; i < ids.total (); i++) {
|
||||
using (Mat rvec = new Mat (rvecs, new OpenCVForUnity.CoreModule.Rect(0, i, 1, 1)))
|
||||
using (Mat tvec = new Mat (tvecs, new OpenCVForUnity.CoreModule.Rect(0, i, 1, 1))) {
|
||||
if (applyEstimationPose)
|
||||
{
|
||||
for (int i = 0; i < ids.total(); i++)
|
||||
{
|
||||
using (Mat rvec = new Mat(rvecs, new OpenCVForUnity.CoreModule.Rect(0, i, 1, 1)))
|
||||
using (Mat tvec = new Mat(tvecs, new OpenCVForUnity.CoreModule.Rect(0, i, 1, 1)))
|
||||
{
|
||||
|
||||
// In this example we are processing with RGB color image, so Axis-color correspondences are X: blue, Y: green, Z: red. (Usually X: red, Y: green, Z: blue)
|
||||
Aruco.drawAxis (rgbMat4preview, camMatrix, distCoeffs, rvec, tvec, markerLength * 0.5f);
|
||||
Aruco.drawAxis(rgbMat4preview, camMatrix, distCoeffs, rvec, tvec, markerLength * 0.5f);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Utils.fastMatToTexture2D (rgbMat4preview, texture);
|
||||
Utils.fastMatToTexture2D(rgbMat4preview, texture);
|
||||
}
|
||||
|
||||
if (applyEstimationPose) {
|
||||
if (hasUpdatedARTransformMatrix) {
|
||||
if (applyEstimationPose)
|
||||
{
|
||||
if (hasUpdatedARTransformMatrix)
|
||||
{
|
||||
hasUpdatedARTransformMatrix = false;
|
||||
|
||||
// Apply the cameraToWorld matrix with the Z-axis inverted.
|
||||
// Apply the cameraToWorld matrix with the Z-axis inverted.
|
||||
ARM = arCamera.cameraToWorldMatrix * invertZM * ARM;
|
||||
|
||||
ARUtils.SetTransformFromMatrix (arGameObject.transform, ref ARM);
|
||||
ARUtils.SetTransformFromMatrix(arGameObject.transform, ref ARM);
|
||||
}
|
||||
}
|
||||
|
||||
isDetecting = false;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Raises the destroy event.
|
||||
/// </summary>
|
||||
void OnDestroy ()
|
||||
void OnDestroy()
|
||||
{
|
||||
imageOptimizationHelper.Dispose ();
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
imageOptimizationHelper.Dispose();
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
webCamTextureToMatHelper.frameMatAcquired -= OnFrameMatAcquired;
|
||||
#endif
|
||||
webCamTextureToMatHelper.Dispose ();
|
||||
#endif
|
||||
webCamTextureToMatHelper.Dispose();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the back button click event.
|
||||
/// </summary>
|
||||
public void OnBackButtonClick ()
|
||||
public void OnBackButtonClick()
|
||||
{
|
||||
LoadScene ("HoloLensWithOpenCVForUnityExample");
|
||||
SceneManager.LoadScene("HoloLensWithOpenCVForUnityExample");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the play button click event.
|
||||
/// </summary>
|
||||
public void OnPlayButtonClick ()
|
||||
public void OnPlayButtonClick()
|
||||
{
|
||||
webCamTextureToMatHelper.Play ();
|
||||
webCamTextureToMatHelper.Play();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the pause button click event.
|
||||
/// </summary>
|
||||
public void OnPauseButtonClick ()
|
||||
public void OnPauseButtonClick()
|
||||
{
|
||||
webCamTextureToMatHelper.Pause ();
|
||||
webCamTextureToMatHelper.Pause();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the stop button click event.
|
||||
/// </summary>
|
||||
public void OnStopButtonClick ()
|
||||
public void OnStopButtonClick()
|
||||
{
|
||||
webCamTextureToMatHelper.Stop ();
|
||||
webCamTextureToMatHelper.Stop();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the change camera button click event.
|
||||
/// </summary>
|
||||
public void OnChangeCameraButtonClick ()
|
||||
public void OnChangeCameraButtonClick()
|
||||
{
|
||||
webCamTextureToMatHelper.requestedIsFrontFacing = !webCamTextureToMatHelper.IsFrontFacing ();
|
||||
webCamTextureToMatHelper.requestedIsFrontFacing = !webCamTextureToMatHelper.IsFrontFacing();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the display camera preview toggle value changed event.
|
||||
/// </summary>
|
||||
public void OnDisplayCamreaPreviewToggleValueChanged ()
|
||||
public void OnDisplayCamreaPreviewToggleValueChanged()
|
||||
{
|
||||
if (displayCameraPreviewToggle.isOn) {
|
||||
if (displayCameraPreviewToggle.isOn)
|
||||
{
|
||||
displayCameraPreview = true;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
displayCameraPreview = false;
|
||||
}
|
||||
previewQuad.SetActive (displayCameraPreview);
|
||||
previewQuad.SetActive(displayCameraPreview);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the use stored camera parameters toggle value changed event.
|
||||
/// </summary>
|
||||
public void OnUseStoredCameraParametersToggleValueChanged ()
|
||||
public void OnUseStoredCameraParametersToggleValueChanged()
|
||||
{
|
||||
if (useStoredCameraParametersToggle.isOn) {
|
||||
if (useStoredCameraParametersToggle.isOn)
|
||||
{
|
||||
useStoredCameraParameters = true;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
useStoredCameraParameters = false;
|
||||
}
|
||||
|
||||
if (webCamTextureToMatHelper != null && webCamTextureToMatHelper.IsInitialized ()) {
|
||||
webCamTextureToMatHelper.Initialize ();
|
||||
if (webCamTextureToMatHelper != null && webCamTextureToMatHelper.IsInitialized())
|
||||
{
|
||||
webCamTextureToMatHelper.Initialize();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the enable low pass filter toggle value changed event.
|
||||
/// </summary>
|
||||
public void OnEnableLowPassFilterToggleValueChanged ()
|
||||
public void OnEnableLowPassFilterToggleValueChanged()
|
||||
{
|
||||
if (enableLowPassFilterToggle.isOn) {
|
||||
if (enableLowPassFilterToggle.isOn)
|
||||
{
|
||||
enableLowPassFilter = true;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
enableLowPassFilter = false;
|
||||
}
|
||||
}
|
||||
|
@ -811,21 +879,26 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// <summary>
|
||||
/// Raises the tapped event.
|
||||
/// </summary>
|
||||
public void OnTapped ()
|
||||
public void OnTapped(MixedRealityPointerEventData eventData)
|
||||
{
|
||||
Debug.Log("OnTapped!");
|
||||
|
||||
// Determine if a Gaze pointer is over a GUI.
|
||||
if (GazeManager.Instance.HitObject != null && (GazeManager.Instance.HitObject.GetComponent<Button>() != null || GazeManager.Instance.HitObject.GetComponent<Toggle>() != null
|
||||
|| GazeManager.Instance.HitObject.GetComponent<Text>() != null || GazeManager.Instance.HitObject.GetComponent<Image>() != null))
|
||||
if (eventData.selectedObject != null && (eventData.selectedObject.GetComponent<Button>() != null || eventData.selectedObject.GetComponent<Toggle>() != null
|
||||
|| eventData.selectedObject.GetComponent<Text>() != null || eventData.selectedObject.GetComponent<Image>() != null))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (applyEstimationPose) {
|
||||
if (applyEstimationPose)
|
||||
{
|
||||
applyEstimationPose = false;
|
||||
arCube.GetComponent<MeshRenderer> ().material.color = Color.gray;
|
||||
} else {
|
||||
arCube.GetComponent<MeshRenderer>().material.color = Color.gray;
|
||||
}
|
||||
else
|
||||
{
|
||||
applyEstimationPose = true;
|
||||
arCube.GetComponent<MeshRenderer> ().material.color = Color.red;
|
||||
arCube.GetComponent<MeshRenderer>().material.color = Color.red;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: aa6e5ae3b8c05614c96933b6ec0e0b3d
|
||||
folderAsset: yes
|
||||
timeCreated: 1493571012
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -20,9 +20,9 @@ RenderSettings:
|
|||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
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}
|
||||
|
@ -44,7 +44,7 @@ RenderSettings:
|
|||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 11
|
||||
m_GIWorkflowMode: 1
|
||||
m_GIWorkflowMode: 0
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
|
@ -55,23 +55,23 @@ LightmapSettings:
|
|||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 10
|
||||
m_Resolution: 1
|
||||
m_BakeResolution: 50
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 0
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 0
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 1024
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 1
|
||||
m_BakeBackend: 0
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
|
@ -88,9 +88,8 @@ LightmapSettings:
|
|||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ShowResolutionOverlay: 1
|
||||
m_LightingDataAsset: {fileID: 112000002, guid: ca79ece223f3cb94eb0dcca05d4abd24,
|
||||
type: 2}
|
||||
m_UseShadowmask: 0
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 1
|
||||
--- !u!196 &5
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
|
@ -113,6 +112,89 @@ NavMeshSettings:
|
|||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &12438479
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 12438482}
|
||||
- component: {fileID: 12438481}
|
||||
- component: {fileID: 12438480}
|
||||
m_Layer: 0
|
||||
m_Name: UnityUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &12438480
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 12438479}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4684083f6dff4a1d8a790bccc354fcf4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
updateLinkedTransform: 0
|
||||
moveLerpTime: 0.1
|
||||
rotateLerpTime: 0.1
|
||||
scaleLerpTime: 0
|
||||
maintainScale: 1
|
||||
smoothing: 1
|
||||
lifetime: 0
|
||||
referenceDirection: 1
|
||||
minDistance: 1
|
||||
maxDistance: 2
|
||||
minViewDegrees: 0
|
||||
maxViewDegrees: 15
|
||||
aspectV: 1
|
||||
ignoreAngleClamp: 0
|
||||
ignoreDistanceClamp: 0
|
||||
useFixedVerticalPosition: 0
|
||||
fixedVerticalPosition: -0.4
|
||||
orientToReferenceDirection: 0
|
||||
--- !u!114 &12438481
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 12438479}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b55691ad5b034fe6966763a6e23818d2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
trackedTargetType: 0
|
||||
trackedHandness: 3
|
||||
trackedHandJoint: 2
|
||||
transformOverride: {fileID: 0}
|
||||
additionalOffset: {x: 0, y: 0, z: 0}
|
||||
additionalRotation: {x: 0, y: 0, z: 0}
|
||||
updateSolvers: 1
|
||||
--- !u!4 &12438482
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 12438479}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 2}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 524242141}
|
||||
- {fileID: 471094666}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &107788451
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -140,13 +222,13 @@ Light:
|
|||
m_Enabled: 1
|
||||
serializedVersion: 8
|
||||
m_Type: 1
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
|
||||
m_Intensity: 1
|
||||
m_Range: 10
|
||||
m_SpotAngle: 30
|
||||
m_CookieSize: 10
|
||||
m_Shadows:
|
||||
m_Type: 0
|
||||
m_Type: 2
|
||||
m_Resolution: -1
|
||||
m_CustomResolution: -1
|
||||
m_Strength: 1
|
||||
|
@ -182,87 +264,6 @@ Transform:
|
|||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 50.000004, y: -30, z: 0}
|
||||
--- !u!1001 &110278492
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 471094666}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1000011443254168, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012084356042, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012084356042, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012084356042, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 114814769360254126, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5,
|
||||
type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 114000014245746336, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5,
|
||||
type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
--- !u!4 &110278493 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 110278492}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &166738430
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -338,6 +339,50 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 166738430}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &205331507
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 205331509}
|
||||
- component: {fileID: 205331508}
|
||||
m_Layer: 0
|
||||
m_Name: MixedRealityToolkit
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &205331508
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 205331507}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 83d9acc7968244a8886f3af591305bcb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
activeProfile: {fileID: 11400000, guid: 019ea231fcd4127409ae7906b2996ee1, type: 2}
|
||||
--- !u!4 &205331509
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 205331507}
|
||||
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 &266668974
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -423,8 +468,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -648,8 +693,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -776,10 +821,7 @@ GameObject:
|
|||
- component: {fileID: 471094664}
|
||||
- component: {fileID: 471094663}
|
||||
- component: {fileID: 471094662}
|
||||
- component: {fileID: 471094661}
|
||||
- component: {fileID: 471094660}
|
||||
- component: {fileID: 471094659}
|
||||
- component: {fileID: 471094667}
|
||||
m_Layer: 5
|
||||
m_Name: Canvas
|
||||
m_TagString: Untagged
|
||||
|
@ -796,49 +838,9 @@ MonoBehaviour:
|
|||
m_GameObject: {fileID: 471094658}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ac8d5b128a1d8204fb76c86f47b75912, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: ff4e3b9019304b5aaec5664de0778d21, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
pivotAxis: 0
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &471094660
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 471094658}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2be8bd2ebd8277c448d6d81c75517fee, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
TagalongDistance: 2
|
||||
EnforceDistance: 1
|
||||
PositionUpdateSpeed: 9.8
|
||||
SmoothMotion: 1
|
||||
SmoothingFactor: 0.75
|
||||
--- !u!114 &471094661
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 471094658}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fb69de839bd015f4099b5bd2c45e53e5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
UseUnscaledTime: 1
|
||||
PositionPerSecond: 30
|
||||
RotationDegreesPerSecond: 720
|
||||
RotationSpeedScaler: 0
|
||||
ScalePerSecond: 5
|
||||
SmoothLerpToTarget: 0
|
||||
SmoothPositionLerpRatio: 0.5
|
||||
SmoothRotationLerpRatio: 0.5
|
||||
SmoothScaleLerpRatio: 0.5
|
||||
--- !u!65 &471094662
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -901,7 +903,7 @@ Canvas:
|
|||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 2
|
||||
m_Camera: {fileID: 945929371}
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
|
@ -919,33 +921,19 @@ RectTransform:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 471094658}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 2}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.001, y: 0.001, z: 0.001}
|
||||
m_Children:
|
||||
- {fileID: 110278493}
|
||||
- {fileID: 1419009409}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_Father: {fileID: 12438482}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 800, y: 496.1241}
|
||||
m_SizeDelta: {x: 640, y: 480}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &471094667
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 471094658}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2aebab3047f2113489ca3eb8423228b6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Canvas: {fileID: 471094665}
|
||||
--- !u!1 &524242140
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -973,11 +961,11 @@ Transform:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 524242140}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -0.3, y: 0.2, z: 2.2}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0.20000005}
|
||||
m_LocalScale: {x: 0.354, y: 0.2, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1600368325}
|
||||
m_RootOrder: 2
|
||||
m_Father: {fileID: 12438482}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &524242142
|
||||
MeshRenderer:
|
||||
|
@ -1437,8 +1425,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -1553,8 +1541,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -1589,6 +1577,148 @@ MonoBehaviour:
|
|||
m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
|
||||
Culture=neutral, PublicKeyToken=null
|
||||
m_IsOn: 1
|
||||
--- !u!1 &742817363
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 742817364}
|
||||
- component: {fileID: 742817369}
|
||||
- component: {fileID: 742817368}
|
||||
- component: {fileID: 742817367}
|
||||
- component: {fileID: 742817366}
|
||||
- component: {fileID: 742817365}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &742817364
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 742817363}
|
||||
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: 1842696726}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &742817365
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 742817363}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bf98dd1206224111a38765365e98e207, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
setCursorInvisibleWhenFocusLocked: 0
|
||||
maxGazeCollisionDistance: 10
|
||||
raycastLayerMasks:
|
||||
- serializedVersion: 2
|
||||
m_Bits: 4294967291
|
||||
stabilizer:
|
||||
storedStabilitySamples: 60
|
||||
gazeTransform: {fileID: 0}
|
||||
minHeadVelocityThreshold: 0.5
|
||||
maxHeadVelocityThreshold: 2
|
||||
useEyeTracking: 1
|
||||
--- !u!114 &742817366
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 742817363}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7a21b486d0bb44444b1418aaa38b44de, 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 &742817367
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 742817363}
|
||||
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!81 &742817368
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 742817363}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &742817369
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 742817363}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_projectionMatrixMode: 1
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_GateFitMode: 2
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!1 &819253013
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1664,59 +1794,6 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 819253013}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1001 &873605963
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 6
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
--- !u!114 &873605964 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 114000013851064060, guid: b2db04283121ca74495c2ee000fb4243,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 873605963}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: afa1ae235bc6cfa43addd1435e2fd822, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &883805531
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1808,12 +1885,6 @@ Transform:
|
|||
m_Father: {fileID: 1982842542}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!20 &945929371 stripped
|
||||
Camera:
|
||||
m_CorrespondingSourceObject: {fileID: 20049547090947856, guid: 3eddd1c29199313478dd3f912bfab2ab,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1102189852}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &947464191
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1888,58 +1959,6 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947464191}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1001 &1080557608
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 4
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 20770519707920992, guid: d29bc40b7f3df26479d6a0aac211c355,
|
||||
type: 3}
|
||||
propertyPath: far clip plane
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
--- !u!20 &1080557610 stripped
|
||||
Camera:
|
||||
m_CorrespondingSourceObject: {fileID: 20770519707920992, guid: d29bc40b7f3df26479d6a0aac211c355,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1080557608}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &1087080640
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2019,52 +2038,6 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1087080640}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1001 &1102189852
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 114742747811649402, guid: 3eddd1c29199313478dd3f912bfab2ab,
|
||||
type: 3}
|
||||
propertyPath: Cursor
|
||||
value:
|
||||
objectReference: {fileID: 873605964}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
--- !u!1 &1144110445
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2233,8 +2206,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -2389,8 +2362,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -2574,7 +2547,7 @@ RectTransform:
|
|||
- {fileID: 733407893}
|
||||
- {fileID: 364483431}
|
||||
m_Father: {fileID: 471094666}
|
||||
m_RootOrder: 1
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -2690,8 +2663,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -2844,12 +2817,6 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1585318592}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!4 &1600368325 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4587520633816736, guid: d29bc40b7f3df26479d6a0aac211c355,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1080557608}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &1620370068
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2997,8 +2964,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -3118,15 +3085,27 @@ MonoBehaviour:
|
|||
m_GameObject: {fileID: 1709852081}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 981f74698cd7e5141ac933460caea805, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: b7e736ec19b1c5543a9bb27c150f94fb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
OnTappedEvent:
|
||||
isFocusRequired: 0
|
||||
MarkEventsAsUsed: 0
|
||||
OnPointerDown:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_TypeName: Microsoft.MixedReality.Toolkit.Input.PointerUnityEvent, Microsoft.MixedReality.Toolkit.SDK,
|
||||
Version=2.2.0.0, Culture=neutral, PublicKeyToken=null
|
||||
OnPointerUp:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_TypeName: Microsoft.MixedReality.Toolkit.Input.PointerUnityEvent, Microsoft.MixedReality.Toolkit.SDK,
|
||||
Version=2.2.0.0, Culture=neutral, PublicKeyToken=null
|
||||
OnPointerClicked:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 1709852086}
|
||||
m_MethodName: OnTapped
|
||||
m_Mode: 1
|
||||
m_Mode: 0
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
|
@ -3135,8 +3114,13 @@ MonoBehaviour:
|
|||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine.CoreModule, Version=0.0.0.0,
|
||||
Culture=neutral, PublicKeyToken=null
|
||||
m_TypeName: Microsoft.MixedReality.Toolkit.Input.PointerUnityEvent, Microsoft.MixedReality.Toolkit.SDK,
|
||||
Version=2.2.0.0, Culture=neutral, PublicKeyToken=null
|
||||
OnPointerDragged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_TypeName: Microsoft.MixedReality.Toolkit.Input.PointerUnityEvent, Microsoft.MixedReality.Toolkit.SDK,
|
||||
Version=2.2.0.0, Culture=neutral, PublicKeyToken=null
|
||||
--- !u!114 &1709852083
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -3258,11 +3242,42 @@ MonoBehaviour:
|
|||
markerLength: 0.188
|
||||
arCube: {fileID: 883805531}
|
||||
arGameObject: {fileID: 1982842541}
|
||||
arCamera: {fileID: 1080557610}
|
||||
arCamera: {fileID: 742817369}
|
||||
enableLowPassFilter: 0
|
||||
enableLowPassFilterToggle: {fileID: 364483433}
|
||||
positionLowPass: 0.02
|
||||
rotationLowPass: 3
|
||||
--- !u!1 &1842696725
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1842696726}
|
||||
m_Layer: 0
|
||||
m_Name: MixedRealityPlayspace
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1842696726
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1842696725}
|
||||
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: 742817364}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1982842541
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
Двоичный файл не отображается.
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ca79ece223f3cb94eb0dcca05d4abd24
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 25800000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -4,131 +4,174 @@
|
|||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: ArUcoMaterial
|
||||
m_Shader: {fileID: 4800000, guid: 30a212a88e1063a428c85e50b1e427f2, type: 3}
|
||||
m_ShaderKeywords: _ALPHABLEND_ON _EMISSION
|
||||
m_Shader: {fileID: 4800000, guid: 5bdea20278144b11916d77503ba1467a, type: 3}
|
||||
m_ShaderKeywords: _DIRECTIONAL_LIGHT _DISABLE_ALBEDO_MAP _HOVER_LIGHT _PROXIMITY_LIGHT
|
||||
_SPECULAR_HIGHLIGHTS
|
||||
m_LightmapFlags: 1
|
||||
m_CustomRenderQueue: 3000
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 2000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 2
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- first:
|
||||
name: _BumpMap
|
||||
second:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _DetailAlbedoMap
|
||||
second:
|
||||
- _ChannelMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _DetailMask
|
||||
second:
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _DetailNormalMap
|
||||
second:
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _EmissionMap
|
||||
second:
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _MainTex
|
||||
second:
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _MetallicGlossMap
|
||||
second:
|
||||
- _IridescentSpectrumMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _OcclusionMap
|
||||
second:
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- first:
|
||||
name: _ParallaxMap
|
||||
second:
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _NormalMap:
|
||||
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:
|
||||
- first:
|
||||
name: _BumpScale
|
||||
second: 1
|
||||
- first:
|
||||
name: _Cutoff
|
||||
second: 0.5
|
||||
- first:
|
||||
name: _DetailNormalMapScale
|
||||
second: 1
|
||||
- first:
|
||||
name: _DstBlend
|
||||
second: 10
|
||||
- first:
|
||||
name: _EmissionScaleUI
|
||||
second: 0
|
||||
- first:
|
||||
name: _GlossMapScale
|
||||
second: 1
|
||||
- first:
|
||||
name: _Glossiness
|
||||
second: 0.5
|
||||
- first:
|
||||
name: _GlossyReflections
|
||||
second: 1
|
||||
- first:
|
||||
name: _Metallic
|
||||
second: 0
|
||||
- first:
|
||||
name: _Mode
|
||||
second: 2
|
||||
- first:
|
||||
name: _OcclusionStrength
|
||||
second: 1
|
||||
- first:
|
||||
name: _Parallax
|
||||
second: 0.02
|
||||
- first:
|
||||
name: _SmoothnessTextureChannel
|
||||
second: 0
|
||||
- first:
|
||||
name: _SpecularHighlights
|
||||
second: 1
|
||||
- first:
|
||||
name: _SrcBlend
|
||||
second: 5
|
||||
- first:
|
||||
name: _UVSec
|
||||
second: 0
|
||||
- first:
|
||||
name: _ZWrite
|
||||
second: 0
|
||||
- _AlbedoAlphaMode: 0
|
||||
- _AlbedoAssignedAtRuntime: 0
|
||||
- _BlendOp: 0
|
||||
- _BlendedClippingWidth: 1
|
||||
- _BorderLight: 0
|
||||
- _BorderLightOpaque: 0
|
||||
- _BorderLightOpaqueAlpha: 1
|
||||
- _BorderLightReplacesAlbedo: 0
|
||||
- _BorderLightUsesHoverColor: 0
|
||||
- _BorderMinValue: 0.1
|
||||
- _BorderWidth: 0.1
|
||||
- _BumpScale: 1
|
||||
- _ClippingBorder: 0
|
||||
- _ClippingBorderWidth: 0.025
|
||||
- _ColorWriteMask: 15
|
||||
- _CullMode: 2
|
||||
- _CustomMode: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DirectionalLight: 1
|
||||
- _DstBlend: 0
|
||||
- _EdgeSmoothingValue: 0.002
|
||||
- _EmissionScaleUI: 0
|
||||
- _EnableChannelMap: 0
|
||||
- _EnableEmission: 0
|
||||
- _EnableHoverColorOverride: 0
|
||||
- _EnableLocalSpaceTriplanarMapping: 0
|
||||
- _EnableNormalMap: 0
|
||||
- _EnableProximityLightColorOverride: 0
|
||||
- _EnableTriplanarMapping: 0
|
||||
- _EnvironmentColorIntensity: 0.5
|
||||
- _EnvironmentColorThreshold: 1.5
|
||||
- _EnvironmentColoring: 0
|
||||
- _FadeBeginDistance: 0.85
|
||||
- _FadeCompleteDistance: 0.5
|
||||
- _FadeMinValue: 0
|
||||
- _FluentLightIntensity: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _HoverLight: 1
|
||||
- _IgnoreZScale: 0
|
||||
- _InnerGlow: 0
|
||||
- _InnerGlowPower: 4
|
||||
- _InstancedColor: 0
|
||||
- _Iridescence: 0
|
||||
- _IridescenceAngle: -0.78
|
||||
- _IridescenceIntensity: 0.5
|
||||
- _IridescenceThreshold: 0.05
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _NearLightFade: 0
|
||||
- _NearPlaneFade: 0
|
||||
- _NormalMapScale: 1
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _ProximityLight: 1
|
||||
- _ProximityLightSubtractive: 0
|
||||
- _ProximityLightTwoSided: 0
|
||||
- _Reflections: 0
|
||||
- _Refraction: 0
|
||||
- _RefractiveIndex: 0
|
||||
- _RenderQueueOverride: -1
|
||||
- _RimLight: 0
|
||||
- _RimPower: 0.25
|
||||
- _RoundCornerMargin: 0.01
|
||||
- _RoundCornerRadius: 0.25
|
||||
- _RoundCorners: 0
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SphericalHarmonics: 0
|
||||
- _SrcBlend: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComparison: 0
|
||||
- _StencilOperation: 0
|
||||
- _StencilReference: 0
|
||||
- _TriplanarMappingBlendSharpness: 4
|
||||
- _UVSec: 0
|
||||
- _VertexColors: 0
|
||||
- _VertexExtrusion: 0
|
||||
- _VertexExtrusionSmoothNormals: 0
|
||||
- _VertexExtrusionValue: 0
|
||||
- _WireThickness: 100
|
||||
- _ZOffsetFactor: 0
|
||||
- _ZOffsetUnits: 0
|
||||
- _ZTest: 4
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- first:
|
||||
name: _Color
|
||||
second: {r: 1, g: 0, b: 0, a: 1}
|
||||
- first:
|
||||
name: _EmissionColor
|
||||
second: {r: 0, g: 0, b: 0, a: 1}
|
||||
- first:
|
||||
name: _EmissionColorUI
|
||||
second: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _BaseColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ClippingBorderColor: {r: 1, g: 0.2, b: 0, a: 1}
|
||||
- _Color: {r: 1, g: 0, b: 0, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissiveColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _EnvironmentColorX: {r: 1, g: 0, b: 0, a: 1}
|
||||
- _EnvironmentColorY: {r: 0, g: 1, b: 0, a: 1}
|
||||
- _EnvironmentColorZ: {r: 0, g: 0, b: 1, a: 1}
|
||||
- _HoverColorOverride: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _InnerGlowColor: {r: 1, g: 1, b: 1, a: 0.75}
|
||||
- _ProximityLightCenterColorOverride: {r: 1, g: 0, b: 0, a: 0}
|
||||
- _ProximityLightMiddleColorOverride: {r: 0, g: 1, b: 0, a: 0.5}
|
||||
- _ProximityLightOuterColorOverride: {r: 0, g: 0, b: 1, a: 1}
|
||||
- _RimColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
- _WireColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
|
||||
#if UNITY_2017_2_OR_NEWER
|
||||
using UnityEngine.XR.WSA.Input;
|
||||
#else
|
||||
using UnityEngine.VR.WSA.Input;
|
||||
#endif
|
||||
|
||||
namespace HoloLensWithOpenCVForUnityExample
|
||||
{
|
||||
public class TapInput : MonoBehaviour
|
||||
{
|
||||
public UnityEvent OnTappedEvent;
|
||||
|
||||
GestureRecognizer recognizer;
|
||||
|
||||
void Awake ()
|
||||
{
|
||||
recognizer = new GestureRecognizer ();
|
||||
#if UNITY_2017_2_OR_NEWER
|
||||
recognizer.Tapped += (args) => {
|
||||
#else
|
||||
recognizer.TappedEvent += (source, tapCount, ray) => {
|
||||
#endif
|
||||
OnTappedEvent.Invoke ();
|
||||
};
|
||||
recognizer.StartCapturingGestures ();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 981f74698cd7e5141ac933460caea805
|
||||
timeCreated: 1497972878
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,176 @@
|
|||
using OpenCVForUnity.CoreModule;
|
||||
using OpenCVForUnity.ImgprocModule;
|
||||
using OpenCVForUnity.UnityUtils;
|
||||
using System;
|
||||
|
||||
namespace HoloLensWithOpenCVForUnityExample
|
||||
{
|
||||
|
||||
public class ComicFilter
|
||||
{
|
||||
|
||||
Mat grayMat;
|
||||
Mat maskMat;
|
||||
Mat screentoneMat;
|
||||
Mat grayDstMat;
|
||||
|
||||
Mat grayLUT;
|
||||
Mat contrastAdjustmentsLUT;
|
||||
Mat kernel_dilate;
|
||||
Mat kernel_erode;
|
||||
Size blurSize;
|
||||
int blackThresh;
|
||||
bool drawMainLine;
|
||||
bool useNoiseFilter;
|
||||
|
||||
|
||||
public ComicFilter(int blackThresh = 60, int grayThresh = 120, int thickness = 5, bool useNoiseFilter = true)
|
||||
{
|
||||
this.blackThresh = blackThresh;
|
||||
this.drawMainLine = (thickness != 0);
|
||||
this.useNoiseFilter = useNoiseFilter;
|
||||
|
||||
grayLUT = new Mat(1, 256, CvType.CV_8UC1);
|
||||
byte[] lutArray = new byte[256];
|
||||
for (int i = 0; i < lutArray.Length; i++)
|
||||
{
|
||||
if (blackThresh <= i && i < grayThresh)
|
||||
lutArray[i] = 255;
|
||||
}
|
||||
Utils.copyToMat(lutArray, grayLUT);
|
||||
|
||||
if (drawMainLine)
|
||||
{
|
||||
kernel_dilate = new Mat(thickness, thickness, CvType.CV_8UC1, new Scalar(1));
|
||||
|
||||
int erode = (thickness >= 5) ? 2 : 1;
|
||||
kernel_erode = new Mat(erode, erode, CvType.CV_8UC1, new Scalar(1));
|
||||
|
||||
int blur = (thickness >= 4) ? thickness - 1 : 3;
|
||||
blurSize = new Size(blur, blur);
|
||||
|
||||
contrastAdjustmentsLUT = new Mat(1, 256, CvType.CV_8UC1);
|
||||
byte[] contrastAdjustmentsLUTArray = new byte[256];
|
||||
for (int i = 0; i < contrastAdjustmentsLUTArray.Length; i++)
|
||||
{
|
||||
int a = (int)(i * 1.5f);
|
||||
contrastAdjustmentsLUTArray[i] = (a > byte.MaxValue) ? (byte)255 : (byte)a;
|
||||
|
||||
}
|
||||
Utils.copyToMat(contrastAdjustmentsLUTArray, contrastAdjustmentsLUT);
|
||||
}
|
||||
}
|
||||
|
||||
public void Process(Mat src, Mat dst, bool isBGR = false)
|
||||
{
|
||||
if (src == null)
|
||||
throw new ArgumentNullException("src == null");
|
||||
if (dst == null)
|
||||
throw new ArgumentNullException("dst == null");
|
||||
|
||||
if (grayMat != null && (grayMat.width() != src.width() || grayMat.height() != src.height()))
|
||||
{
|
||||
grayMat.Dispose();
|
||||
grayMat = null;
|
||||
maskMat.Dispose();
|
||||
maskMat = null;
|
||||
screentoneMat.Dispose();
|
||||
screentoneMat = null;
|
||||
grayDstMat.Dispose();
|
||||
grayDstMat = null;
|
||||
}
|
||||
grayMat = grayMat ?? new Mat(src.height(), src.width(), CvType.CV_8UC1);
|
||||
maskMat = maskMat ?? new Mat(src.height(), src.width(), CvType.CV_8UC1);
|
||||
grayDstMat = grayDstMat ?? new Mat(src.height(), src.width(), CvType.CV_8UC1);
|
||||
|
||||
if (screentoneMat == null)
|
||||
{
|
||||
// create a striped screentone.
|
||||
screentoneMat = new Mat(src.height(), src.width(), CvType.CV_8UC1, new Scalar(255));
|
||||
for (int i = 0; i < screentoneMat.rows() * 2.5f; i = i + 4)
|
||||
{
|
||||
Imgproc.line(screentoneMat, new Point(0, 0 + i), new Point(screentoneMat.cols(), -screentoneMat.cols() + i), new Scalar(0), 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (src.type() == CvType.CV_8UC1)
|
||||
{
|
||||
src.copyTo(grayMat);
|
||||
}
|
||||
else if (dst.type() == CvType.CV_8UC3)
|
||||
{
|
||||
Imgproc.cvtColor(src, grayMat, (isBGR) ? Imgproc.COLOR_BGR2GRAY : Imgproc.COLOR_RGB2GRAY);
|
||||
}
|
||||
else
|
||||
{
|
||||
Imgproc.cvtColor(src, grayMat, (isBGR) ? Imgproc.COLOR_BGRA2GRAY : Imgproc.COLOR_RGBA2GRAY);
|
||||
}
|
||||
|
||||
|
||||
// binarize.
|
||||
Imgproc.threshold(grayMat, grayDstMat, blackThresh, 255.0, Imgproc.THRESH_BINARY);
|
||||
|
||||
// draw striped screentone.
|
||||
Core.LUT(grayMat, grayLUT, maskMat);
|
||||
screentoneMat.copyTo(grayDstMat, maskMat);
|
||||
|
||||
// draw main line.
|
||||
if (drawMainLine)
|
||||
{
|
||||
Core.LUT(grayMat, contrastAdjustmentsLUT, maskMat); // = grayMat.convertTo(maskMat, -1, 1.5, 0);
|
||||
|
||||
if (useNoiseFilter)
|
||||
{
|
||||
Imgproc.blur(maskMat, grayMat, blurSize);
|
||||
Imgproc.dilate(grayMat, maskMat, kernel_dilate);
|
||||
}
|
||||
else
|
||||
{
|
||||
Imgproc.dilate(maskMat, grayMat, kernel_dilate);
|
||||
}
|
||||
Core.absdiff(grayMat, maskMat, grayMat);
|
||||
Imgproc.threshold(grayMat, maskMat, 25, 255.0, Imgproc.THRESH_BINARY);
|
||||
if (useNoiseFilter)
|
||||
{
|
||||
Imgproc.erode(maskMat, grayMat, kernel_erode);
|
||||
Core.bitwise_not(grayMat, maskMat);
|
||||
maskMat.copyTo(grayDstMat, grayMat);
|
||||
}
|
||||
else
|
||||
{
|
||||
Core.bitwise_not(maskMat, grayMat);
|
||||
grayMat.copyTo(grayDstMat, maskMat);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (dst.type() == CvType.CV_8UC1)
|
||||
{
|
||||
grayDstMat.copyTo(dst);
|
||||
}
|
||||
else if (dst.type() == CvType.CV_8UC3)
|
||||
{
|
||||
Imgproc.cvtColor(grayDstMat, dst, (isBGR) ? Imgproc.COLOR_GRAY2BGR : Imgproc.COLOR_GRAY2RGB);
|
||||
}
|
||||
else
|
||||
{
|
||||
Imgproc.cvtColor(grayDstMat, dst, (isBGR) ? Imgproc.COLOR_GRAY2BGRA : Imgproc.COLOR_GRAY2RGBA);
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
foreach (var mat in new[] { grayMat, maskMat, screentoneMat, grayDstMat, grayLUT, kernel_dilate, kernel_erode, contrastAdjustmentsLUT })
|
||||
if (mat != null) mat.Dispose();
|
||||
|
||||
grayDstMat =
|
||||
screentoneMat =
|
||||
maskMat =
|
||||
grayMat =
|
||||
grayLUT =
|
||||
kernel_dilate =
|
||||
kernel_erode =
|
||||
contrastAdjustmentsLUT = null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 73025f72685c8e1429450d87c5bfcda5
|
||||
timeCreated: 1531666809
|
||||
licenseType: Free
|
||||
guid: e3086f3bb9356eb409e5325bed91cf4d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
|
@ -1,6 +1,8 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.SceneManagement;
|
||||
using OpenCVForUnity.CoreModule;
|
||||
using OpenCVForUnity.ImgprocModule;
|
||||
using OpenCVForUnity.UnityUtils.Helper;
|
||||
|
@ -16,42 +18,12 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// Referring to http://dev.classmethod.jp/smartphone/opencv-manga-2/.
|
||||
/// </summary>
|
||||
[RequireComponent(typeof(HololensCameraStreamToMatHelper))]
|
||||
public class HoloLensComicFilterExample : ExampleSceneBase
|
||||
public class HoloLensComicFilterExample : MonoBehaviour
|
||||
{
|
||||
/// <summary>
|
||||
/// The gray mat.
|
||||
/// The comic filter.
|
||||
/// </summary>
|
||||
Mat grayMat;
|
||||
|
||||
/// <summary>
|
||||
/// The line mat.
|
||||
/// </summary>
|
||||
Mat lineMat;
|
||||
|
||||
/// <summary>
|
||||
/// The mask mat.
|
||||
/// </summary>
|
||||
Mat maskMat;
|
||||
|
||||
/// <summary>
|
||||
/// The background mat.
|
||||
/// </summary>
|
||||
Mat bgMat;
|
||||
|
||||
/// <summary>
|
||||
/// The dst mat.
|
||||
/// </summary>
|
||||
Mat dstMat;
|
||||
|
||||
/// <summary>
|
||||
/// The gray pixels.
|
||||
/// </summary>
|
||||
byte[] grayPixels;
|
||||
|
||||
/// <summary>
|
||||
/// The mask pixels.
|
||||
/// </summary>
|
||||
byte[] maskPixels;
|
||||
ComicFilter comicFilter;
|
||||
|
||||
/// <summary>
|
||||
/// The texture.
|
||||
|
@ -68,25 +40,21 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// </summary>
|
||||
HololensCameraStreamToMatHelper webCamTextureToMatHelper;
|
||||
|
||||
Rect processingAreaRect;
|
||||
public Vector2 outsideClippingRatio = new Vector2(0.17f, 0.19f);
|
||||
public Vector2 clippingOffset = new Vector2(0.043f, -0.025f);
|
||||
public float vignetteScale = 1.5f;
|
||||
|
||||
Mat dstMatClippingROI;
|
||||
public Slider VignetteScaleSlider;
|
||||
|
||||
readonly static Queue<Action> ExecuteOnMainThread = new Queue<Action>();
|
||||
|
||||
// Use this for initialization
|
||||
protected override void Start ()
|
||||
protected void Start ()
|
||||
{
|
||||
base.Start ();
|
||||
|
||||
webCamTextureToMatHelper = gameObject.GetComponent<HololensCameraStreamToMatHelper> ();
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
webCamTextureToMatHelper.frameMatAcquired += OnFrameMatAcquired;
|
||||
#endif
|
||||
webCamTextureToMatHelper.Initialize ();
|
||||
|
||||
VignetteScaleSlider.value = vignetteScale;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -110,36 +78,10 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
|
||||
Debug.Log ("Screen.width " + Screen.width + " Screen.height " + Screen.height + " Screen.orientation " + Screen.orientation);
|
||||
|
||||
|
||||
processingAreaRect = new Rect ((int)(webCamTextureMat.cols ()*(outsideClippingRatio.x - clippingOffset.x)), (int)(webCamTextureMat.rows ()*(outsideClippingRatio.y + clippingOffset.y)),
|
||||
(int)(webCamTextureMat.cols ()*(1f-outsideClippingRatio.x*2)), (int)(webCamTextureMat.rows ()*(1f-outsideClippingRatio.y*2)));
|
||||
processingAreaRect = processingAreaRect.intersect (new Rect(0,0,webCamTextureMat.cols (),webCamTextureMat.rows ()));
|
||||
|
||||
|
||||
dstMat = new Mat (webCamTextureMat.rows (), webCamTextureMat.cols (), CvType.CV_8UC1);
|
||||
dstMatClippingROI = new Mat (dstMat, processingAreaRect);
|
||||
|
||||
// fill all black.
|
||||
//Imgproc.rectangle (dstMat, new Point (0, 0), new Point (dstMat.width (), dstMat.height ()), new Scalar (0, 0, 0, 0), -1);
|
||||
|
||||
|
||||
grayMat = new Mat (dstMatClippingROI.rows (), dstMatClippingROI.cols (), CvType.CV_8UC1);
|
||||
lineMat = new Mat (dstMatClippingROI.rows (), dstMatClippingROI.cols (), CvType.CV_8UC1);
|
||||
maskMat = new Mat (dstMatClippingROI.rows (), dstMatClippingROI.cols (), CvType.CV_8UC1);
|
||||
|
||||
//create a striped background.
|
||||
bgMat = new Mat (dstMatClippingROI.rows (), dstMatClippingROI.cols (), CvType.CV_8UC1, new Scalar (255));
|
||||
for (int i = 0; i < bgMat.rows ()*2.5f; i=i+4) {
|
||||
Imgproc.line (bgMat, new Point (0, 0 + i), new Point (bgMat.cols (), -bgMat.cols () + i), new Scalar (0), 1);
|
||||
}
|
||||
|
||||
grayPixels = new byte[grayMat.cols () * grayMat.rows () * grayMat.channels ()];
|
||||
maskPixels = new byte[maskMat.cols () * maskMat.rows () * maskMat.channels ()];
|
||||
|
||||
comicFilter = new ComicFilter(60, 120, 3);
|
||||
|
||||
quad_renderer = gameObject.GetComponent<Renderer> () as Renderer;
|
||||
quad_renderer.sharedMaterial.SetTexture ("_MainTex", texture);
|
||||
quad_renderer.sharedMaterial.SetVector ("_VignetteOffset", new Vector4(clippingOffset.x, clippingOffset.y));
|
||||
|
||||
Matrix4x4 projectionMatrix;
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
|
@ -175,10 +117,6 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
float aspectRatio = (1.0f / Mathf.Tan (halfOfVerticalFov)) / projectionMatrix.m00;
|
||||
Debug.Log ("halfOfVerticalFov " + halfOfVerticalFov);
|
||||
Debug.Log ("aspectRatio " + aspectRatio);
|
||||
|
||||
//
|
||||
//Imgproc.rectangle (dstMat, new Point (0, 0), new Point (webCamTextureMat.width (), webCamTextureMat.height ()), new Scalar (126, 126, 126, 255), -1);
|
||||
//
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -193,16 +131,7 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
ExecuteOnMainThread.Clear();
|
||||
}
|
||||
|
||||
grayMat.Dispose ();
|
||||
lineMat.Dispose ();
|
||||
maskMat.Dispose ();
|
||||
|
||||
bgMat.Dispose ();
|
||||
dstMat.Dispose ();
|
||||
dstMatClippingROI.Dispose ();
|
||||
|
||||
grayPixels = null;
|
||||
maskPixels = null;
|
||||
comicFilter.Dispose();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -213,59 +142,13 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
Debug.Log ("OnWebCamTextureToMatHelperErrorOccurred " + errorCode);
|
||||
}
|
||||
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
public void OnFrameMatAcquired (Mat bgraMat, Matrix4x4 projectionMatrix, Matrix4x4 cameraToWorldMatrix)
|
||||
{
|
||||
Mat bgraMatClipROI = new Mat(bgraMat, processingAreaRect);
|
||||
comicFilter.Process(bgraMat, bgraMat, true);
|
||||
|
||||
Imgproc.cvtColor (bgraMatClipROI, grayMat, Imgproc.COLOR_BGRA2GRAY);
|
||||
//Imgproc.putText (bgraMat, "W:" + bgraMat.width () + " H:" + bgraMat.height () + " SO:" + Screen.orientation, new Point (5, bgraMat.rows () - 10), Imgproc.FONT_HERSHEY_SIMPLEX, 1.0, new Scalar (0), 2, Imgproc.LINE_AA, false);
|
||||
|
||||
bgMat.copyTo (dstMatClippingROI);
|
||||
|
||||
Imgproc.GaussianBlur (grayMat, lineMat, new Size (3, 3), 0);
|
||||
|
||||
|
||||
grayMat.get (0, 0, grayPixels);
|
||||
|
||||
for (int i = 0; i < grayPixels.Length; i++) {
|
||||
maskPixels [i] = 0;
|
||||
|
||||
if (grayPixels [i] < 70) {
|
||||
grayPixels [i] = 0;
|
||||
maskPixels [i] = 1;
|
||||
} else if (70 <= grayPixels [i] && grayPixels [i] < 120) {
|
||||
grayPixels [i] = 100;
|
||||
|
||||
} else {
|
||||
grayPixels [i] = 255;
|
||||
maskPixels [i] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
grayMat.put (0, 0, grayPixels);
|
||||
maskMat.put (0, 0, maskPixels);
|
||||
grayMat.copyTo (dstMatClippingROI, maskMat);
|
||||
|
||||
|
||||
Imgproc.Canny (lineMat, lineMat, 20, 120);
|
||||
|
||||
lineMat.copyTo (maskMat);
|
||||
|
||||
Core.bitwise_not (lineMat, lineMat);
|
||||
|
||||
lineMat.copyTo (dstMatClippingROI, maskMat);
|
||||
|
||||
|
||||
//Imgproc.putText (dstMat, "W:" + dstMat.width () + " H:" + dstMat.height () + " SO:" + Screen.orientation, new Point (5, dstMat.rows () - 10), Imgproc.FONT_HERSHEY_SIMPLEX, 1.0, new Scalar (0), 2, Imgproc.LINE_AA, false);
|
||||
|
||||
Imgproc.cvtColor(dstMat, bgraMat, Imgproc.COLOR_GRAY2BGRA);
|
||||
|
||||
//
|
||||
//Imgproc.rectangle (bgraMat, new Point (0, 0), new Point (bgraMat.width (), bgraMat.height ()), new Scalar (0, 0, 255, 255), 4);
|
||||
//Imgproc.rectangle (bgraMat, processingAreaRect.tl(), processingAreaRect.br(), new Scalar (0, 0, 255, 255), 4);
|
||||
//
|
||||
|
||||
bgraMatClipROI.Dispose ();
|
||||
|
||||
Enqueue(() => {
|
||||
|
||||
|
@ -280,8 +163,7 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
|
||||
// Position the canvas object slightly in front
|
||||
// of the real world web camera.
|
||||
Vector3 position = cameraToWorldMatrix.GetColumn (3) - cameraToWorldMatrix.GetColumn (2);
|
||||
position *= 2.2f;
|
||||
Vector3 position = cameraToWorldMatrix.GetColumn(3) - cameraToWorldMatrix.GetColumn(2) * 2.2f;
|
||||
|
||||
// Rotate the canvas object so that it faces the user.
|
||||
Quaternion rotation = Quaternion.LookRotation (-cameraToWorldMatrix.GetColumn (2), cameraToWorldMatrix.GetColumn (1));
|
||||
|
@ -311,7 +193,7 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
}
|
||||
}
|
||||
|
||||
#else
|
||||
#else
|
||||
|
||||
// Update is called once per frame
|
||||
void Update ()
|
||||
|
@ -320,63 +202,13 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
|
||||
Mat rgbaMat = webCamTextureToMatHelper.GetMat ();
|
||||
|
||||
Mat rgbaMatClipROI = new Mat(rgbaMat, processingAreaRect);
|
||||
comicFilter.Process(rgbaMat, rgbaMat, false);
|
||||
|
||||
Imgproc.cvtColor (rgbaMatClipROI, grayMat, Imgproc.COLOR_RGBA2GRAY);
|
||||
//Imgproc.putText (rgbaMat, "W:" + rgbaMat.width () + " H:" + rgbaMat.height () + " SO:" + Screen.orientation, new Point (5, rgbaMat.rows () - 10), Imgproc.FONT_HERSHEY_SIMPLEX, 1.0, new Scalar (0), 2, Imgproc.LINE_AA, false);
|
||||
|
||||
bgMat.copyTo (dstMatClippingROI);
|
||||
|
||||
Imgproc.GaussianBlur (grayMat, lineMat, new Size (3, 3), 0);
|
||||
|
||||
|
||||
grayMat.get (0, 0, grayPixels);
|
||||
|
||||
for (int i = 0; i < grayPixels.Length; i++) {
|
||||
|
||||
maskPixels [i] = 0;
|
||||
|
||||
if (grayPixels [i] < 70) {
|
||||
grayPixels[i] = 0;
|
||||
maskPixels [i] = 1;
|
||||
} else if (70 <= grayPixels [i] && grayPixels [i] < 120) {
|
||||
grayPixels [i] = 100;
|
||||
|
||||
} else {
|
||||
grayPixels[i] = 255;
|
||||
maskPixels [i] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
grayMat.put (0, 0, grayPixels);
|
||||
maskMat.put (0, 0, maskPixels);
|
||||
grayMat.copyTo (dstMatClippingROI, maskMat);
|
||||
|
||||
|
||||
Imgproc.Canny (lineMat, lineMat, 20, 120);
|
||||
|
||||
lineMat.copyTo (maskMat);
|
||||
|
||||
Core.bitwise_not (lineMat, lineMat);
|
||||
|
||||
lineMat.copyTo (dstMatClippingROI, maskMat);
|
||||
|
||||
|
||||
//Imgproc.putText (dstMat, "W:" + dstMat.width () + " H:" + dstMat.height () + " SO:" + Screen.orientation, new Point (5, dstMat.rows () - 10), Imgproc.FONT_HERSHEY_SIMPLEX, 1.0, new Scalar (0), 2, Imgproc.LINE_AA, false);
|
||||
|
||||
Imgproc.cvtColor(dstMat, rgbaMat, Imgproc.COLOR_GRAY2RGBA);
|
||||
|
||||
//
|
||||
//Imgproc.rectangle (rgbaMat, new Point (0, 0), new Point (rgbaMat.width (), rgbaMat.height ()), new Scalar (255, 0, 0, 255), 4);
|
||||
//Imgproc.rectangle (rgbaMat, processingAreaRect.tl(), processingAreaRect.br(), new Scalar (255, 0, 0, 255), 4);
|
||||
//
|
||||
|
||||
//
|
||||
Utils.fastMatToTexture2D(rgbaMat, texture);
|
||||
|
||||
rgbaMatClipROI.Dispose ();
|
||||
}
|
||||
|
||||
|
||||
if (webCamTextureToMatHelper.IsPlaying ()) {
|
||||
|
||||
Matrix4x4 cameraToWorldMatrix = webCamTextureToMatHelper.GetCameraToWorldMatrix();
|
||||
|
@ -386,8 +218,7 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
|
||||
// Position the canvas object slightly in front
|
||||
// of the real world web camera.
|
||||
Vector3 position = cameraToWorldMatrix.GetColumn (3) - cameraToWorldMatrix.GetColumn (2);
|
||||
position *= 2.2f;
|
||||
Vector3 position = cameraToWorldMatrix.GetColumn(3) - cameraToWorldMatrix.GetColumn(2) * 2.2f;
|
||||
|
||||
// Rotate the canvas object so that it faces the user.
|
||||
Quaternion rotation = Quaternion.LookRotation (-cameraToWorldMatrix.GetColumn (2), cameraToWorldMatrix.GetColumn (1));
|
||||
|
@ -395,7 +226,6 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
gameObject.transform.position = position;
|
||||
gameObject.transform.rotation = rotation;
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -415,7 +245,7 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// </summary>
|
||||
public void OnBackButtonClick ()
|
||||
{
|
||||
LoadScene ("HoloLensWithOpenCVForUnityExample");
|
||||
SceneManager.LoadScene("HoloLensWithOpenCVForUnityExample");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -449,5 +279,16 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
{
|
||||
webCamTextureToMatHelper.requestedIsFrontFacing = !webCamTextureToMatHelper.IsFrontFacing();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the vignette scale slider value changed event.
|
||||
/// </summary>
|
||||
public void OnVignetteScaleSliderValueChanged()
|
||||
{
|
||||
vignetteScale = VignetteScaleSlider.value;
|
||||
|
||||
if (quad_renderer != null)
|
||||
quad_renderer.sharedMaterial.SetFloat("_VignetteScale", vignetteScale);
|
||||
}
|
||||
}
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.Threading;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.SceneManagement;
|
||||
using OpenCVForUnity.RectangleTrack;
|
||||
using OpenCVForUnity.CoreModule;
|
||||
using OpenCVForUnity.ObjdetectModule;
|
||||
|
@ -20,7 +21,7 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// Referring to https://github.com/Itseez/opencv/blob/master/modules/objdetect/src/detection_based_tracker.cpp.
|
||||
/// </summary>
|
||||
[RequireComponent(typeof(HololensCameraStreamToMatHelper))]
|
||||
public class HoloLensFaceDetectionExample : ExampleSceneBase
|
||||
public class HoloLensFaceDetectionExample : MonoBehaviour
|
||||
{
|
||||
/// <summary>
|
||||
/// Determines if enables the detection.
|
||||
|
@ -97,67 +98,86 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// </summary>
|
||||
List<Rect> detectionResult = new List<Rect>();
|
||||
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
int CVTCOLOR_CODE = Imgproc.COLOR_BGRA2GRAY;
|
||||
Scalar COLOR_RED = new Scalar(0, 0, 255, 255);
|
||||
Scalar COLOR_GREEN = new Scalar(0, 255, 0, 255);
|
||||
Scalar COLOR_BLUE = new Scalar(255, 0, 0, 255);
|
||||
#else
|
||||
#else
|
||||
int CVTCOLOR_CODE = Imgproc.COLOR_RGBA2GRAY;
|
||||
Scalar COLOR_RED = new Scalar(255, 0, 0, 255);
|
||||
Scalar COLOR_GREEN = new Scalar(0, 255, 0, 255);
|
||||
Scalar COLOR_BLUE = new Scalar(0, 0, 255, 255);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
Mat grayMat4Thread;
|
||||
CascadeClassifier cascade4Thread;
|
||||
readonly static Queue<Action> ExecuteOnMainThread = new Queue<Action>();
|
||||
System.Object sync = new System.Object ();
|
||||
System.Object sync = new System.Object();
|
||||
|
||||
bool _isThreadRunning = false;
|
||||
bool isThreadRunning {
|
||||
get { lock (sync)
|
||||
return _isThreadRunning; }
|
||||
set { lock (sync)
|
||||
_isThreadRunning = value; }
|
||||
bool isThreadRunning
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (sync)
|
||||
return _isThreadRunning;
|
||||
}
|
||||
set
|
||||
{
|
||||
lock (sync)
|
||||
_isThreadRunning = value;
|
||||
}
|
||||
}
|
||||
|
||||
RectangleTracker rectangleTracker;
|
||||
float coeffTrackingWindowSize = 2.0f;
|
||||
float coeffObjectSizeToTrack = 0.85f;
|
||||
List<Rect> detectedObjectsInRegions = new List<Rect> ();
|
||||
List<Rect> resultObjects = new List<Rect> ();
|
||||
List<Rect> detectedObjectsInRegions = new List<Rect>();
|
||||
List<Rect> resultObjects = new List<Rect>();
|
||||
|
||||
bool _isDetecting = false;
|
||||
bool isDetecting {
|
||||
get { lock (sync)
|
||||
return _isDetecting; }
|
||||
set { lock (sync)
|
||||
_isDetecting = value; }
|
||||
bool isDetecting
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (sync)
|
||||
return _isDetecting;
|
||||
}
|
||||
set
|
||||
{
|
||||
lock (sync)
|
||||
_isDetecting = value;
|
||||
}
|
||||
}
|
||||
|
||||
bool _hasUpdatedDetectionResult = false;
|
||||
bool hasUpdatedDetectionResult {
|
||||
get { lock (sync)
|
||||
return _hasUpdatedDetectionResult; }
|
||||
set { lock (sync)
|
||||
_hasUpdatedDetectionResult = value; }
|
||||
bool hasUpdatedDetectionResult
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (sync)
|
||||
return _hasUpdatedDetectionResult;
|
||||
}
|
||||
set
|
||||
{
|
||||
lock (sync)
|
||||
_hasUpdatedDetectionResult = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Use this for initialization
|
||||
protected override void Start ()
|
||||
protected void Start()
|
||||
{
|
||||
base.Start ();
|
||||
|
||||
imageOptimizationHelper = gameObject.GetComponent<ImageOptimizationHelper>();
|
||||
webCamTextureToMatHelper = gameObject.GetComponent<HololensCameraStreamToMatHelper> ();
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
webCamTextureToMatHelper = gameObject.GetComponent<HololensCameraStreamToMatHelper>();
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
webCamTextureToMatHelper.frameMatAcquired += OnFrameMatAcquired;
|
||||
#endif
|
||||
webCamTextureToMatHelper.Initialize ();
|
||||
#endif
|
||||
webCamTextureToMatHelper.Initialize();
|
||||
|
||||
rectangleTracker = new RectangleTracker ();
|
||||
rectangleTracker = new RectangleTracker();
|
||||
|
||||
|
||||
useSeparateDetectionToggle.isOn = useSeparateDetection;
|
||||
|
@ -168,32 +188,32 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// <summary>
|
||||
/// Raises the web cam texture to mat helper initialized event.
|
||||
/// </summary>
|
||||
public void OnWebCamTextureToMatHelperInitialized ()
|
||||
public void OnWebCamTextureToMatHelperInitialized()
|
||||
{
|
||||
Debug.Log ("OnWebCamTextureToMatHelperInitialized");
|
||||
Debug.Log("OnWebCamTextureToMatHelperInitialized");
|
||||
|
||||
Mat webCamTextureMat = webCamTextureToMatHelper.GetMat ();
|
||||
Mat webCamTextureMat = webCamTextureToMatHelper.GetMat();
|
||||
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
// HololensCameraStream always returns image data in BGRA format.
|
||||
texture = new Texture2D (webCamTextureMat.cols (), webCamTextureMat.rows (), TextureFormat.BGRA32, false);
|
||||
#else
|
||||
texture = new Texture2D (webCamTextureMat.cols (), webCamTextureMat.rows (), TextureFormat.RGBA32, false);
|
||||
#endif
|
||||
#else
|
||||
texture = new Texture2D(webCamTextureMat.cols(), webCamTextureMat.rows(), TextureFormat.RGBA32, false);
|
||||
#endif
|
||||
|
||||
texture.wrapMode = TextureWrapMode.Clamp;
|
||||
|
||||
Debug.Log ("Screen.width " + Screen.width + " Screen.height " + Screen.height + " Screen.orientation " + Screen.orientation);
|
||||
Debug.Log("Screen.width " + Screen.width + " Screen.height " + Screen.height + " Screen.orientation " + Screen.orientation);
|
||||
|
||||
quad_renderer = gameObject.GetComponent<Renderer> () as Renderer;
|
||||
quad_renderer.sharedMaterial.SetTexture ("_MainTex", texture);
|
||||
quad_renderer.sharedMaterial.SetVector ("_VignetteOffset", new Vector4(0, 0));
|
||||
quad_renderer = gameObject.GetComponent<Renderer>() as Renderer;
|
||||
quad_renderer.sharedMaterial.SetTexture("_MainTex", texture);
|
||||
quad_renderer.sharedMaterial.SetVector("_VignetteOffset", new Vector4(0, 0));
|
||||
|
||||
Matrix4x4 projectionMatrix;
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
projectionMatrix = webCamTextureToMatHelper.GetProjectionMatrix ();
|
||||
quad_renderer.sharedMaterial.SetMatrix ("_CameraProjectionMatrix", projectionMatrix);
|
||||
#else
|
||||
#else
|
||||
//This value is obtained from PhotoCapture's TryGetProjectionMatrix() method.I do not know whether this method is good.
|
||||
//Please see the discussion of this thread.Https://forums.hololens.com/discussion/782/live-stream-of-locatable-camera-webcam-in-unity
|
||||
projectionMatrix = Matrix4x4.identity;
|
||||
|
@ -213,74 +233,76 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
projectionMatrix.m31 = 0.00000f;
|
||||
projectionMatrix.m32 = -1.00000f;
|
||||
projectionMatrix.m33 = 0.00000f;
|
||||
quad_renderer.sharedMaterial.SetMatrix ("_CameraProjectionMatrix", projectionMatrix);
|
||||
#endif
|
||||
quad_renderer.sharedMaterial.SetMatrix("_CameraProjectionMatrix", projectionMatrix);
|
||||
#endif
|
||||
|
||||
quad_renderer.sharedMaterial.SetFloat ("_VignetteScale", 0.0f);
|
||||
quad_renderer.sharedMaterial.SetFloat("_VignetteScale", 0.0f);
|
||||
|
||||
|
||||
grayMat = new Mat ();
|
||||
cascade = new CascadeClassifier ();
|
||||
cascade.load (Utils.getFilePath ("lbpcascade_frontalface.xml"));
|
||||
#if !UNITY_WSA_10_0 || UNITY_EDITOR
|
||||
grayMat = new Mat();
|
||||
cascade = new CascadeClassifier();
|
||||
cascade.load(Utils.getFilePath("lbpcascade_frontalface.xml"));
|
||||
#if !UNITY_WSA_10_0 || UNITY_EDITOR
|
||||
// "empty" method is not working on the UWP platform.
|
||||
if (cascade.empty())
|
||||
{
|
||||
Debug.LogError("cascade file is not loaded. Please copy from “OpenCVForUnity/StreamingAssets/” to “Assets/StreamingAssets/” folder. ");
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
grayMat4Thread = new Mat ();
|
||||
cascade4Thread = new CascadeClassifier ();
|
||||
cascade4Thread.load (Utils.getFilePath ("haarcascade_frontalface_alt.xml"));
|
||||
#if !UNITY_WSA_10_0 || UNITY_EDITOR
|
||||
grayMat4Thread = new Mat();
|
||||
cascade4Thread = new CascadeClassifier();
|
||||
cascade4Thread.load(Utils.getFilePath("haarcascade_frontalface_alt.xml"));
|
||||
#if !UNITY_WSA_10_0 || UNITY_EDITOR
|
||||
// "empty" method is not working on the UWP platform.
|
||||
if (cascade4Thread.empty())
|
||||
{
|
||||
Debug.LogError("cascade file is not loaded. Please copy from “OpenCVForUnity/StreamingAssets/” to “Assets/StreamingAssets/” folder. ");
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the web cam texture to mat helper disposed event.
|
||||
/// </summary>
|
||||
public void OnWebCamTextureToMatHelperDisposed ()
|
||||
public void OnWebCamTextureToMatHelperDisposed()
|
||||
{
|
||||
Debug.Log ("OnWebCamTextureToMatHelperDisposed");
|
||||
Debug.Log("OnWebCamTextureToMatHelperDisposed");
|
||||
|
||||
StopThread ();
|
||||
lock (ExecuteOnMainThread) {
|
||||
ExecuteOnMainThread.Clear ();
|
||||
StopThread();
|
||||
lock (ExecuteOnMainThread)
|
||||
{
|
||||
ExecuteOnMainThread.Clear();
|
||||
}
|
||||
hasUpdatedDetectionResult = false;
|
||||
isDetecting = false;
|
||||
|
||||
if (grayMat != null)
|
||||
grayMat.Dispose ();
|
||||
grayMat.Dispose();
|
||||
|
||||
if (cascade != null)
|
||||
cascade.Dispose ();
|
||||
cascade.Dispose();
|
||||
|
||||
if (grayMat4Thread != null)
|
||||
grayMat4Thread.Dispose ();
|
||||
grayMat4Thread.Dispose();
|
||||
|
||||
if (cascade4Thread != null)
|
||||
cascade4Thread.Dispose ();
|
||||
cascade4Thread.Dispose();
|
||||
|
||||
rectangleTracker.Reset ();
|
||||
rectangleTracker.Reset();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the web cam texture to mat helper error occurred event.
|
||||
/// </summary>
|
||||
/// <param name="errorCode">Error code.</param>
|
||||
public void OnWebCamTextureToMatHelperErrorOccurred(WebCamTextureToMatHelper.ErrorCode errorCode){
|
||||
Debug.Log ("OnWebCamTextureToMatHelperErrorOccurred " + errorCode);
|
||||
public void OnWebCamTextureToMatHelperErrorOccurred(WebCamTextureToMatHelper.ErrorCode errorCode)
|
||||
{
|
||||
Debug.Log("OnWebCamTextureToMatHelperErrorOccurred " + errorCode);
|
||||
}
|
||||
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
public void OnFrameMatAcquired (Mat bgraMat, Matrix4x4 projectionMatrix, Matrix4x4 cameraToWorldMatrix)
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
public void OnFrameMatAcquired(Mat bgraMat, Matrix4x4 projectionMatrix, Matrix4x4 cameraToWorldMatrix)
|
||||
{
|
||||
Mat downScaleMat = null;
|
||||
float DOWNSCALE_RATIO;
|
||||
|
@ -295,44 +317,50 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
DOWNSCALE_RATIO = 1.0f;
|
||||
}
|
||||
|
||||
Imgproc.cvtColor (downScaleMat, grayMat, CVTCOLOR_CODE);
|
||||
Imgproc.equalizeHist (grayMat, grayMat);
|
||||
|
||||
if (enableDetection && !isDetecting ) {
|
||||
Imgproc.cvtColor(downScaleMat, grayMat, CVTCOLOR_CODE);
|
||||
Imgproc.equalizeHist(grayMat, grayMat);
|
||||
|
||||
if (enableDetection && !isDetecting)
|
||||
{
|
||||
isDetecting = true;
|
||||
|
||||
grayMat.copyTo (grayMat4Thread);
|
||||
|
||||
System.Threading.Tasks.Task.Run(() => {
|
||||
grayMat.copyTo(grayMat4Thread);
|
||||
|
||||
System.Threading.Tasks.Task.Run(() =>
|
||||
{
|
||||
|
||||
isThreadRunning = true;
|
||||
|
||||
DetectObject(grayMat4Thread, out detectionResult, cascade4Thread);
|
||||
|
||||
isThreadRunning = false;
|
||||
OnDetectionDone ();
|
||||
OnDetectionDone();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if (!displayCameraImage) {
|
||||
|
||||
if (!displayCameraImage)
|
||||
{
|
||||
// fill all black.
|
||||
Imgproc.rectangle (bgraMat, new Point (0, 0), new Point (bgraMat.width (), bgraMat.height ()), new Scalar (0, 0, 0, 0), -1);
|
||||
Imgproc.rectangle(bgraMat, new Point(0, 0), new Point(bgraMat.width(), bgraMat.height()), new Scalar(0, 0, 0, 0), -1);
|
||||
}
|
||||
|
||||
|
||||
if (!useSeparateDetection) {
|
||||
if (hasUpdatedDetectionResult) {
|
||||
if (!useSeparateDetection)
|
||||
{
|
||||
if (hasUpdatedDetectionResult)
|
||||
{
|
||||
hasUpdatedDetectionResult = false;
|
||||
|
||||
lock (rectangleTracker) {
|
||||
rectangleTracker.UpdateTrackedObjects (detectionResult);
|
||||
lock (rectangleTracker)
|
||||
{
|
||||
rectangleTracker.UpdateTrackedObjects(detectionResult);
|
||||
}
|
||||
}
|
||||
|
||||
lock (rectangleTracker) {
|
||||
rectangleTracker.GetObjects (resultObjects, true);
|
||||
lock (rectangleTracker)
|
||||
{
|
||||
rectangleTracker.GetObjects(resultObjects, true);
|
||||
}
|
||||
|
||||
int len = resultObjects.Count;
|
||||
|
@ -353,45 +381,52 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
Imgproc.rectangle(bgraMat, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), COLOR_RED, 2);
|
||||
}
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
|
||||
Rect[] rectsWhereRegions;
|
||||
|
||||
if (hasUpdatedDetectionResult) {
|
||||
if (hasUpdatedDetectionResult)
|
||||
{
|
||||
hasUpdatedDetectionResult = false;
|
||||
|
||||
//UnityEngine.WSA.Application.InvokeOnAppThread (() => {
|
||||
// Debug.Log("process: get rectsWhereRegions were got from detectionResult");
|
||||
//}, true);
|
||||
|
||||
lock (rectangleTracker) {
|
||||
rectsWhereRegions = detectionResult.ToArray ();
|
||||
lock (rectangleTracker)
|
||||
{
|
||||
rectsWhereRegions = detectionResult.ToArray();
|
||||
}
|
||||
|
||||
DrawDownScaleFaceRects(bgraMat, rectsWhereRegions, DOWNSCALE_RATIO, COLOR_BLUE, 1);
|
||||
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
//UnityEngine.WSA.Application.InvokeOnAppThread (() => {
|
||||
// Debug.Log("process: get rectsWhereRegions from previous positions");
|
||||
//}, true);
|
||||
|
||||
lock (rectangleTracker) {
|
||||
rectsWhereRegions = rectangleTracker.CreateCorrectionBySpeedOfRects ();
|
||||
lock (rectangleTracker)
|
||||
{
|
||||
rectsWhereRegions = rectangleTracker.CreateCorrectionBySpeedOfRects();
|
||||
}
|
||||
|
||||
DrawDownScaleFaceRects(bgraMat, rectsWhereRegions, DOWNSCALE_RATIO, COLOR_GREEN, 1);
|
||||
}
|
||||
|
||||
detectedObjectsInRegions.Clear ();
|
||||
detectedObjectsInRegions.Clear();
|
||||
int len = rectsWhereRegions.Length;
|
||||
for (int i = 0; i < len; i++)
|
||||
{
|
||||
DetectInRegion(grayMat, rectsWhereRegions[i], detectedObjectsInRegions, cascade);
|
||||
}
|
||||
|
||||
lock (rectangleTracker) {
|
||||
rectangleTracker.UpdateTrackedObjects (detectedObjectsInRegions);
|
||||
rectangleTracker.GetObjects (resultObjects, true);
|
||||
lock (rectangleTracker)
|
||||
{
|
||||
rectangleTracker.UpdateTrackedObjects(detectedObjectsInRegions);
|
||||
rectangleTracker.GetObjects(resultObjects, true);
|
||||
}
|
||||
|
||||
len = resultObjects.Count;
|
||||
|
@ -413,24 +448,23 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
}
|
||||
}
|
||||
|
||||
Enqueue(() => {
|
||||
|
||||
if (!webCamTextureToMatHelper.IsPlaying ()) return;
|
||||
Enqueue(() =>
|
||||
{
|
||||
if (!webCamTextureToMatHelper.IsPlaying()) return;
|
||||
|
||||
Utils.fastMatToTexture2D(bgraMat, texture);
|
||||
bgraMat.Dispose ();
|
||||
bgraMat.Dispose();
|
||||
|
||||
Matrix4x4 worldToCameraMatrix = cameraToWorldMatrix.inverse;
|
||||
|
||||
quad_renderer.sharedMaterial.SetMatrix ("_WorldToCameraMatrix", worldToCameraMatrix);
|
||||
quad_renderer.sharedMaterial.SetMatrix("_WorldToCameraMatrix", worldToCameraMatrix);
|
||||
|
||||
// Position the canvas object slightly in front
|
||||
// of the real world web camera.
|
||||
Vector3 position = cameraToWorldMatrix.GetColumn (3) - cameraToWorldMatrix.GetColumn (2);
|
||||
position *= 2.2f;
|
||||
Vector3 position = cameraToWorldMatrix.GetColumn(3) - cameraToWorldMatrix.GetColumn(2) * 2.2f;
|
||||
|
||||
// Rotate the canvas object so that it faces the user.
|
||||
Quaternion rotation = Quaternion.LookRotation (-cameraToWorldMatrix.GetColumn (2), cameraToWorldMatrix.GetColumn (1));
|
||||
Quaternion rotation = Quaternion.LookRotation(-cameraToWorldMatrix.GetColumn(2), cameraToWorldMatrix.GetColumn(1));
|
||||
|
||||
gameObject.transform.position = position;
|
||||
gameObject.transform.rotation = rotation;
|
||||
|
@ -457,20 +491,23 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
}
|
||||
}
|
||||
|
||||
#else
|
||||
#else
|
||||
|
||||
// Update is called once per frame
|
||||
void Update ()
|
||||
void Update()
|
||||
{
|
||||
lock (ExecuteOnMainThread) {
|
||||
while (ExecuteOnMainThread.Count > 0) {
|
||||
ExecuteOnMainThread.Dequeue ().Invoke ();
|
||||
lock (ExecuteOnMainThread)
|
||||
{
|
||||
while (ExecuteOnMainThread.Count > 0)
|
||||
{
|
||||
ExecuteOnMainThread.Dequeue().Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
if (webCamTextureToMatHelper.IsPlaying () && webCamTextureToMatHelper.DidUpdateThisFrame ()) {
|
||||
if (webCamTextureToMatHelper.IsPlaying() && webCamTextureToMatHelper.DidUpdateThisFrame())
|
||||
{
|
||||
|
||||
Mat rgbaMat = webCamTextureToMatHelper.GetMat ();
|
||||
Mat rgbaMat = webCamTextureToMatHelper.GetMat();
|
||||
|
||||
Mat downScaleMat = null;
|
||||
float DOWNSCALE_RATIO;
|
||||
|
@ -485,31 +522,34 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
DOWNSCALE_RATIO = 1.0f;
|
||||
}
|
||||
|
||||
Imgproc.cvtColor (downScaleMat, grayMat, CVTCOLOR_CODE);
|
||||
Imgproc.equalizeHist (grayMat, grayMat);
|
||||
Imgproc.cvtColor(downScaleMat, grayMat, CVTCOLOR_CODE);
|
||||
Imgproc.equalizeHist(grayMat, grayMat);
|
||||
|
||||
if (enableDetection && !isDetecting ) {
|
||||
if (enableDetection && !isDetecting)
|
||||
{
|
||||
isDetecting = true;
|
||||
|
||||
grayMat.copyTo (grayMat4Thread);
|
||||
grayMat.copyTo(grayMat4Thread);
|
||||
|
||||
StartThread (ThreadWorker);
|
||||
StartThread(ThreadWorker);
|
||||
}
|
||||
|
||||
if (!displayCameraImage) {
|
||||
if (!displayCameraImage)
|
||||
{
|
||||
// fill all black.
|
||||
Imgproc.rectangle (rgbaMat, new Point (0, 0), new Point (rgbaMat.width (), rgbaMat.height ()), new Scalar (0, 0, 0, 0), -1);
|
||||
Imgproc.rectangle(rgbaMat, new Point(0, 0), new Point(rgbaMat.width(), rgbaMat.height()), new Scalar(0, 0, 0, 0), -1);
|
||||
}
|
||||
|
||||
if (!useSeparateDetection) {
|
||||
if (hasUpdatedDetectionResult)
|
||||
if (!useSeparateDetection)
|
||||
{
|
||||
if (hasUpdatedDetectionResult)
|
||||
{
|
||||
hasUpdatedDetectionResult = false;
|
||||
|
||||
rectangleTracker.UpdateTrackedObjects (detectionResult);
|
||||
rectangleTracker.UpdateTrackedObjects(detectionResult);
|
||||
}
|
||||
|
||||
rectangleTracker.GetObjects (resultObjects, true);
|
||||
rectangleTracker.GetObjects(resultObjects, true);
|
||||
|
||||
int len = resultObjects.Count;
|
||||
for (int i = 0; i < len; i++)
|
||||
|
@ -526,36 +566,41 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
}
|
||||
|
||||
// draw face rect
|
||||
Imgproc.rectangle (rgbaMat, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), COLOR_RED, 2);
|
||||
Imgproc.rectangle(rgbaMat, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), COLOR_RED, 2);
|
||||
}
|
||||
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Rect[] rectsWhereRegions;
|
||||
|
||||
if (hasUpdatedDetectionResult) {
|
||||
if (hasUpdatedDetectionResult)
|
||||
{
|
||||
hasUpdatedDetectionResult = false;
|
||||
|
||||
//Debug.Log("process: get rectsWhereRegions were got from detectionResult");
|
||||
rectsWhereRegions = detectionResult.ToArray ();
|
||||
rectsWhereRegions = detectionResult.ToArray();
|
||||
|
||||
DrawDownScaleFaceRects(rgbaMat, rectsWhereRegions, DOWNSCALE_RATIO, COLOR_BLUE, 1);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
//Debug.Log("process: get rectsWhereRegions from previous positions");
|
||||
rectsWhereRegions = rectangleTracker.CreateCorrectionBySpeedOfRects ();
|
||||
rectsWhereRegions = rectangleTracker.CreateCorrectionBySpeedOfRects();
|
||||
|
||||
DrawDownScaleFaceRects(rgbaMat, rectsWhereRegions, DOWNSCALE_RATIO, COLOR_GREEN, 1);
|
||||
}
|
||||
|
||||
detectedObjectsInRegions.Clear ();
|
||||
detectedObjectsInRegions.Clear();
|
||||
int len = rectsWhereRegions.Length;
|
||||
for (int i = 0; i < len; i++)
|
||||
{
|
||||
DetectInRegion(grayMat, rectsWhereRegions[i], detectedObjectsInRegions, cascade);
|
||||
}
|
||||
|
||||
rectangleTracker.UpdateTrackedObjects (detectedObjectsInRegions);
|
||||
rectangleTracker.GetObjects (resultObjects, true);
|
||||
rectangleTracker.UpdateTrackedObjects(detectedObjectsInRegions);
|
||||
rectangleTracker.GetObjects(resultObjects, true);
|
||||
|
||||
len = resultObjects.Count;
|
||||
for (int i = 0; i < len; i++)
|
||||
|
@ -575,60 +620,64 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
Imgproc.rectangle(rgbaMat, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), COLOR_RED, 2);
|
||||
}
|
||||
}
|
||||
|
||||
Utils.fastMatToTexture2D (rgbaMat, texture);
|
||||
|
||||
Utils.fastMatToTexture2D(rgbaMat, texture);
|
||||
}
|
||||
|
||||
if (webCamTextureToMatHelper.IsPlaying ()) {
|
||||
if (webCamTextureToMatHelper.IsPlaying())
|
||||
{
|
||||
|
||||
Matrix4x4 cameraToWorldMatrix = Camera.main.cameraToWorldMatrix;;
|
||||
Matrix4x4 cameraToWorldMatrix = Camera.main.cameraToWorldMatrix; ;
|
||||
Matrix4x4 worldToCameraMatrix = cameraToWorldMatrix.inverse;
|
||||
|
||||
quad_renderer.sharedMaterial.SetMatrix ("_WorldToCameraMatrix", worldToCameraMatrix);
|
||||
quad_renderer.sharedMaterial.SetMatrix("_WorldToCameraMatrix", worldToCameraMatrix);
|
||||
|
||||
// Position the canvas object slightly in front
|
||||
// of the real world web camera.
|
||||
Vector3 position = cameraToWorldMatrix.GetColumn (3) - cameraToWorldMatrix.GetColumn (2);
|
||||
position *= 2.2f;
|
||||
Vector3 position = cameraToWorldMatrix.GetColumn(3) - cameraToWorldMatrix.GetColumn(2) * 2.2f;
|
||||
|
||||
// Rotate the canvas object so that it faces the user.
|
||||
Quaternion rotation = Quaternion.LookRotation (-cameraToWorldMatrix.GetColumn (2), cameraToWorldMatrix.GetColumn (1));
|
||||
Quaternion rotation = Quaternion.LookRotation(-cameraToWorldMatrix.GetColumn(2), cameraToWorldMatrix.GetColumn(1));
|
||||
|
||||
gameObject.transform.position = position;
|
||||
gameObject.transform.rotation = rotation;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
private void StartThread(Action action)
|
||||
{
|
||||
#if WINDOWS_UWP || (!UNITY_WSA_10_0 && (NET_4_6 || NET_STANDARD_2_0))
|
||||
#if WINDOWS_UWP || (!UNITY_WSA_10_0 && (NET_4_6 || NET_STANDARD_2_0))
|
||||
System.Threading.Tasks.Task.Run(() => action());
|
||||
#else
|
||||
#else
|
||||
ThreadPool.QueueUserWorkItem(_ => action());
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
private void StopThread ()
|
||||
private void StopThread()
|
||||
{
|
||||
if (!isThreadRunning)
|
||||
return;
|
||||
|
||||
while (isThreadRunning) {
|
||||
while (isThreadRunning)
|
||||
{
|
||||
//Wait threading stop
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ThreadWorker()
|
||||
{
|
||||
isThreadRunning = true;
|
||||
|
||||
DetectObject (grayMat4Thread, out detectionResult, cascade4Thread);
|
||||
DetectObject(grayMat4Thread, out detectionResult, cascade4Thread);
|
||||
|
||||
lock (ExecuteOnMainThread) {
|
||||
if (ExecuteOnMainThread.Count == 0) {
|
||||
ExecuteOnMainThread.Enqueue (() => {
|
||||
OnDetectionDone ();
|
||||
lock (ExecuteOnMainThread)
|
||||
{
|
||||
if (ExecuteOnMainThread.Count == 0)
|
||||
{
|
||||
ExecuteOnMainThread.Enqueue(() =>
|
||||
{
|
||||
OnDetectionDone();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -708,54 +757,54 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// <summary>
|
||||
/// Raises the destroy event.
|
||||
/// </summary>
|
||||
void OnDestroy ()
|
||||
void OnDestroy()
|
||||
{
|
||||
imageOptimizationHelper.Dispose();
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
webCamTextureToMatHelper.frameMatAcquired -= OnFrameMatAcquired;
|
||||
#endif
|
||||
webCamTextureToMatHelper.Dispose ();
|
||||
#endif
|
||||
webCamTextureToMatHelper.Dispose();
|
||||
|
||||
if (rectangleTracker != null)
|
||||
rectangleTracker.Dispose ();
|
||||
rectangleTracker.Dispose();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the back button click event.
|
||||
/// </summary>
|
||||
public void OnBackButtonClick ()
|
||||
public void OnBackButtonClick()
|
||||
{
|
||||
LoadScene ("HoloLensWithOpenCVForUnityExample");
|
||||
SceneManager.LoadScene("HoloLensWithOpenCVForUnityExample");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the play button click event.
|
||||
/// </summary>
|
||||
public void OnPlayButtonClick ()
|
||||
public void OnPlayButtonClick()
|
||||
{
|
||||
webCamTextureToMatHelper.Play ();
|
||||
webCamTextureToMatHelper.Play();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the pause button click event.
|
||||
/// </summary>
|
||||
public void OnPauseButtonClick ()
|
||||
public void OnPauseButtonClick()
|
||||
{
|
||||
webCamTextureToMatHelper.Pause ();
|
||||
webCamTextureToMatHelper.Pause();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the stop button click event.
|
||||
/// </summary>
|
||||
public void OnStopButtonClick ()
|
||||
public void OnStopButtonClick()
|
||||
{
|
||||
webCamTextureToMatHelper.Stop ();
|
||||
webCamTextureToMatHelper.Stop();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the change camera button click event.
|
||||
/// </summary>
|
||||
public void OnChangeCameraButtonClick ()
|
||||
public void OnChangeCameraButtonClick()
|
||||
{
|
||||
webCamTextureToMatHelper.requestedIsFrontFacing = !webCamTextureToMatHelper.IsFrontFacing();
|
||||
}
|
||||
|
@ -763,13 +812,14 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// <summary>
|
||||
/// Raises the use separate detection toggle value changed event.
|
||||
/// </summary>
|
||||
public void OnUseSeparateDetectionToggleValueChanged ()
|
||||
public void OnUseSeparateDetectionToggleValueChanged()
|
||||
{
|
||||
useSeparateDetection = useSeparateDetectionToggle.isOn;
|
||||
|
||||
lock (rectangleTracker) {
|
||||
lock (rectangleTracker)
|
||||
{
|
||||
if (rectangleTracker != null)
|
||||
rectangleTracker.Reset ();
|
||||
rectangleTracker.Reset();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -790,7 +840,7 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// <summary>
|
||||
/// Raises the display camera image toggle value changed event.
|
||||
/// </summary>
|
||||
public void OnDisplayCameraImageToggleValueChanged ()
|
||||
public void OnDisplayCameraImageToggleValueChanged()
|
||||
{
|
||||
displayCameraImage = displayCameraImageToggle.isOn;
|
||||
}
|
||||
|
|
|
@ -20,11 +20,11 @@ RenderSettings:
|
|||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
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: 3
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 0}
|
||||
m_HaloStrength: 0.5
|
||||
|
@ -55,23 +55,23 @@ LightmapSettings:
|
|||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 10
|
||||
m_Resolution: 1
|
||||
m_BakeResolution: 50
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 0
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 0
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 1024
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 1
|
||||
m_BakeBackend: 0
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
|
@ -89,7 +89,7 @@ LightmapSettings:
|
|||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ShowResolutionOverlay: 1
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 0
|
||||
m_UseShadowmask: 1
|
||||
--- !u!196 &5
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
|
@ -151,7 +151,7 @@ RectTransform:
|
|||
- {fileID: 1243491301}
|
||||
- {fileID: 1061389117}
|
||||
m_Father: {fileID: 1478280153}
|
||||
m_RootOrder: 1
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -188,14 +188,14 @@ MonoBehaviour:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 62512751}
|
||||
m_Enabled: 0
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
|
||||
m_RaycastTarget: 1
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0}
|
||||
m_RaycastTarget: 0
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
|
@ -240,8 +240,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -396,8 +396,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -467,6 +467,88 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 92177783}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &125943912
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 125943915}
|
||||
- component: {fileID: 125943914}
|
||||
- component: {fileID: 125943913}
|
||||
m_Layer: 0
|
||||
m_Name: UnityUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &125943913
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 125943912}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4684083f6dff4a1d8a790bccc354fcf4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
updateLinkedTransform: 0
|
||||
moveLerpTime: 0.1
|
||||
rotateLerpTime: 0.1
|
||||
scaleLerpTime: 0
|
||||
maintainScale: 1
|
||||
smoothing: 1
|
||||
lifetime: 0
|
||||
referenceDirection: 1
|
||||
minDistance: 1
|
||||
maxDistance: 2
|
||||
minViewDegrees: 0
|
||||
maxViewDegrees: 20
|
||||
aspectV: 1
|
||||
ignoreAngleClamp: 0
|
||||
ignoreDistanceClamp: 0
|
||||
useFixedVerticalPosition: 0
|
||||
fixedVerticalPosition: -0.4
|
||||
orientToReferenceDirection: 0
|
||||
--- !u!114 &125943914
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 125943912}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b55691ad5b034fe6966763a6e23818d2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
trackedTargetType: 0
|
||||
trackedHandness: 3
|
||||
trackedHandJoint: 2
|
||||
transformOverride: {fileID: 0}
|
||||
additionalOffset: {x: 0, y: 0, z: 0}
|
||||
additionalRotation: {x: 0, y: 0, z: 0}
|
||||
updateSolvers: 1
|
||||
--- !u!4 &125943915
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 125943912}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 2}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1478280153}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &151719821
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -547,8 +629,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -583,52 +665,6 @@ MonoBehaviour:
|
|||
m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
|
||||
Culture=neutral, PublicKeyToken=null
|
||||
m_IsOn: 1
|
||||
--- !u!1001 &234758700
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 20770519707920992, guid: d29bc40b7f3df26479d6a0aac211c355,
|
||||
type: 3}
|
||||
propertyPath: far clip plane
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
--- !u!1 &262962544
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -712,12 +748,6 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 262962544}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!4 &270024293 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 864547286}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &315063041
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -877,8 +907,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -1171,81 +1201,148 @@ MonoBehaviour:
|
|||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: Change Camera
|
||||
--- !u!1001 &864547286
|
||||
PrefabInstance:
|
||||
--- !u!1 &857511043
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 857511044}
|
||||
- component: {fileID: 857511049}
|
||||
- component: {fileID: 857511048}
|
||||
- component: {fileID: 857511047}
|
||||
- component: {fileID: 857511046}
|
||||
- component: {fileID: 857511045}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &857511044
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 857511043}
|
||||
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: 1809869575}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &857511045
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 857511043}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bf98dd1206224111a38765365e98e207, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
setCursorInvisibleWhenFocusLocked: 0
|
||||
maxGazeCollisionDistance: 10
|
||||
raycastLayerMasks:
|
||||
- serializedVersion: 2
|
||||
m_Bits: 4294967291
|
||||
stabilizer:
|
||||
storedStabilitySamples: 60
|
||||
gazeTransform: {fileID: 0}
|
||||
minHeadVelocityThreshold: 0.5
|
||||
maxHeadVelocityThreshold: 2
|
||||
useEyeTracking: 1
|
||||
--- !u!114 &857511046
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 857511043}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7a21b486d0bb44444b1418aaa38b44de, 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 &857511047
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 857511043}
|
||||
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!81 &857511048
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 857511043}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &857511049
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 857511043}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 1478280153}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1000011443254168, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012084356042, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012084356042, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012084356042, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 114814769360254126, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5,
|
||||
type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 114000014245746336, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5,
|
||||
type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_projectionMatrixMode: 1
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_GateFitMode: 2
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!1 &968596576
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1398,8 +1495,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -1718,8 +1815,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -1952,8 +2049,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -2310,8 +2407,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -2473,10 +2570,7 @@ GameObject:
|
|||
- component: {fileID: 1478280151}
|
||||
- component: {fileID: 1478280150}
|
||||
- component: {fileID: 1478280156}
|
||||
- component: {fileID: 1478280155}
|
||||
- component: {fileID: 1478280154}
|
||||
- component: {fileID: 1478280157}
|
||||
- component: {fileID: 1478280158}
|
||||
m_Layer: 5
|
||||
m_Name: Canvas
|
||||
m_TagString: Untagged
|
||||
|
@ -2533,7 +2627,7 @@ Canvas:
|
|||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 2
|
||||
m_Camera: {fileID: 1972617041}
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
|
@ -2551,19 +2645,18 @@ RectTransform:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1478280149}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 2}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.001, y: 0.001, z: 0.001}
|
||||
m_Children:
|
||||
- {fileID: 270024293}
|
||||
- {fileID: 62512752}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_Father: {fileID: 125943915}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 800, y: 496.1241}
|
||||
m_SizeDelta: {x: 640, y: 480}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1478280154
|
||||
MonoBehaviour:
|
||||
|
@ -2574,35 +2667,9 @@ MonoBehaviour:
|
|||
m_GameObject: {fileID: 1478280149}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2be8bd2ebd8277c448d6d81c75517fee, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: ff4e3b9019304b5aaec5664de0778d21, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
TagalongDistance: 2
|
||||
EnforceDistance: 1
|
||||
PositionUpdateSpeed: 9.8
|
||||
SmoothMotion: 1
|
||||
SmoothingFactor: 0.75
|
||||
--- !u!114 &1478280155
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1478280149}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fb69de839bd015f4099b5bd2c45e53e5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
UseUnscaledTime: 1
|
||||
PositionPerSecond: 30
|
||||
RotationDegreesPerSecond: 720
|
||||
RotationSpeedScaler: 0
|
||||
ScalePerSecond: 5
|
||||
SmoothLerpToTarget: 0
|
||||
SmoothPositionLerpRatio: 0.5
|
||||
SmoothRotationLerpRatio: 0.5
|
||||
SmoothScaleLerpRatio: 0.5
|
||||
--- !u!65 &1478280156
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2616,103 +2683,6 @@ BoxCollider:
|
|||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1478280157
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1478280149}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ac8d5b128a1d8204fb76c86f47b75912, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
pivotAxis: 0
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &1478280158
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1478280149}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2aebab3047f2113489ca3eb8423228b6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Canvas: {fileID: 1478280152}
|
||||
--- !u!1001 &1492569179
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 4
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 108000011213487996, guid: b2db04283121ca74495c2ee000fb4243,
|
||||
type: 3}
|
||||
propertyPath: m_Range
|
||||
value: 0.01
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013144497514, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 0.001
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013144497514, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 0.001
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013144497514, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 0.001
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
--- !u!114 &1492569180 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 114000013851064060, guid: b2db04283121ca74495c2ee000fb4243,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1492569179}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: afa1ae235bc6cfa43addd1435e2fd822, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &1646213444
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2862,58 +2832,37 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1722292691}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1001 &1972617040
|
||||
PrefabInstance:
|
||||
--- !u!1 &1809869574
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 3
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 114742747811649402, guid: 3eddd1c29199313478dd3f912bfab2ab,
|
||||
type: 3}
|
||||
propertyPath: Cursor
|
||||
value:
|
||||
objectReference: {fileID: 1492569180}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
--- !u!20 &1972617041 stripped
|
||||
Camera:
|
||||
m_CorrespondingSourceObject: {fileID: 20049547090947856, guid: 3eddd1c29199313478dd3f912bfab2ab,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1972617040}
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1809869575}
|
||||
m_Layer: 0
|
||||
m_Name: MixedRealityPlayspace
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1809869575
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1809869574}
|
||||
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: 857511044}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1976741141
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -3076,3 +3025,47 @@ RectTransform:
|
|||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &2147208328
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2147208330}
|
||||
- component: {fileID: 2147208329}
|
||||
m_Layer: 0
|
||||
m_Name: MixedRealityToolkit
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &2147208329
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2147208328}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 83d9acc7968244a8886f3af591305bcb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
activeProfile: {fileID: 11400000, guid: 019ea231fcd4127409ae7906b2996ee1, type: 2}
|
||||
--- !u!4 &2147208330
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2147208328}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.Threading;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.SceneManagement;
|
||||
using OpenCVForUnity.RectangleTrack;
|
||||
using OpenCVForUnity.CoreModule;
|
||||
using OpenCVForUnity.ObjdetectModule;
|
||||
|
@ -20,7 +21,7 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// Referring to https://github.com/Itseez/opencv/blob/master/modules/objdetect/src/detection_based_tracker.cpp.
|
||||
/// </summary>
|
||||
[RequireComponent(typeof(HololensCameraStreamToMatHelper))]
|
||||
public class HoloLensFaceDetectionOverlayExample : ExampleSceneBase
|
||||
public class HoloLensFaceDetectionOverlayExample : MonoBehaviour
|
||||
{
|
||||
/// <summary>
|
||||
/// Determines if enables the detection.
|
||||
|
@ -82,70 +83,89 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// </summary>
|
||||
List<Rect> detectionResult = new List<Rect>();
|
||||
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
int CVTCOLOR_CODE = Imgproc.COLOR_BGRA2GRAY;
|
||||
Scalar COLOR_RED = new Scalar(0, 0, 255, 255);
|
||||
Scalar COLOR_GREEN = new Scalar(0, 255, 0, 255);
|
||||
Scalar COLOR_BLUE = new Scalar(255, 0, 0, 255);
|
||||
#else
|
||||
#else
|
||||
int CVTCOLOR_CODE = Imgproc.COLOR_RGBA2GRAY;
|
||||
Scalar COLOR_RED = new Scalar(255, 0, 0, 255);
|
||||
Scalar COLOR_GREEN = new Scalar(0, 255, 0, 255);
|
||||
Scalar COLOR_BLUE = new Scalar(0, 0, 255, 255);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Mat grayMat4Thread;
|
||||
CascadeClassifier cascade4Thread;
|
||||
readonly static Queue<Action> ExecuteOnMainThread = new Queue<Action>();
|
||||
System.Object sync = new System.Object ();
|
||||
System.Object sync = new System.Object();
|
||||
|
||||
bool _isThreadRunning = false;
|
||||
bool isThreadRunning {
|
||||
get { lock (sync)
|
||||
return _isThreadRunning; }
|
||||
set { lock (sync)
|
||||
_isThreadRunning = value; }
|
||||
bool isThreadRunning
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (sync)
|
||||
return _isThreadRunning;
|
||||
}
|
||||
set
|
||||
{
|
||||
lock (sync)
|
||||
_isThreadRunning = value;
|
||||
}
|
||||
}
|
||||
|
||||
RectangleTracker rectangleTracker;
|
||||
float coeffTrackingWindowSize = 2.0f;
|
||||
float coeffObjectSizeToTrack = 0.85f;
|
||||
List<Rect> detectedObjectsInRegions = new List<Rect> ();
|
||||
List<Rect> resultObjects = new List<Rect> ();
|
||||
List<Rect> detectedObjectsInRegions = new List<Rect>();
|
||||
List<Rect> resultObjects = new List<Rect>();
|
||||
|
||||
bool _isDetecting = false;
|
||||
bool isDetecting {
|
||||
get { lock (sync)
|
||||
return _isDetecting; }
|
||||
set { lock (sync)
|
||||
_isDetecting = value; }
|
||||
bool isDetecting
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (sync)
|
||||
return _isDetecting;
|
||||
}
|
||||
set
|
||||
{
|
||||
lock (sync)
|
||||
_isDetecting = value;
|
||||
}
|
||||
}
|
||||
|
||||
bool _hasUpdatedDetectionResult = false;
|
||||
bool hasUpdatedDetectionResult {
|
||||
get { lock (sync)
|
||||
return _hasUpdatedDetectionResult; }
|
||||
set { lock (sync)
|
||||
_hasUpdatedDetectionResult = value; }
|
||||
bool hasUpdatedDetectionResult
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (sync)
|
||||
return _hasUpdatedDetectionResult;
|
||||
}
|
||||
set
|
||||
{
|
||||
lock (sync)
|
||||
_hasUpdatedDetectionResult = value;
|
||||
}
|
||||
}
|
||||
|
||||
Matrix4x4 projectionMatrix;
|
||||
RectOverlay rectOverlay;
|
||||
|
||||
// Use this for initialization
|
||||
protected override void Start ()
|
||||
protected void Start()
|
||||
{
|
||||
base.Start ();
|
||||
|
||||
imageOptimizationHelper = gameObject.GetComponent<ImageOptimizationHelper>();
|
||||
webCamTextureToMatHelper = gameObject.GetComponent<HololensCameraStreamToMatHelper> ();
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
webCamTextureToMatHelper = gameObject.GetComponent<HololensCameraStreamToMatHelper>();
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
webCamTextureToMatHelper.frameMatAcquired += OnFrameMatAcquired;
|
||||
#endif
|
||||
webCamTextureToMatHelper.Initialize ();
|
||||
#endif
|
||||
webCamTextureToMatHelper.Initialize();
|
||||
|
||||
rectangleTracker = new RectangleTracker ();
|
||||
rectOverlay = gameObject.GetComponent<RectOverlay> ();
|
||||
rectangleTracker = new RectangleTracker();
|
||||
rectOverlay = gameObject.GetComponent<RectOverlay>();
|
||||
|
||||
useSeparateDetectionToggle.isOn = useSeparateDetection;
|
||||
enableDownScaleToggle.isOn = enableDownScale;
|
||||
|
@ -154,18 +174,18 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// <summary>
|
||||
/// Raises the web cam texture to mat helper initialized event.
|
||||
/// </summary>
|
||||
public void OnWebCamTextureToMatHelperInitialized ()
|
||||
public void OnWebCamTextureToMatHelperInitialized()
|
||||
{
|
||||
Debug.Log ("OnWebCamTextureToMatHelperInitialized");
|
||||
Debug.Log("OnWebCamTextureToMatHelperInitialized");
|
||||
|
||||
Mat webCamTextureMat = webCamTextureToMatHelper.GetMat ();
|
||||
Mat webCamTextureMat = webCamTextureToMatHelper.GetMat();
|
||||
|
||||
Debug.Log ("Screen.width " + Screen.width + " Screen.height " + Screen.height + " Screen.orientation " + Screen.orientation);
|
||||
Debug.Log("Screen.width " + Screen.width + " Screen.height " + Screen.height + " Screen.orientation " + Screen.orientation);
|
||||
|
||||
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
projectionMatrix = webCamTextureToMatHelper.GetProjectionMatrix ();
|
||||
#else
|
||||
#else
|
||||
//This value is obtained from PhotoCapture's TryGetProjectionMatrix() method.I do not know whether this method is good.
|
||||
//Please see the discussion of this thread.Https://forums.hololens.com/discussion/782/live-stream-of-locatable-camera-webcam-in-unity
|
||||
projectionMatrix = Matrix4x4.identity;
|
||||
|
@ -185,71 +205,73 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
projectionMatrix.m31 = 0.00000f;
|
||||
projectionMatrix.m32 = -1.00000f;
|
||||
projectionMatrix.m33 = 0.00000f;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
grayMat = new Mat ();
|
||||
cascade = new CascadeClassifier ();
|
||||
cascade.load (Utils.getFilePath ("lbpcascade_frontalface.xml"));
|
||||
#if !UNITY_WSA_10_0 || UNITY_EDITOR
|
||||
grayMat = new Mat();
|
||||
cascade = new CascadeClassifier();
|
||||
cascade.load(Utils.getFilePath("lbpcascade_frontalface.xml"));
|
||||
#if !UNITY_WSA_10_0 || UNITY_EDITOR
|
||||
// "empty" method is not working on the UWP platform.
|
||||
if (cascade.empty())
|
||||
{
|
||||
Debug.LogError("cascade file is not loaded. Please copy from “OpenCVForUnity/StreamingAssets/” to “Assets/StreamingAssets/” folder. ");
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
grayMat4Thread = new Mat ();
|
||||
cascade4Thread = new CascadeClassifier ();
|
||||
cascade4Thread.load (Utils.getFilePath ("haarcascade_frontalface_alt.xml"));
|
||||
#if !UNITY_WSA_10_0 || UNITY_EDITOR
|
||||
grayMat4Thread = new Mat();
|
||||
cascade4Thread = new CascadeClassifier();
|
||||
cascade4Thread.load(Utils.getFilePath("haarcascade_frontalface_alt.xml"));
|
||||
#if !UNITY_WSA_10_0 || UNITY_EDITOR
|
||||
// "empty" method is not working on the UWP platform.
|
||||
if (cascade4Thread.empty())
|
||||
{
|
||||
Debug.LogError("cascade file is not loaded. Please copy from “OpenCVForUnity/StreamingAssets/” to “Assets/StreamingAssets/” folder. ");
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the web cam texture to mat helper disposed event.
|
||||
/// </summary>
|
||||
public void OnWebCamTextureToMatHelperDisposed ()
|
||||
public void OnWebCamTextureToMatHelperDisposed()
|
||||
{
|
||||
Debug.Log ("OnWebCamTextureToMatHelperDisposed");
|
||||
Debug.Log("OnWebCamTextureToMatHelperDisposed");
|
||||
|
||||
StopThread ();
|
||||
lock (ExecuteOnMainThread) {
|
||||
ExecuteOnMainThread.Clear ();
|
||||
StopThread();
|
||||
lock (ExecuteOnMainThread)
|
||||
{
|
||||
ExecuteOnMainThread.Clear();
|
||||
}
|
||||
hasUpdatedDetectionResult = false;
|
||||
isDetecting = false;
|
||||
|
||||
if (grayMat != null)
|
||||
grayMat.Dispose ();
|
||||
grayMat.Dispose();
|
||||
|
||||
if (cascade != null)
|
||||
cascade.Dispose ();
|
||||
cascade.Dispose();
|
||||
|
||||
if (grayMat4Thread != null)
|
||||
grayMat4Thread.Dispose ();
|
||||
grayMat4Thread.Dispose();
|
||||
|
||||
if (cascade4Thread != null)
|
||||
cascade4Thread.Dispose ();
|
||||
cascade4Thread.Dispose();
|
||||
|
||||
rectangleTracker.Reset ();
|
||||
rectangleTracker.Reset();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the web cam texture to mat helper error occurred event.
|
||||
/// </summary>
|
||||
/// <param name="errorCode">Error code.</param>
|
||||
public void OnWebCamTextureToMatHelperErrorOccurred(WebCamTextureToMatHelper.ErrorCode errorCode){
|
||||
Debug.Log ("OnWebCamTextureToMatHelperErrorOccurred " + errorCode);
|
||||
public void OnWebCamTextureToMatHelperErrorOccurred(WebCamTextureToMatHelper.ErrorCode errorCode)
|
||||
{
|
||||
Debug.Log("OnWebCamTextureToMatHelperErrorOccurred " + errorCode);
|
||||
}
|
||||
|
||||
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
public void OnFrameMatAcquired (Mat bgraMat, Matrix4x4 projectionMatrix, Matrix4x4 cameraToWorldMatrix)
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
public void OnFrameMatAcquired(Mat bgraMat, Matrix4x4 projectionMatrix, Matrix4x4 cameraToWorldMatrix)
|
||||
{
|
||||
Mat downScaleMat = null;
|
||||
float DOWNSCALE_RATIO;
|
||||
|
@ -264,79 +286,92 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
DOWNSCALE_RATIO = 1.0f;
|
||||
}
|
||||
|
||||
Imgproc.cvtColor (downScaleMat, grayMat, CVTCOLOR_CODE);
|
||||
Imgproc.equalizeHist (grayMat, grayMat);
|
||||
|
||||
if (enableDetection && !isDetecting ) {
|
||||
Imgproc.cvtColor(downScaleMat, grayMat, CVTCOLOR_CODE);
|
||||
Imgproc.equalizeHist(grayMat, grayMat);
|
||||
|
||||
if (enableDetection && !isDetecting)
|
||||
{
|
||||
isDetecting = true;
|
||||
|
||||
grayMat.copyTo (grayMat4Thread);
|
||||
grayMat.copyTo(grayMat4Thread);
|
||||
|
||||
System.Threading.Tasks.Task.Run(() => {
|
||||
System.Threading.Tasks.Task.Run(() =>
|
||||
{
|
||||
|
||||
isThreadRunning = true;
|
||||
|
||||
DetectObject(grayMat4Thread, out detectionResult, cascade4Thread);
|
||||
|
||||
isThreadRunning = false;
|
||||
OnDetectionDone ();
|
||||
OnDetectionDone();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Rect[] rects;
|
||||
if (!useSeparateDetection) {
|
||||
if (hasUpdatedDetectionResult) {
|
||||
if (!useSeparateDetection)
|
||||
{
|
||||
if (hasUpdatedDetectionResult)
|
||||
{
|
||||
hasUpdatedDetectionResult = false;
|
||||
|
||||
lock (rectangleTracker) {
|
||||
rectangleTracker.UpdateTrackedObjects (detectionResult);
|
||||
lock (rectangleTracker)
|
||||
{
|
||||
rectangleTracker.UpdateTrackedObjects(detectionResult);
|
||||
}
|
||||
}
|
||||
|
||||
lock (rectangleTracker) {
|
||||
rectangleTracker.GetObjects (resultObjects, true);
|
||||
lock (rectangleTracker)
|
||||
{
|
||||
rectangleTracker.GetObjects(resultObjects, true);
|
||||
}
|
||||
rects = resultObjects.ToArray ();
|
||||
rects = resultObjects.ToArray();
|
||||
|
||||
}else {
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Rect[] rectsWhereRegions;
|
||||
|
||||
if (hasUpdatedDetectionResult) {
|
||||
if (hasUpdatedDetectionResult)
|
||||
{
|
||||
hasUpdatedDetectionResult = false;
|
||||
|
||||
//UnityEngine.WSA.Application.InvokeOnAppThread (() => {
|
||||
// Debug.Log("process: get rectsWhereRegions were got from detectionResult");
|
||||
//}, true);
|
||||
|
||||
lock (rectangleTracker) {
|
||||
rectsWhereRegions = detectionResult.ToArray ();
|
||||
lock (rectangleTracker)
|
||||
{
|
||||
rectsWhereRegions = detectionResult.ToArray();
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
//UnityEngine.WSA.Application.InvokeOnAppThread (() => {
|
||||
// Debug.Log("process: get rectsWhereRegions from previous positions");
|
||||
//}, true);
|
||||
|
||||
lock (rectangleTracker) {
|
||||
rectsWhereRegions = rectangleTracker.CreateCorrectionBySpeedOfRects ();
|
||||
lock (rectangleTracker)
|
||||
{
|
||||
rectsWhereRegions = rectangleTracker.CreateCorrectionBySpeedOfRects();
|
||||
}
|
||||
}
|
||||
|
||||
detectedObjectsInRegions.Clear ();
|
||||
detectedObjectsInRegions.Clear();
|
||||
int len = rectsWhereRegions.Length;
|
||||
for (int i = 0; i < len; i++)
|
||||
{
|
||||
DetectInRegion(grayMat, rectsWhereRegions[i], detectedObjectsInRegions, cascade);
|
||||
}
|
||||
|
||||
lock (rectangleTracker) {
|
||||
rectangleTracker.UpdateTrackedObjects (detectedObjectsInRegions);
|
||||
rectangleTracker.GetObjects (resultObjects, true);
|
||||
lock (rectangleTracker)
|
||||
{
|
||||
rectangleTracker.UpdateTrackedObjects(detectedObjectsInRegions);
|
||||
rectangleTracker.GetObjects(resultObjects, true);
|
||||
}
|
||||
|
||||
rects = resultObjects.ToArray ();
|
||||
rects = resultObjects.ToArray();
|
||||
}
|
||||
|
||||
if (enableDownScale)
|
||||
|
@ -354,12 +389,12 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
}
|
||||
}
|
||||
|
||||
Enqueue(() => {
|
||||
Enqueue(() =>
|
||||
{
|
||||
if (!webCamTextureToMatHelper.IsPlaying()) return;
|
||||
|
||||
if (!webCamTextureToMatHelper.IsPlaying ()) return;
|
||||
|
||||
DrawRects (rects, bgraMat.width(), bgraMat.height());
|
||||
bgraMat.Dispose ();
|
||||
DrawRects(rects, bgraMat.width(), bgraMat.height());
|
||||
bgraMat.Dispose();
|
||||
|
||||
Vector3 ccCameraSpacePos = UnProjectVector(projectionMatrix, new Vector3(0.0f, 0.0f, overlayDistance));
|
||||
Vector3 tlCameraSpacePos = UnProjectVector(projectionMatrix, new Vector3(-overlayDistance, overlayDistance, overlayDistance));
|
||||
|
@ -369,11 +404,11 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
gameObject.transform.position = position;
|
||||
|
||||
//scale
|
||||
Vector3 scale = new Vector3(Mathf.Abs(tlCameraSpacePos.x - ccCameraSpacePos.x)*2, Mathf.Abs(tlCameraSpacePos.y - ccCameraSpacePos.y)*2, 1);
|
||||
Vector3 scale = new Vector3(Mathf.Abs(tlCameraSpacePos.x - ccCameraSpacePos.x) * 2, Mathf.Abs(tlCameraSpacePos.y - ccCameraSpacePos.y) * 2, 1);
|
||||
gameObject.transform.localScale = scale;
|
||||
|
||||
// Rotate the canvas object so that it faces the user.
|
||||
Quaternion rotation = Quaternion.LookRotation (-cameraToWorldMatrix.GetColumn (2), cameraToWorldMatrix.GetColumn (1));
|
||||
Quaternion rotation = Quaternion.LookRotation(-cameraToWorldMatrix.GetColumn(2), cameraToWorldMatrix.GetColumn(1));
|
||||
gameObject.transform.rotation = rotation;
|
||||
|
||||
rectOverlay.UpdateOverlayTransform(gameObject.transform);
|
||||
|
@ -400,20 +435,23 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
}
|
||||
}
|
||||
|
||||
#else
|
||||
#else
|
||||
|
||||
// Update is called once per frame
|
||||
void Update ()
|
||||
void Update()
|
||||
{
|
||||
lock (ExecuteOnMainThread) {
|
||||
while (ExecuteOnMainThread.Count > 0) {
|
||||
ExecuteOnMainThread.Dequeue ().Invoke ();
|
||||
lock (ExecuteOnMainThread)
|
||||
{
|
||||
while (ExecuteOnMainThread.Count > 0)
|
||||
{
|
||||
ExecuteOnMainThread.Dequeue().Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
if (webCamTextureToMatHelper.IsPlaying () && webCamTextureToMatHelper.DidUpdateThisFrame ()) {
|
||||
if (webCamTextureToMatHelper.IsPlaying() && webCamTextureToMatHelper.DidUpdateThisFrame())
|
||||
{
|
||||
|
||||
Mat rgbaMat = webCamTextureToMatHelper.GetMat ();
|
||||
Mat rgbaMat = webCamTextureToMatHelper.GetMat();
|
||||
|
||||
Mat downScaleMat = null;
|
||||
float DOWNSCALE_RATIO;
|
||||
|
@ -428,28 +466,30 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
DOWNSCALE_RATIO = 1.0f;
|
||||
}
|
||||
|
||||
Imgproc.cvtColor (downScaleMat, grayMat, CVTCOLOR_CODE);
|
||||
Imgproc.equalizeHist (grayMat, grayMat);
|
||||
Imgproc.cvtColor(downScaleMat, grayMat, CVTCOLOR_CODE);
|
||||
Imgproc.equalizeHist(grayMat, grayMat);
|
||||
|
||||
if (enableDetection && !isDetecting ) {
|
||||
if (enableDetection && !isDetecting)
|
||||
{
|
||||
isDetecting = true;
|
||||
|
||||
grayMat.copyTo (grayMat4Thread);
|
||||
grayMat.copyTo(grayMat4Thread);
|
||||
|
||||
StartThread (ThreadWorker);
|
||||
StartThread(ThreadWorker);
|
||||
}
|
||||
|
||||
if (!useSeparateDetection) {
|
||||
if (hasUpdatedDetectionResult)
|
||||
if (!useSeparateDetection)
|
||||
{
|
||||
if (hasUpdatedDetectionResult)
|
||||
{
|
||||
hasUpdatedDetectionResult = false;
|
||||
|
||||
rectangleTracker.UpdateTrackedObjects (detectionResult);
|
||||
rectangleTracker.UpdateTrackedObjects(detectionResult);
|
||||
}
|
||||
|
||||
rectangleTracker.GetObjects (resultObjects, true);
|
||||
rectangleTracker.GetObjects(resultObjects, true);
|
||||
|
||||
Rect[] rects = resultObjects.ToArray ();
|
||||
Rect[] rects = resultObjects.ToArray();
|
||||
|
||||
if (enableDownScale)
|
||||
{
|
||||
|
@ -469,31 +509,36 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
// draw face rect
|
||||
DrawRects(rects, rgbaMat.width(), rgbaMat.height());
|
||||
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Rect[] rectsWhereRegions;
|
||||
|
||||
if (hasUpdatedDetectionResult) {
|
||||
if (hasUpdatedDetectionResult)
|
||||
{
|
||||
hasUpdatedDetectionResult = false;
|
||||
|
||||
//Debug.Log("process: get rectsWhereRegions were got from detectionResult");
|
||||
rectsWhereRegions = detectionResult.ToArray ();
|
||||
} else {
|
||||
rectsWhereRegions = detectionResult.ToArray();
|
||||
}
|
||||
else
|
||||
{
|
||||
//Debug.Log("process: get rectsWhereRegions from previous positions");
|
||||
rectsWhereRegions = rectangleTracker.CreateCorrectionBySpeedOfRects ();
|
||||
rectsWhereRegions = rectangleTracker.CreateCorrectionBySpeedOfRects();
|
||||
}
|
||||
|
||||
detectedObjectsInRegions.Clear ();
|
||||
detectedObjectsInRegions.Clear();
|
||||
int len = rectsWhereRegions.Length;
|
||||
for (int i = 0; i < len; i++)
|
||||
{
|
||||
DetectInRegion (grayMat, rectsWhereRegions[i], detectedObjectsInRegions, cascade);
|
||||
DetectInRegion(grayMat, rectsWhereRegions[i], detectedObjectsInRegions, cascade);
|
||||
}
|
||||
|
||||
rectangleTracker.UpdateTrackedObjects (detectedObjectsInRegions);
|
||||
rectangleTracker.GetObjects (resultObjects, true);
|
||||
rectangleTracker.UpdateTrackedObjects(detectedObjectsInRegions);
|
||||
rectangleTracker.GetObjects(resultObjects, true);
|
||||
|
||||
Rect[] rects = resultObjects.ToArray ();
|
||||
Rect[] rects = resultObjects.ToArray();
|
||||
|
||||
if (enableDownScale)
|
||||
{
|
||||
|
@ -515,30 +560,31 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
}
|
||||
}
|
||||
|
||||
if (webCamTextureToMatHelper.IsPlaying ()) {
|
||||
if (webCamTextureToMatHelper.IsPlaying())
|
||||
{
|
||||
|
||||
Matrix4x4 cameraToWorldMatrix = Camera.main.cameraToWorldMatrix;;
|
||||
Matrix4x4 cameraToWorldMatrix = Camera.main.cameraToWorldMatrix; ;
|
||||
|
||||
Vector3 ccCameraSpacePos = UnProjectVector(projectionMatrix, new Vector3(0.0f, 0.0f, overlayDistance));
|
||||
Vector3 tlCameraSpacePos = UnProjectVector(projectionMatrix, new Vector3(-overlayDistance, overlayDistance, overlayDistance));
|
||||
|
||||
|
||||
//position
|
||||
Vector3 position = cameraToWorldMatrix.MultiplyPoint3x4(ccCameraSpacePos);
|
||||
gameObject.transform.position = position;
|
||||
|
||||
//scale
|
||||
Vector3 scale = new Vector3(Mathf.Abs(tlCameraSpacePos.x - ccCameraSpacePos.x)*2, Mathf.Abs(tlCameraSpacePos.y - ccCameraSpacePos.y)*2, 1);
|
||||
Vector3 scale = new Vector3(Mathf.Abs(tlCameraSpacePos.x - ccCameraSpacePos.x) * 2, Mathf.Abs(tlCameraSpacePos.y - ccCameraSpacePos.y) * 2, 1);
|
||||
gameObject.transform.localScale = scale;
|
||||
|
||||
// Rotate the canvas object so that it faces the user.
|
||||
Quaternion rotation = Quaternion.LookRotation (-cameraToWorldMatrix.GetColumn (2), cameraToWorldMatrix.GetColumn (1));
|
||||
Quaternion rotation = Quaternion.LookRotation(-cameraToWorldMatrix.GetColumn(2), cameraToWorldMatrix.GetColumn(1));
|
||||
gameObject.transform.rotation = rotation;
|
||||
|
||||
rectOverlay.UpdateOverlayTransform(gameObject.transform);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
private Vector3 UnProjectVector(Matrix4x4 proj, Vector3 to)
|
||||
{
|
||||
|
@ -556,32 +602,34 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
{
|
||||
UnityEngine.Rect[] overlayRects = new UnityEngine.Rect[rects.Length];
|
||||
|
||||
for (int i = 0; i < rects.Length; i++) {
|
||||
overlayRects[i] = new UnityEngine.Rect(rects[i].x/imageWidth
|
||||
, rects[i].y/imageHeight
|
||||
, rects[i].width/imageWidth
|
||||
, rects[i].height/imageHeight);
|
||||
for (int i = 0; i < rects.Length; i++)
|
||||
{
|
||||
overlayRects[i] = new UnityEngine.Rect(rects[i].x / imageWidth
|
||||
, rects[i].y / imageHeight
|
||||
, rects[i].width / imageWidth
|
||||
, rects[i].height / imageHeight);
|
||||
}
|
||||
rectOverlay.DrawRects(overlayRects);
|
||||
}
|
||||
|
||||
private void StartThread(Action action)
|
||||
{
|
||||
#if WINDOWS_UWP || (!UNITY_WSA_10_0 && (NET_4_6 || NET_STANDARD_2_0))
|
||||
#if WINDOWS_UWP || (!UNITY_WSA_10_0 && (NET_4_6 || NET_STANDARD_2_0))
|
||||
System.Threading.Tasks.Task.Run(() => action());
|
||||
#else
|
||||
#else
|
||||
ThreadPool.QueueUserWorkItem(_ => action());
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
private void StopThread ()
|
||||
private void StopThread()
|
||||
{
|
||||
if (!isThreadRunning)
|
||||
return;
|
||||
|
||||
while (isThreadRunning) {
|
||||
while (isThreadRunning)
|
||||
{
|
||||
//Wait threading stop
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ThreadWorker()
|
||||
|
@ -590,10 +638,13 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
|
||||
DetectObject(grayMat4Thread, out detectionResult, cascade4Thread);
|
||||
|
||||
lock (ExecuteOnMainThread) {
|
||||
if (ExecuteOnMainThread.Count == 0) {
|
||||
ExecuteOnMainThread.Enqueue (() => {
|
||||
OnDetectionDone ();
|
||||
lock (ExecuteOnMainThread)
|
||||
{
|
||||
if (ExecuteOnMainThread.Count == 0)
|
||||
{
|
||||
ExecuteOnMainThread.Enqueue(() =>
|
||||
{
|
||||
OnDetectionDone();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -657,54 +708,54 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// <summary>
|
||||
/// Raises the destroy event.
|
||||
/// </summary>
|
||||
void OnDestroy ()
|
||||
void OnDestroy()
|
||||
{
|
||||
imageOptimizationHelper.Dispose();
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
#if WINDOWS_UWP && !DISABLE_HOLOLENSCAMSTREAM_API
|
||||
webCamTextureToMatHelper.frameMatAcquired -= OnFrameMatAcquired;
|
||||
#endif
|
||||
webCamTextureToMatHelper.Dispose ();
|
||||
#endif
|
||||
webCamTextureToMatHelper.Dispose();
|
||||
|
||||
if (rectangleTracker != null)
|
||||
rectangleTracker.Dispose ();
|
||||
rectangleTracker.Dispose();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the back button click event.
|
||||
/// </summary>
|
||||
public void OnBackButtonClick ()
|
||||
public void OnBackButtonClick()
|
||||
{
|
||||
LoadScene ("HoloLensWithOpenCVForUnityExample");
|
||||
SceneManager.LoadScene("HoloLensWithOpenCVForUnityExample");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the play button click event.
|
||||
/// </summary>
|
||||
public void OnPlayButtonClick ()
|
||||
public void OnPlayButtonClick()
|
||||
{
|
||||
webCamTextureToMatHelper.Play ();
|
||||
webCamTextureToMatHelper.Play();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the pause button click event.
|
||||
/// </summary>
|
||||
public void OnPauseButtonClick ()
|
||||
public void OnPauseButtonClick()
|
||||
{
|
||||
webCamTextureToMatHelper.Pause ();
|
||||
webCamTextureToMatHelper.Pause();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the stop button click event.
|
||||
/// </summary>
|
||||
public void OnStopButtonClick ()
|
||||
public void OnStopButtonClick()
|
||||
{
|
||||
webCamTextureToMatHelper.Stop ();
|
||||
webCamTextureToMatHelper.Stop();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the change camera button click event.
|
||||
/// </summary>
|
||||
public void OnChangeCameraButtonClick ()
|
||||
public void OnChangeCameraButtonClick()
|
||||
{
|
||||
webCamTextureToMatHelper.requestedIsFrontFacing = !webCamTextureToMatHelper.IsFrontFacing();
|
||||
}
|
||||
|
@ -712,13 +763,14 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// <summary>
|
||||
/// Raises the use separate detection toggle value changed event.
|
||||
/// </summary>
|
||||
public void OnUseSeparateDetectionToggleValueChanged ()
|
||||
public void OnUseSeparateDetectionToggleValueChanged()
|
||||
{
|
||||
useSeparateDetection = useSeparateDetectionToggle.isOn;
|
||||
|
||||
lock (rectangleTracker) {
|
||||
lock (rectangleTracker)
|
||||
{
|
||||
if (rectangleTracker != null)
|
||||
rectangleTracker.Reset ();
|
||||
rectangleTracker.Reset();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -20,11 +20,11 @@ RenderSettings:
|
|||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
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: 3
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 0}
|
||||
m_HaloStrength: 0.5
|
||||
|
@ -55,23 +55,23 @@ LightmapSettings:
|
|||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 10
|
||||
m_Resolution: 1
|
||||
m_BakeResolution: 50
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 0
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 0
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 1024
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 1
|
||||
m_BakeBackend: 0
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
|
@ -89,7 +89,7 @@ LightmapSettings:
|
|||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ShowResolutionOverlay: 1
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 0
|
||||
m_UseShadowmask: 1
|
||||
--- !u!196 &5
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
|
@ -150,7 +150,7 @@ RectTransform:
|
|||
- {fileID: 1166727613}
|
||||
- {fileID: 1198966546}
|
||||
m_Father: {fileID: 1478280153}
|
||||
m_RootOrder: 1
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -239,8 +239,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -395,8 +395,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -549,12 +549,6 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 262962544}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!4 &270024293 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 864547286}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &476606573
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -640,8 +634,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -711,52 +705,6 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 476606573}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1001 &479785066
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 20770519707920992, guid: d29bc40b7f3df26479d6a0aac211c355,
|
||||
type: 3}
|
||||
propertyPath: far clip plane
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
--- !u!1 &538427539
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -905,81 +853,88 @@ MonoBehaviour:
|
|||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: Change Camera
|
||||
--- !u!1001 &864547286
|
||||
PrefabInstance:
|
||||
--- !u!1 &922832626
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 1478280153}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1000011443254168, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012520274942, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012084356042, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012084356042, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000012084356042, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 114814769360254126, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5,
|
||||
type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 114000014245746336, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5,
|
||||
type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: c828c5b9571ec9c4bb75aef2ba6bc8c5, type: 3}
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 922832629}
|
||||
- component: {fileID: 922832628}
|
||||
- component: {fileID: 922832627}
|
||||
m_Layer: 0
|
||||
m_Name: UnityUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &922832627
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 922832626}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4684083f6dff4a1d8a790bccc354fcf4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
updateLinkedTransform: 0
|
||||
moveLerpTime: 0.1
|
||||
rotateLerpTime: 0.1
|
||||
scaleLerpTime: 0
|
||||
maintainScale: 1
|
||||
smoothing: 1
|
||||
lifetime: 0
|
||||
referenceDirection: 1
|
||||
minDistance: 1
|
||||
maxDistance: 2
|
||||
minViewDegrees: 0
|
||||
maxViewDegrees: 20
|
||||
aspectV: 1
|
||||
ignoreAngleClamp: 0
|
||||
ignoreDistanceClamp: 0
|
||||
useFixedVerticalPosition: 0
|
||||
fixedVerticalPosition: -0.4
|
||||
orientToReferenceDirection: 0
|
||||
--- !u!114 &922832628
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 922832626}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b55691ad5b034fe6966763a6e23818d2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
trackedTargetType: 0
|
||||
trackedHandness: 3
|
||||
trackedHandJoint: 2
|
||||
transformOverride: {fileID: 0}
|
||||
additionalOffset: {x: 0, y: 0, z: 0}
|
||||
additionalRotation: {x: 0, y: 0, z: 0}
|
||||
updateSolvers: 1
|
||||
--- !u!4 &922832629
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 922832626}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 2}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1478280153}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &968596576
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1347,8 +1302,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -1468,8 +1423,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -1619,8 +1574,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -1906,8 +1861,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -1990,9 +1945,7 @@ GameObject:
|
|||
- component: {fileID: 1478280151}
|
||||
- component: {fileID: 1478280150}
|
||||
- component: {fileID: 1478280156}
|
||||
- component: {fileID: 1478280155}
|
||||
- component: {fileID: 1478280154}
|
||||
- component: {fileID: 1478280157}
|
||||
m_Layer: 5
|
||||
m_Name: Canvas
|
||||
m_TagString: Untagged
|
||||
|
@ -2049,7 +2002,7 @@ Canvas:
|
|||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 2
|
||||
m_Camera: {fileID: 1972617041}
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
|
@ -2067,19 +2020,18 @@ RectTransform:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1478280149}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 2}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.001, y: 0.001, z: 0.001}
|
||||
m_Children:
|
||||
- {fileID: 270024293}
|
||||
- {fileID: 62512752}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_Father: {fileID: 922832629}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 800, y: 496.1241}
|
||||
m_SizeDelta: {x: 640, y: 480}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1478280154
|
||||
MonoBehaviour:
|
||||
|
@ -2090,35 +2042,9 @@ MonoBehaviour:
|
|||
m_GameObject: {fileID: 1478280149}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2be8bd2ebd8277c448d6d81c75517fee, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: ff4e3b9019304b5aaec5664de0778d21, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
TagalongDistance: 2
|
||||
EnforceDistance: 1
|
||||
PositionUpdateSpeed: 9.8
|
||||
SmoothMotion: 1
|
||||
SmoothingFactor: 0.75
|
||||
--- !u!114 &1478280155
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1478280149}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fb69de839bd015f4099b5bd2c45e53e5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
UseUnscaledTime: 1
|
||||
PositionPerSecond: 30
|
||||
RotationDegreesPerSecond: 720
|
||||
RotationSpeedScaler: 0
|
||||
ScalePerSecond: 5
|
||||
SmoothLerpToTarget: 0
|
||||
SmoothPositionLerpRatio: 0.5
|
||||
SmoothRotationLerpRatio: 0.5
|
||||
SmoothScaleLerpRatio: 0.5
|
||||
--- !u!65 &1478280156
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2132,78 +2058,6 @@ BoxCollider:
|
|||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1478280157
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1478280149}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ac8d5b128a1d8204fb76c86f47b75912, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
pivotAxis: 0
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!1001 &1492569179
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 4
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 108000011213487996, guid: b2db04283121ca74495c2ee000fb4243,
|
||||
type: 3}
|
||||
propertyPath: m_Range
|
||||
value: 0.01
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
--- !u!114 &1492569180 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 114000013851064060, guid: b2db04283121ca74495c2ee000fb4243,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1492569179}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: afa1ae235bc6cfa43addd1435e2fd822, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &1498563581
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2283,6 +2137,37 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1498563581}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1579763168
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1579763169}
|
||||
m_Layer: 0
|
||||
m_Name: MixedRealityPlayspace
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1579763169
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1579763168}
|
||||
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: 1727345409}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1619485359
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2362,6 +2247,192 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1619485359}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1727345408
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1727345409}
|
||||
- component: {fileID: 1727345414}
|
||||
- component: {fileID: 1727345413}
|
||||
- component: {fileID: 1727345412}
|
||||
- component: {fileID: 1727345411}
|
||||
- component: {fileID: 1727345410}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1727345409
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727345408}
|
||||
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: 1579763169}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1727345410
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727345408}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bf98dd1206224111a38765365e98e207, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
setCursorInvisibleWhenFocusLocked: 0
|
||||
maxGazeCollisionDistance: 10
|
||||
raycastLayerMasks:
|
||||
- serializedVersion: 2
|
||||
m_Bits: 4294967291
|
||||
stabilizer:
|
||||
storedStabilitySamples: 60
|
||||
gazeTransform: {fileID: 0}
|
||||
minHeadVelocityThreshold: 0.5
|
||||
maxHeadVelocityThreshold: 2
|
||||
useEyeTracking: 1
|
||||
--- !u!114 &1727345411
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727345408}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7a21b486d0bb44444b1418aaa38b44de, 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 &1727345412
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727345408}
|
||||
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!81 &1727345413
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727345408}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &1727345414
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727345408}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_projectionMatrixMode: 1
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_GateFitMode: 2
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!1 &1764993121
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1764993123}
|
||||
- component: {fileID: 1764993122}
|
||||
m_Layer: 0
|
||||
m_Name: MixedRealityToolkit
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1764993122
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1764993121}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 83d9acc7968244a8886f3af591305bcb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
activeProfile: {fileID: 11400000, guid: 019ea231fcd4127409ae7906b2996ee1, type: 2}
|
||||
--- !u!4 &1764993123
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1764993121}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1957184992
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2437,58 +2508,6 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1957184992}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1001 &1972617040
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 3
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 114742747811649402, guid: 3eddd1c29199313478dd3f912bfab2ab,
|
||||
type: 3}
|
||||
propertyPath: Cursor
|
||||
value:
|
||||
objectReference: {fileID: 1492569180}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
--- !u!20 &1972617041 stripped
|
||||
Camera:
|
||||
m_CorrespondingSourceObject: {fileID: 20049547090947856, guid: 3eddd1c29199313478dd3f912bfab2ab,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1972617040}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &2007257836
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
@ -1,22 +1,15 @@
|
|||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.SceneManagement;
|
||||
using System.Collections.Generic;
|
||||
using HoloToolkit.Unity.InputModule;
|
||||
using OpenCVForUnity.CoreModule;
|
||||
using OpenCVForUnity.ObjdetectModule;
|
||||
using OpenCVForUnity.UnityUtils;
|
||||
using OpenCVForUnity.ImgprocModule;
|
||||
using Microsoft.MixedReality.Toolkit.Input;
|
||||
|
||||
#if UNITY_2017_2_OR_NEWER
|
||||
using UnityEngine.XR.WSA.WebCam;
|
||||
using UnityEngine.XR.WSA.Input;
|
||||
using WSAWebCamCameraParameters = UnityEngine.XR.WSA.WebCam.CameraParameters;
|
||||
#else
|
||||
using UnityEngine.VR.WSA.WebCam;
|
||||
using UnityEngine.VR.WSA.Input;
|
||||
using WSAWebCamCameraParameters = UnityEngine.VR.WSA.WebCam.CameraParameters;
|
||||
#endif
|
||||
|
||||
|
||||
namespace HoloLensWithOpenCVForUnityExample
|
||||
{
|
||||
|
@ -25,9 +18,8 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// An example of holographic photo blending using the PhotocCapture class on Hololens. (Air Tap to take a picture)
|
||||
/// Referring to https://forum.unity3d.com/threads/holographic-photo-blending-with-photocapture.416023/.
|
||||
/// </summary>
|
||||
public class HoloLensPhotoCaptureExample : ExampleSceneBase
|
||||
public class HoloLensPhotoCaptureExample : MonoBehaviour
|
||||
{
|
||||
GestureRecognizer m_GestureRecognizer;
|
||||
GameObject m_Canvas = null;
|
||||
Renderer m_CanvasRenderer = null;
|
||||
PhotoCapture m_PhotoCaptureObj;
|
||||
|
@ -35,6 +27,8 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
bool m_CapturingPhoto = false;
|
||||
Texture2D m_Texture = null;
|
||||
|
||||
bool isPhotoModeRunning = false;
|
||||
|
||||
/// <summary>
|
||||
/// The rgba mat.
|
||||
/// </summary>
|
||||
|
@ -60,205 +54,182 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// </summary>
|
||||
Color32[] colors;
|
||||
|
||||
protected override void Start ()
|
||||
protected void Start()
|
||||
{
|
||||
base.Start ();
|
||||
|
||||
m_Canvas = GameObject.Find ("PhotoCaptureCanvas");
|
||||
m_CanvasRenderer = m_Canvas.GetComponent<Renderer> () as Renderer;
|
||||
m_Canvas = GameObject.Find("PhotoCaptureCanvas");
|
||||
m_CanvasRenderer = m_Canvas.GetComponent<Renderer>() as Renderer;
|
||||
m_CanvasRenderer.enabled = false;
|
||||
|
||||
Initialize ();
|
||||
Initialize();
|
||||
}
|
||||
|
||||
void SetupGestureRecognizer ()
|
||||
void Initialize()
|
||||
{
|
||||
m_GestureRecognizer = new GestureRecognizer ();
|
||||
m_GestureRecognizer.SetRecognizableGestures (GestureSettings.Tap);
|
||||
#if UNITY_2017_2_OR_NEWER
|
||||
m_GestureRecognizer.Tapped += OnTappedEvent;
|
||||
#else
|
||||
m_GestureRecognizer.TappedEvent += OnTappedEvent;
|
||||
#endif
|
||||
m_GestureRecognizer.StartCapturingGestures ();
|
||||
Debug.Log("Initializing...");
|
||||
List<Resolution> resolutions = new List<Resolution>(PhotoCapture.SupportedResolutions);
|
||||
Resolution selectedResolution = resolutions[1];
|
||||
|
||||
m_CapturingPhoto = false;
|
||||
}
|
||||
|
||||
void Initialize ()
|
||||
{
|
||||
Debug.Log ("Initializing...");
|
||||
List<Resolution> resolutions = new List<Resolution> (PhotoCapture.SupportedResolutions);
|
||||
Resolution selectedResolution = resolutions [1];
|
||||
|
||||
foreach (var item in resolutions) {
|
||||
Debug.Log ("resolution width " + item.width + " height " + item.height);
|
||||
foreach (var item in resolutions)
|
||||
{
|
||||
Debug.Log("resolution width " + item.width + " height " + item.height);
|
||||
}
|
||||
|
||||
m_CameraParameters = new WSAWebCamCameraParameters (WebCamMode.PhotoMode);
|
||||
m_CameraParameters = new WSAWebCamCameraParameters(WebCamMode.PhotoMode);
|
||||
m_CameraParameters.cameraResolutionWidth = selectedResolution.width;
|
||||
m_CameraParameters.cameraResolutionHeight = selectedResolution.height;
|
||||
m_CameraParameters.hologramOpacity = 0.0f;
|
||||
m_CameraParameters.pixelFormat = CapturePixelFormat.BGRA32;
|
||||
|
||||
m_Texture = new Texture2D (selectedResolution.width, selectedResolution.height, TextureFormat.BGRA32, false);
|
||||
m_Texture = new Texture2D(selectedResolution.width, selectedResolution.height, TextureFormat.BGRA32, false);
|
||||
|
||||
|
||||
rgbaMat = new Mat (m_Texture.height, m_Texture.width, CvType.CV_8UC4);
|
||||
colors = new Color32[rgbaMat.cols () * rgbaMat.rows ()];
|
||||
grayMat = new Mat (rgbaMat.rows (), rgbaMat.cols (), CvType.CV_8UC1);
|
||||
rgbaMat = new Mat(m_Texture.height, m_Texture.width, CvType.CV_8UC4);
|
||||
colors = new Color32[rgbaMat.cols() * rgbaMat.rows()];
|
||||
grayMat = new Mat(rgbaMat.rows(), rgbaMat.cols(), CvType.CV_8UC1);
|
||||
|
||||
faces = new MatOfRect ();
|
||||
faces = new MatOfRect();
|
||||
|
||||
cascade = new CascadeClassifier ();
|
||||
cascade.load (Utils.getFilePath ("haarcascade_frontalface_alt.xml"));
|
||||
cascade = new CascadeClassifier();
|
||||
cascade.load(Utils.getFilePath("haarcascade_frontalface_alt.xml"));
|
||||
|
||||
|
||||
PhotoCapture.CreateAsync (false, OnCreatedPhotoCaptureObject);
|
||||
PhotoCapture.CreateAsync(false, OnCreatedPhotoCaptureObject);
|
||||
}
|
||||
|
||||
void OnCreatedPhotoCaptureObject (PhotoCapture captureObject)
|
||||
void OnCreatedPhotoCaptureObject(PhotoCapture captureObject)
|
||||
{
|
||||
m_PhotoCaptureObj = captureObject;
|
||||
m_PhotoCaptureObj.StartPhotoModeAsync (m_CameraParameters, OnStartPhotoMode);
|
||||
m_PhotoCaptureObj.StartPhotoModeAsync(m_CameraParameters, OnStartPhotoMode);
|
||||
}
|
||||
|
||||
void OnStartPhotoMode (PhotoCapture.PhotoCaptureResult result)
|
||||
void OnStartPhotoMode(PhotoCapture.PhotoCaptureResult result)
|
||||
{
|
||||
SetupGestureRecognizer ();
|
||||
//SetupGestureRecognizer ();
|
||||
isPhotoModeRunning = true;
|
||||
|
||||
Debug.Log ("Ready!");
|
||||
Debug.Log ("Air Tap to take a picture.");
|
||||
Debug.Log("Ready!");
|
||||
Debug.Log("Air Tap to take a picture.");
|
||||
}
|
||||
|
||||
#if UNITY_2017_2_OR_NEWER
|
||||
void OnTappedEvent (TappedEventArgs args)
|
||||
#else
|
||||
void OnTappedEvent (InteractionSourceKind source, int tapCount, Ray headRay)
|
||||
#endif
|
||||
public void OnTapped(MixedRealityPointerEventData eventData)
|
||||
{
|
||||
Debug.Log("OnTapped!");
|
||||
|
||||
// Determine if a Gaze pointer is over a GUI.
|
||||
if (GazeManager.Instance.HitObject != null && (GazeManager.Instance.HitObject.GetComponent<Button>() != null || GazeManager.Instance.HitObject.GetComponent<Toggle>() != null
|
||||
|| GazeManager.Instance.HitObject.GetComponent<Text>() != null || GazeManager.Instance.HitObject.GetComponent<Image>() != null))
|
||||
if (eventData.selectedObject != null && (eventData.selectedObject.GetComponent<Button>() != null || eventData.selectedObject.GetComponent<Toggle>() != null
|
||||
|| eventData.selectedObject.GetComponent<Text>() != null || eventData.selectedObject.GetComponent<Image>() != null))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_CapturingPhoto) {
|
||||
if (!isPhotoModeRunning || m_CapturingPhoto)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
m_CanvasRenderer.enabled = false;
|
||||
m_CapturingPhoto = true;
|
||||
Debug.Log ("Taking picture...");
|
||||
m_PhotoCaptureObj.TakePhotoAsync (OnPhotoCaptured);
|
||||
Debug.Log("Taking picture...");
|
||||
m_PhotoCaptureObj.TakePhotoAsync(OnPhotoCaptured);
|
||||
}
|
||||
|
||||
void OnPhotoCaptured (PhotoCapture.PhotoCaptureResult result, PhotoCaptureFrame photoCaptureFrame)
|
||||
void OnPhotoCaptured(PhotoCapture.PhotoCaptureResult result, PhotoCaptureFrame photoCaptureFrame)
|
||||
{
|
||||
|
||||
Matrix4x4 cameraToWorldMatrix;
|
||||
photoCaptureFrame.TryGetCameraToWorldMatrix (out cameraToWorldMatrix);
|
||||
photoCaptureFrame.TryGetCameraToWorldMatrix(out cameraToWorldMatrix);
|
||||
Matrix4x4 worldToCameraMatrix = cameraToWorldMatrix.inverse;
|
||||
|
||||
Matrix4x4 projectionMatrix;
|
||||
photoCaptureFrame.TryGetProjectionMatrix (out projectionMatrix);
|
||||
photoCaptureFrame.TryGetProjectionMatrix(out projectionMatrix);
|
||||
|
||||
photoCaptureFrame.UploadImageDataToTexture (m_Texture);
|
||||
photoCaptureFrame.UploadImageDataToTexture(m_Texture);
|
||||
|
||||
|
||||
Utils.texture2DToMat (m_Texture, rgbaMat);
|
||||
Utils.texture2DToMat(m_Texture, rgbaMat);
|
||||
|
||||
Imgproc.cvtColor (rgbaMat, grayMat, Imgproc.COLOR_RGBA2GRAY);
|
||||
Imgproc.equalizeHist (grayMat, grayMat);
|
||||
Imgproc.cvtColor(rgbaMat, grayMat, Imgproc.COLOR_RGBA2GRAY);
|
||||
Imgproc.equalizeHist(grayMat, grayMat);
|
||||
|
||||
// fill all black.
|
||||
//Imgproc.rectangle (rgbaMat, new Point (0, 0), new Point (rgbaMat.width (), rgbaMat.height ()), new Scalar (0, 0, 0, 0), -1);
|
||||
// draw an edge lines.
|
||||
Imgproc.rectangle (rgbaMat, new Point (0, 0), new Point (rgbaMat.width (), rgbaMat.height ()), new Scalar (255, 0, 0, 255), 2);
|
||||
Imgproc.rectangle(rgbaMat, new Point(0, 0), new Point(rgbaMat.width(), rgbaMat.height()), new Scalar(255, 0, 0, 255), 2);
|
||||
// draw a diagonal line.
|
||||
//Imgproc.line (rgbaMat, new Point (0, 0), new Point (rgbaMat.cols (), rgbaMat.rows ()), new Scalar (255, 0, 0, 255));
|
||||
|
||||
if (cascade != null)
|
||||
cascade.detectMultiScale (grayMat, faces, 1.1, 2, 2, // TODO: objdetect.CV_HAAR_SCALE_IMAGE
|
||||
new Size (grayMat.cols () * 0.05, grayMat.rows () * 0.05), new Size ());
|
||||
cascade.detectMultiScale(grayMat, faces, 1.1, 2, 2, // TODO: objdetect.CV_HAAR_SCALE_IMAGE
|
||||
new Size(grayMat.cols() * 0.05, grayMat.rows() * 0.05), new Size());
|
||||
|
||||
OpenCVForUnity.CoreModule.Rect[] rects = faces.toArray ();
|
||||
for (int i = 0; i < rects.Length; i++) {
|
||||
OpenCVForUnity.CoreModule.Rect[] rects = faces.toArray();
|
||||
for (int i = 0; i < rects.Length; i++)
|
||||
{
|
||||
//Debug.Log ("detect faces " + rects [i]);
|
||||
Imgproc.rectangle (rgbaMat, new Point (rects [i].x, rects [i].y), new Point (rects [i].x + rects [i].width, rects [i].y + rects [i].height), new Scalar (255, 0, 0, 255), 2);
|
||||
Imgproc.rectangle(rgbaMat, new Point(rects[i].x, rects[i].y), new Point(rects[i].x + rects[i].width, rects[i].y + rects[i].height), new Scalar(255, 0, 0, 255), 2);
|
||||
}
|
||||
|
||||
Imgproc.putText (rgbaMat, "W:" + rgbaMat.width () + " H:" + rgbaMat.height () + " SO:" + Screen.orientation, new Point (5, rgbaMat.rows () - 10), Imgproc.FONT_HERSHEY_SIMPLEX, 1.5, new Scalar (0, 255, 0, 255), 2, Imgproc.LINE_AA, false);
|
||||
Imgproc.putText(rgbaMat, "W:" + rgbaMat.width() + " H:" + rgbaMat.height() + " SO:" + Screen.orientation, new Point(5, rgbaMat.rows() - 10), Imgproc.FONT_HERSHEY_SIMPLEX, 1.5, new Scalar(0, 255, 0, 255), 2, Imgproc.LINE_AA, false);
|
||||
|
||||
Utils.matToTexture2D (rgbaMat, m_Texture, colors);
|
||||
Utils.matToTexture2D(rgbaMat, m_Texture, colors);
|
||||
|
||||
|
||||
m_Texture.wrapMode = TextureWrapMode.Clamp;
|
||||
|
||||
m_CanvasRenderer.enabled = true;
|
||||
m_CanvasRenderer.sharedMaterial.SetTexture ("_MainTex", m_Texture);
|
||||
m_CanvasRenderer.sharedMaterial.SetMatrix ("_WorldToCameraMatrix", worldToCameraMatrix);
|
||||
m_CanvasRenderer.sharedMaterial.SetMatrix ("_CameraProjectionMatrix", projectionMatrix);
|
||||
m_CanvasRenderer.sharedMaterial.SetVector ("_VignetteOffset", new Vector4(0, 0));
|
||||
m_CanvasRenderer.sharedMaterial.SetFloat ("_VignetteScale", 0.0f);
|
||||
m_CanvasRenderer.sharedMaterial.SetTexture("_MainTex", m_Texture);
|
||||
m_CanvasRenderer.sharedMaterial.SetMatrix("_WorldToCameraMatrix", worldToCameraMatrix);
|
||||
m_CanvasRenderer.sharedMaterial.SetMatrix("_CameraProjectionMatrix", projectionMatrix);
|
||||
m_CanvasRenderer.sharedMaterial.SetVector("_VignetteOffset", new Vector4(0, 0));
|
||||
m_CanvasRenderer.sharedMaterial.SetFloat("_VignetteScale", 0.0f);
|
||||
|
||||
// Position the canvas object slightly in front
|
||||
// of the real world web camera.
|
||||
Vector3 position = cameraToWorldMatrix.GetColumn (3) - cameraToWorldMatrix.GetColumn (2);
|
||||
position *= 2.2f;
|
||||
Vector3 position = cameraToWorldMatrix.GetColumn(3) - cameraToWorldMatrix.GetColumn(2) * 2.2f;
|
||||
|
||||
// Rotate the canvas object so that it faces the user.
|
||||
Quaternion rotation = Quaternion.LookRotation (-cameraToWorldMatrix.GetColumn (2), cameraToWorldMatrix.GetColumn (1));
|
||||
Quaternion rotation = Quaternion.LookRotation(-cameraToWorldMatrix.GetColumn(2), cameraToWorldMatrix.GetColumn(1));
|
||||
|
||||
m_Canvas.transform.position = position;
|
||||
m_Canvas.transform.rotation = rotation;
|
||||
|
||||
Debug.Log ("Took picture!");
|
||||
Debug.Log ("projectionMatrix:\n" + projectionMatrix.ToString());
|
||||
Debug.Log("Took picture!");
|
||||
Debug.Log("projectionMatrix:\n" + projectionMatrix.ToString());
|
||||
m_CapturingPhoto = false;
|
||||
}
|
||||
|
||||
void OnStopPhotoMode (PhotoCapture.PhotoCaptureResult result)
|
||||
void OnStopPhotoMode(PhotoCapture.PhotoCaptureResult result)
|
||||
{
|
||||
Debug.Log ("StopPhotoMode!");
|
||||
m_PhotoCaptureObj.Dispose ();
|
||||
Debug.Log("StopPhotoMode!");
|
||||
m_PhotoCaptureObj.Dispose();
|
||||
|
||||
isPhotoModeRunning = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the destroy event.
|
||||
/// </summary>
|
||||
void OnDestroy ()
|
||||
void OnDestroy()
|
||||
{
|
||||
if (m_PhotoCaptureObj != null)
|
||||
m_PhotoCaptureObj.StopPhotoModeAsync (OnStopPhotoMode);
|
||||
|
||||
if (m_GestureRecognizer != null && m_GestureRecognizer.IsCapturingGestures()) {
|
||||
m_GestureRecognizer.StopCapturingGestures ();
|
||||
#if UNITY_2017_2_OR_NEWER
|
||||
m_GestureRecognizer.Tapped -= OnTappedEvent;
|
||||
#else
|
||||
m_GestureRecognizer.TappedEvent -= OnTappedEvent;
|
||||
#endif
|
||||
m_GestureRecognizer.Dispose ();
|
||||
}
|
||||
m_PhotoCaptureObj.StopPhotoModeAsync(OnStopPhotoMode);
|
||||
|
||||
if (rgbaMat != null)
|
||||
rgbaMat.Dispose ();
|
||||
rgbaMat.Dispose();
|
||||
|
||||
if (grayMat != null)
|
||||
grayMat.Dispose ();
|
||||
grayMat.Dispose();
|
||||
|
||||
if (cascade != null)
|
||||
cascade.Dispose ();
|
||||
cascade.Dispose();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the back button click event.
|
||||
/// </summary>
|
||||
public void OnBackButtonClick ()
|
||||
public void OnBackButtonClick()
|
||||
{
|
||||
LoadScene ("HoloLensWithOpenCVForUnityExample");
|
||||
SceneManager.LoadScene("HoloLensWithOpenCVForUnityExample");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -44,7 +44,7 @@ RenderSettings:
|
|||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 11
|
||||
m_GIWorkflowMode: 0
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
|
@ -52,7 +52,7 @@ LightmapSettings:
|
|||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 10
|
||||
m_Resolution: 2
|
||||
|
@ -70,8 +70,8 @@ LightmapSettings:
|
|||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 1
|
||||
m_BakeBackend: 0
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
|
@ -79,7 +79,7 @@ LightmapSettings:
|
|||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVRFilteringMode: 0
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
|
@ -89,7 +89,7 @@ LightmapSettings:
|
|||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ShowResolutionOverlay: 1
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 0
|
||||
m_UseShadowmask: 1
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
|
@ -125,6 +125,7 @@ GameObject:
|
|||
- component: {fileID: 34117365}
|
||||
- component: {fileID: 34117364}
|
||||
- component: {fileID: 34117368}
|
||||
- component: {fileID: 34117369}
|
||||
m_Layer: 0
|
||||
m_Name: PhotoCaptureCanvas
|
||||
m_TagString: Untagged
|
||||
|
@ -217,62 +218,51 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 4ef4a715f18c9dd47915d7a51859c1ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1001 &116875595
|
||||
PrefabInstance:
|
||||
--- !u!114 &34117369
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4587520633816736, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 20770519707920992, guid: d29bc40b7f3df26479d6a0aac211c355,
|
||||
type: 3}
|
||||
propertyPath: far clip plane
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
--- !u!20 &228639285 stripped
|
||||
Camera:
|
||||
m_CorrespondingSourceObject: {fileID: 20049547090947856, guid: 3eddd1c29199313478dd3f912bfab2ab,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 2060851756}
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 34117363}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b7e736ec19b1c5543a9bb27c150f94fb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
isFocusRequired: 0
|
||||
MarkEventsAsUsed: 0
|
||||
OnPointerDown:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_TypeName: Microsoft.MixedReality.Toolkit.Input.PointerUnityEvent, Microsoft.MixedReality.Toolkit.SDK,
|
||||
Version=2.2.0.0, Culture=neutral, PublicKeyToken=null
|
||||
OnPointerUp:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_TypeName: Microsoft.MixedReality.Toolkit.Input.PointerUnityEvent, Microsoft.MixedReality.Toolkit.SDK,
|
||||
Version=2.2.0.0, Culture=neutral, PublicKeyToken=null
|
||||
OnPointerClicked:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 34117368}
|
||||
m_MethodName: OnTapped
|
||||
m_Mode: 0
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
m_TypeName: Microsoft.MixedReality.Toolkit.Input.PointerUnityEvent, Microsoft.MixedReality.Toolkit.SDK,
|
||||
Version=2.2.0.0, Culture=neutral, PublicKeyToken=null
|
||||
OnPointerDragged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_TypeName: Microsoft.MixedReality.Toolkit.Input.PointerUnityEvent, Microsoft.MixedReality.Toolkit.SDK,
|
||||
Version=2.2.0.0, Culture=neutral, PublicKeyToken=null
|
||||
--- !u!1 &314898261
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -356,6 +346,230 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 314898261}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &738791238
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 738791241}
|
||||
- component: {fileID: 738791240}
|
||||
- component: {fileID: 738791239}
|
||||
m_Layer: 0
|
||||
m_Name: UnityUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &738791239
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 738791238}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4684083f6dff4a1d8a790bccc354fcf4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
updateLinkedTransform: 0
|
||||
moveLerpTime: 0.1
|
||||
rotateLerpTime: 0.1
|
||||
scaleLerpTime: 0
|
||||
maintainScale: 1
|
||||
smoothing: 1
|
||||
lifetime: 0
|
||||
referenceDirection: 1
|
||||
minDistance: 1
|
||||
maxDistance: 2
|
||||
minViewDegrees: 0
|
||||
maxViewDegrees: 20
|
||||
aspectV: 1
|
||||
ignoreAngleClamp: 0
|
||||
ignoreDistanceClamp: 0
|
||||
useFixedVerticalPosition: 0
|
||||
fixedVerticalPosition: -0.4
|
||||
orientToReferenceDirection: 0
|
||||
--- !u!114 &738791240
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 738791238}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b55691ad5b034fe6966763a6e23818d2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
trackedTargetType: 0
|
||||
trackedHandness: 3
|
||||
trackedHandJoint: 2
|
||||
transformOverride: {fileID: 0}
|
||||
additionalOffset: {x: 0, y: 0, z: 0}
|
||||
additionalRotation: {x: 0, y: 0, z: 0}
|
||||
updateSolvers: 1
|
||||
--- !u!4 &738791241
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 738791238}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 2}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1204382171}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1056934370
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1056934371}
|
||||
- component: {fileID: 1056934376}
|
||||
- component: {fileID: 1056934375}
|
||||
- component: {fileID: 1056934374}
|
||||
- component: {fileID: 1056934373}
|
||||
- component: {fileID: 1056934372}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1056934371
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1056934370}
|
||||
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: 2003932586}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1056934372
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1056934370}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bf98dd1206224111a38765365e98e207, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
setCursorInvisibleWhenFocusLocked: 0
|
||||
maxGazeCollisionDistance: 10
|
||||
raycastLayerMasks:
|
||||
- serializedVersion: 2
|
||||
m_Bits: 4294967291
|
||||
stabilizer:
|
||||
storedStabilitySamples: 60
|
||||
gazeTransform: {fileID: 0}
|
||||
minHeadVelocityThreshold: 0.5
|
||||
maxHeadVelocityThreshold: 2
|
||||
useEyeTracking: 1
|
||||
--- !u!114 &1056934373
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1056934370}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7a21b486d0bb44444b1418aaa38b44de, 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 &1056934374
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1056934370}
|
||||
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!81 &1056934375
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1056934370}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &1056934376
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1056934370}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_projectionMatrixMode: 1
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_GateFitMode: 2
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!1 &1204382163
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -369,10 +583,7 @@ GameObject:
|
|||
- component: {fileID: 1204382169}
|
||||
- component: {fileID: 1204382168}
|
||||
- component: {fileID: 1204382167}
|
||||
- component: {fileID: 1204382166}
|
||||
- component: {fileID: 1204382165}
|
||||
- component: {fileID: 1204382164}
|
||||
- component: {fileID: 1204382172}
|
||||
m_Layer: 5
|
||||
m_Name: Canvas
|
||||
m_TagString: Untagged
|
||||
|
@ -389,49 +600,9 @@ MonoBehaviour:
|
|||
m_GameObject: {fileID: 1204382163}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ac8d5b128a1d8204fb76c86f47b75912, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: ff4e3b9019304b5aaec5664de0778d21, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
pivotAxis: 0
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &1204382165
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1204382163}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2be8bd2ebd8277c448d6d81c75517fee, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
TagalongDistance: 2
|
||||
EnforceDistance: 1
|
||||
PositionUpdateSpeed: 9.8
|
||||
SmoothMotion: 1
|
||||
SmoothingFactor: 0.75
|
||||
--- !u!114 &1204382166
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1204382163}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fb69de839bd015f4099b5bd2c45e53e5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
UseUnscaledTime: 1
|
||||
PositionPerSecond: 30
|
||||
RotationDegreesPerSecond: 720
|
||||
RotationSpeedScaler: 0
|
||||
ScalePerSecond: 5
|
||||
SmoothLerpToTarget: 0
|
||||
SmoothPositionLerpRatio: 0.5
|
||||
SmoothRotationLerpRatio: 0.5
|
||||
SmoothScaleLerpRatio: 0.5
|
||||
--- !u!65 &1204382167
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -494,7 +665,7 @@ Canvas:
|
|||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 2
|
||||
m_Camera: {fileID: 228639285}
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
|
@ -512,32 +683,19 @@ RectTransform:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1204382163}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 2}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.001, y: 0.001, z: 0.001}
|
||||
m_Children:
|
||||
- {fileID: 1267244721}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_Father: {fileID: 738791241}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 800, y: 496.1241}
|
||||
m_SizeDelta: {x: 640, y: 480}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1204382172
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1204382163}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2aebab3047f2113489ca3eb8423228b6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Canvas: {fileID: 1204382170}
|
||||
--- !u!1 &1267244720
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -637,76 +795,81 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1267244720}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &1725320204 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 114000013851064060, guid: b2db04283121ca74495c2ee000fb4243,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1880953870}
|
||||
--- !u!1 &1733684129
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1733684131}
|
||||
- component: {fileID: 1733684130}
|
||||
m_Layer: 0
|
||||
m_Name: MixedRealityToolkit
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1733684130
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1733684129}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: afa1ae235bc6cfa43addd1435e2fd822, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: 83d9acc7968244a8886f3af591305bcb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1001 &1880953870
|
||||
PrefabInstance:
|
||||
activeProfile: {fileID: 11400000, guid: 019ea231fcd4127409ae7906b2996ee1, type: 2}
|
||||
--- !u!4 &1733684131
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 4
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 108000011213487996, guid: b2db04283121ca74495c2ee000fb4243,
|
||||
type: 3}
|
||||
propertyPath: m_Range
|
||||
value: 0.01
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1733684129}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2003932585
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2003932586}
|
||||
m_Layer: 0
|
||||
m_Name: MixedRealityPlayspace
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2003932586
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2003932585}
|
||||
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: 1056934371}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2053462721
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -792,8 +955,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -863,49 +1026,3 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2053462721}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1001 &2060851756
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 3
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 114742747811649402, guid: 3eddd1c29199313478dd3f912bfab2ab,
|
||||
type: 3}
|
||||
propertyPath: Cursor
|
||||
value:
|
||||
objectReference: {fileID: 1725320204}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.SceneManagement;
|
||||
using OpenCVForUnity.CoreModule;
|
||||
|
||||
namespace HoloLensWithOpenCVForUnityExample
|
||||
|
@ -8,7 +9,7 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
/// <summary>
|
||||
/// HoloLensWithOpenCVForUnity Example
|
||||
/// </summary>
|
||||
public class HoloLensWithOpenCVForUnityExample : ExampleSceneBase
|
||||
public class HoloLensWithOpenCVForUnityExample : MonoBehaviour
|
||||
{
|
||||
public Text exampleTitle;
|
||||
public Text versionInfo;
|
||||
|
@ -16,49 +17,47 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
static float verticalNormalizedPosition = 1f;
|
||||
|
||||
// Use this for initialization
|
||||
protected override void Start ()
|
||||
protected void Start()
|
||||
{
|
||||
base.Start ();
|
||||
|
||||
exampleTitle.text = "HoloLensWithOpenCVForUnity Example " + Application.version;
|
||||
|
||||
versionInfo.text = Core.NATIVE_LIBRARY_NAME + " " + OpenCVForUnity.UnityUtils.Utils.getVersion() + " (" + Core.VERSION + ")";
|
||||
versionInfo.text += " / UnityEditor " + Application.unityVersion;
|
||||
versionInfo.text += " / ";
|
||||
|
||||
#if UNITY_EDITOR
|
||||
#if UNITY_EDITOR
|
||||
versionInfo.text += "Editor";
|
||||
#elif UNITY_STANDALONE_WIN
|
||||
#elif UNITY_STANDALONE_WIN
|
||||
versionInfo.text += "Windows";
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
versionInfo.text += "Mac OSX";
|
||||
#elif UNITY_STANDALONE_LINUX
|
||||
#elif UNITY_STANDALONE_LINUX
|
||||
versionInfo.text += "Linux";
|
||||
#elif UNITY_ANDROID
|
||||
#elif UNITY_ANDROID
|
||||
versionInfo.text += "Android";
|
||||
#elif UNITY_IOS
|
||||
#elif UNITY_IOS
|
||||
versionInfo.text += "iOS";
|
||||
#elif UNITY_WSA
|
||||
#elif UNITY_WSA
|
||||
versionInfo.text += "WSA";
|
||||
#elif UNITY_WEBGL
|
||||
#elif UNITY_WEBGL
|
||||
versionInfo.text += "WebGL";
|
||||
#endif
|
||||
#endif
|
||||
versionInfo.text += " ";
|
||||
#if ENABLE_MONO
|
||||
#if ENABLE_MONO
|
||||
versionInfo.text += "Mono";
|
||||
#elif ENABLE_IL2CPP
|
||||
#elif ENABLE_IL2CPP
|
||||
versionInfo.text += "IL2CPP";
|
||||
#elif ENABLE_DOTNET
|
||||
#elif ENABLE_DOTNET
|
||||
versionInfo.text += ".NET";
|
||||
#endif
|
||||
#endif
|
||||
|
||||
scrollRect.verticalNormalizedPosition = verticalNormalizedPosition;
|
||||
}
|
||||
|
||||
|
||||
// Update is called once per frame
|
||||
void Update ()
|
||||
void Update()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void OnScrollRectValueChanged()
|
||||
|
@ -67,39 +66,39 @@ namespace HoloLensWithOpenCVForUnityExample
|
|||
}
|
||||
|
||||
|
||||
public void OnShowLicenseButtonClick ()
|
||||
public void OnShowLicenseButtonClick()
|
||||
{
|
||||
LoadScene ("ShowLicense");
|
||||
SceneManager.LoadScene("ShowLicense");
|
||||
}
|
||||
|
||||
public void OnHoloLensPhotoCaptureExampleButtonClick ()
|
||||
public void OnHoloLensPhotoCaptureExampleButtonClick()
|
||||
{
|
||||
LoadScene ("HoloLensPhotoCaptureExample");
|
||||
SceneManager.LoadScene("HoloLensPhotoCaptureExample");
|
||||
}
|
||||
|
||||
public void OnHoloLensComicFilterExampleButtonClick ()
|
||||
public void OnHoloLensComicFilterExampleButtonClick()
|
||||
{
|
||||
LoadScene ("HoloLensComicFilterExample");
|
||||
}
|
||||
|
||||
public void OnHoloLensFaceDetectionExampleButtonClick ()
|
||||
{
|
||||
LoadScene ("HoloLensFaceDetectionExample");
|
||||
SceneManager.LoadScene("HoloLensComicFilterExample");
|
||||
}
|
||||
|
||||
public void OnHoloLensFaceDetectionOverlayExampleButtonClick ()
|
||||
public void OnHoloLensFaceDetectionExampleButtonClick()
|
||||
{
|
||||
LoadScene ("HoloLensFaceDetectionOverlayExample");
|
||||
SceneManager.LoadScene("HoloLensFaceDetectionExample");
|
||||
}
|
||||
|
||||
public void OnHoloLensArUcoExampleButtonClick ()
|
||||
public void OnHoloLensFaceDetectionOverlayExampleButtonClick()
|
||||
{
|
||||
LoadScene ("HoloLensArUcoExample");
|
||||
SceneManager.LoadScene("HoloLensFaceDetectionOverlayExample");
|
||||
}
|
||||
|
||||
public void OnHoloLensArUcoCameraCalibrationExampleButtonClick ()
|
||||
public void OnHoloLensArUcoExampleButtonClick()
|
||||
{
|
||||
LoadScene ("HoloLensArUcoCameraCalibrationExample");
|
||||
SceneManager.LoadScene("HoloLensArUcoExample");
|
||||
}
|
||||
|
||||
public void OnHoloLensArUcoCameraCalibrationExampleButtonClick()
|
||||
{
|
||||
SceneManager.LoadScene("HoloLensArUcoCameraCalibrationExample");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -20,11 +20,11 @@ RenderSettings:
|
|||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
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: 3
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 0}
|
||||
m_HaloStrength: 0.5
|
||||
|
@ -55,23 +55,23 @@ LightmapSettings:
|
|||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 10
|
||||
m_Resolution: 1
|
||||
m_BakeResolution: 50
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 0
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 0
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 1024
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 1
|
||||
m_BakeBackend: 0
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
|
@ -89,7 +89,7 @@ LightmapSettings:
|
|||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ShowResolutionOverlay: 1
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 0
|
||||
m_UseShadowmask: 1
|
||||
--- !u!196 &5
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
|
@ -275,8 +275,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -431,8 +431,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -866,8 +866,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -931,111 +931,6 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 691428506}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1001 &748020957
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 4
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
--- !u!114 &748020958 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 114000013851064060, guid: b2db04283121ca74495c2ee000fb4243,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 748020957}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: afa1ae235bc6cfa43addd1435e2fd822, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1001 &804900737
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 3
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 114742747811649402, guid: 3eddd1c29199313478dd3f912bfab2ab,
|
||||
type: 3}
|
||||
propertyPath: Cursor
|
||||
value:
|
||||
objectReference: {fileID: 748020958}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
--- !u!20 &804900738 stripped
|
||||
Camera:
|
||||
m_CorrespondingSourceObject: {fileID: 20049547090947856, guid: 3eddd1c29199313478dd3f912bfab2ab,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 804900737}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &965925560
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1050,10 +945,7 @@ GameObject:
|
|||
- component: {fileID: 965925563}
|
||||
- component: {fileID: 965925562}
|
||||
- component: {fileID: 965925568}
|
||||
- component: {fileID: 965925567}
|
||||
- component: {fileID: 965925566}
|
||||
- component: {fileID: 965925565}
|
||||
- component: {fileID: 965925569}
|
||||
m_Layer: 5
|
||||
m_Name: Canvas
|
||||
m_TagString: Untagged
|
||||
|
@ -1069,18 +961,18 @@ RectTransform:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 965925560}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 2}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.001, y: 0.001, z: 0.001}
|
||||
m_Children:
|
||||
- {fileID: 1899556538}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_Father: {fileID: 2036144017}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 800, y: 496.12405}
|
||||
m_SizeDelta: {x: 640, y: 480}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &965925562
|
||||
MonoBehaviour:
|
||||
|
@ -1134,7 +1026,7 @@ Canvas:
|
|||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 2
|
||||
m_Camera: {fileID: 804900738}
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
|
@ -1154,49 +1046,9 @@ MonoBehaviour:
|
|||
m_GameObject: {fileID: 965925560}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ac8d5b128a1d8204fb76c86f47b75912, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: ff4e3b9019304b5aaec5664de0778d21, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
pivotAxis: 0
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &965925566
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 965925560}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2be8bd2ebd8277c448d6d81c75517fee, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
TagalongDistance: 2
|
||||
EnforceDistance: 1
|
||||
PositionUpdateSpeed: 9.8
|
||||
SmoothMotion: 1
|
||||
SmoothingFactor: 0.75
|
||||
--- !u!114 &965925567
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 965925560}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fb69de839bd015f4099b5bd2c45e53e5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
UseUnscaledTime: 1
|
||||
PositionPerSecond: 30
|
||||
RotationDegreesPerSecond: 720
|
||||
RotationSpeedScaler: 0
|
||||
ScalePerSecond: 5
|
||||
SmoothLerpToTarget: 0
|
||||
SmoothPositionLerpRatio: 0.5
|
||||
SmoothRotationLerpRatio: 0.5
|
||||
SmoothScaleLerpRatio: 0.5
|
||||
--- !u!65 &965925568
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1210,19 +1062,6 @@ BoxCollider:
|
|||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &965925569
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 965925560}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2aebab3047f2113489ca3eb8423228b6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Canvas: {fileID: 965925564}
|
||||
--- !u!1 &983952212
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1308,8 +1147,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -1464,8 +1303,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -1535,52 +1374,6 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 984789609}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1001 &988437600
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 20770519707920992, guid: d29bc40b7f3df26479d6a0aac211c355,
|
||||
type: 3}
|
||||
propertyPath: far clip plane
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
--- !u!1 &1084706036
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1749,8 +1542,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -1905,8 +1698,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -2138,6 +1931,81 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1353284452}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1449875054
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1449875055}
|
||||
m_Layer: 0
|
||||
m_Name: MixedRealityPlayspace
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1449875055
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1449875054}
|
||||
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: 2100204426}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1475387462
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1475387464}
|
||||
- component: {fileID: 1475387463}
|
||||
m_Layer: 0
|
||||
m_Name: MixedRealityToolkit
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1475387463
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1475387462}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 83d9acc7968244a8886f3af591305bcb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
activeProfile: {fileID: 11400000, guid: 019ea231fcd4127409ae7906b2996ee1, type: 2}
|
||||
--- !u!4 &1475387464
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1475387462}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1506704322
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -2449,8 +2317,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -2917,3 +2785,227 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 0
|
||||
m_VerticalFit: 2
|
||||
--- !u!1 &2036144014
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2036144017}
|
||||
- component: {fileID: 2036144016}
|
||||
- component: {fileID: 2036144015}
|
||||
m_Layer: 0
|
||||
m_Name: UnityUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &2036144015
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2036144014}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4684083f6dff4a1d8a790bccc354fcf4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
updateLinkedTransform: 0
|
||||
moveLerpTime: 0.1
|
||||
rotateLerpTime: 0.1
|
||||
scaleLerpTime: 0
|
||||
maintainScale: 1
|
||||
smoothing: 1
|
||||
lifetime: 0
|
||||
referenceDirection: 1
|
||||
minDistance: 1
|
||||
maxDistance: 2
|
||||
minViewDegrees: 0
|
||||
maxViewDegrees: 20
|
||||
aspectV: 1
|
||||
ignoreAngleClamp: 0
|
||||
ignoreDistanceClamp: 0
|
||||
useFixedVerticalPosition: 0
|
||||
fixedVerticalPosition: -0.4
|
||||
orientToReferenceDirection: 0
|
||||
--- !u!114 &2036144016
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2036144014}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b55691ad5b034fe6966763a6e23818d2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
trackedTargetType: 0
|
||||
trackedHandness: 3
|
||||
trackedHandJoint: 2
|
||||
transformOverride: {fileID: 0}
|
||||
additionalOffset: {x: 0, y: 0, z: 0}
|
||||
additionalRotation: {x: 0, y: 0, z: 0}
|
||||
updateSolvers: 1
|
||||
--- !u!4 &2036144017
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2036144014}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 2}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 965925561}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2100204425
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2100204426}
|
||||
- component: {fileID: 2100204431}
|
||||
- component: {fileID: 2100204430}
|
||||
- component: {fileID: 2100204429}
|
||||
- component: {fileID: 2100204428}
|
||||
- component: {fileID: 2100204427}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2100204426
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2100204425}
|
||||
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: 1449875055}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &2100204427
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2100204425}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bf98dd1206224111a38765365e98e207, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
setCursorInvisibleWhenFocusLocked: 0
|
||||
maxGazeCollisionDistance: 10
|
||||
raycastLayerMasks:
|
||||
- serializedVersion: 2
|
||||
m_Bits: 4294967291
|
||||
stabilizer:
|
||||
storedStabilitySamples: 60
|
||||
gazeTransform: {fileID: 0}
|
||||
minHeadVelocityThreshold: 0.5
|
||||
maxHeadVelocityThreshold: 2
|
||||
useEyeTracking: 1
|
||||
--- !u!114 &2100204428
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2100204425}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7a21b486d0bb44444b1418aaa38b44de, 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 &2100204429
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2100204425}
|
||||
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!81 &2100204430
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2100204425}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &2100204431
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2100204425}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_projectionMatrixMode: 1
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_GateFitMode: 2
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
|
|
|
@ -24,7 +24,7 @@ Material:
|
|||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- _VignetteScale: 0
|
||||
- _VignetteScale: 1.5
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _VignetteOffset: {r: 0, g: 0, b: 0, a: 0}
|
||||
|
|
|
@ -4,31 +4,27 @@
|
|||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: quad_material
|
||||
m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 5
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 2
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- first:
|
||||
name: _MainTex
|
||||
second:
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: e266aedc629209a4196966ac4bf20d68, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- first:
|
||||
name: _VignetteScale
|
||||
second: 0
|
||||
- _VignetteScale: 0
|
||||
m_Colors:
|
||||
- first:
|
||||
name: _Color
|
||||
second: {r: 1, g: 1, b: 1, a: 1}
|
||||
- first:
|
||||
name: _VignetteOffset
|
||||
second: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _VignetteOffset: {r: 0, g: 0, b: 0, a: 0}
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
#pragma warning disable 0109
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using HoloToolkit.Unity.InputModule;
|
||||
using HoloToolkit.Unity;
|
||||
|
||||
namespace HoloLensWithOpenCVForUnityExample
|
||||
{
|
||||
// Prevent HoloToolKit InputManager Singletons from working multiple scenes.
|
||||
public class ExampleSceneBase : MonoBehaviour {
|
||||
|
||||
protected new MixedRealityCameraManager camera;
|
||||
protected HoloToolkit.Unity.InputModule.Cursor cursor;
|
||||
protected InputManager input;
|
||||
|
||||
// Use this for initialization
|
||||
protected virtual void Start () {
|
||||
camera = FindObjectOfType<MixedRealityCameraManager>();
|
||||
cursor = FindObjectOfType<HoloToolkit.Unity.InputModule.Cursor>();
|
||||
input = FindObjectOfType<InputManager>();
|
||||
}
|
||||
|
||||
protected virtual void LoadScene(string sceneName) {
|
||||
Destroy(camera.transform.parent.gameObject);
|
||||
Destroy(cursor.gameObject);
|
||||
Destroy(input.gameObject);
|
||||
|
||||
// Avoids the error that is caused by the absence of the camera in the scene.
|
||||
Camera cam = gameObject.AddComponent<Camera> ();
|
||||
cam.backgroundColor = Color.black;
|
||||
CameraCache.Refresh (cam);
|
||||
|
||||
SceneManager.LoadScene (sceneName);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,28 +1,29 @@
|
|||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using System.Collections;
|
||||
|
||||
namespace HoloLensWithOpenCVForUnityExample
|
||||
{
|
||||
public class ShowLicense : ExampleSceneBase
|
||||
public class ShowLicense : MonoBehaviour
|
||||
{
|
||||
// Use this for initialization
|
||||
protected override void Start ()
|
||||
protected void Start()
|
||||
{
|
||||
base.Start ();
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Update is called once per frame
|
||||
void Update ()
|
||||
void Update()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raises the back button click event.
|
||||
/// </summary>
|
||||
public void OnBackButtonClick ()
|
||||
public void OnBackButtonClick()
|
||||
{
|
||||
LoadScene ("HoloLensWithOpenCVForUnityExample");
|
||||
SceneManager.LoadScene("HoloLensWithOpenCVForUnityExample");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,11 +20,11 @@ RenderSettings:
|
|||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
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: 3
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 0}
|
||||
m_HaloStrength: 0.5
|
||||
|
@ -55,23 +55,23 @@ LightmapSettings:
|
|||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 10
|
||||
m_Resolution: 1
|
||||
m_BakeResolution: 50
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 0
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 0
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 1024
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 1
|
||||
m_BakeBackend: 0
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
|
@ -89,7 +89,7 @@ LightmapSettings:
|
|||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ShowResolutionOverlay: 1
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 0
|
||||
m_UseShadowmask: 1
|
||||
--- !u!196 &5
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
|
@ -240,57 +240,6 @@ MonoBehaviour:
|
|||
m_Calls: []
|
||||
m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
|
||||
Culture=neutral, PublicKeyToken=null
|
||||
--- !u!1001 &113481611
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4541142303025740, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 20770519707920992, guid: d29bc40b7f3df26479d6a0aac211c355,
|
||||
type: 3}
|
||||
propertyPath: m_ClearFlags
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 20770519707920992, guid: d29bc40b7f3df26479d6a0aac211c355,
|
||||
type: 3}
|
||||
propertyPath: far clip plane
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: d29bc40b7f3df26479d6a0aac211c355, type: 3}
|
||||
--- !u!1 &222236842
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -329,6 +278,81 @@ RectTransform:
|
|||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: -20, y: -20}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &289714094
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 289714095}
|
||||
m_Layer: 0
|
||||
m_Name: MixedRealityPlayspace
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &289714095
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 289714094}
|
||||
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: 733034982}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &496169141
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 496169143}
|
||||
- component: {fileID: 496169142}
|
||||
m_Layer: 0
|
||||
m_Name: MixedRealityToolkit
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &496169142
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 496169141}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 83d9acc7968244a8886f3af591305bcb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
activeProfile: {fileID: 11400000, guid: 019ea231fcd4127409ae7906b2996ee1, type: 2}
|
||||
--- !u!4 &496169143
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 496169141}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &593276356
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -366,7 +390,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -0.000030517578}
|
||||
m_AnchoredPosition: {x: 0, y: 0.000030335286}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!114 &593276358
|
||||
|
@ -452,58 +476,148 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 593276356}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1001 &697584198
|
||||
PrefabInstance:
|
||||
--- !u!1 &733034981
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000011656901714, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 3
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 114742747811649402, guid: 3eddd1c29199313478dd3f912bfab2ab,
|
||||
type: 3}
|
||||
propertyPath: Cursor
|
||||
value:
|
||||
objectReference: {fileID: 1252979787}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 3eddd1c29199313478dd3f912bfab2ab, type: 3}
|
||||
--- !u!20 &697584199 stripped
|
||||
Camera:
|
||||
m_CorrespondingSourceObject: {fileID: 20049547090947856, guid: 3eddd1c29199313478dd3f912bfab2ab,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 697584198}
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 733034982}
|
||||
- component: {fileID: 733034987}
|
||||
- component: {fileID: 733034986}
|
||||
- component: {fileID: 733034985}
|
||||
- component: {fileID: 733034984}
|
||||
- component: {fileID: 733034983}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &733034982
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 733034981}
|
||||
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: 289714095}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &733034983
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 733034981}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bf98dd1206224111a38765365e98e207, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
setCursorInvisibleWhenFocusLocked: 0
|
||||
maxGazeCollisionDistance: 10
|
||||
raycastLayerMasks:
|
||||
- serializedVersion: 2
|
||||
m_Bits: 4294967291
|
||||
stabilizer:
|
||||
storedStabilitySamples: 60
|
||||
gazeTransform: {fileID: 0}
|
||||
minHeadVelocityThreshold: 0.5
|
||||
maxHeadVelocityThreshold: 2
|
||||
useEyeTracking: 1
|
||||
--- !u!114 &733034984
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 733034981}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7a21b486d0bb44444b1418aaa38b44de, 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 &733034985
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 733034981}
|
||||
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!81 &733034986
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 733034981}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &733034987
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 733034981}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_projectionMatrixMode: 1
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_GateFitMode: 2
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!1 &737810279
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -518,10 +632,7 @@ GameObject:
|
|||
- component: {fileID: 737810282}
|
||||
- component: {fileID: 737810281}
|
||||
- component: {fileID: 737810287}
|
||||
- component: {fileID: 737810286}
|
||||
- component: {fileID: 737810285}
|
||||
- component: {fileID: 737810284}
|
||||
- component: {fileID: 737810288}
|
||||
m_Layer: 5
|
||||
m_Name: Canvas
|
||||
m_TagString: Untagged
|
||||
|
@ -537,19 +648,19 @@ RectTransform:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 737810279}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 2}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.001, y: 0.001, z: 0.001}
|
||||
m_Children:
|
||||
- {fileID: 2108325106}
|
||||
- {fileID: 1154483357}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_Father: {fileID: 1450715879}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 800, y: 492.30768}
|
||||
m_SizeDelta: {x: 640, y: 480}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &737810281
|
||||
MonoBehaviour:
|
||||
|
@ -603,7 +714,7 @@ Canvas:
|
|||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 2
|
||||
m_Camera: {fileID: 697584199}
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
|
@ -623,49 +734,9 @@ MonoBehaviour:
|
|||
m_GameObject: {fileID: 737810279}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ac8d5b128a1d8204fb76c86f47b75912, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: ff4e3b9019304b5aaec5664de0778d21, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
pivotAxis: 0
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &737810285
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 737810279}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2be8bd2ebd8277c448d6d81c75517fee, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
TagalongDistance: 2
|
||||
EnforceDistance: 1
|
||||
PositionUpdateSpeed: 9.8
|
||||
SmoothMotion: 1
|
||||
SmoothingFactor: 0.75
|
||||
--- !u!114 &737810286
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 737810279}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fb69de839bd015f4099b5bd2c45e53e5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
UseUnscaledTime: 1
|
||||
PositionPerSecond: 30
|
||||
RotationDegreesPerSecond: 720
|
||||
RotationSpeedScaler: 0
|
||||
ScalePerSecond: 5
|
||||
SmoothLerpToTarget: 0
|
||||
SmoothPositionLerpRatio: 0.5
|
||||
SmoothRotationLerpRatio: 0.5
|
||||
SmoothScaleLerpRatio: 0.5
|
||||
--- !u!65 &737810287
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -679,19 +750,6 @@ BoxCollider:
|
|||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &737810288
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 737810279}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2aebab3047f2113489ca3eb8423228b6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Canvas: {fileID: 737810283}
|
||||
--- !u!1 &993264510
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -774,59 +832,88 @@ RectTransform:
|
|||
m_AnchoredPosition: {x: 0, y: -25}
|
||||
m_SizeDelta: {x: -40, y: -90}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1001 &1252979786
|
||||
PrefabInstance:
|
||||
--- !u!1 &1450715876
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4000013535415816, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 4
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: b2db04283121ca74495c2ee000fb4243, type: 3}
|
||||
--- !u!114 &1252979787 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 114000013851064060, guid: b2db04283121ca74495c2ee000fb4243,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1252979786}
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1450715879}
|
||||
- component: {fileID: 1450715878}
|
||||
- component: {fileID: 1450715877}
|
||||
m_Layer: 0
|
||||
m_Name: UnityUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1450715877
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1450715876}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: afa1ae235bc6cfa43addd1435e2fd822, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: 4684083f6dff4a1d8a790bccc354fcf4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
updateLinkedTransform: 0
|
||||
moveLerpTime: 0.1
|
||||
rotateLerpTime: 0.1
|
||||
scaleLerpTime: 0
|
||||
maintainScale: 1
|
||||
smoothing: 1
|
||||
lifetime: 0
|
||||
referenceDirection: 1
|
||||
minDistance: 1
|
||||
maxDistance: 2
|
||||
minViewDegrees: 0
|
||||
maxViewDegrees: 20
|
||||
aspectV: 1
|
||||
ignoreAngleClamp: 0
|
||||
ignoreDistanceClamp: 0
|
||||
useFixedVerticalPosition: 0
|
||||
fixedVerticalPosition: -0.4
|
||||
orientToReferenceDirection: 0
|
||||
--- !u!114 &1450715878
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1450715876}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b55691ad5b034fe6966763a6e23818d2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
trackedTargetType: 0
|
||||
trackedHandness: 3
|
||||
trackedHandJoint: 2
|
||||
transformOverride: {fileID: 0}
|
||||
additionalOffset: {x: 0, y: 0, z: 0}
|
||||
additionalRotation: {x: 0, y: 0, z: 0}
|
||||
updateSolvers: 1
|
||||
--- !u!4 &1450715879
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1450715876}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 2}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 737810280}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1760640403
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -952,8 +1039,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
@ -971,7 +1058,7 @@ MonoBehaviour:
|
|||
m_HandleRect: {fileID: 2061365887}
|
||||
m_Direction: 2
|
||||
m_Value: 1
|
||||
m_Size: 0.4377668
|
||||
m_Size: 0.3085443
|
||||
m_NumberOfSteps: 0
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
|
@ -1179,8 +1266,8 @@ MonoBehaviour:
|
|||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_HighlightedColor: {r: 0.8584906, g: 0.7600767, b: 0.36040404, a: 1}
|
||||
m_PressedColor: {r: 0.35375908, g: 0.6886792, b: 0.14618193, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -3,11 +3,10 @@
|
|||
*/
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
using UnityEngine.UI;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine.UI;
|
||||
|
||||
#if WINDOWS_UWP
|
||||
using System.Threading.Tasks;
|
||||
|
@ -25,19 +24,19 @@ namespace HololensCameraIntrinsics
|
|||
{
|
||||
public Text ResultText;
|
||||
|
||||
#if WINDOWS_UWP
|
||||
#if WINDOWS_UWP
|
||||
CameraIntrinsicsChecker cameraIntrinsicsChecker;
|
||||
|
||||
// Use this for initialization
|
||||
void Start ()
|
||||
void Start()
|
||||
{
|
||||
CameraIntrinsicsChecker.CreateAync (OnCameraIntrinsicsCheckerInstanceCreated);
|
||||
CameraIntrinsicsChecker.CreateAync(OnCameraIntrinsicsCheckerInstanceCreated);
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
if (cameraIntrinsicsChecker != null)
|
||||
cameraIntrinsicsChecker.Dispose ();
|
||||
cameraIntrinsicsChecker.Dispose();
|
||||
}
|
||||
|
||||
private void OnCameraIntrinsicsCheckerInstanceCreated(CameraIntrinsicsChecker checker)
|
||||
|
@ -50,7 +49,7 @@ namespace HololensCameraIntrinsics
|
|||
|
||||
this.cameraIntrinsicsChecker = checker;
|
||||
|
||||
checker.GetCameraIntrinsicsAync (OnCameraIntrinsicsGot);
|
||||
checker.GetCameraIntrinsicsAync(OnCameraIntrinsicsGot);
|
||||
}
|
||||
|
||||
private void OnCameraIntrinsicsGot(CameraIntrinsics cameraIntrinsics, VideoEncodingProperties property)
|
||||
|
@ -61,7 +60,6 @@ namespace HololensCameraIntrinsics
|
|||
return;
|
||||
}
|
||||
|
||||
|
||||
double calculatedFrameRate = (double)property.FrameRate.Numerator / (double)property.FrameRate.Denominator;
|
||||
|
||||
String result = "\n" + "=============================================";
|
||||
|
@ -80,13 +78,12 @@ namespace HololensCameraIntrinsics
|
|||
{
|
||||
ResultText.text += result;
|
||||
}, false);
|
||||
|
||||
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
#if WINDOWS_UWP
|
||||
#if WINDOWS_UWP
|
||||
public class CameraIntrinsicsChecker
|
||||
{
|
||||
public delegate void OnVideoCaptureResourceCreatedCallback(CameraIntrinsicsChecker chakerObject);
|
||||
|
@ -173,7 +170,7 @@ namespace HololensCameraIntrinsics
|
|||
foreach (var property in allProperties)
|
||||
{
|
||||
await _mediaCapture.VideoDeviceController.SetMediaStreamPropertiesAsync(STREAM_TYPE, property);
|
||||
|
||||
|
||||
// Get CameraIntrinsics
|
||||
var taskCompletionSource = new TaskCompletionSource<bool>();
|
||||
|
||||
|
@ -233,12 +230,12 @@ namespace HololensCameraIntrinsics
|
|||
|
||||
_mediaCapture = new MediaCapture();
|
||||
await _mediaCapture.InitializeAsync(new MediaCaptureInitializationSettings()
|
||||
{
|
||||
VideoDeviceId = _deviceInfo.Id,
|
||||
SourceGroup = _frameSourceGroup,
|
||||
MemoryPreference = MediaCaptureMemoryPreference.Cpu,
|
||||
StreamingCaptureMode = StreamingCaptureMode.Video
|
||||
});
|
||||
{
|
||||
VideoDeviceId = _deviceInfo.Id,
|
||||
SourceGroup = _frameSourceGroup,
|
||||
MemoryPreference = MediaCaptureMemoryPreference.Cpu,
|
||||
StreamingCaptureMode = StreamingCaptureMode.Video
|
||||
});
|
||||
_mediaCapture.VideoDeviceController.Focus.TrySetAuto(true);
|
||||
}
|
||||
|
||||
|
@ -248,5 +245,5 @@ namespace HololensCameraIntrinsics
|
|||
sourceInfo.SourceKind == MediaFrameSourceKind.Color);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 172 KiB |
Двоичный файл не отображается.
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 81 KiB |
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 401 KiB |
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 166 KiB |
32
README.md
32
README.md
|
@ -2,7 +2,7 @@
|
|||
|
||||
|
||||
## What's new
|
||||
* IL2CPP Backend support.
|
||||
* MRTKv2 support.
|
||||
|
||||
|
||||
## Demo Video (old version)
|
||||
|
@ -15,37 +15,39 @@
|
|||
|
||||
|
||||
## Environment
|
||||
* Hololens 10.0.17763.134 (RS5)
|
||||
* Windows 10 Pro 1803
|
||||
* Windows 10 SDK 10.0.17134
|
||||
* Visual Studio 2017 (v157.4.0)
|
||||
* Unity 2018.3.0f2+
|
||||
* [HoloToolkit-Unity](https://github.com/Microsoft/MixedRealityToolkit-Unity/releases) 2017.4.3.0
|
||||
* [OpenCV for Unity](https://assetstore.unity.com/packages/tools/integration/opencv-for-unity-21088?aid=1011l4ehR) 2.3.3+
|
||||
* Hololens 10.0.17763.914 (RS5)
|
||||
* Windows 10 SDK 10.0.18362.0
|
||||
* Visual Studio 2017 or 2019
|
||||
* Unity 2018.4.7f1+
|
||||
* [Microsoft Mixed Reality Toolkit](https://github.com/Microsoft/MixedRealityToolkit-Unity/releases) v2.2.0
|
||||
* [OpenCV for Unity](https://assetstore.unity.com/packages/tools/integration/opencv-for-unity-21088?aid=1011l4ehR) 2.3.7+
|
||||
* [HoloLensCameraStream](https://github.com/VulcanTechnologies/HoloLensCameraStream)
|
||||
|
||||
|
||||
## Setup
|
||||
1. Download the latest release unitypackage. [HoloLensWithOpenCVForUnityExample.unitypackage](https://github.com/EnoxSoftware/HoloLensWithOpenCVForUnityExample/releases)
|
||||
1. Create a new project. (HoloLensWithOpenCVForUnityExample)
|
||||
1. Import the HoloToolkit-Unity-2017.4.3.0.unitypackage.
|
||||
* Setup the HoloToolKit. (Mixed Reality ToolKit > Configure > Apply Mixed Reality Project Setting)
|
||||
1. Import the OpenCVForUnity.
|
||||
* Setup the OpenCVForUnity. (Tools > OpenCV for Unity > Set Plugin Import Settings)
|
||||
* Move the "OpenCVForUnity/StreamingAssets/haarcascade_frontalface_alt.xml" and "OpenCVForUnity/StreamingAssets/lbpcascade_frontalface.xml" to the "Assets/StreamingAssets/" folder.
|
||||
1. Clone HoloLensCameraStream repository.
|
||||
* Copy the "HoloLensCameraStream/HoloLensVideoCaptureExample/Assets/CamStream/" folder to the "Assets/" folder.
|
||||
* Set the scripting backend of the plugin inspector to "Any Script Backend". (IL2CPP support)
|
||||
1. Import the Microsoft.MixedReality.Toolkit.Unity.Foundation.2.2.0.unitypackage.
|
||||
* Setup the MRTKv2. (Mixed Reality ToolKit > Utilities > Configure Unity Project)
|
||||
1. Import the HoloLensWithOpenCVForUnityExample.unitypackage.
|
||||
1. Add the "Assets/HoloLensWithOpenCVForUnityExample/*.unity" files to the "Scenes In Build" list in the "Build Settings" window.
|
||||
1. Set "IL2CPP" to "Other Settings > Configuration > Scripting Backend" selector in the "Player Settings" window.
|
||||
1. Add "WebCam" to "Publishing Settings > Capabilities" checklist in the "Player Settings" window.
|
||||
1. Build and Deploy to HoloLens. (See [https://developer.microsoft.com/en-us/windows/holographic/holograms_100](https://developer.microsoft.com/en-us/windows/holographic/holograms_100))
|
||||
* (Print the AR marker "ArUcoMarker_DICT_6X6_250_ID1.pdf" on an A4 size paper)
|
||||
* (Print the AR marker "CanonicalMarker-d10-i1-sp500-bb1.pdf" and "ChArUcoBoard-mx5-my7-d10-os1000-bb1.pdf" on an A4 size paper)
|
||||
|
||||
|Assets|Buld Settings|
|
||||
|Project Assets|MRTK Project Configurator|
|
||||
|---|---|
|
||||
|![buildsetting01.jpg](buildsetting01.jpg)|![buildsetting02.jpg](buildsetting02.jpg)|
|
||||
|![ProjectAssets.jpg](ProjectAssets.jpg)|![MRTKProjectConfigurator.jpg](MRTKProjectConfigurator.jpg)|
|
||||
|
||||
|Build Settings|Player Settings|
|
||||
|---|---|
|
||||
|![BuildSettings.jpg](BuildSettings.jpg)|![PlayerSettings.jpg](PlayerSettings.jpg)|
|
||||
|
||||
|
||||
## ScreenShot (old version)
|
||||
![screenshot01.jpg](screenshot01.jpg)
|
||||
|
|
Двоичные данные
buildsetting01.jpg
Двоичные данные
buildsetting01.jpg
Двоичный файл не отображается.
До Ширина: | Высота: | Размер: 98 KiB |
Двоичные данные
buildsetting02.jpg
Двоичные данные
buildsetting02.jpg
Двоичный файл не отображается.
До Ширина: | Высота: | Размер: 316 KiB |
Загрузка…
Ссылка в новой задаче