BTSDS: Outlines via Post Processing

This commit is contained in:
Jenny Crowe 2022-03-10 05:45:21 -07:00
parent e7d6796c08
commit 32b647a4d4
23 changed files with 1096 additions and 40 deletions

View file

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

View file

@ -0,0 +1,146 @@
Shader "Hidden/Roystan/Outline Post Process"
{
SubShader
{
Cull Off ZWrite Off ZTest Always
Pass
{
// Custom post processing effects are written in HLSL blocks,
// with lots of macros to aid with platform differences.
// https://github.com/Unity-Technologies/PostProcessing/wiki/Writing-Custom-Effects#shader
HLSLPROGRAM
#pragma vertex Vert
#pragma fragment Frag
#include "Packages/com.unity.postprocessing/PostProcessing/Shaders/StdLib.hlsl"
TEXTURE2D_SAMPLER2D(_MainTex, sampler_MainTex);
// _CameraNormalsTexture contains the view space normals transformed
// to be in the 0...1 range.
TEXTURE2D_SAMPLER2D(_CameraNormalsTexture, sampler_CameraNormalsTexture);
TEXTURE2D_SAMPLER2D(_CameraDepthTexture, sampler_CameraDepthTexture);
// Data pertaining to _MainTex's dimensions.
// https://docs.unity3d.com/Manual/SL-PropertiesInPrograms.html
float4 _MainTex_TexelSize;
float _Scale;
float4 _Color;
float _DepthThreshold;
float _DepthNormalThreshold;
float _DepthNormalThresholdScale;
float _NormalThreshold;
// This matrix is populated in PostProcessOutline.cs.
float4x4 _ClipToView;
// Combines the top and bottom colors using normal blending.
// https://en.wikipedia.org/wiki/Blend_modes#Normal_blend_mode
// This performs the same operation as Blend SrcAlpha OneMinusSrcAlpha.
float4 alphaBlend(float4 top, float4 bottom)
{
float3 color = (top.rgb * top.a) + (bottom.rgb * (1 - top.a));
float alpha = top.a + bottom.a * (1 - top.a);
return float4(color, alpha);
}
// Both the Varyings struct and the Vert shader are copied
// from StdLib.hlsl included above, with some modifications.
struct Varyings
{
float4 vertex : SV_POSITION;
float2 texcoord : TEXCOORD0;
float2 texcoordStereo : TEXCOORD1;
float3 viewSpaceDir : TEXCOORD2;
#if STEREO_INSTANCING_ENABLED
uint stereoTargetEyeIndex : SV_RenderTargetArrayIndex;
#endif
};
Varyings Vert(AttributesDefault v)
{
Varyings o;
o.vertex = float4(v.vertex.xy, 0.0, 1.0);
o.texcoord = TransformTriangleVertexToUV(v.vertex.xy);
// Transform our point first from clip to view space,
// taking the xyz to interpret it as a direction.
o.viewSpaceDir = mul(_ClipToView, o.vertex).xyz;
#if UNITY_UV_STARTS_AT_TOP
o.texcoord = o.texcoord * float2(1.0, -1.0) + float2(0.0, 1.0);
#endif
o.texcoordStereo = TransformStereoScreenSpaceTex(o.texcoord, 1.0);
return o;
}
float4 Frag(Varyings i) : SV_Target
{
float halfScaleFloor = floor(_Scale * 0.5);
float halfScaleCeil = ceil(_Scale * 0.5);
// Sample the pixels in an X shape, roughly centered around i.texcoord.
// As the _CameraDepthTexture and _CameraNormalsTexture default samplers
// use point filtering, we use the above variables to ensure we offset
// exactly one pixel at a time.
float2 bottomLeftUV = i.texcoord - float2(_MainTex_TexelSize.x, _MainTex_TexelSize.y) * halfScaleFloor;
float2 topRightUV = i.texcoord + float2(_MainTex_TexelSize.x, _MainTex_TexelSize.y) * halfScaleCeil;
float2 bottomRightUV = i.texcoord + float2(_MainTex_TexelSize.x * halfScaleCeil, -_MainTex_TexelSize.y * halfScaleFloor);
float2 topLeftUV = i.texcoord + float2(-_MainTex_TexelSize.x * halfScaleFloor, _MainTex_TexelSize.y * halfScaleCeil);
float3 normal0 = SAMPLE_TEXTURE2D(_CameraNormalsTexture, sampler_CameraNormalsTexture, bottomLeftUV).rgb;
float3 normal1 = SAMPLE_TEXTURE2D(_CameraNormalsTexture, sampler_CameraNormalsTexture, topRightUV).rgb;
float3 normal2 = SAMPLE_TEXTURE2D(_CameraNormalsTexture, sampler_CameraNormalsTexture, bottomRightUV).rgb;
float3 normal3 = SAMPLE_TEXTURE2D(_CameraNormalsTexture, sampler_CameraNormalsTexture, topLeftUV).rgb;
float depth0 = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, sampler_CameraDepthTexture, bottomLeftUV).r;
float depth1 = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, sampler_CameraDepthTexture, topRightUV).r;
float depth2 = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, sampler_CameraDepthTexture, bottomRightUV).r;
float depth3 = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, sampler_CameraDepthTexture, topLeftUV).r;
// Transform the view normal from the 0...1 range to the -1...1 range.
float3 viewNormal = normal0 * 2 - 1;
float NdotV = 1 - dot(viewNormal, -i.viewSpaceDir);
// Return a value in the 0...1 range depending on where NdotV lies
// between _DepthNormalThreshold and 1.
float normalThreshold01 = saturate((NdotV - _DepthNormalThreshold) / (1 - _DepthNormalThreshold));
// Scale the threshold, and add 1 so that it is in the range of 1..._NormalThresholdScale + 1.
float normalThreshold = normalThreshold01 * _DepthNormalThresholdScale + 1;
// Modulate the threshold by the existing depth value;
// pixels further from the screen will require smaller differences
// to draw an edge.
float depthThreshold = _DepthThreshold * depth0 * normalThreshold;
float depthFiniteDifference0 = depth1 - depth0;
float depthFiniteDifference1 = depth3 - depth2;
// edgeDepth is calculated using the Roberts cross operator.
// The same operation is applied to the normal below.
// https://en.wikipedia.org/wiki/Roberts_cross
float edgeDepth = sqrt(pow(depthFiniteDifference0, 2) + pow(depthFiniteDifference1, 2)) * 100;
edgeDepth = edgeDepth > depthThreshold ? 1 : 0;
float3 normalFiniteDifference0 = normal1 - normal0;
float3 normalFiniteDifference1 = normal3 - normal2;
// Dot the finite differences with themselves to transform the
// three-dimensional values to scalars.
float edgeNormal = sqrt(dot(normalFiniteDifference0, normalFiniteDifference0) + dot(normalFiniteDifference1, normalFiniteDifference1));
edgeNormal = edgeNormal > _NormalThreshold ? 1 : 0;
float edge = max(edgeDepth, edgeNormal);
float4 edgeColor = float4(_Color.rgb, _Color.a * edge);
float4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord);
return alphaBlend(edgeColor, color);
}
ENDHLSL
}
}
}

View file

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 534727a34958a6b409102bf07fadffab
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,84 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-511430771441868654
MonoBehaviour:
m_ObjectHideFlags: 3
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: 957177531333f744abeb6082b4c44bc0, type: 3}
m_Name: PostProcessOutline
m_EditorClassIdentifier:
active: 1
enabled:
overrideState: 1
value: 1
scale:
overrideState: 1
value: 4
color:
overrideState: 1
value: {r: 0, g: 0, b: 0, a: 1}
depthThreshold:
overrideState: 1
value: 0.6
depthNormalThreshold:
overrideState: 1
value: 0.6
depthNormalThresholdScale:
overrideState: 0
value: 7
normalThreshold:
overrideState: 1
value: 0.4
--- !u!114 &11400000
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: 8e6292b2c06870d4495f009f912b9600, type: 3}
m_Name: OutlinePostProfile
m_EditorClassIdentifier:
settings:
- {fileID: -511430771441868654}
--- !u!114 &114178475910842986
MonoBehaviour:
m_ObjectHideFlags: 3
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: 7f161f1bfe8d69542a86f8d442c273b8, type: 3}
m_Name: PostProcessOutline
m_EditorClassIdentifier:
active: 1
enabled:
overrideState: 1
value: 1
scale:
overrideState: 0
value: 1
color:
overrideState: 0
value: {r: 1, g: 1, b: 1, a: 1}
depthThreshold:
overrideState: 0
value: 1.5
depthNormalThreshold:
overrideState: 0
value: 0.5
depthNormalThresholdScale:
overrideState: 0
value: 7
normalThreshold:
overrideState: 0
value: 0.4

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 11527536cbbe79e46ae805ff65dfc703
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,42 @@
using System;
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;
[Serializable]
[PostProcess(typeof(PostProcessOutlineRenderer), PostProcessEvent.BeforeStack, "Roystan/Post Process Outline")]
public sealed class PostProcessOutline : PostProcessEffectSettings
{
[Tooltip("Number of pixels between samples that are tested for an edge. When this value is 1, tested samples are adjacent.")]
public IntParameter scale = new IntParameter { value = 1 };
public ColorParameter color = new ColorParameter { value = Color.white };
[Tooltip("Difference between depth values, scaled by the current depth, required to draw an edge.")]
public FloatParameter depthThreshold = new FloatParameter { value = 1.5f };
[Range(0, 1), Tooltip("The value at which the dot product between the surface normal and the view direction will affect " +
"the depth threshold. This ensures that surfaces at right angles to the camera require a larger depth threshold to draw " +
"an edge, avoiding edges being drawn along slopes.")]
public FloatParameter depthNormalThreshold = new FloatParameter { value = 0.5f };
[Tooltip("Scale the strength of how much the depthNormalThreshold affects the depth threshold.")]
public FloatParameter depthNormalThresholdScale = new FloatParameter { value = 7 };
[Range(0, 1), Tooltip("Larger values will require the difference between normals to be greater to draw an edge.")]
public FloatParameter normalThreshold = new FloatParameter { value = 0.4f };
}
public sealed class PostProcessOutlineRenderer : PostProcessEffectRenderer<PostProcessOutline>
{
public override void Render(PostProcessRenderContext context)
{
var sheet = context.propertySheets.Get(Shader.Find("Hidden/Roystan/Outline Post Process"));
sheet.properties.SetFloat("_Scale", settings.scale);
sheet.properties.SetColor("_Color", settings.color);
sheet.properties.SetFloat("_DepthThreshold", settings.depthThreshold);
sheet.properties.SetFloat("_DepthNormalThreshold", settings.depthNormalThreshold);
sheet.properties.SetFloat("_DepthNormalThresholdScale", settings.depthNormalThresholdScale);
sheet.properties.SetFloat("_NormalThreshold", settings.normalThreshold);
sheet.properties.SetColor("_Color", settings.color);
Matrix4x4 clipToView = GL.GetGPUProjectionMatrix(context.camera.projectionMatrix, true).inverse;
sheet.properties.SetMatrix("_ClipToView", clipToView);
context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0);
}
}

View file

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

View file

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

View file

@ -0,0 +1,61 @@
using UnityEngine;
public class RenderReplacementShaderToTexture : MonoBehaviour
{
[SerializeField]
bool deleteChildren = true;
[SerializeField]
Shader replacementShader;
[SerializeField]
RenderTextureFormat renderTextureFormat = RenderTextureFormat.ARGB32;
[SerializeField]
FilterMode filterMode = FilterMode.Point;
[SerializeField]
int renderTextureDepth = 24;
[SerializeField]
CameraClearFlags cameraClearFlags = CameraClearFlags.Color;
[SerializeField]
Color background = Color.black;
[SerializeField]
string targetTexture = "_RenderTexture";
private RenderTexture renderTexture;
private new Camera camera;
private void Start()
{
if (deleteChildren)
{
foreach (Transform t in transform)
{
DestroyImmediate(t.gameObject);
}
}
Camera thisCamera = GetComponent<Camera>();
// Create a render texture matching the main camera's current dimensions.
renderTexture = new RenderTexture(thisCamera.pixelWidth, thisCamera.pixelHeight, renderTextureDepth, renderTextureFormat);
renderTexture.filterMode = filterMode;
// Surface the render texture as a global variable, available to all shaders.
Shader.SetGlobalTexture(targetTexture, renderTexture);
// Setup a copy of the camera to render the scene using the normals shader.
GameObject copy = new GameObject("Camera" + targetTexture);
camera = copy.AddComponent<Camera>();
camera.CopyFrom(thisCamera);
camera.transform.SetParent(transform);
camera.targetTexture = renderTexture;
camera.SetReplacementShader(replacementShader, "RenderType");
camera.depth = thisCamera.depth - 1;
camera.clearFlags = cameraClearFlags;
camera.backgroundColor = background;
}
}

View file

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

View file

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

View file

@ -0,0 +1,52 @@
Shader "Hidden/Roystan/Normals Texture"
{
Properties
{
}
SubShader
{
Tags
{
"RenderType" = "Opaque"
}
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float3 normal : NORMAL;
};
struct v2f
{
float4 vertex : SV_POSITION;
float3 viewNormal : NORMAL;
};
sampler2D _MainTex;
float4 _MainTex_ST;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.viewNormal = COMPUTE_VIEW_NORMAL;
//o.viewNormal = mul((float3x3)UNITY_MATRIX_M, v.normal);
return o;
}
float4 frag (v2f i) : SV_Target
{
return float4(normalize(i.viewNormal) * 0.5 + 0.5, 0);
}
ENDCG
}
}
}

View file

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

View file

@ -76,7 +76,7 @@ GameObject:
- component: {fileID: 1904058474743205874}
- component: {fileID: 2593179036039019434}
- component: {fileID: 7787531497184134989}
m_Layer: 10
m_Layer: 11
m_Name: Plane (3)
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -204,7 +204,7 @@ GameObject:
- component: {fileID: 8172507218711460023}
- component: {fileID: 6821258395101897873}
- component: {fileID: 926746708260372244}
m_Layer: 10
m_Layer: 11
m_Name: Plane (2)
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -459,7 +459,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 2358312652426514775}
m_Layer: 10
m_Layer: 11
m_Name: Planes
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -490,6 +490,102 @@ Transform:
m_Father: {fileID: 1557051792312115487}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &3090516112524541089
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4836141832820598539}
- component: {fileID: 808698608665831083}
- component: {fileID: 4269084920770116494}
- component: {fileID: 2961358663447901173}
m_Layer: 11
m_Name: Divider
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4836141832820598539
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3090516112524541089}
m_LocalRotation: {x: -1, y: -4.622913e-24, z: 0.0000000754979, w: 6.123234e-17}
m_LocalPosition: {x: 0, y: 0.06, z: -0.119999915}
m_LocalScale: {x: 0.24499999, y: 0.007000001, z: 0.24500002}
m_Children: []
m_Father: {fileID: 8792995672121405517}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &808698608665831083
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3090516112524541089}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &4269084920770116494
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3090516112524541089}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
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: fe19b7cdebcfcc048b1b853d82b84007, 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!136 &2961358663447901173
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3090516112524541089}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
m_Radius: 0.5000001
m_Height: 2
m_Direction: 1
m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940697}
--- !u!1 &3746681655371897827
GameObject:
m_ObjectHideFlags: 0
@ -502,7 +598,7 @@ GameObject:
- component: {fileID: 3915554652557535260}
- component: {fileID: 2698157461596878833}
- component: {fileID: 8546361489454318009}
m_Layer: 10
m_Layer: 11
m_Name: Plane (4)
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -596,6 +692,9 @@ GameObject:
m_Component:
- component: {fileID: 6509993024069972873}
- component: {fileID: 6268063764140376526}
- component: {fileID: 1833765851953057228}
- component: {fileID: 3899385968880951982}
- component: {fileID: 4047444889478369497}
- component: {fileID: 5375084517660044087}
m_Layer: 10
m_Name: 3dCam
@ -614,7 +713,8 @@ Transform:
m_LocalRotation: {x: -0.0000000074505815, y: -0.953717, z: 0.3007058, w: -0.000000014901163}
m_LocalPosition: {x: 0.0006840229, y: 4.692, z: 6.6988134}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Children:
- {fileID: 7871539074872527053}
m_Father: {fileID: 7562518461416892310}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 35, y: -150, z: 0}
@ -650,7 +750,7 @@ Camera:
m_CullingMask:
serializedVersion: 2
m_Bits: 1047
m_RenderingPath: -1
m_RenderingPath: 1
m_TargetTexture: {fileID: 8400000, guid: 34ad849a7863186428ae52d94f70e5b8, type: 2}
m_TargetDisplay: 0
m_TargetEye: 3
@ -661,6 +761,105 @@ Camera:
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!114 &1833765851953057228
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4052947733920485538}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 948f4100a11a5c24981795d21301da5c, type: 3}
m_Name:
m_EditorClassIdentifier:
volumeTrigger: {fileID: 6509993024069972873}
volumeLayer:
serializedVersion: 2
m_Bits: 1024
stopNaNPropagation: 1
finalBlitToCameraTarget: 0
antialiasingMode: 1
temporalAntialiasing:
jitterSpread: 0.75
sharpness: 0.25
stationaryBlending: 0.95
motionBlending: 0.85
subpixelMorphologicalAntialiasing:
quality: 2
fastApproximateAntialiasing:
fastMode: 0
keepAlpha: 0
fog:
enabled: 1
excludeSkybox: 1
debugLayer:
lightMeter:
width: 512
height: 256
showCurves: 1
histogram:
width: 512
height: 256
channel: 3
waveform:
exposure: 0.12
height: 256
vectorscope:
size: 256
exposure: 0.12
overlaySettings:
linearDepth: 0
motionColorIntensity: 4
motionGridSize: 64
colorBlindnessType: 0
colorBlindnessStrength: 1
m_Resources: {fileID: 11400000, guid: d82512f9c8e5d4a4d938b575d47f88d4, type: 2}
m_ShowToolkit: 0
m_ShowCustomSorter: 0
breakBeforeColorGrading: 0
m_BeforeTransparentBundles: []
m_BeforeStackBundles:
- assemblyQualifiedName: PostProcessOutline, Assembly-CSharp, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_AfterStackBundles: []
--- !u!114 &3899385968880951982
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4052947733920485538}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8b9a305e18de0c04dbd257a21cd47087, type: 3}
m_Name:
m_EditorClassIdentifier:
sharedProfile: {fileID: 11400000, guid: 11527536cbbe79e46ae805ff65dfc703, type: 2}
isGlobal: 1
blendDistance: 0
weight: 1
priority: 0
--- !u!114 &4047444889478369497
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4052947733920485538}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a7b4608cc97a8940ad8a9229d742532, type: 3}
m_Name:
m_EditorClassIdentifier:
deleteChildren: 0
replacementShader: {fileID: 4800000, guid: 95d6144eab187a34b929151454e2969d, type: 3}
renderTextureFormat: 0
filterMode: 0
renderTextureDepth: 24
cameraClearFlags: 2
background: {r: 0, g: 0, b: 0, a: 1}
targetTexture: _CameraNormalsTexture
--- !u!114 &5375084517660044087
MonoBehaviour:
m_ObjectHideFlags: 0
@ -690,7 +889,7 @@ GameObject:
- component: {fileID: 5254653596350875027}
- component: {fileID: 1516114728037185858}
- component: {fileID: 5881324161737374487}
m_Layer: 10
m_Layer: 11
m_Name: Plane (6)
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -786,7 +985,7 @@ GameObject:
- component: {fileID: 4204787640200217297}
- component: {fileID: 4523509094988040840}
- component: {fileID: 4679553875105140593}
m_Layer: 10
m_Layer: 11
m_Name: Plane (9)
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -870,6 +1069,102 @@ MeshCollider:
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &5988651665316781079
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6688485145801278811}
- component: {fileID: 2078030723293257927}
- component: {fileID: 1733019304924981543}
- component: {fileID: 1414836455959539945}
m_Layer: 11
m_Name: Divider
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6688485145801278811
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5988651665316781079}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -0.045}
m_LocalScale: {x: 0.092, y: 0.003, z: 0.092}
m_Children: []
m_Father: {fileID: 6995055239062017402}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &2078030723293257927
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5988651665316781079}
m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &1733019304924981543
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5988651665316781079}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
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: fe19b7cdebcfcc048b1b853d82b84007, 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!136 &1414836455959539945
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5988651665316781079}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
m_Radius: 0.5000001
m_Height: 2
m_Direction: 1
m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940697}
--- !u!1 &6043820681562294048
GameObject:
m_ObjectHideFlags: 0
@ -916,7 +1211,7 @@ GameObject:
- component: {fileID: 7788944813802751694}
- component: {fileID: 18367675309029693}
- component: {fileID: 8773134977642427847}
m_Layer: 10
m_Layer: 11
m_Name: Plane (5)
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -1012,7 +1307,7 @@ GameObject:
- component: {fileID: 1797627499614140997}
- component: {fileID: 2687562583631215252}
- component: {fileID: 4549875497958115675}
m_Layer: 10
m_Layer: 11
m_Name: Plane (7)
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -1108,7 +1403,7 @@ GameObject:
- component: {fileID: 1529640171278634590}
- component: {fileID: 308810065821932336}
- component: {fileID: 2585355676986619030}
m_Layer: 10
m_Layer: 11
m_Name: Plane (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -1204,7 +1499,7 @@ GameObject:
- component: {fileID: 5045868219633812480}
- component: {fileID: 5656031445236713004}
- component: {fileID: 1837997458868511495}
m_Layer: 10
m_Layer: 11
m_Name: Plane
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -1288,6 +1583,176 @@ MeshCollider:
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &7795690690383294874
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7871539074872527053}
- component: {fileID: 5405555760620080584}
m_Layer: 10
m_Name: 3dCam_NoPost
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7871539074872527053
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7795690690383294874}
m_LocalRotation: {x: -0, y: 1.7763566e-15, z: -1.3322675e-15, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 6509993024069972873}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 35, y: -150, z: 0}
--- !u!20 &5405555760620080584
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7795690690383294874}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 4
m_BackGroundColor: {r: 0.32872015, g: 0.8396226, b: 0.3447749, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 13
orthographic: 0
orthographic size: 1
m_Depth: 1
m_CullingMask:
serializedVersion: 2
m_Bits: 2048
m_RenderingPath: 1
m_TargetTexture: {fileID: 8400000, guid: 34ad849a7863186428ae52d94f70e5b8, type: 2}
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!1 &7982743164555358858
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7866117344103829638}
- component: {fileID: 7316215853278314007}
- component: {fileID: 516756431382683263}
- component: {fileID: 2415126858528165813}
m_Layer: 11
m_Name: Divider
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7866117344103829638
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7982743164555358858}
m_LocalRotation: {x: -1, y: -4.622913e-24, z: 0.0000000754979, w: 6.123234e-17}
m_LocalPosition: {x: 0, y: 0.06, z: -0.119999915}
m_LocalScale: {x: 0.09199999, y: 0.0030000003, z: 0.092}
m_Children: []
m_Father: {fileID: 7297589149425534831}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &7316215853278314007
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7982743164555358858}
m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &516756431382683263
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7982743164555358858}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
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: fe19b7cdebcfcc048b1b853d82b84007, 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!136 &2415126858528165813
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7982743164555358858}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
m_Radius: 0.5000001
m_Height: 2
m_Direction: 1
m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940697}
--- !u!1 &8070718553788868724
GameObject:
m_ObjectHideFlags: 0
@ -1337,6 +1802,7 @@ MonoBehaviour:
firstEnable: 0
renderQuadTrans: {fileID: 743597382397742394}
camPivot: {fileID: 7562518461416892310}
camComp: {fileID: 6268063764140376526}
environmentRenderer: {fileID: 3593377758750892331}
flyingRodBase: {fileID: 4881628242623067222}
movingBlocksBase: {fileID: 6531576029795059484}
@ -1482,7 +1948,7 @@ GameObject:
- component: {fileID: 7896298911117363642}
- component: {fileID: 6403188663626989240}
- component: {fileID: 4200106339439436060}
m_Layer: 10
m_Layer: 11
m_Name: Plane (8)
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -1619,7 +2085,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: -8132531614644770919, guid: 21a743717f79155429b45d3a0fd77c68, type: 3}
propertyPath: m_Layer
value: 10
value: 11
objectReference: {fileID: 0}
- target: {fileID: -6643014861322606625, guid: 21a743717f79155429b45d3a0fd77c68, type: 3}
propertyPath: m_Materials.Array.data[0]
@ -1683,15 +2149,15 @@ PrefabInstance:
objectReference: {fileID: 2100000, guid: f8523e095c9f2194d8ae47687a42305a, type: 2}
- target: {fileID: -6039374180021687990, guid: 21a743717f79155429b45d3a0fd77c68, type: 3}
propertyPath: m_Layer
value: 10
value: 11
objectReference: {fileID: 0}
- target: {fileID: -4863704078625465896, guid: 21a743717f79155429b45d3a0fd77c68, type: 3}
propertyPath: m_Layer
value: 10
value: 11
objectReference: {fileID: 0}
- target: {fileID: 401148810032451334, guid: 21a743717f79155429b45d3a0fd77c68, type: 3}
propertyPath: m_Layer
value: 10
value: 11
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 21a743717f79155429b45d3a0fd77c68, type: 3}
propertyPath: m_Name
@ -1699,7 +2165,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 21a743717f79155429b45d3a0fd77c68, type: 3}
propertyPath: m_Layer
value: 10
value: 11
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 21a743717f79155429b45d3a0fd77c68, type: 3}
@ -1894,16 +2360,16 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 26c46c4ecd6e69145a6e971ac2cf6dcf, type: 3}
--- !u!1 &2303042808372188642 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 26c46c4ecd6e69145a6e971ac2cf6dcf, type: 3}
m_PrefabInstance: {fileID: 1384686368965781683}
m_PrefabAsset: {fileID: 0}
--- !u!4 &1494594296080928600 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 26c46c4ecd6e69145a6e971ac2cf6dcf, type: 3}
m_PrefabInstance: {fileID: 1384686368965781683}
m_PrefabAsset: {fileID: 0}
--- !u!1 &2303042808372188642 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 26c46c4ecd6e69145a6e971ac2cf6dcf, type: 3}
m_PrefabInstance: {fileID: 1384686368965781683}
m_PrefabAsset: {fileID: 0}
--- !u!95 &327112291406064303
Animator:
serializedVersion: 3
@ -2082,6 +2548,11 @@ Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3}
m_PrefabInstance: {fileID: 1860677578905467174}
m_PrefabAsset: {fileID: 0}
--- !u!4 &8792995672121405517 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7193526923147233643, guid: 4d6a1ca519b6789419c00178b5d2b983, type: 3}
m_PrefabInstance: {fileID: 1860677578905467174}
m_PrefabAsset: {fileID: 0}
--- !u!95 &4258085773905465771
Animator:
serializedVersion: 3
@ -2207,16 +2678,21 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3}
--- !u!4 &5257063787336281836 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3}
m_PrefabInstance: {fileID: 5728137633595574535}
m_PrefabAsset: {fileID: 0}
--- !u!1 &4881628242623067222 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3}
m_PrefabInstance: {fileID: 5728137633595574535}
m_PrefabAsset: {fileID: 0}
--- !u!4 &7297589149425534831 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 3042270054197743208, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3}
m_PrefabInstance: {fileID: 5728137633595574535}
m_PrefabAsset: {fileID: 0}
--- !u!4 &5257063787336281836 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 69111fa8d72cdb847ad14fc0d8fd984c, type: 3}
m_PrefabInstance: {fileID: 5728137633595574535}
m_PrefabAsset: {fileID: 0}
--- !u!95 &8117935502587229019
Animator:
serializedVersion: 3
@ -2358,16 +2834,16 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3}
--- !u!4 &5903939180778773926 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3}
m_PrefabInstance: {fileID: 6225584485801998925}
m_PrefabAsset: {fileID: 0}
--- !u!1 &6531576029795059484 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3}
m_PrefabInstance: {fileID: 6225584485801998925}
m_PrefabAsset: {fileID: 0}
--- !u!4 &5903939180778773926 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: e6239db4d6763504fa0e5ad6ce9761b7, type: 3}
m_PrefabInstance: {fileID: 6225584485801998925}
m_PrefabAsset: {fileID: 0}
--- !u!95 &7940570394249237327
Animator:
serializedVersion: 3
@ -2704,14 +3180,19 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3}
--- !u!1 &8986598071013078877 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3}
m_PrefabInstance: {fileID: 8104129143664069132}
m_PrefabAsset: {fileID: 0}
--- !u!4 &8646102017070181863 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3}
m_PrefabInstance: {fileID: 8104129143664069132}
m_PrefabAsset: {fileID: 0}
--- !u!1 &8986598071013078877 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3}
--- !u!4 &6995055239062017402 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -7970022061681008778, guid: 266571bf0a87816428e18a51e3c57d0f, type: 3}
m_PrefabInstance: {fileID: 8104129143664069132}
m_PrefabAsset: {fileID: 0}
--- !u!95 &1613410199122163856

View file

@ -59,7 +59,7 @@ Camera:
field of view: 53.15
orthographic: 1
orthographic size: 5
m_Depth: 1
m_Depth: 2
m_CullingMask:
serializedVersion: 2
m_Bits: 72
@ -138,7 +138,7 @@ Camera:
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 2583
m_Bits: 4631
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0

View file

@ -0,0 +1,78 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Divider
m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _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}
- _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}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fe19b7cdebcfcc048b1b853d82b84007
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -82,6 +82,7 @@ Material:
m_Floats:
- _AdditionalLightIgnoreCelShade: 0.9
- _AlphaClip: 0
- _Angle: 89
- _Blend: 0
- _BumpScale: 1
- _CelShadeMidPoint: -0.5
@ -96,6 +97,7 @@ Material:
- _DstBlend: 0
- _EmissionMulByBaseColor: 0
- _EnvironmentReflections: 1
- _FirstOutlineWidth: 0.02
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossinessSource: 0
@ -118,6 +120,7 @@ Material:
- _ReceiveShadowMappingPosOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- _SecondOutlineWidth: 0.02
- _Shininess: 0
- _Smoothness: 0.5
- _SmoothnessSource: 0
@ -137,9 +140,11 @@ Material:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _EmissionMapChannelMask: {r: 1, g: 1, b: 1, a: 0}
- _FirstOutlineColor: {r: 0, g: 0, b: 0, a: 0.5}
- _IndirectLightMinColor: {r: 0, g: 0, b: 0, a: 1}
- _OcclusionMapChannelMask: {r: 1, g: 0, b: 0, a: 0}
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
- _SecondOutlineColor: {r: 0, g: 0, b: 0, a: 1}
- _ShadowMapColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
m_BuildTextureStacks: []

View file

@ -15,6 +15,7 @@ namespace RhythmHeavenMania.Games.BuiltToScaleDS
[Header("Camera")]
public Transform renderQuadTrans;
public Transform camPivot;
public Camera camComp;
[Header("References")]
public SkinnedMeshRenderer environmentRenderer;
@ -57,6 +58,8 @@ namespace RhythmHeavenMania.Games.BuiltToScaleDS
var camWidth = camHeight * cam.aspect;
renderQuadTrans.localScale = new Vector3(camWidth, camHeight, 1f);
camComp.depthTextureMode = camComp.depthTextureMode | DepthTextureMode.Depth;
elevatorAnim.Play("MakeRod", 0, 1f);
}

View file

@ -6,6 +6,7 @@
"com.unity.ide.visualstudio": "2.0.12",
"com.unity.ide.vscode": "1.2.4",
"com.unity.nuget.newtonsoft-json": "2.0.2",
"com.unity.postprocessing": "3.2.1",
"com.unity.test-framework": "1.1.29",
"com.unity.textmeshpro": "3.0.6",
"com.unity.timeline": "1.4.8",

View file

@ -55,6 +55,15 @@
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.postprocessing": {
"version": "3.2.1",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.modules.physics": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.services.core": {
"version": "1.0.1",
"depth": 1,

View file

@ -567,7 +567,20 @@ PlayerSettings:
webGLLinkerTarget: 1
webGLThreadsSupport: 0
webGLDecompressionFallback: 0
scriptingDefineSymbols: {}
scriptingDefineSymbols:
1: UNITY_POST_PROCESSING_STACK_V2
7: UNITY_POST_PROCESSING_STACK_V2
13: UNITY_POST_PROCESSING_STACK_V2
14: UNITY_POST_PROCESSING_STACK_V2
19: UNITY_POST_PROCESSING_STACK_V2
21: UNITY_POST_PROCESSING_STACK_V2
25: UNITY_POST_PROCESSING_STACK_V2
27: UNITY_POST_PROCESSING_STACK_V2
28: UNITY_POST_PROCESSING_STACK_V2
29: UNITY_POST_PROCESSING_STACK_V2
30: UNITY_POST_PROCESSING_STACK_V2
32: UNITY_POST_PROCESSING_STACK_V2
33: UNITY_POST_PROCESSING_STACK_V2
additionalCompilerArguments: {}
platformArchitecture: {}
scriptingBackend: {}

View file

@ -16,6 +16,7 @@ TagManager:
- EventProperties
- RenderTextures
- 3DDefault
- 3DAlt
- Flash
-
-
@ -36,7 +37,6 @@ TagManager:
-
-
-
-
m_SortingLayers:
- name: Default
uniqueID: 0