Explorar el Código

分屏相机中间加黑线

LAPTOP-OM1V99U2\永远de小亡灵 hace 1 año
padre
commit
c6f6a6692d

+ 195 - 13
ActionTowerDefense/Assets/Scenes/SampleScene.unity

@@ -220,6 +220,82 @@ MeshFilter:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 43346112}
   m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &225101630
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 225101631}
+  - component: {fileID: 225101633}
+  - component: {fileID: 225101632}
+  m_Layer: 5
+  m_Name: Line
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &225101631
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 225101630}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 10, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 555234520}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &225101632
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 225101630}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &225101633
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 225101630}
+  m_CullTransparentMesh: 1
 --- !u!1 &317380082
 GameObject:
   m_ObjectHideFlags: 0
@@ -347,7 +423,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!4 &467647573
 Transform:
   m_ObjectHideFlags: 0
@@ -645,6 +721,107 @@ Transform:
   m_Father: {fileID: 1055802830}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: -7.831, y: 0, z: 0}
+--- !u!1 &555234516
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 555234520}
+  - component: {fileID: 555234519}
+  - component: {fileID: 555234518}
+  - component: {fileID: 555234517}
+  m_Layer: 5
+  m_Name: UI
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &555234517
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 555234516}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &555234518
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 555234516}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 1920, y: 1080}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+  m_PresetInfoIsWorld: 0
+--- !u!223 &555234519
+Canvas:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 555234516}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &555234520
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 555234516}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0, y: 0, z: 0}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 225101631}
+  m_Father: {fileID: 0}
+  m_RootOrder: 10
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
 --- !u!1 &585662580
 GameObject:
   m_ObjectHideFlags: 0
@@ -721,7 +898,7 @@ Camera:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 815407864}
-  m_Enabled: 1
+  m_Enabled: 0
   serializedVersion: 2
   m_ClearFlags: 1
   m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
@@ -767,7 +944,6 @@ GameObject:
   m_Component:
   - component: {fileID: 850878592}
   - component: {fileID: 850878590}
-  - component: {fileID: 850878591}
   m_Layer: 0
   m_Name: RightCamera
   m_TagString: Untagged
@@ -782,7 +958,7 @@ Camera:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 850878589}
-  m_Enabled: 1
+  m_Enabled: 0
   serializedVersion: 2
   m_ClearFlags: 1
   m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
@@ -818,14 +994,6 @@ Camera:
   m_OcclusionCulling: 1
   m_StereoConvergence: 10
   m_StereoSeparation: 0.022
---- !u!81 &850878591
-AudioListener:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 850878589}
-  m_Enabled: 1
 --- !u!4 &850878592
 Transform:
   m_ObjectHideFlags: 0
@@ -873,12 +1041,26 @@ MonoBehaviour:
   offsetX: 6
   offsetY: 3
   offsetZ: -16
+  splitOffsetX: 0
+  splitOffsetY: 3
+  splitOffsetZ: -16
   lerpValue: 3.5
   targetPos: {x: 0, y: 0, z: 0}
+  leftTargetPos: {x: 0, y: 0, z: 0}
+  rightTargetPos: {x: 0, y: 0, z: 0}
   mainCamera: {fileID: 519420031}
-  cameras: {fileID: 467647572}
   leftCamera: {fileID: 815407867}
   rightCamera: {fileID: 850878590}
+  minField: 55
+  maxField: 75
+  field: 0
+  minDistance: 20
+  splitDistance: 30
+  mergeDistance: 16
+  distance: 0
+  ratio: 0
+  lineMaxScale: 0.5
+  lineInCamera: {fileID: 225101630}
 --- !u!4 &1055802830
 Transform:
   m_ObjectHideFlags: 0

+ 16 - 6
ActionTowerDefense/Assets/Scripts/CameraController.cs

@@ -5,12 +5,14 @@ using UnityEngine;
 public class CameraController : MonoBehaviour
 {
     public float offsetX = 6, offsetY = 3, offsetZ = -16;
-    public float splitOffsetX = 6, splitOffsetsY = 3, splitOffsetZ = -16;
+    public float splitOffsetX = 0, splitOffsetY = 3, splitOffsetZ = -16;
     public float lerpValue = 3.5f;
 
     [HideInInspector]
     public Vector3 targetPos;
+    [HideInInspector]
     public Vector3 leftTargetPos;
+    [HideInInspector]
     public Vector3 rightTargetPos;
 
     public Camera mainCamera;
@@ -29,6 +31,11 @@ public class CameraController : MonoBehaviour
     [HideInInspector]
     public float ratio;
 
+    public float lineMaxScale = 0.5f;
+
+    public GameObject lineInCamera;
+
+
     private void Start()
     {
         ratio = (maxField - minField) / (splitDistance - minDistance);
@@ -52,31 +59,34 @@ public class CameraController : MonoBehaviour
             if (player0Pos.x < player1Pos.x)
             {
                 leftTargetPos = CameraTargetMove(PlayersInput.instance[0],
-                    splitOffsetX,splitOffsetsY,splitOffsetZ);
+                    splitOffsetX, splitOffsetY, splitOffsetZ);
                 rightTargetPos = CameraTargetMove(PlayersInput.instance[1],
-                    splitOffsetX, splitOffsetsY, splitOffsetZ);
+                    splitOffsetX, splitOffsetY, splitOffsetZ);
             }
             else
             {
                 leftTargetPos = CameraTargetMove(PlayersInput.instance[1],
-                    splitOffsetX, splitOffsetsY, splitOffsetZ);
+                    splitOffsetX, splitOffsetY, splitOffsetZ);
                 rightTargetPos = CameraTargetMove(PlayersInput.instance[0],
-                    splitOffsetX, splitOffsetsY, splitOffsetZ);
+                    splitOffsetX, splitOffsetY, splitOffsetZ);
 
             }
-
             field = Mathf.Clamp(minField + (distance - minDistance) * ratio, minField, maxField);
             if (distance < mergeDistance)
             {
                 mainCamera.enabled = true;
                 leftCamera.enabled = false;
                 rightCamera.enabled = false;
+                lineInCamera.SetActive(false);
             }
             if(distance > splitDistance) 
             {
                 mainCamera.enabled = false;
                 leftCamera.enabled = true;
                 rightCamera.enabled = true;
+                lineInCamera.SetActive(true);
+                lineInCamera.transform.localScale =new Vector3(Mathf.Clamp(
+                    (distance - mergeDistance)*0.01f,0, lineMaxScale),10,1);
             }
 
         }