diff --git a/Assets/Desert/Assets/Prefabs/Desert XR Origin.prefab b/Assets/Desert/Assets/Prefabs/Desert XR Origin.prefab
index 0fc3c39..987dd16 100644
--- a/Assets/Desert/Assets/Prefabs/Desert XR Origin.prefab
+++ b/Assets/Desert/Assets/Prefabs/Desert XR Origin.prefab
@@ -68,6 +68,16 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 419816428804372196, guid: c84e0198f66a41b4294f6e8e585192a4,
+ type: 3}
+ propertyPath: m_TrackingStateInput.m_Action.m_Id
+ value: 746a5ba8-a4c1-42b8-96b9-be2c12e6586f
+ objectReference: {fileID: 0}
+ - target: {fileID: 419816428804372196, guid: c84e0198f66a41b4294f6e8e585192a4,
+ type: 3}
+ propertyPath: m_TrackingStateInput.m_Action.m_Name
+ value: Tracking State Input
+ objectReference: {fileID: 0}
- target: {fileID: 419816429261119706, guid: c84e0198f66a41b4294f6e8e585192a4,
type: 3}
propertyPath: m_ModelPrefab
@@ -97,7 +107,7 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 419816428804372187, guid: c84e0198f66a41b4294f6e8e585192a4,
type: 3}
insertIndex: -1
- addedObject: {fileID: 542038026734091070}
+ addedObject: {fileID: 4586981498204149835}
m_SourcePrefab: {fileID: 100100000, guid: c84e0198f66a41b4294f6e8e585192a4, type: 3}
--- !u!1 &6854256365856247459 stripped
GameObject:
@@ -105,7 +115,7 @@ GameObject:
type: 3}
m_PrefabInstance: {fileID: 6542684658370590840}
m_PrefabAsset: {fileID: 0}
---- !u!45 &542038026734091070
+--- !u!45 &4586981498204149835
Skybox:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
diff --git a/Assets/Engine/Assets/Lighting Settings.lighting b/Assets/Engine/Assets/Lighting Settings.lighting
index 9b98f06..610fb5e 100644
--- a/Assets/Engine/Assets/Lighting Settings.lighting
+++ b/Assets/Engine/Assets/Lighting Settings.lighting
@@ -7,7 +7,7 @@ LightingSettings:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Lighting Settings
- serializedVersion: 5
+ serializedVersion: 6
m_GIWorkflowMode: 1
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
@@ -46,7 +46,7 @@ LightingSettings:
m_PVREnvironmentReferencePointCount: 2048
m_LightProbeSampleCountMultiplier: 4
m_PVRBounces: 2
- m_PVRMinBounces: 1
+ m_PVRMinBounces: 2
m_PVREnvironmentImportanceSampling: 1
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
@@ -63,3 +63,4 @@ LightingSettings:
m_PVRFilteringAtrousPositionSigmaAO: 1
m_PVRTiledBaking: 0
m_NumRaysToShootPerTexel: -1
+ m_RespectSceneVisibilityWhenBakingGI: 0
diff --git a/Assets/Portal/Assets/Prefabs/Portal.prefab b/Assets/Portal/Assets/Prefabs/Portal.prefab
index 8ca7ded..e8eeac5 100644
--- a/Assets/Portal/Assets/Prefabs/Portal.prefab
+++ b/Assets/Portal/Assets/Prefabs/Portal.prefab
@@ -1,51 +1,5 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
---- !u!1 &2713893991261817724
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 2582669991302867501}
- - component: {fileID: 7726674486241786965}
- m_Layer: 0
- m_Name: Camera Transform
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &2582669991302867501
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2713893991261817724}
- 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: 2246995198243242195}
- m_RootOrder: 2
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &7726674486241786965
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2713893991261817724}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: ad60e3973ab83f3468637a06970d7f1f, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- minNearClipPlane: 0.0001
- portal: {fileID: 1249363658}
--- !u!1 &5366957160841664999
GameObject:
m_ObjectHideFlags: 0
@@ -161,8 +115,6 @@ Transform:
m_Children:
- {fileID: 4697416823958963037}
- {fileID: 9135323956734471646}
- - {fileID: 2398425302420252226}
- - {fileID: 2582669991302867501}
m_Father: {fileID: 0}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -180,8 +132,9 @@ MonoBehaviour:
m_EditorClassIdentifier:
size: {x: 1, y: 1}
linkedPortal: {fileID: 0}
+ minNearClipPlane: 0.0001
screen: {fileID: 5871497001431693362}
- cameraTransform: {fileID: 7726674486241786965}
+ cameraTransform: {fileID: 0}
portalTransform: {fileID: 2246995198243242195}
--- !u!65 &7604291350124895408
BoxCollider:
@@ -204,148 +157,6 @@ BoxCollider:
serializedVersion: 3
m_Size: {x: 1, y: 3, z: 0.3}
m_Center: {x: 0, y: 1.5, z: -0.15}
---- !u!1 &7398326895463990628
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 2398425302420252226}
- - component: {fileID: 7791795762741173939}
- - component: {fileID: 5969531196797302096}
- - component: {fileID: 17691322601746172}
- m_Layer: 0
- m_Name: Camera
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 0
---- !u!4 &2398425302420252226
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 7398326895463990628}
- 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: 2246995198243242195}
- m_RootOrder: 2
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!20 &7791795762741173939
-Camera:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 7398326895463990628}
- 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 &5969531196797302096
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 7398326895463990628}
- 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: 0
- 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:
- quality: 3
- frameInfluence: 0.1
- jitterScale: 1
- mipBias: 0
- varianceClampScale: 0.9
- contrastAdaptiveSharpening: 0
---- !u!114 &17691322601746172
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 7398326895463990628}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: ad60e3973ab83f3468637a06970d7f1f, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- minNearClipPlane: 0.0001
- portal: {fileID: 1249363658}
--- !u!1 &8470391359842711396
GameObject:
m_ObjectHideFlags: 0
diff --git a/Assets/Portal/Runtime/Portal.cs b/Assets/Portal/Runtime/Portal.cs
index 61c88e9..6ae0718 100644
--- a/Assets/Portal/Runtime/Portal.cs
+++ b/Assets/Portal/Runtime/Portal.cs
@@ -4,7 +4,6 @@ using EscapeRoomEngine.Engine.Runtime.Modules;
using EscapeRoomEngine.Engine.Runtime.Utilities;
using NaughtyAttributes;
using UnityEngine;
-using UnityEngine.Serialization;
namespace EscapeRoomEngine.Portal.Runtime
{
@@ -23,9 +22,13 @@ namespace EscapeRoomEngine.Portal.Runtime
///
public Portal linkedPortal;
///
- /// The camera that will draw the view for this portal.
+ /// The minimum near clip plane distance to be used when calculating the oblique clip plane.
///
- [BoxGroup("Internal")] public PortalCamera portalCamera;
+ public float minNearClipPlane = 0.0001f;
+ ///
+ /// The mesh where the portal will be drawn.
+ ///
+ [BoxGroup("Internal")] public MeshRenderer screen;
///
/// The transform marking the edge of the portal plane.
///
@@ -51,12 +54,10 @@ namespace EscapeRoomEngine.Portal.Runtime
{
case DoorEventType.Connected:
linkedPortal = FromDoorState(Module.ConnectedDoorState);
- portalCamera.screen.gameObject.SetActive(true);
- portalCamera.enabled = true;
+ screen.gameObject.SetActive(true);
break;
case DoorEventType.Locked:
- portalCamera.enabled = false;
- portalCamera.screen.gameObject.SetActive(false);
+ screen.gameObject.SetActive(false);
linkedPortal = null;
break;
}
@@ -85,6 +86,31 @@ namespace EscapeRoomEngine.Portal.Runtime
}
}
+ public Camera SetUpCamera(Camera playerCamera)
+ {
+ // place camera
+ var m = portalTransform.localToWorldMatrix * HalfRotation *
+ linkedPortal.portalTransform.worldToLocalMatrix * playerCamera.transform.localToWorldMatrix;
+ playerCamera.transform.SetPositionAndRotation(m.GetPosition(), m.rotation);
+
+ // set camera clip plane to portal (otherwise the wall behind the portal would be rendered)
+ // calculating the clip plane: https://computergraphics.stackexchange.com/a/1506
+ // clip plane normal
+ var n = -portalTransform.forward;
+ // clip plane in world space
+ var portalPlane = new Plane(n, portalTransform.position);
+ if (-portalPlane.GetDistanceToPoint(playerCamera.transform.position) >= minNearClipPlane)
+ {
+ // vector format clip plane in camera space
+ var clipPlane = playerCamera.worldToCameraMatrix.inverse.transpose *
+ new Vector4(n.x, n.y, n.z, portalPlane.distance);
+ // only adjust the near clip plane if it doesn't intersect with the camera
+ playerCamera.projectionMatrix = playerCamera.CalculateObliqueMatrix(clipPlane);
+ }
+
+ return playerCamera;
+ }
+
///
/// Begin tracking a portal driver that came close to this portal and might need to be teleported.
///
diff --git a/Assets/Portal/Runtime/PortalCamera.cs b/Assets/Portal/Runtime/PortalCamera.cs
deleted file mode 100644
index e420eac..0000000
--- a/Assets/Portal/Runtime/PortalCamera.cs
+++ /dev/null
@@ -1,105 +0,0 @@
-using System.Collections.Generic;
-using EscapeRoomEngine.VR.Runtime;
-using UnityEngine;
-using UnityEngine.Rendering;
-using UnityEngine.Rendering.Universal;
-using UnityEngine.XR;
-
-namespace EscapeRoomEngine.Portal.Runtime
-{
- [RequireComponent(typeof(Camera))]
- public class PortalCamera : MonoBehaviour
- {
- private static readonly Camera.StereoscopicEye[] Eyes =
- { Camera.StereoscopicEye.Left, Camera.StereoscopicEye.Right };
- private static readonly Dictionary EyeTextureNames = new()
- {
- { Camera.StereoscopicEye.Left, Shader.PropertyToID("_LeftTex") },
- { Camera.StereoscopicEye.Right, Shader.PropertyToID("_RightTex") }
- };
-
- ///
- /// The minimum near clip plane distance to be used when calculating the oblique clip plane.
- ///
- public float minNearClipPlane = 0.0001f;
- ///
- /// The portal this camera renders through.
- ///
- [SerializeField] private Portal portal;
- ///
- /// The mesh where the rendered texture will be drawn on.
- ///
- [SerializeField] public MeshRenderer screen;
-
- private Camera _camera;
- private readonly Dictionary _textures = new();
-
- private void Awake()
- {
- // get portal camera
- _camera = GetComponent();
- }
-
- private void OnEnable()
- {
- _camera.enabled = true;
- RenderPipelineManager.beginCameraRendering += Render;
- }
-
- private void OnDisable()
- {
- RenderPipelineManager.beginCameraRendering -= Render;
- _camera.enabled = false;
- }
-
- private void Render(ScriptableRenderContext scriptableRenderContext, Camera _)
- {
- // check whether the portal plane is visible from the player camera
- var frustumPlanes = GeometryUtility.CalculateFrustumPlanes(Player.Instance.camera);
- if (!GeometryUtility.TestPlanesAABB(frustumPlanes, portal.linkedPortal.portalCamera.screen.bounds))
- // don't render this portal if it is not visible
- return;
-
- screen.enabled = false;
-
- foreach (var eye in Eyes)
- {
- // create portal texture if it doesn't exist yet
- if (!_textures.ContainsKey(eye))
- {
- if (XRSettings.eyeTextureWidth > 0 && XRSettings.eyeTextureHeight > 0)
- {
- _textures.Add(eye,
- new RenderTexture(XRSettings.eyeTextureWidth, XRSettings.eyeTextureHeight, 24));
- portal.linkedPortal.portalCamera.screen.material.SetTexture(EyeTextureNames[eye], _textures[eye]);
- }
- else // no texture was created so nothing should be rendered
- continue;
- }
-
- // position portal camera
- var m = portal.portalTransform.localToWorldMatrix * Portal.HalfRotation *
- portal.linkedPortal.portalTransform.worldToLocalMatrix *
- Player.Instance.GetEye(eye).localToWorldMatrix;
- transform.SetPositionAndRotation(m.GetPosition(), m.rotation);
- _camera.projectionMatrix = Player.Instance.camera.GetStereoProjectionMatrix(eye);
-
- // set camera clip plane to portal (otherwise the wall behind the portal would be rendered)
- // calculating the clip plane: https://computergraphics.stackexchange.com/a/1506
- var n = -portal.portalTransform.forward; // clip plane normal
- var portalPlane = new Plane(n, portal.portalTransform.position); // clip plane in world space
- var clipPlane = _camera.worldToCameraMatrix.inverse.transpose *
- new Vector4(n.x, n.y, n.z, portalPlane.distance); // vector format clip plane in camera space
- if (-portalPlane.GetDistanceToPoint(transform.position) >= minNearClipPlane)
- // only adjust the near clip plane if it doesn't intersect with the camera
- _camera.projectionMatrix = _camera.CalculateObliqueMatrix(clipPlane);
-
- // render portal view
- _camera.targetTexture = _textures[eye];
- UniversalRenderPipeline.RenderSingleCamera(scriptableRenderContext, _camera);
- }
-
- screen.enabled = true;
- }
- }
-}
diff --git a/Assets/Portal/Runtime/PortalCamera.cs.meta b/Assets/Portal/Runtime/PortalCamera.cs.meta
deleted file mode 100644
index 22788f5..0000000
--- a/Assets/Portal/Runtime/PortalCamera.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: ad60e3973ab83f3468637a06970d7f1f
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Portal/Runtime/RenderPortalCameras.cs b/Assets/Portal/Runtime/RenderPortalCameras.cs
new file mode 100644
index 0000000..1d04d5f
--- /dev/null
+++ b/Assets/Portal/Runtime/RenderPortalCameras.cs
@@ -0,0 +1,113 @@
+using System.Collections.Generic;
+using EscapeRoomEngine.VR.Runtime;
+using UnityEngine;
+using UnityEngine.Rendering;
+using UnityEngine.Rendering.Universal;
+
+namespace EscapeRoomEngine.Portal.Runtime
+{
+ public class RenderPortalCameras : ScriptableRendererFeature
+ {
+ private enum PassType
+ {
+ Opaque,
+ Transparent
+ }
+
+ private class PortalCameraRenderPass : ScriptableRenderPass
+ {
+ private static readonly List ShaderTagIds = new List
+ {
+ new("SRPDefaultUnlit"), new("UniversalForward"), new("UniversalForwardOnly")
+ };
+
+ private RenderStateBlock _renderStateBlock;
+ private CommandBuffer _commandBuffer;
+
+ private readonly LayerMask _layers;
+ private readonly PassType _passType;
+
+ public PortalCameraRenderPass(LayerMask layers, PassType passType)
+ {
+ _layers = layers;
+ _passType = passType;
+
+ renderPassEvent = RenderPassEvent.AfterRenderingOpaques;
+ _renderStateBlock = new RenderStateBlock(RenderStateMask.Nothing);
+
+ // set stencil
+ var stencilState = StencilState.defaultValue;
+ stencilState.enabled = true;
+ stencilState.SetCompareFunction(CompareFunction.Equal);
+ stencilState.SetPassOperation(StencilOp.Keep);
+ stencilState.SetFailOperation(StencilOp.Keep);
+ stencilState.SetZFailOperation(StencilOp.Keep);
+ _renderStateBlock.mask |= RenderStateMask.Stencil;
+ _renderStateBlock.stencilState = stencilState;
+ }
+
+ public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData)
+ {
+ // we need to store a reference to the command buffer before executing, because the reference in RenderingData is internal
+ _commandBuffer = cmd;
+ }
+
+ public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
+ {
+ if (Player.Instance)
+ {
+ var drawingSettings = CreateDrawingSettings(ShaderTagIds, ref renderingData, _passType == PassType.Opaque ? renderingData.cameraData.defaultOpaqueSortFlags : SortingCriteria.CommonTransparent);
+ var filteringSettings = new FilteringSettings(_passType == PassType.Opaque ? RenderQueueRange.opaque : RenderQueueRange.transparent, _layers);
+
+ foreach (var portal in FindObjectsByType(FindObjectsInactive.Exclude, FindObjectsSortMode.None))
+ {
+ var linkedPortal = portal.linkedPortal;
+ if (linkedPortal)
+ {
+ // set which portal to render
+ _renderStateBlock.stencilReference = portal.PortalNumber;
+
+ // prepare the camera
+ ref var cameraData = ref renderingData.cameraData;
+ var camera = cameraData.camera;
+ var cameraTransform = camera.transform;
+ var originalPosition = cameraTransform.position;
+ var originalRotation = cameraTransform.rotation;
+ var originalProjection = camera.projectionMatrix;
+ camera = linkedPortal.SetUpCamera(camera);
+ RenderingUtils.SetViewAndProjectionMatrices(_commandBuffer, camera.worldToCameraMatrix, GL.GetGPUProjectionMatrix(camera.projectionMatrix, true), false);
+
+ // execute command buffer
+ context.ExecuteCommandBuffer(_commandBuffer);
+ _commandBuffer.Clear();
+
+ // render the portal
+ context.DrawRenderers(renderingData.cullResults, ref drawingSettings, ref filteringSettings, ref _renderStateBlock);
+
+ // reset
+ RenderingUtils.SetViewAndProjectionMatrices(_commandBuffer, cameraData.GetViewMatrix(), cameraData.GetGPUProjectionMatrix(), false);
+ camera.transform.SetPositionAndRotation(originalPosition, originalRotation);
+ camera.projectionMatrix = originalProjection;
+ }
+ }
+ }
+ }
+ }
+
+ private PortalCameraRenderPass _opaquePass, _transparentPass;
+
+ public LayerMask layers;
+
+ public override void Create()
+ {
+ _opaquePass = new PortalCameraRenderPass(layers, PassType.Opaque);
+ _transparentPass = new PortalCameraRenderPass(layers, PassType.Transparent);
+ }
+
+ public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
+ {
+ renderer.EnqueuePass(_opaquePass);
+ // renderer.EnqueuePass(_transparentPass); TODO: enable
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Portal/Runtime/RenderPortalCameras.cs.meta b/Assets/Portal/Runtime/RenderPortalCameras.cs.meta
new file mode 100644
index 0000000..947f457
--- /dev/null
+++ b/Assets/Portal/Runtime/RenderPortalCameras.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: eaf6ad8627b74652be2715a93378d05f
+timeCreated: 1682588767
\ No newline at end of file
diff --git a/Assets/Scenes/StencilPortalScene.unity b/Assets/Scenes/StencilPortalScene.unity
index 6d1ee7f..91ddafa 100644
--- a/Assets/Scenes/StencilPortalScene.unity
+++ b/Assets/Scenes/StencilPortalScene.unity
@@ -124,89 +124,6 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
---- !u!1 &72271246
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 72271247}
- - component: {fileID: 72271250}
- - component: {fileID: 72271249}
- m_Layer: 0
- m_Name: Cylinder (2)
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 2147483647
- m_IsActive: 1
---- !u!4 &72271247
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 72271246}
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -0.043, y: 0, z: 0.668}
- m_LocalScale: {x: 0.13379, y: 0.13379, z: 0.13379}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1453220877}
- m_RootOrder: -1
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!23 &72271249
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 72271246}
- 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: 3e334d6799a0d0040a41fe4794da90f5, 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!33 &72271250
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 72271246}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &98744914
GameObject:
m_ObjectHideFlags: 0
@@ -377,89 +294,6 @@ LightProbeGroup:
- {x: -2.5, y: 0.20000005, z: -0.5}
- {x: -2.5, y: 0.20000005, z: -1.5000001}
m_Dering: 1
---- !u!1 &149744768
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 149744769}
- - component: {fileID: 149744772}
- - component: {fileID: 149744771}
- m_Layer: 0
- m_Name: Cylinder (11)
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 2147483647
- m_IsActive: 1
---- !u!4 &149744769
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 149744768}
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -0.302, y: 0, z: -0.716}
- m_LocalScale: {x: 0.13379, y: 0.13379, z: 0.13379}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1453220877}
- m_RootOrder: -1
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!23 &149744771
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 149744768}
- 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: 3e334d6799a0d0040a41fe4794da90f5, 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!33 &149744772
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 149744768}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &230809357
GameObject:
m_ObjectHideFlags: 0
@@ -475,7 +309,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 2147483647
- m_IsActive: 1
+ m_IsActive: 0
--- !u!4 &230809358
Transform:
m_ObjectHideFlags: 0
@@ -490,6 +324,7 @@ Transform:
m_Children:
- {fileID: 1338880438}
- {fileID: 1451317369}
+ - {fileID: 393237280}
m_Father: {fileID: 1453220877}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -519,7 +354,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 259858787}
m_LocalRotation: {x: 0.1297753, y: -0, z: -0, w: 0.9915434}
- m_LocalPosition: {x: 0.118, y: 0.559, z: -0.185}
+ m_LocalPosition: {x: -0.302, y: 1.039, z: -0.164}
m_LocalScale: {x: 0.13379, y: 0.28, z: 0.13379}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -584,6 +419,11 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
+ - target: {fileID: 4586981498204149835, guid: ecbf9ce952d5f38458b8237a4483c562,
+ type: 3}
+ propertyPath: m_Enabled
+ value: 0
+ objectReference: {fileID: 0}
- target: {fileID: 5061459391527264860, guid: ecbf9ce952d5f38458b8237a4483c562,
type: 3}
propertyPath: m_IsActive
@@ -662,12 +502,12 @@ PrefabInstance:
- target: {fileID: 6854256365667908692, guid: ecbf9ce952d5f38458b8237a4483c562,
type: 3}
propertyPath: m_LocalPosition.y
- value: 1.0000001
+ value: 1
objectReference: {fileID: 0}
- target: {fileID: 6854256365667908692, guid: ecbf9ce952d5f38458b8237a4483c562,
type: 3}
propertyPath: m_LocalPosition.z
- value: -1.1
+ value: -1
objectReference: {fileID: 0}
- target: {fileID: 6854256365667908692, guid: ecbf9ce952d5f38458b8237a4483c562,
type: 3}
@@ -689,6 +529,89 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: ecbf9ce952d5f38458b8237a4483c562, type: 3}
+--- !u!1 &393237279
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 393237280}
+ - component: {fileID: 393237282}
+ - component: {fileID: 393237281}
+ m_Layer: 0
+ m_Name: Capsule (2)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 2147483647
+ m_IsActive: 1
+--- !u!4 &393237280
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 393237279}
+ m_LocalRotation: {x: -0, y: -0, z: -0.3637752, w: 0.93148685}
+ m_LocalPosition: {x: 0.193, y: 0.475, z: 1.62}
+ m_LocalScale: {x: 0.22218, y: 0.22218, z: 0.22218}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 230809358}
+ m_RootOrder: -1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: -42.664}
+--- !u!23 &393237281
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 393237279}
+ 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: 93b04c4f28fa9dc4e9014c610a57f954, 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!33 &393237282
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 393237279}
+ m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &410087039
GameObject:
m_ObjectHideFlags: 0
@@ -807,7 +730,7 @@ MonoBehaviour:
m_LightCookieSize: {x: 1, y: 1}
m_LightCookieOffset: {x: 0, y: 0}
m_SoftShadowQuality: 2
---- !u!1 &537650373
+--- !u!1 &545153746
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -815,38 +738,38 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- - component: {fileID: 537650374}
- - component: {fileID: 537650377}
- - component: {fileID: 537650376}
+ - component: {fileID: 545153747}
+ - component: {fileID: 545153749}
+ - component: {fileID: 545153748}
m_Layer: 0
- m_Name: Cylinder (3)
+ m_Name: Cylinder (8)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 2147483647
m_IsActive: 1
---- !u!4 &537650374
+--- !u!4 &545153747
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 537650373}
+ m_GameObject: {fileID: 545153746}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -0.186, y: 1.48, z: -0.106}
+ m_LocalPosition: {x: 0.114, y: 0.642, z: 2.3390002}
m_LocalScale: {x: 0.13379, y: 0.13379, z: 0.13379}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1453220877}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!23 &537650376
+--- !u!23 &545153748
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 537650373}
+ m_GameObject: {fileID: 545153746}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
@@ -860,7 +783,7 @@ MeshRenderer:
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- - {fileID: 2100000, guid: 94d63268ac1ac034d8c0af72dd04a346, type: 2}
+ - {fileID: 2100000, guid: 46455800cc2ce524c92336599f5ec772, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
@@ -882,13 +805,13 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &537650377
+--- !u!33 &545153749
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 537650373}
+ m_GameObject: {fileID: 545153746}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &603545547
GameObject:
@@ -916,7 +839,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 603545547}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -0.524, y: 0, z: 1.626}
+ m_LocalPosition: {x: 0.319, y: 0, z: -0.21}
m_LocalScale: {x: 0.13379, y: 0.13379, z: 0.13379}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -1113,172 +1036,6 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 613329380}
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
---- !u!1 &701272124
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 701272125}
- - component: {fileID: 701272128}
- - component: {fileID: 701272127}
- m_Layer: 0
- m_Name: Cylinder
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 2147483647
- m_IsActive: 1
---- !u!4 &701272125
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 701272124}
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 0.437, y: 0, z: 0.178}
- m_LocalScale: {x: 0.13379, y: 0.13379, z: 0.13379}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1453220877}
- m_RootOrder: -1
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!23 &701272127
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 701272124}
- 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: 46455800cc2ce524c92336599f5ec772, 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!33 &701272128
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 701272124}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
---- !u!1 &713975855
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 713975856}
- - component: {fileID: 713975859}
- - component: {fileID: 713975858}
- m_Layer: 0
- m_Name: Cylinder (9)
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 2147483647
- m_IsActive: 1
---- !u!4 &713975856
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 713975855}
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -0.123, y: 0, z: 2.247}
- m_LocalScale: {x: 0.13379, y: 0.13379, z: 0.13379}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1453220877}
- m_RootOrder: -1
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!23 &713975858
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 713975855}
- 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: 3e334d6799a0d0040a41fe4794da90f5, 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!33 &713975859
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 713975855}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &767636494
GameObject:
m_ObjectHideFlags: 0
@@ -1305,7 +1062,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 767636494}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 0.287, y: 0, z: 1.639}
+ m_LocalPosition: {x: 0.287, y: 0, z: 2.3390002}
m_LocalScale: {x: 0.13379, y: 0.13379, z: 0.13379}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -1412,172 +1169,6 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1231416613
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1231416614}
- - component: {fileID: 1231416617}
- - component: {fileID: 1231416616}
- m_Layer: 0
- m_Name: Cylinder (4)
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 2147483647
- m_IsActive: 1
---- !u!4 &1231416614
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1231416613}
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 0.552, y: 0, z: 0.98}
- m_LocalScale: {x: 0.13379, y: 0.13379, z: 0.13379}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1453220877}
- m_RootOrder: -1
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!23 &1231416616
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1231416613}
- 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: 94d63268ac1ac034d8c0af72dd04a346, 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!33 &1231416617
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1231416613}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
---- !u!1 &1277043236
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1277043237}
- - component: {fileID: 1277043240}
- - component: {fileID: 1277043239}
- m_Layer: 0
- m_Name: Cylinder (8)
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 2147483647
- m_IsActive: 1
---- !u!4 &1277043237
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1277043236}
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 0.473, y: 0, z: 2.657}
- m_LocalScale: {x: 0.13379, y: 0.13379, z: 0.13379}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1453220877}
- m_RootOrder: -1
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!23 &1277043239
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1277043236}
- 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: 3e334d6799a0d0040a41fe4794da90f5, 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!33 &1277043240
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1277043236}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &1336295464
GameObject:
m_ObjectHideFlags: 0
@@ -1604,7 +1195,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1336295464}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -0.57, y: 0, z: 0.39}
+ m_LocalPosition: {x: -0.154, y: 0, z: 1.9600002}
m_LocalScale: {x: 0.13379, y: 0.13379, z: 0.13379}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -1714,7 +1305,7 @@ MeshRenderer:
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- - {fileID: 2100000, guid: d1f58490f6d04c64da01277723d63536, type: 2}
+ - {fileID: 2100000, guid: 7f259a434905b1b48a8984e5a62a84d2, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
@@ -1797,7 +1388,7 @@ MeshRenderer:
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- - {fileID: 2100000, guid: d1f58490f6d04c64da01277723d63536, type: 2}
+ - {fileID: 2100000, guid: 7f45dac0366d7f541a5a3b1b30fc9a31, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
@@ -1855,19 +1446,12 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- - {fileID: 701272125}
- {fileID: 1336295465}
- - {fileID: 72271247}
- - {fileID: 537650374}
- - {fileID: 1231416614}
- - {fileID: 1951919754}
- {fileID: 767636495}
- {fileID: 603545548}
- - {fileID: 1277043237}
- - {fileID: 713975856}
- {fileID: 1681740148}
- - {fileID: 149744769}
- {fileID: 259858788}
+ - {fileID: 545153747}
- {fileID: 613329381}
- {fileID: 230809358}
m_Father: {fileID: 612192276}
@@ -1893,17 +1477,17 @@ PrefabInstance:
- target: {fileID: 2246995198243242195, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
propertyPath: m_LocalPosition.x
- value: 0.4
+ value: 0
objectReference: {fileID: 0}
- target: {fileID: 2246995198243242195, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
propertyPath: m_LocalPosition.y
- value: -1.778
+ value: 0
objectReference: {fileID: 0}
- target: {fileID: 2246995198243242195, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
propertyPath: m_LocalPosition.z
- value: -0.2
+ value: 0
objectReference: {fileID: 0}
- target: {fileID: 2246995198243242195, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
@@ -1940,11 +1524,21 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 2713893991261817724, guid: c50e7df1078c96f46bc6825f7e422fb7,
+ type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
- target: {fileID: 5635962022185625128, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
propertyPath: m_Name
value: Portal In
objectReference: {fileID: 0}
+ - target: {fileID: 7965773041589933745, guid: c50e7df1078c96f46bc6825f7e422fb7,
+ type: 3}
+ propertyPath: m_Materials.Array.data[0]
+ value:
+ objectReference: {fileID: 2100000, guid: 94d63268ac1ac034d8c0af72dd04a346, type: 2}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -2071,7 +1665,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1681740147}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -0.438, y: 0, z: -0.215}
+ m_LocalPosition: {x: -0.18, y: 0, z: -0.12099999}
m_LocalScale: {x: 0.13379, y: 0.13379, z: 0.13379}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -2148,7 +1742,7 @@ PrefabInstance:
- target: {fileID: 2246995198243242195, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
propertyPath: m_LocalPosition.x
- value: -0.3999997
+ value: 0
objectReference: {fileID: 0}
- target: {fileID: 2246995198243242195, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
@@ -2158,12 +1752,12 @@ PrefabInstance:
- target: {fileID: 2246995198243242195, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
propertyPath: m_LocalPosition.z
- value: 1.1400003
+ value: 1
objectReference: {fileID: 0}
- target: {fileID: 2246995198243242195, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
propertyPath: m_LocalRotation.w
- value: -1
+ value: -0.00000044703478
objectReference: {fileID: 0}
- target: {fileID: 2246995198243242195, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
@@ -2173,7 +1767,7 @@ PrefabInstance:
- target: {fileID: 2246995198243242195, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
propertyPath: m_LocalRotation.y
- value: -0.0000001490116
+ value: -1
objectReference: {fileID: 0}
- target: {fileID: 2246995198243242195, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
@@ -2188,18 +1782,28 @@ PrefabInstance:
- target: {fileID: 2246995198243242195, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
- value: -360
+ value: -180
objectReference: {fileID: 0}
- target: {fileID: 2246995198243242195, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 2713893991261817724, guid: c50e7df1078c96f46bc6825f7e422fb7,
+ type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
- target: {fileID: 5635962022185625128, guid: c50e7df1078c96f46bc6825f7e422fb7,
type: 3}
propertyPath: m_Name
value: Portal Out
objectReference: {fileID: 0}
+ - target: {fileID: 7965773041589933745, guid: c50e7df1078c96f46bc6825f7e422fb7,
+ type: 3}
+ propertyPath: m_Materials.Array.data[0]
+ value:
+ objectReference: {fileID: 2100000, guid: 46455800cc2ce524c92336599f5ec772, type: 2}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -2223,86 +1827,3 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: ae59cddbf8fa37549bb38b1039feeb34, type: 3}
m_Name:
m_EditorClassIdentifier:
---- !u!1 &1951919753
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1951919754}
- - component: {fileID: 1951919757}
- - component: {fileID: 1951919756}
- m_Layer: 0
- m_Name: Cylinder (5)
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 2147483647
- m_IsActive: 1
---- !u!4 &1951919754
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1951919753}
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -0.812, y: 0, z: 0.821}
- m_LocalScale: {x: 0.13379, y: 0.13379, z: 0.13379}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1453220877}
- m_RootOrder: -1
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!23 &1951919756
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1951919753}
- 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: 3e334d6799a0d0040a41fe4794da90f5, 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!33 &1951919757
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1951919753}
- m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
diff --git a/Assets/Test Assets/Materials/Holo Test A.mat b/Assets/Test Assets/Materials/Holo Test A.mat
new file mode 100644
index 0000000..11e2807
--- /dev/null
+++ b/Assets/Test Assets/Materials/Holo Test A.mat
@@ -0,0 +1,142 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Holo Test A
+ m_Shader: {fileID: -6465566751694194690, guid: a8038611270959146bc1906238005866,
+ type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Lines:
+ m_Texture: {fileID: 2800000, guid: b30c13edb6661cc45b14c983ecbb9601, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _Blend: 0
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _EnvironmentReflections: 1
+ - _FresnelPower: 2
+ - _Fresnel_Power: 2
+ - _GlossMapScale: 0
+ - _Glossiness: 0
+ - _GlossyReflections: 0
+ - _LinesPower: 0.55
+ - _Lines_Power: 0.55
+ - _Metallic: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.005
+ - _QueueControl: 0
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _Speed: 0.02
+ - _SrcBlend: 1
+ - _Surface: 0
+ - _Tiling: 256
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+ - _Color: {r: 8, g: 3.5137255, b: 0, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _FresnelColor: {r: 8, g: 3.5137255, b: 0, a: 1}
+ - _Fresnel_Color: {r: 8, g: 3.5137255, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &3422464197433231880
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Test Assets/Materials/Holo Test A.mat.meta b/Assets/Test Assets/Materials/Holo Test A.mat.meta
new file mode 100644
index 0000000..ea27fd0
--- /dev/null
+++ b/Assets/Test Assets/Materials/Holo Test A.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7f259a434905b1b48a8984e5a62a84d2
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Test Assets/Materials/Holo Test B.mat b/Assets/Test Assets/Materials/Holo Test B.mat
new file mode 100644
index 0000000..4246ff6
--- /dev/null
+++ b/Assets/Test Assets/Materials/Holo Test B.mat
@@ -0,0 +1,142 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Holo Test B
+ m_Shader: {fileID: -6465566751694194690, guid: a8038611270959146bc1906238005866,
+ type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Lines:
+ m_Texture: {fileID: 2800000, guid: b30c13edb6661cc45b14c983ecbb9601, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _Blend: 0
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _EnvironmentReflections: 1
+ - _FresnelPower: 2
+ - _Fresnel_Power: 2
+ - _GlossMapScale: 0
+ - _Glossiness: 0
+ - _GlossyReflections: 0
+ - _LinesPower: 0.55
+ - _Lines_Power: 0.55
+ - _Metallic: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.005
+ - _QueueControl: 0
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _Speed: 0.02
+ - _SrcBlend: 1
+ - _Surface: 0
+ - _Tiling: 256
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+ - _Color: {r: 7.999999, g: 0, b: 2.22282, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _FresnelColor: {r: 7.999999, g: 0, b: 1.8809087, a: 1}
+ - _Fresnel_Color: {r: 8, g: 3.5137255, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &3422464197433231880
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Test Assets/Materials/Holo Test B.mat.meta b/Assets/Test Assets/Materials/Holo Test B.mat.meta
new file mode 100644
index 0000000..206514d
--- /dev/null
+++ b/Assets/Test Assets/Materials/Holo Test B.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7f45dac0366d7f541a5a3b1b30fc9a31
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Test Assets/Materials/Holo Test C.mat b/Assets/Test Assets/Materials/Holo Test C.mat
new file mode 100644
index 0000000..39948b6
--- /dev/null
+++ b/Assets/Test Assets/Materials/Holo Test C.mat
@@ -0,0 +1,142 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Holo Test C
+ m_Shader: {fileID: -6465566751694194690, guid: a8038611270959146bc1906238005866,
+ type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Lines:
+ m_Texture: {fileID: 2800000, guid: b30c13edb6661cc45b14c983ecbb9601, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _Blend: 0
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _EnvironmentReflections: 1
+ - _FresnelPower: 2
+ - _Fresnel_Power: 2
+ - _GlossMapScale: 0
+ - _Glossiness: 0
+ - _GlossyReflections: 0
+ - _LinesPower: 0.55
+ - _Lines_Power: 0.55
+ - _Metallic: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.005
+ - _QueueControl: 0
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _Speed: 0.02
+ - _SrcBlend: 1
+ - _Surface: 0
+ - _Tiling: 256
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+ - _Color: {r: 0, g: 1.9733808, b: 7.999999, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _FresnelColor: {r: 0, g: 2.4103277, b: 7.999999, a: 1}
+ - _Fresnel_Color: {r: 8, g: 3.5137255, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &3422464197433231880
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Test Assets/Materials/Holo Test C.mat.meta b/Assets/Test Assets/Materials/Holo Test C.mat.meta
new file mode 100644
index 0000000..0d1d89a
--- /dev/null
+++ b/Assets/Test Assets/Materials/Holo Test C.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 93b04c4f28fa9dc4e9014c610a57f954
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/URP/URP-HighFidelity-Renderer.asset b/Assets/URP/URP-HighFidelity-Renderer.asset
index e505c24..4ba8eba 100644
--- a/Assets/URP/URP-HighFidelity-Renderer.asset
+++ b/Assets/URP/URP-HighFidelity-Renderer.asset
@@ -48,10 +48,9 @@ MonoBehaviour:
m_Name: Portal Stencil
m_EditorClassIdentifier:
m_Active: 1
- settings:
- layer:
- serializedVersion: 2
- m_Bits: 128
+ layers:
+ serializedVersion: 2
+ m_Bits: 128
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -71,7 +70,8 @@ MonoBehaviour:
- {fileID: -1878332245247344467}
- {fileID: -1381608776974771741}
- {fileID: 7693142412764493824}
- m_RendererFeatureMap: adc0de57c6d2eee5e359db2d238ad3ec00b851af4388c36a
+ - {fileID: 4760723987118474777}
+ m_RendererFeatureMap: adc0de57c6d2eee5e359db2d238ad3ec00b851af4388c36a19c6e02d3e7d1142
m_UseNativeRenderPass: 0
postProcessData: {fileID: 0}
xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}
@@ -111,6 +111,22 @@ MonoBehaviour:
m_CopyDepthMode: 0
m_AccurateGbufferNormals: 0
m_IntermediateTextureMode: 1
+--- !u!114 &4760723987118474777
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: eaf6ad8627b74652be2715a93378d05f, type: 3}
+ m_Name: Render Portal Cameras
+ m_EditorClassIdentifier:
+ m_Active: 1
+ layers:
+ serializedVersion: 2
+ m_Bits: 119
--- !u!114 &7693142412764493824
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -124,7 +140,6 @@ MonoBehaviour:
m_Name: Full Screen Depth
m_EditorClassIdentifier:
m_Active: 1
- settings:
- layer:
- serializedVersion: 2
- m_Bits: 256
+ layers:
+ serializedVersion: 2
+ m_Bits: 256