فهرست منبع

Correctly calculate camera frustum

Nick Steyer 2 سال پیش
والد
کامیت
f0e8123aad
3فایلهای تغییر یافته به همراه60 افزوده شده و 5 حذف شده
  1. 2 2
      Assembly-CSharp.csproj
  2. 57 2
      Assets/Scenes/BoundingBoxes.unity
  3. 1 1
      Assets/StreetLight/PersonVisualizer.cs

+ 2 - 2
Assembly-CSharp.csproj

@@ -82,6 +82,7 @@
     <Compile Include="Assets\ZED\SDK\Helpers\Scripts\ObjectDetection\DetectionFrame.cs" />
     <Compile Include="Assets\ZED\Tools\Mixed Reality Calibration\Scripts\AutoCalibrationManager.cs" />
     <Compile Include="Assets\ZED\Examples\MultiCam\Scripts\CopyToSurface.cs" />
+    <Compile Include="Assets\StreetLight\PersonVisualizer.cs" />
     <Compile Include="Assets\ZED\Examples\OpenCV ArUco Detection\Scripts\Core\ZEDToOpenCVRetriever.cs" />
     <Compile Include="Assets\Bumper.cs" />
     <Compile Include="Assets\ZED\SDK\Helpers\Scripts\Utilities\GUIMessage.cs" />
@@ -148,6 +149,7 @@
     <Compile Include="Assets\ZED\SDK\Helpers\Scripts\Utilities\ExportNavMesh.cs" />
     <Compile Include="Assets\ZED\Examples\OpenCV ArUco Detection\Scripts\Core\MarkerObject_CreateObjectsAtMarkers.cs" />
     <Compile Include="Assets\ZED\SDK\Helpers\Scripts\SpatialMapping\ZEDMeshRenderer.cs" />
+    <Compile Include="Assets\StreetLight\MyZED3DObjectVisualizer.cs" />
     <Compile Include="Assets\ZED\Tools\Mixed Reality Calibration\Scripts\CameraAnchor.cs" />
     <Compile Include="Assets\ZED\Tools\Mixed Reality Calibration\Scripts\PrimaryHandSwitcher.cs" />
     <Compile Include="Assets\ZED\SDK\Helpers\Scripts\PlaneDetection\ZEDPlaneGameObject.cs" />
@@ -205,8 +207,6 @@
     <Compile Include="Assets\ZED\Tools\Mixed Reality Calibration\Scripts\LookAtCameraPartialAxis.cs" />
     <Compile Include="Assets\ZED\SDK\Helpers\Scripts\PlaneDetection\ZEDPlaneDetectionManager.cs" />
     <Compile Include="Assets\ZED\SDK\Helpers\Scripts\Utilities\ZEDLogMessage.cs" />
-    <Compile Include="Assets\StreetLight\PersonVisualizer.cs" />
-    <Compile Include="Assets\StreetLight\MyZED3DObjectVisualizer.cs" />
   </ItemGroup>
   <ItemGroup>
     <None Include="Assets\ZED\Examples\GreenScreen\Shaders\Mask_Quad.shader" />

+ 57 - 2
Assets/Scenes/BoundingBoxes.unity

@@ -272,6 +272,10 @@ PrefabInstance:
       propertyPath: m_Name
       value: ZED_Rig_Mono
       objectReference: {fileID: 0}
+    - target: {fileID: 1795562263255876, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
+      propertyPath: m_TagString
+      value: Untagged
+      objectReference: {fileID: 0}
     - target: {fileID: 4329734432191940, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
       propertyPath: m_RootOrder
       value: 1
@@ -941,7 +945,7 @@ GameObject:
   - component: {fileID: 1319309826}
   m_Layer: 0
   m_Name: Camera
-  m_TagString: Untagged
+  m_TagString: MainCamera
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
@@ -978,7 +982,7 @@ Camera:
     width: 1
     height: 1
   near clip plane: 0.3
-  far clip plane: 1000
+  far clip plane: 10
   field of view: 60
   orthographic: 1
   orthographic size: 7
@@ -1012,3 +1016,54 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 6
   m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
+--- !u!1 &1689640812
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1689640814}
+  - component: {fileID: 1689640813}
+  m_Layer: 0
+  m_Name: PersonVisualizer
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1689640813
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1689640812}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a1c81feb799b9d647990a8248fce3cd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  boundingBoxPrefab: {fileID: 1438017172825460, guid: 2d803190bc4738d4daf5932468a5495e, type: 3}
+  boxColors:
+  - {r: 0.231, g: 0.909, b: 0.69, a: 1}
+  - {r: 0.098, g: 0.686, b: 0.816, a: 1}
+  - {r: 0.412, g: 0.4, b: 0.804, a: 1}
+  - {r: 1, g: 0.725, b: 0, a: 1}
+  - {r: 0.989, g: 0.388, b: 0.419, a: 1}
+--- !u!4 &1689640814
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1689640812}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -0.44142985, y: -2.5229244, z: -1.4229822}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 9
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

+ 1 - 1
Assets/StreetLight/PersonVisualizer.cs

@@ -61,7 +61,7 @@ public class PersonVisualizer : MonoBehaviour
 
             var camera = Camera.main;
             Vector3[] frustumCorners = new Vector3[4];
-            camera.CalculateFrustumCorners(new Rect(0, 0, 1, 1), camera.farClipPlane, Camera.MonoOrStereoscopicEye.Mono, frustumCorners);
+            camera.CalculateFrustumCorners(new Rect(0, 0, 1, 1), camera.transform.position.y, Camera.MonoOrStereoscopicEye.Mono, frustumCorners);
 
             GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
             sphere.transform.position = new Vector3(0, 0, 0);