Added basic portals

This commit is contained in:
2026-01-15 18:18:59 +00:00
parent 6fb0c358e1
commit 18c19c7c14
15 changed files with 914 additions and 2 deletions

View File

@@ -0,0 +1,202 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1257543334051943221
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1899517953744655820}
- component: {fileID: 6710144271987578809}
m_Layer: 0
m_Name: Manager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1899517953744655820
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1257543334051943221}
serializedVersion: 2
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 9168768580810178490}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6710144271987578809
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1257543334051943221}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 68fb822b7ca1a9e489bf21abe980ed13, type: 3}
m_Name:
m_EditorClassIdentifier:
m_OtherPortal: {fileID: 0}
m_PlayerCamera: {fileID: 0}
m_CameraPrefab: {fileID: 6620949641348159012, guid: 0cd50968a40c32243956acc30338a258,
type: 3}
m_Renderers:
- {fileID: 2963162269859711420}
m_PlayerPoint: {fileID: 8909126833140872428}
m_PortalCamera: {fileID: 0}
--- !u!1 &2828900946752256695
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5314959578156838273}
- component: {fileID: 529949781680680418}
- component: {fileID: 2963162269859711420}
m_Layer: 0
m_Name: RenderSurface
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5314959578156838273
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2828900946752256695}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 1, z: 0}
m_LocalScale: {x: 0.2, y: 0.2, z: 0.2}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 9168768580810178490}
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!33 &529949781680680418
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2828900946752256695}
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &2963162269859711420
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2828900946752256695}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 6412be81563725c40bfc6c75b1a58af8, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &6892011779330454626
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9168768580810178490}
m_Layer: 0
m_Name: Portal
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &9168768580810178490
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6892011779330454626}
serializedVersion: 2
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_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1899517953744655820}
- {fileID: 5314959578156838273}
- {fileID: 8909126833140872428}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &6987495362055634066
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8909126833140872428}
m_Layer: 0
m_Name: PlayerPosition
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8909126833140872428
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6987495362055634066}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -1.8488195, y: 6.4631767, z: 6.55658}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 9168768580810178490}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 35a37f1ca60417a4393dc48a27c21574
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,145 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6620949641348159012
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1723817412309227941}
- component: {fileID: -5260600561633151711}
- component: {fileID: 3116622595035082484}
- component: {fileID: -8011418237207204536}
m_Layer: 0
m_Name: PortalCamera
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1723817412309227941
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6620949641348159012}
serializedVersion: 2
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!20 &-5260600561633151711
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6620949641348159012}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
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!114 &3116622595035082484
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6620949641348159012}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ecef1a55a76c4edd8a7a6154094c3d86, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Shader: {fileID: 4800000, guid: 0a42b0980bf770241920f919faeb44e3, type: 3}
m_WorldCamera: {fileID: -5260600561633151711}
--- !u!114 &-8011418237207204536
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6620949641348159012}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_RenderShadows: 1
m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_VolumeTrigger: {fileID: 0}
m_VolumeFrameworkUpdateModeOption: 2
m_RenderPostProcessing: 0
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_AllowXRRendering: 1
m_AllowHDROutput: 1
m_UseScreenCoordOverride: 0
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_Version: 2
m_TaaSettings:
m_Quality: 3
m_FrameInfluence: 0.1
m_JitterScale: 1
m_MipBias: 0
m_VarianceClampScale: 0.9
m_ContrastAdaptiveSharpening: 0

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0cd50968a40c32243956acc30338a258
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -698,6 +698,125 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1069879340}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1001 &1184458447
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 5314959578156838273, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.w
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5314959578156838273, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5314959578156838273, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.y
value: -0.7071068
objectReference: {fileID: 0}
- target: {fileID: 5314959578156838273, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.z
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 5314959578156838273, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 180
objectReference: {fileID: 0}
- target: {fileID: 6710144271987578809, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_OtherPortal
value:
objectReference: {fileID: 1904568119}
- target: {fileID: 6710144271987578809, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_PlayerCamera
value:
objectReference: {fileID: 1193332430}
- target: {fileID: 6710144271987578809, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_Renderers.Array.size
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6710144271987578809, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_Renderers.Array.data[0]
value:
objectReference: {fileID: 1211206071}
- target: {fileID: 6892011779330454626, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_Name
value: Portal
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalPosition.x
value: 3
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalPosition.z
value: 8
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 35a37f1ca60417a4393dc48a27c21574, type: 3}
--- !u!1 &1184458448 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 6892011779330454626, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
m_PrefabInstance: {fileID: 1184458447}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1193332428
GameObject:
m_ObjectHideFlags: 0
@@ -709,6 +828,8 @@ GameObject:
- component: {fileID: 1193332431}
- component: {fileID: 1193332430}
- component: {fileID: 1193332429}
- component: {fileID: 1193332432}
- component: {fileID: 1193332433}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
@@ -734,7 +855,7 @@ Camera:
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
@@ -784,12 +905,74 @@ Transform:
m_GameObject: {fileID: 1193332428}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalPosition: {x: 3.083, y: 1, z: -0.496}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1193332432
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1193332428}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_RenderShadows: 1
m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_VolumeTrigger: {fileID: 0}
m_VolumeFrameworkUpdateModeOption: 2
m_RenderPostProcessing: 0
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_AllowXRRendering: 1
m_AllowHDROutput: 1
m_UseScreenCoordOverride: 0
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_Version: 2
m_TaaSettings:
m_Quality: 3
m_FrameInfluence: 0.1
m_JitterScale: 1
m_MipBias: 0
m_VarianceClampScale: 0.9
m_ContrastAdaptiveSharpening: 0
--- !u!114 &1193332433
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1193332428}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 42603e4f95b24efa85355a04450c20e2, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!23 &1211206071 stripped
MeshRenderer:
m_CorrespondingSourceObject: {fileID: 2963162269859711420, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
m_PrefabInstance: {fileID: 1184458447}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1559526188
GameObject:
m_ObjectHideFlags: 0
@@ -1108,6 +1291,120 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1791789525}
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1001 &1904568118
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 5314959578156838273, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 5314959578156838273, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.x
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 5314959578156838273, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5314959578156838273, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5314959578156838273, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 90
objectReference: {fileID: 0}
- target: {fileID: 5314959578156838273, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6710144271987578809, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_OtherPortal
value:
objectReference: {fileID: 1184458448}
- target: {fileID: 6710144271987578809, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_PlayerCamera
value:
objectReference: {fileID: 1193332430}
- target: {fileID: 6892011779330454626, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_Name
value: Portal
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalPosition.x
value: -3
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalPosition.z
value: -8
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9168768580810178490, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 35a37f1ca60417a4393dc48a27c21574, type: 3}
--- !u!1 &1904568119 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 6892011779330454626, guid: 35a37f1ca60417a4393dc48a27c21574,
type: 3}
m_PrefabInstance: {fileID: 1904568118}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1979615911
GameObject:
m_ObjectHideFlags: 0
@@ -1258,3 +1555,5 @@ SceneRoots:
- {fileID: 1193332431}
- {fileID: 798257144}
- {fileID: 783130826}
- {fileID: 1184458447}
- {fileID: 1904568118}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: df8306483d8e4d94e8c0548fd23da7fd
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,58 @@
Shader "Unlit/ScreenCutoutShader"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
}
SubShader
{
Tags{ "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" }
Lighting Off
Cull Back
ZWrite On
ZTest Less
Fog{ Mode Off }
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
//float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
float4 screenPos : TEXCOORD1;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.screenPos = ComputeScreenPos(o.vertex);
return o;
}
sampler2D _MainTex;
fixed4 frag (v2f i) : SV_Target
{
i.screenPos /= i.screenPos.w;
fixed4 col = tex2D(_MainTex, float2(i.screenPos.x, i.screenPos.y));
return col;
}
ENDCG
}
}
}

View File

@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 0a42b0980bf770241920f919faeb44e3
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 57d3d2a9ac7b9104d91c175bc98946c7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,14 @@
using UnityEngine;
namespace InterfaceOff.WorldScene
{
public class PlayerController : MonoBehaviour
{
private static PlayerController Instance;
public static void SetPos(Vector3 pos)
{
Instance.transform.position = pos;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 42603e4f95b24efa85355a04450c20e2
timeCreated: 1768499006

View File

@@ -0,0 +1,76 @@
using UnityEngine;
namespace InterfaceOff.WorldScene
{
[RequireComponent(typeof(Camera))]
public class PortalCamera : MonoBehaviour
{
[Header("Components")]
[SerializeField] Shader m_Shader;
[SerializeField] Camera m_WorldCamera;
// Private members //
PortalManager m_DisplayPortal;
PortalManager m_CapturePortal;
RenderTexture m_RenderTexture;
Material m_RenderMaterial;
Camera m_Camera;
Vector3 m_Rot;
// Initialistion function for the camera
public void InitCamera(MeshRenderer[] renderers, PortalManager creator, Vector3 rot)
{
// Transfers the passed rotation to be stored within the class
m_Rot = rot;
// Stores both portals
m_CapturePortal = creator.Linked();
m_DisplayPortal = creator;
// Gets the camera from the component
m_Camera = gameObject.GetComponent<Camera>();
m_Camera.fieldOfView = m_WorldCamera.fieldOfView;
// Creates the render texture
RenderTextureDescriptor descriptor = new(Screen.width, Screen.height);
m_RenderTexture = new RenderTexture(descriptor);
// Creates a material from the Cutout shader
// Needs to be created via code as all the materials have different settings
m_RenderMaterial = new Material(m_Shader);
// Links the camera to the mesh renderer
m_Camera.targetTexture =
m_RenderTexture; // Sets it's camera to display to the render texture instead of the screen
m_RenderMaterial.mainTexture =
m_RenderTexture; // Sets the material to use the render texture as it's texture
foreach (Renderer renderer in renderers)
{
renderer.material = m_RenderMaterial;
}
}
void LateUpdate()
{
// Gets the offset of the player from the display portal
Vector3 offset = m_DisplayPortal.PlayerOffset();
// Translates it to the capture portal and assigns it to the camera position
Transform t = m_CapturePortal.transform.parent;
transform.position = t.position + offset;
// Calculate angle stuff (not needed because angle always stays the same in this duct tape version)
//float angle = Quaternion.Angle(m_DisplayPortal.transform.parent.rotation,
// m_CapturePortal.transform.parent.rotation);
//Quaternion rotDif = Quaternion.AngleAxis(angle, Vector3.up);
//Vector3 newCamDir = rotDif * CameraController.Instance().transform.forward;
//Vector3 d = new(0f, m_CapturePortal.CamDif(), 0f);
//transform.parent.eulerAngles = Quaternion.LookRotation(newCamDir, Vector3.up).eulerAngles + m_Rot + d;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: ecef1a55a76c4edd8a7a6154094c3d86
timeCreated: 1768498426

View File

@@ -0,0 +1,62 @@
using UnityEngine;
namespace InterfaceOff.WorldScene
{
public class PortalManager : MonoBehaviour
{
[Header("References")]
[SerializeField] GameObject m_OtherPortal;
[SerializeField] Camera m_PlayerCamera;
[Header("Set References")]
[SerializeField] GameObject m_CameraPrefab;
[SerializeField] MeshRenderer[] m_Renderers;
[SerializeField] Transform m_PlayerPoint;
// Private variables //
PortalManager m_OtherManager;
[SerializeField] PortalCamera m_PortalCamera;
// Gets the other end of the portal
public PortalManager Linked() => m_OtherManager;
// Gets the location of the player relative to the portal
public Vector3 PlayerOffset() => m_PlayerPoint.localPosition;
// Start is called before the first frame update
void Start()
{
// Validates that it is a portal
m_OtherManager = m_OtherPortal.GetComponentInChildren<PortalManager>();
if (m_OtherManager == null)
{
Debug.LogError("OtherPortal was not valid portal");
return;
}
// Creates the camera in top-level heirachry and stores the PortalCamera script
GameObject cam = Instantiate(m_CameraPrefab, transform.root.parent);
m_PortalCamera = cam.GetComponentInChildren<PortalCamera>();
// Initialises the camera so it renders to the portal and not the screen
m_PortalCamera.InitCamera(m_Renderers, this, transform.parent.localEulerAngles * 2.0f);
}
void LateUpdate() => m_PlayerPoint.position = m_PlayerCamera.transform.position;
// When something enters the portal
private void OnTriggerEnter(Collider other)
{
// Changing the state if it is not the player will cause issues
if (!other.CompareTag("Player"))
{
return;
}
// Calculates if the player is going towards the portal
Vector3 difference = m_PlayerCamera.transform.position - transform.position;
PlayerController.SetPos(m_OtherManager.transform.position + difference - new Vector3(0, 1.0f, 0));
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 68fb822b7ca1a9e489bf21abe980ed13
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: