improve portal collider to prevent unwanted teleportation
This commit is contained in:
BIN
Assets/Desert/Assets/Models/Desert Portal.blend
(Stored with Git LFS)
BIN
Assets/Desert/Assets/Models/Desert Portal.blend
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,65 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &2356004090473610063
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7774350221631063992}
|
||||||
|
- component: {fileID: 752629358185251236}
|
||||||
|
- component: {fileID: 8065077931921476553}
|
||||||
|
m_Layer: 7
|
||||||
|
m_Name: Collider
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &7774350221631063992
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2356004090473610063}
|
||||||
|
m_LocalRotation: {x: 0, y: -0.7071068, z: 0.7071068, w: 0}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: -0.2}
|
||||||
|
m_LocalScale: {x: -1, y: -1, z: -1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 8069972016317824103}
|
||||||
|
m_RootOrder: -1
|
||||||
|
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 180}
|
||||||
|
--- !u!64 &752629358185251236
|
||||||
|
MeshCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2356004090473610063}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IsTrigger: 1
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 4
|
||||||
|
m_Convex: 1
|
||||||
|
m_CookingOptions: 30
|
||||||
|
m_Mesh: {fileID: 713088202772470133, guid: a888d535ef5e563418cb8711b9de7c16, type: 3}
|
||||||
|
--- !u!114 &8065077931921476553
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2356004090473610063}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: bcd51a92199746578f25ab67160cc13d, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
portal: {fileID: 1249363658}
|
||||||
--- !u!1 &2892577287002708294
|
--- !u!1 &2892577287002708294
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -9,7 +69,7 @@ GameObject:
|
|||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 2075043192862140148}
|
- component: {fileID: 2075043192862140148}
|
||||||
m_Layer: 0
|
m_Layer: 7
|
||||||
m_Name: Portal Edge
|
m_Name: Portal Edge
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
@@ -106,8 +166,8 @@ GameObject:
|
|||||||
- component: {fileID: 297632034835907229}
|
- component: {fileID: 297632034835907229}
|
||||||
- component: {fileID: 5559679283225865501}
|
- component: {fileID: 5559679283225865501}
|
||||||
- component: {fileID: 6419237152131296747}
|
- component: {fileID: 6419237152131296747}
|
||||||
m_Layer: 0
|
m_Layer: 7
|
||||||
m_Name: Portal Surface
|
m_Name: Surface
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@@ -120,14 +180,14 @@ Transform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 6999744959693749346}
|
m_GameObject: {fileID: 6999744959693749346}
|
||||||
m_LocalRotation: {x: 0.000000030908623, y: 0.7071068, z: -0.7071067, w: -0.000000030908616}
|
m_LocalRotation: {x: 0, y: -0.7071068, z: 0.7071068, w: 0}
|
||||||
m_LocalPosition: {x: -0, y: 0, z: -0.20000009}
|
m_LocalPosition: {x: -0, y: 0, z: -0.2}
|
||||||
m_LocalScale: {x: -1, y: -1, z: -1}
|
m_LocalScale: {x: -1, y: -1, z: -1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 8069972016317824103}
|
m_Father: {fileID: 8069972016317824103}
|
||||||
m_RootOrder: -1
|
m_RootOrder: -1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 180}
|
||||||
--- !u!33 &5559679283225865501
|
--- !u!33 &5559679283225865501
|
||||||
MeshFilter:
|
MeshFilter:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -187,8 +247,8 @@ GameObject:
|
|||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 8069972016317824103}
|
- component: {fileID: 8069972016317824103}
|
||||||
m_Layer: 0
|
m_Layer: 7
|
||||||
m_Name: Desert Portal Entrance
|
m_Name: Portal
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@@ -206,6 +266,7 @@ Transform:
|
|||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
|
- {fileID: 7774350221631063992}
|
||||||
- {fileID: 2731753372031835923}
|
- {fileID: 2731753372031835923}
|
||||||
- {fileID: 297632034835907229}
|
- {fileID: 297632034835907229}
|
||||||
- {fileID: 2075043192862140148}
|
- {fileID: 2075043192862140148}
|
||||||
@@ -224,7 +285,7 @@ GameObject:
|
|||||||
- component: {fileID: 7791795762741173939}
|
- component: {fileID: 7791795762741173939}
|
||||||
- component: {fileID: 5969531196797302096}
|
- component: {fileID: 5969531196797302096}
|
||||||
- component: {fileID: 17691322601746172}
|
- component: {fileID: 17691322601746172}
|
||||||
m_Layer: 0
|
m_Layer: 7
|
||||||
m_Name: Camera
|
m_Name: Camera
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
@@ -380,8 +441,8 @@ GameObject:
|
|||||||
- component: {fileID: 2731753372031835923}
|
- component: {fileID: 2731753372031835923}
|
||||||
- component: {fileID: 8717415820407753879}
|
- component: {fileID: 8717415820407753879}
|
||||||
- component: {fileID: 4905517471767474057}
|
- component: {fileID: 4905517471767474057}
|
||||||
m_Layer: 0
|
m_Layer: 7
|
||||||
m_Name: Portal Frame
|
m_Name: Frame
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@@ -394,14 +455,14 @@ Transform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 9139844951969793274}
|
m_GameObject: {fileID: 9139844951969793274}
|
||||||
m_LocalRotation: {x: 0.000000030908623, y: 0.7071068, z: -0.7071067, w: -0.000000030908616}
|
m_LocalRotation: {x: 0, y: -0.7071068, z: 0.7071068, w: 0}
|
||||||
m_LocalPosition: {x: -0, y: 0, z: -0.20000009}
|
m_LocalPosition: {x: -0, y: 0, z: -0.2}
|
||||||
m_LocalScale: {x: -1, y: -1, z: -1}
|
m_LocalScale: {x: -1, y: -1, z: -1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 8069972016317824103}
|
m_Father: {fileID: 8069972016317824103}
|
||||||
m_RootOrder: -1
|
m_RootOrder: -1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 180}
|
||||||
--- !u!33 &8717415820407753879
|
--- !u!33 &8717415820407753879
|
||||||
MeshFilter:
|
MeshFilter:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -1,5 +1,65 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &506243319273626502
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 8079730491061412845}
|
||||||
|
- component: {fileID: 884126343611003350}
|
||||||
|
- component: {fileID: 974784683793812549}
|
||||||
|
m_Layer: 7
|
||||||
|
m_Name: Collider
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &8079730491061412845
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 506243319273626502}
|
||||||
|
m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 534778217790596785}
|
||||||
|
m_RootOrder: -1
|
||||||
|
m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
|
||||||
|
--- !u!64 &884126343611003350
|
||||||
|
MeshCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 506243319273626502}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IsTrigger: 1
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 4
|
||||||
|
m_Convex: 1
|
||||||
|
m_CookingOptions: 30
|
||||||
|
m_Mesh: {fileID: 1373837989805601541, guid: a888d535ef5e563418cb8711b9de7c16, type: 3}
|
||||||
|
--- !u!114 &974784683793812549
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 506243319273626502}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: bcd51a92199746578f25ab67160cc13d, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
portal: {fileID: 1249363658}
|
||||||
--- !u!1 &698537097821251252
|
--- !u!1 &698537097821251252
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -11,8 +71,8 @@ GameObject:
|
|||||||
- component: {fileID: 7833101140158502987}
|
- component: {fileID: 7833101140158502987}
|
||||||
- component: {fileID: 2716330164156348363}
|
- component: {fileID: 2716330164156348363}
|
||||||
- component: {fileID: 3566871879873967933}
|
- component: {fileID: 3566871879873967933}
|
||||||
m_Layer: 0
|
m_Layer: 7
|
||||||
m_Name: Portal Surface
|
m_Name: Surface
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@@ -25,14 +85,14 @@ Transform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 698537097821251252}
|
m_GameObject: {fileID: 698537097821251252}
|
||||||
m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067}
|
m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
|
||||||
m_LocalPosition: {x: -0, y: 0, z: 0}
|
m_LocalPosition: {x: -0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 534778217790596785}
|
m_Father: {fileID: 534778217790596785}
|
||||||
m_RootOrder: -1
|
m_RootOrder: -1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
|
||||||
--- !u!33 &2716330164156348363
|
--- !u!33 &2716330164156348363
|
||||||
MeshFilter:
|
MeshFilter:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -92,8 +152,8 @@ GameObject:
|
|||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 534778217790596785}
|
- component: {fileID: 534778217790596785}
|
||||||
m_Layer: 0
|
m_Layer: 7
|
||||||
m_Name: Desert Portal
|
m_Name: Portal
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@@ -111,6 +171,7 @@ Transform:
|
|||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
|
- {fileID: 8079730491061412845}
|
||||||
- {fileID: 5583485013713733061}
|
- {fileID: 5583485013713733061}
|
||||||
- {fileID: 7833101140158502987}
|
- {fileID: 7833101140158502987}
|
||||||
- {fileID: 2075043192862140148}
|
- {fileID: 2075043192862140148}
|
||||||
@@ -128,8 +189,8 @@ GameObject:
|
|||||||
- component: {fileID: 5583485013713733061}
|
- component: {fileID: 5583485013713733061}
|
||||||
- component: {fileID: 1184410134851835457}
|
- component: {fileID: 1184410134851835457}
|
||||||
- component: {fileID: 3208325555222820191}
|
- component: {fileID: 3208325555222820191}
|
||||||
m_Layer: 0
|
m_Layer: 7
|
||||||
m_Name: Portal Frame
|
m_Name: Frame
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@@ -142,14 +203,14 @@ Transform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1604096967460232748}
|
m_GameObject: {fileID: 1604096967460232748}
|
||||||
m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067}
|
m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
|
||||||
m_LocalPosition: {x: -0, y: 0, z: 0}
|
m_LocalPosition: {x: -0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 534778217790596785}
|
m_Father: {fileID: 534778217790596785}
|
||||||
m_RootOrder: -1
|
m_RootOrder: -1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
|
||||||
--- !u!33 &1184410134851835457
|
--- !u!33 &1184410134851835457
|
||||||
MeshFilter:
|
MeshFilter:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -209,7 +270,7 @@ GameObject:
|
|||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 2075043192862140148}
|
- component: {fileID: 2075043192862140148}
|
||||||
m_Layer: 0
|
m_Layer: 7
|
||||||
m_Name: Portal Edge
|
m_Name: Portal Edge
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
@@ -242,7 +303,6 @@ GameObject:
|
|||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 2246995198243242195}
|
- component: {fileID: 2246995198243242195}
|
||||||
- component: {fileID: 1249363658}
|
- component: {fileID: 1249363658}
|
||||||
- component: {fileID: 7604291350124895408}
|
|
||||||
m_Layer: 7
|
m_Layer: 7
|
||||||
m_Name: Desert Portal Exit
|
m_Name: Desert Portal Exit
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -282,19 +342,6 @@ MonoBehaviour:
|
|||||||
linkedPortal: {fileID: 0}
|
linkedPortal: {fileID: 0}
|
||||||
portalCamera: {fileID: 17691322601746172}
|
portalCamera: {fileID: 17691322601746172}
|
||||||
portalTransform: {fileID: 2075043192862140148}
|
portalTransform: {fileID: 2075043192862140148}
|
||||||
--- !u!65 &7604291350124895408
|
|
||||||
BoxCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5635962022185625128}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IsTrigger: 1
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Size: {x: 1, y: 2.05, z: 0.3}
|
|
||||||
m_Center: {x: 0.5, y: 1.025, z: 0.55}
|
|
||||||
--- !u!1 &7398326895463990628
|
--- !u!1 &7398326895463990628
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -307,7 +354,7 @@ GameObject:
|
|||||||
- component: {fileID: 7791795762741173939}
|
- component: {fileID: 7791795762741173939}
|
||||||
- component: {fileID: 5969531196797302096}
|
- component: {fileID: 5969531196797302096}
|
||||||
- component: {fileID: 17691322601746172}
|
- component: {fileID: 17691322601746172}
|
||||||
m_Layer: 0
|
m_Layer: 7
|
||||||
m_Name: Camera
|
m_Name: Camera
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
|
|||||||
@@ -24,9 +24,8 @@ namespace EscapeRoomEngine.Portal.Runtime
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[BoxGroup("Internal")] public Transform portalTransform;
|
[BoxGroup("Internal")] public Transform portalTransform;
|
||||||
|
|
||||||
private bool Connected => linkedPortal != null;
|
internal bool Connected => linkedPortal != null;
|
||||||
|
internal readonly List<PortalDriver> closePortalDrivers = new();
|
||||||
private readonly List<PortalDriver> _closePortalDrivers = new();
|
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
@@ -45,9 +44,9 @@ namespace EscapeRoomEngine.Portal.Runtime
|
|||||||
{
|
{
|
||||||
if (Connected)
|
if (Connected)
|
||||||
{
|
{
|
||||||
for (var i = 0; i < _closePortalDrivers.Count; i++)
|
for (var i = 0; i < closePortalDrivers.Count; i++)
|
||||||
{
|
{
|
||||||
var portalDriver = _closePortalDrivers[i];
|
var portalDriver = closePortalDrivers[i];
|
||||||
if (portalDriver.entrySide < 0 && CalculateSide(portalDriver.transform) >= 0) // must have entered from the front and exited the back
|
if (portalDriver.entrySide < 0 && CalculateSide(portalDriver.transform) >= 0) // must have entered from the front and exited the back
|
||||||
{
|
{
|
||||||
StopTrackingDriver(portalDriver);
|
StopTrackingDriver(portalDriver);
|
||||||
@@ -59,44 +58,20 @@ namespace EscapeRoomEngine.Portal.Runtime
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void StartTrackingDriver(PortalDriver portalDriver, int entrySide)
|
internal void StartTrackingDriver(PortalDriver portalDriver, int entrySide)
|
||||||
{
|
{
|
||||||
_closePortalDrivers.Add(portalDriver);
|
closePortalDrivers.Add(portalDriver);
|
||||||
portalDriver.EnableClone(linkedPortal);
|
portalDriver.EnableClone(linkedPortal);
|
||||||
portalDriver.entrySide = entrySide;
|
portalDriver.entrySide = entrySide;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void StopTrackingDriver(PortalDriver portalDriver)
|
internal void StopTrackingDriver(PortalDriver portalDriver)
|
||||||
{
|
{
|
||||||
_closePortalDrivers.Remove(portalDriver);
|
closePortalDrivers.Remove(portalDriver);
|
||||||
portalDriver.DisableClone(linkedPortal);
|
portalDriver.DisableClone(linkedPortal);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnTriggerEnter(Collider other)
|
internal int CalculateSide(Transform portalDriverTransform)
|
||||||
{
|
|
||||||
if (Connected)
|
|
||||||
{
|
|
||||||
var portalDriver = other.GetComponent<PortalDriver>();
|
|
||||||
if (portalDriver && !_closePortalDrivers.Contains(portalDriver))
|
|
||||||
{
|
|
||||||
StartTrackingDriver(portalDriver, CalculateSide(portalDriver.transform));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnTriggerExit(Collider other)
|
|
||||||
{
|
|
||||||
if (Connected)
|
|
||||||
{
|
|
||||||
var portalDriver = other.GetComponent<PortalDriver>();
|
|
||||||
if (portalDriver)
|
|
||||||
{
|
|
||||||
StopTrackingDriver(portalDriver);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private int CalculateSide(Transform portalDriverTransform)
|
|
||||||
{
|
{
|
||||||
return Math.Sign(Vector3.Dot(portalTransform.forward, portalDriverTransform.position - portalTransform.position));
|
return Math.Sign(Vector3.Dot(portalTransform.forward, portalDriverTransform.position - portalTransform.position));
|
||||||
}
|
}
|
||||||
|
|||||||
42
Assets/Portal/Runtime/PortalCollider.cs
Normal file
42
Assets/Portal/Runtime/PortalCollider.cs
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
using EscapeRoomEngine.Engine.Runtime.Utilities;
|
||||||
|
using NaughtyAttributes;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace EscapeRoomEngine.Portal.Runtime
|
||||||
|
{
|
||||||
|
[RequireComponent(typeof(Collider))]
|
||||||
|
public class PortalCollider : MonoBehaviour
|
||||||
|
{
|
||||||
|
[BoxGroup("Internal")] [SerializeField] private Portal portal;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
// check whether the collider is set up correctly
|
||||||
|
if (!GetComponent<Collider>().isTrigger) throw new EngineException("Collider must be a trigger.");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnTriggerEnter(Collider other)
|
||||||
|
{
|
||||||
|
if (portal.Connected)
|
||||||
|
{
|
||||||
|
var portalDriver = other.GetComponent<PortalDriver>();
|
||||||
|
if (portalDriver && !portal.closePortalDrivers.Contains(portalDriver))
|
||||||
|
{
|
||||||
|
portal.StartTrackingDriver(portalDriver, portal.CalculateSide(portalDriver.transform));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnTriggerExit(Collider other)
|
||||||
|
{
|
||||||
|
if (portal.Connected)
|
||||||
|
{
|
||||||
|
var portalDriver = other.GetComponent<PortalDriver>();
|
||||||
|
if (portalDriver)
|
||||||
|
{
|
||||||
|
portal.StopTrackingDriver(portalDriver);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
3
Assets/Portal/Runtime/PortalCollider.cs.meta
Normal file
3
Assets/Portal/Runtime/PortalCollider.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bcd51a92199746578f25ab67160cc13d
|
||||||
|
timeCreated: 1669678918
|
||||||
@@ -806,7 +806,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
loggingEnabled: 1
|
loggingEnabled: 1
|
||||||
typeFilter: 0000000008000000
|
typeFilter: 00000000
|
||||||
--- !u!1 &1943716334
|
--- !u!1 &1943716334
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
Reference in New Issue
Block a user