Browse Source

测试修改

slambb 1 year ago
parent
commit
c877be2f4c

+ 27 - 11
Assets/SmartBow/Scripts/Views/InfraredViewParts/InfraredScreenPositioningView.cs

@@ -371,14 +371,30 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
         QuadrilateralInCamera screenAuto = ScreenLocate.Main.ScreenIdentification.QuadAuto;
         QuadrilateralInCamera screenSemiAuto = ScreenLocate.Main.ScreenIdentification.QuadSemiAuto;
 
+        var size = ScreenLocate.Main.getUVCCameraInfoSize;
         var lo = new Vector2(-0.5f, -0.5f);
         if (screenAuto != null)
         {
             FirstUILineGenerator.Points = new Vector2[4] {
-                2 * (new Vector2(screenAuto.Quad[0].x/screenAuto.CameraSize.x,screenAuto.Quad[0].y/screenAuto.CameraSize.y) + lo),
-                2 * (new Vector2(screenAuto.Quad[1].x/screenAuto.CameraSize.x,screenAuto.Quad[1].y/screenAuto.CameraSize.y) + lo),
-                2 * (new Vector2(screenAuto.Quad[3].x/screenAuto.CameraSize.x,screenAuto.Quad[3].y/screenAuto.CameraSize.y) + lo),
-                2 * (new Vector2(screenAuto.Quad[2].x/screenAuto.CameraSize.x,screenAuto.Quad[2].y/screenAuto.CameraSize.y) + lo) };
+                2 * (new Vector2(screenAuto.Quad[0].x/size.x,screenAuto.Quad[0].y/size.y) + lo),
+                2 * (new Vector2(screenAuto.Quad[1].x/size.x,screenAuto.Quad[1].y/size.y) + lo),
+                2 * (new Vector2(screenAuto.Quad[3].x/size.x,screenAuto.Quad[3].y/size.y) + lo),
+                2 * (new Vector2(screenAuto.Quad[2].x/size.x,screenAuto.Quad[2].y/size.y) + lo) };
+
+            for (int i = 0; i < FirstUILineGenerator.Points.Length; i++)
+            {
+                Debug.Log("Point " + i + ": " + FirstUILineGenerator.Points[i]);
+            }
+            // 打印 Quad 的值,使用自定义顺序访问
+            int[] customOrder = new int[] { 0, 1, 3, 2 };
+            for (int i = 0; i < 4; i++)
+            {
+                Debug.Log("Quad Point " + i + " (Index " + customOrder[i] + "): " + "["+ screenAuto.Quad[customOrder[i]].x + ","+ screenAuto.Quad[customOrder[i]].y + "]");
+            }
+            // 打印 CameraSize 的值
+            Debug.Log("size: " + size);
+
+
         }
         else {
             Debug.LogError("screenAuto 不存在!");
@@ -386,10 +402,10 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
         if (screenSemiAuto != null)
         {
             SecondUILineGenerator.Points = new Vector2[4] {
-                2 * (new Vector2(screenSemiAuto.Quad[0].x/screenSemiAuto.CameraSize.x,screenSemiAuto.Quad[0].y/screenSemiAuto.CameraSize.y) + lo),
-                2 * (new Vector2(screenSemiAuto.Quad[1].x/screenSemiAuto.CameraSize.x,screenSemiAuto.Quad[1].y/screenSemiAuto.CameraSize.y) + lo),
-                2 * (new Vector2(screenSemiAuto.Quad[3].x/screenSemiAuto.CameraSize.x,screenSemiAuto.Quad[3].y/screenSemiAuto.CameraSize.y) + lo),
-                2 * (new Vector2(screenSemiAuto.Quad[2].x/screenSemiAuto.CameraSize.x,screenSemiAuto.Quad[2].y/screenSemiAuto.CameraSize.y) + lo) };
+                2 * (new Vector2(screenSemiAuto.Quad[0].x/size.x,screenSemiAuto.Quad[0].y/size.y) + lo),
+                2 * (new Vector2(screenSemiAuto.Quad[1].x/size.x,screenSemiAuto.Quad[1].y/size.y) + lo),
+                2 * (new Vector2(screenSemiAuto.Quad[3].x/size.x,screenSemiAuto.Quad[3].y/size.y) + lo),
+                2 * (new Vector2(screenSemiAuto.Quad[2].x/size.x,screenSemiAuto.Quad[2].y/size.y) + lo) };
         }
         else {
             Debug.LogError("screenSemiAuto 不存在!");
@@ -956,15 +972,15 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
     //选择全自动结果后进入游戏
     void OnFirstResult()
     {
-        ScreenLocate.Main.SelectScreenAfterLocate(ScreenLocate.ScreenIdentificationTag.Auto);
-
+       // ScreenLocate.Main.SelectScreenAfterLocate(ScreenLocate.ScreenIdentificationTag.Auto);
+        
         onCompelete();
     }
 
     //选择半自动结果
     void OnSecondResult()
     {
-        ScreenLocate.Main.SelectScreenAfterLocate(ScreenLocate.ScreenIdentificationTag.SemiAuto);
+        //ScreenLocate.Main.SelectScreenAfterLocate(ScreenLocate.ScreenIdentificationTag.SemiAuto);
 
         onCompelete();
     }

+ 2 - 4
Assets/SmartBow/Scripts/Views/InfraredViewParts/PointMarker.cs

@@ -48,8 +48,8 @@ public class PointMarker : MonoBehaviour
         {
             //Vector2 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
             //MarkPoint(mousePosition);
-           // OnRecordInfrared();
-
+            // OnRecordInfrared();
+            if (currentPointIndex >= 4) return;
             var mouse = Input.mousePosition;
             var u = mouse.x / Screen.width;
             var v = mouse.y / Screen.height;
@@ -67,8 +67,6 @@ public class PointMarker : MonoBehaviour
     /// </summary>
     public void OnRecordInfrared()
     {
-       
-
         if (currentPointIndex >= 4) return;
         var location = ScreenLocate.Main.infraredSpotBuffer.FirstOrDefault()?.CameraLocation;
         if (location != null)