Init
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6a89b9512702d634fb09b1850938ab04
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 73c25c66bb155b64788058949771f23e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3ed217015c7a6ca459b1a064b28848f3
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4f1328ec22ec12d419a577bc7542faad
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,81 @@
|
||||
%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: Default_ReflectionMat
|
||||
m_Shader: {fileID: 4800000, guid: 0f9c6fde4248b5345aa78baa9c51307c, type: 3}
|
||||
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}
|
||||
- _ReflectionTex:
|
||||
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: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fbfc4efe23a9b0046a787d829353352b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 21 KiB |
@@ -0,0 +1,118 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3c249ea879248f340a8701634b45b2a0
|
||||
labels:
|
||||
- Pidi_PlanarGizmos
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 1
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: 1
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: -1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
applyGammaDecoding: 1
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,94 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7895f1f943551db4e9784958a7e88a58
|
||||
timeCreated: 1567123727
|
||||
licenseType: Store
|
||||
ModelImporter:
|
||||
serializedVersion: 22
|
||||
fileIDToRecycleName:
|
||||
100000: //RootNode
|
||||
400000: //RootNode
|
||||
2100000: No Name
|
||||
2300000: //RootNode
|
||||
3300000: //RootNode
|
||||
4300000: Plane
|
||||
4300002: Default_Planar_Reflector
|
||||
externalObjects: {}
|
||||
materials:
|
||||
importMaterials: 0
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
motionNodeName:
|
||||
rigImportErrors:
|
||||
rigImportWarnings:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 1
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
optimizeMeshForGPU: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
preserveHierarchy: 0
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
importAnimation: 0
|
||||
copyAvatar: 0
|
||||
humanDescription:
|
||||
serializedVersion: 2
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
rootMotionBoneName:
|
||||
rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
animationType: 0
|
||||
humanoidOversampling: 1
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,28 @@
|
||||
%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: PIDIPlanarReflections4_WorldBasedFog
|
||||
m_Shader: {fileID: 4800000, guid: fcb20b4cb153ee8429e9eead78936e77, type: 3}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs: []
|
||||
m_Floats:
|
||||
- _FogDensity: 0.03
|
||||
- _FogEnd: 200
|
||||
- _FogMode: 0
|
||||
- _FogStart: 0
|
||||
m_Colors:
|
||||
- _CameraPosition: {r: 8.186697, g: 1.258153, b: -8.00485, a: 0}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: edc18ab1799dc3c4c8660c19ecccf8f1
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,67 @@
|
||||
Shader "Hidden/PIDI SHaders Collection/Planar Reflections 4/World Based Fog"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_P4FogCameraPosition("Camera position", Vector) = (0,0,0,0)
|
||||
_FogDensity("Fog Density", Float) = 0.03
|
||||
_FogStart("Fog Start", Float) = 0
|
||||
_FogEnd("Fog End", Float) = 300
|
||||
[Enum(Linear,0,Exp,1)]_FogMode("Fog Mode", Float ) = 0
|
||||
}
|
||||
SubShader
|
||||
{
|
||||
|
||||
Tags { "RenderType"="Opaque" }
|
||||
LOD 100
|
||||
|
||||
Pass
|
||||
{
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#pragma multi_compile_fog
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
struct appdata
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
float4 texcoord : TEXCOORD0;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 worldFog : TEXCOORD0;
|
||||
float4 vertex : SV_POSITION;
|
||||
};
|
||||
|
||||
sampler2D _MainTex;
|
||||
float4 _MainTex_ST;
|
||||
|
||||
float3 _P4FogCameraPosition;
|
||||
float _FogEnd;
|
||||
float _FogStart;
|
||||
|
||||
v2f vert (appdata v)
|
||||
{
|
||||
v2f o;
|
||||
o.vertex = UnityObjectToClipPos(v.vertex);
|
||||
|
||||
float3 worldPos = mul(unity_ObjectToWorld, v.vertex);
|
||||
float worldDist = distance(worldPos, _WorldSpaceCameraPos);
|
||||
UNITY_CALC_FOG_FACTOR_RAW(worldDist);
|
||||
o.worldFog = unityFogFactor;
|
||||
return o;
|
||||
}
|
||||
|
||||
fixed4 frag(v2f i) : SV_Target
|
||||
{
|
||||
half4 col = lerp( float4(0,0,0,0), unity_FogColor, 1-i.worldFog.x);
|
||||
col.a = 1 - i.worldFog.x;
|
||||
|
||||
return col;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fcb20b4cb153ee8429e9eead78936e77
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* PIDI Planar Reflections 4
|
||||
* Developed by : Jorge Pinal Negrete.
|
||||
* Copyright(c) 2017-2021, Jorge Pinal Negrete. All Rights Reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
Shader "PIDI Shaders Collection/Planar Reflections 4/Unlit/Reflection Only"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
[PerRendererData]_ReflectionTex ("Reflection Texture", 2D) = "black" {}
|
||||
}
|
||||
SubShader
|
||||
{
|
||||
Tags { "RenderType"="Opaque" }
|
||||
LOD 100
|
||||
|
||||
Pass
|
||||
{
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
struct appdata
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
float4 uv : TEXCOORD0;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 screenPos : TEXCOORD0;
|
||||
float4 vertex : SV_POSITION;
|
||||
};
|
||||
|
||||
sampler2D _ReflectionTex;
|
||||
float4 _ReflectionTex_ST;
|
||||
|
||||
v2f vert (appdata v)
|
||||
{
|
||||
v2f o;
|
||||
o.vertex = UnityObjectToClipPos(v.vertex);
|
||||
o.screenPos = ComputeGrabScreenPos(o.vertex);
|
||||
return o;
|
||||
}
|
||||
|
||||
fixed4 frag (v2f i) : SV_Target
|
||||
{
|
||||
|
||||
i.screenPos.xy /= i.screenPos.w;
|
||||
i.screenPos.x = 1-i.screenPos.x;
|
||||
//i.screenPos.y = 1-i.screenPos.y;
|
||||
|
||||
// sample the texture
|
||||
fixed4 col = tex2D(_ReflectionTex, i.screenPos.xy);
|
||||
return col;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0f9c6fde4248b5345aa78baa9c51307c
|
||||
timeCreated: 1567138136
|
||||
licenseType: Store
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,40 @@
|
||||
%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: PlanarReflections4_InternalBlur
|
||||
m_Shader: {fileID: 4800000, guid: c2ffde48fb65ed242aa3d765d2bd704b, 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:
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReflectionDepth:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _HasDepth: 1
|
||||
- _KernelSize: 8
|
||||
- _Radius: 0.08
|
||||
m_Colors: []
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b9505779f15113c449b88ec624e8f352
|
||||
timeCreated: 1600795542
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,89 @@
|
||||
Shader "Hidden/PIDI Shaders Collection/Planar Reflections 4/Blur Pass"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
[Enum(Low,4,Normal,8,High,16)]_KernelSize("Blur Quality", Float) = 16
|
||||
[PerRendererData]_Radius("Blur Radius", Range( 1, 32 )) = 1
|
||||
[PerRendererData]_MainTex ("Texture", 2D) = "white" {}
|
||||
[PerRendererData]_ReflectionDepth ("Texture", 2D) = "black" {}
|
||||
}
|
||||
SubShader
|
||||
{
|
||||
Tags { "Queue" = "Transparent" "RenderType" = "Opaque" "IgnoreProjector" = "True" "ForceNoShadowCasting" = "True" }
|
||||
LOD 100
|
||||
|
||||
Pass
|
||||
{
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
struct appdata
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
float2 uv : TEXCOORD0;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float2 uv : TEXCOORD0;
|
||||
float4 vertex : SV_POSITION;
|
||||
};
|
||||
|
||||
int _KernelSize;
|
||||
float _Radius;
|
||||
sampler2D _MainTex;
|
||||
float4 _MainTex_ST;
|
||||
float2 _MainTex_TexelSize;
|
||||
|
||||
static const float TWO_PI = 6.28319;
|
||||
static const float E = 2.71828;
|
||||
|
||||
float gaussian(int x, int y)
|
||||
{
|
||||
float sigmaSqu = _Radius * _Radius;
|
||||
return (1 / sqrt(TWO_PI * sigmaSqu)) * pow(E, -((x * x) + (y * y)) / (2 * sigmaSqu));
|
||||
}
|
||||
|
||||
|
||||
v2f vert (appdata v)
|
||||
{
|
||||
v2f o;
|
||||
o.vertex = UnityObjectToClipPos(v.vertex);
|
||||
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
|
||||
return o;
|
||||
}
|
||||
|
||||
fixed4 frag (v2f i) : SV_Target
|
||||
{
|
||||
|
||||
fixed4 col = fixed4(0,0,0,1);
|
||||
|
||||
int upper = ((_KernelSize - 1) / 2);
|
||||
int lower = -upper;
|
||||
float kernelSum;
|
||||
|
||||
for (int x = lower; x <= upper; ++x)
|
||||
{
|
||||
for (int y = lower; y <= upper; ++y)
|
||||
{
|
||||
float gauss = gaussian(x, y);
|
||||
kernelSum += gauss;
|
||||
|
||||
fixed2 offset = fixed2(_MainTex_TexelSize.x * x, _MainTex_TexelSize.y * y);
|
||||
col += gauss * tex2D(_MainTex, i.uv + offset);
|
||||
}
|
||||
}
|
||||
|
||||
col /= kernelSum;
|
||||
|
||||
return col;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c2ffde48fb65ed242aa3d765d2bd704b
|
||||
timeCreated: 1600790789
|
||||
licenseType: Store
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: db8b8f7213caac341a2905e22c082979
|
||||
folderAsset: yes
|
||||
timeCreated: 1567532331
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 82 KiB |
@@ -0,0 +1,78 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1b27979f83089a74d8e0e37092ae6c66
|
||||
timeCreated: 1567532375
|
||||
licenseType: Store
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1,78 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 21af9a3bd6fe9a7459bd7f8913249c72
|
||||
timeCreated: 1567532376
|
||||
licenseType: Store
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 29 KiB |
@@ -0,0 +1,78 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3ce5160c86f773a4bbdc98508d41fe9d
|
||||
timeCreated: 1567532376
|
||||
licenseType: Store
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 106 KiB |
@@ -0,0 +1,78 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 97204b14e5f25984e9a65f306002767f
|
||||
timeCreated: 1567532376
|
||||
licenseType: Store
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 168 KiB |
@@ -0,0 +1,78 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9dee4083c2cdae74a873d64904763b30
|
||||
timeCreated: 1567532375
|
||||
licenseType: Store
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 235 KiB |
@@ -0,0 +1,78 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6f5e0593c1b25774da9ea9dce850a026
|
||||
timeCreated: 1567532375
|
||||
licenseType: Store
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 0
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 1
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 270 KiB |
@@ -0,0 +1,78 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d221b879ee42df14d8643aa3c004860a
|
||||
timeCreated: 1567532376
|
||||
licenseType: Store
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 148 KiB |
@@ -0,0 +1,78 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d0532f1cdc6ef784386831f345dd6bd3
|
||||
timeCreated: 1567532376
|
||||
licenseType: Store
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 217 KiB |
@@ -0,0 +1,96 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6bdc80a30f4463948bb42d9323a571f3
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d20c684c5ef31fc4c90f069f8bd3cb25
|
||||
folderAsset: yes
|
||||
timeCreated: 1568055240
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 621 KiB |
@@ -0,0 +1,78 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cfa5a2106223add4487f9e7e69e0cc73
|
||||
timeCreated: 1568227140
|
||||
licenseType: Store
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 1.2 MiB |
@@ -0,0 +1,98 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4674bcc392530ad4999c810eb614ca3a
|
||||
timeCreated: 1568835503
|
||||
licenseType: Store
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: 16
|
||||
mipBias: -1
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,98 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9f3d43c8d75062f4bb420270ea892aad
|
||||
timeCreated: 1568055222
|
||||
licenseType: Store
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 279 KiB |
@@ -0,0 +1,98 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4910e02118dc64947b2b69b4b4dd3cef
|
||||
timeCreated: 1567532376
|
||||
licenseType: Store
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 0
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -1
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 1
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a9ddebe418d99084db28b8747dce9b77
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fe8f27a65200af547a4f12b3432f2d84
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 322 B |
@@ -0,0 +1,98 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8a729e09ea66d6240b2426eb800c7270
|
||||
timeCreated: 1557507531
|
||||
licenseType: Store
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 0
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: 1
|
||||
mipBias: -1
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: -1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1334fd26c35966645990a236d4e0bb80
|
||||
timeCreated: 1557507316
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
#if UNITY_EDITOR
|
||||
/*
|
||||
* PIDI - Planar Reflections™ 4 - Copyright© 2017-2021
|
||||
* PIDI - Planar Reflections is a trademark and copyrighted property of Jorge Pinal Negrete.
|
||||
|
||||
* You cannot sell, redistribute, share nor make public this code, modified or not, in part nor in whole, through any
|
||||
* means on any platform except with the purpose of contacting the developers to request support and only when taking
|
||||
* all pertinent measures to avoid its release to the public and / or any unrelated third parties.
|
||||
* Modifications are allowed only for internal use within the limits of your Unity based projects and cannot be shared,
|
||||
* published, redistributed nor made available to any third parties unrelated to Irreverent Software by any means.
|
||||
*
|
||||
* For more information, contact us at support@irreverent-software.com
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
using UnityEditor;
|
||||
|
||||
class PlanarAPI{
|
||||
[UnityEditor.Callbacks.DidReloadScripts]
|
||||
public static void ModifyDefines() {
|
||||
var defines = PlayerSettings.GetScriptingDefineSymbolsForGroup( EditorUserBuildSettings.selectedBuildTargetGroup );
|
||||
if ( AssetDatabase.FindAssets( "PlanarReflectionsRenderer" ).Length > 0 ) {
|
||||
if ( !defines.Contains( "UPDATE_PLANAR3" ) ) {
|
||||
PlayerSettings.SetScriptingDefineSymbolsForGroup( EditorUserBuildSettings.selectedBuildTargetGroup, defines + ";UPDATE_PLANAR3" );
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
|
||||
|
||||
if ( defines.Contains( "UPDATE_PLANAR3" ) ) {
|
||||
PlayerSettings.SetScriptingDefineSymbolsForGroup( EditorUserBuildSettings.selectedBuildTargetGroup, defines.Replace( "UPDATE_PLANAR3", "" ) );
|
||||
}
|
||||
|
||||
if ( defines.Contains( "PLANAR3_PRO" ) ) {
|
||||
PlayerSettings.SetScriptingDefineSymbolsForGroup( EditorUserBuildSettings.selectedBuildTargetGroup, defines.Replace( "PLANAR3_PRO", "" ) );
|
||||
}
|
||||
|
||||
if ( defines.Contains( "PLANAR3_HDRP" ) ) {
|
||||
PlayerSettings.SetScriptingDefineSymbolsForGroup( EditorUserBuildSettings.selectedBuildTargetGroup, defines.Replace( "PLANAR3_HDRP", "" ) );
|
||||
}
|
||||
|
||||
if ( defines.Contains( "PLANAR3_LWRP" ) ) {
|
||||
PlayerSettings.SetScriptingDefineSymbolsForGroup( EditorUserBuildSettings.selectedBuildTargetGroup, defines.Replace( "PLANAR3_LWRP", "" ) );
|
||||
}
|
||||
|
||||
if ( defines.Contains( "PLANAR3_URP" ) ) {
|
||||
PlayerSettings.SetScriptingDefineSymbolsForGroup( EditorUserBuildSettings.selectedBuildTargetGroup, defines.Replace( "PLANAR3_URP", "" ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a8bbccd6aee90b84cb8fcf5402b53438
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,317 @@
|
||||
namespace PlanarReflections4 {
|
||||
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
|
||||
[CustomEditor( typeof( PlanarReflectionCaster ) )]
|
||||
public class PlanarReflectionCaster_Editor : Editor {
|
||||
|
||||
public GUISkin pidiSkin2;
|
||||
|
||||
public Texture2D reflectionsLogo;
|
||||
|
||||
bool[] _folds = new bool[16];
|
||||
|
||||
bool supportFold;
|
||||
|
||||
private void OnEnable() {
|
||||
|
||||
|
||||
|
||||
if ( ((PlanarReflectionCaster)target).GetComponent<Renderer>() ) {
|
||||
_folds = new bool[( (PlanarReflectionCaster)target ).GetComponent<Renderer>().sharedMaterials.Length];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
public override void OnInspectorGUI() {
|
||||
|
||||
var rend = ( (PlanarReflectionCaster)target ).GetComponent<Renderer>();
|
||||
GUI.color = EditorGUIUtility.isProSkin ? new Color( 0.1f, 0.1f, 0.15f, 1 ) : new Color( 0.5f, 0.5f, 0.6f );
|
||||
GUILayout.BeginVertical( EditorStyles.helpBox );
|
||||
GUI.color = Color.white;
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
AssetLogoAndVersion();
|
||||
|
||||
GUILayout.Space( 4 );
|
||||
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "castFromRenderer" ), new GUIContent( "Cast From Renderer", "The Planar Reflection Renderer from which this Caster will take the reflections" ) );
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
for ( int i = 0; i < _folds.Length; i++ ) {
|
||||
|
||||
if ( BeginCenteredGroup( rend.sharedMaterials[i].name, ref _folds[i] ) ) {
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
Toggle( new GUIContent( "Reflection Color", "Wether this material requires a reflection color texture" ), serializedObject, "castReflection", 1, i );
|
||||
Toggle( new GUIContent( "Reflection Depth", "Wether this material requires a reflection depth texture" ), serializedObject, "castDepth", 1, i );
|
||||
Toggle( new GUIContent( "Reflection Fog", "Wether this material requires a reflection fog texture" ), serializedObject, "castFog", 1, i );
|
||||
|
||||
GUILayout.Space( 4 );
|
||||
|
||||
|
||||
var blurProp = serializedObject.FindProperty( "blurSettings" ).GetArrayElementAtIndex( i );
|
||||
|
||||
Toggle( new GUIContent( "Blur Pass", "Enables a blur pass on the reflection texture that can be used internally by reflection-compatible shaders" ), blurProp.FindPropertyRelative( "useBlur" ), 1 );
|
||||
|
||||
|
||||
if ( blurProp.FindPropertyRelative( "useBlur" ).boolValue ) {
|
||||
GUILayout.Space( 8 );
|
||||
CenteredLabel( "Blur Settings" );
|
||||
GUILayout.Space( 8 );
|
||||
Toggle( new GUIContent( "Fast Blur", "A very simple, faked blur approximation designed for low end platforms" ), blurProp.FindPropertyRelative( "forceFakeBlur" ), 1 );
|
||||
|
||||
PopupField( new GUIContent( "Blur Pass Mode", "The way in which the blurred reflection will be sent to the material\n\nFinal Output - Blurs the reflection itself\nSeparate Pass - Stores the blurred reflection on its own texture (_BlurReflectionTex)" ), blurProp.FindPropertyRelative( "blurPassMode" ), new string[] { "Final Result", "Separate Pass" } );
|
||||
EditorGUILayout.PropertyField( blurProp.FindPropertyRelative( "blurRadius" ), new GUIContent("Blur Radius","The spread of the blur effect") );
|
||||
EditorGUILayout.PropertyField( blurProp.FindPropertyRelative( "blurDownscale" ), new GUIContent("Blur Downscale","The downscaling applied to the blurred reflection. Increases the overall blurriness") );
|
||||
}
|
||||
|
||||
GUILayout.Space( 16 );
|
||||
}
|
||||
EndCenteredGroup();
|
||||
|
||||
}
|
||||
if ( BeginCenteredGroup( "Help & Support", ref supportFold ) ) {
|
||||
|
||||
GUILayout.Space( 16 );
|
||||
|
||||
CenteredLabel( "Support & Assistance" );
|
||||
GUILayout.Space( 10 );
|
||||
|
||||
EditorGUILayout.HelpBox( "Please make sure to include the following information with your request :\n - Invoice number\n- Unity version used\n- Universal RP / HDRP version used (if any)\n- Target platform\n - Screenshots of the PlanarReflectionRenderer component and its settings\n - Steps to reproduce the issue.\n\nOur support service usually takes 2-4 business days to reply, so please be patient. We always reply to all emails and support requests as soon as possible.", MessageType.Info );
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace();
|
||||
GUILayout.Label( "For support, contact us at : support@irreverent-software.com" );
|
||||
GUILayout.FlexibleSpace(); GUILayout.EndHorizontal();
|
||||
|
||||
GUILayout.Space( 24 );
|
||||
|
||||
if ( CenteredButton( "Online Documentation", 500 ) ) {
|
||||
Help.BrowseURL( "https://irreverent-software.com/docs/pidi-planar-reflections-4/" );
|
||||
}
|
||||
GUILayout.Space( 16 );
|
||||
|
||||
}
|
||||
EndCenteredGroup();
|
||||
|
||||
GUILayout.Space( 16 );
|
||||
|
||||
GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace();
|
||||
|
||||
var lStyle = new GUIStyle();
|
||||
lStyle.fontStyle = FontStyle.Italic;
|
||||
lStyle.normal.textColor = EditorGUIUtility.isProSkin ? Color.white : Color.black;
|
||||
lStyle.fontSize = 8;
|
||||
|
||||
GUILayout.Label( "Copyright© 2017-2021, Jorge Pinal N.", lStyle );
|
||||
|
||||
GUILayout.FlexibleSpace(); GUILayout.EndHorizontal();
|
||||
|
||||
GUILayout.Space( 24 );
|
||||
|
||||
GUILayout.EndVertical();
|
||||
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private void AssetLogoAndVersion() {
|
||||
|
||||
GUILayout.BeginVertical( reflectionsLogo, pidiSkin2 ? pidiSkin2.customStyles[1] : null );
|
||||
GUILayout.Space( 45 );
|
||||
GUILayout.BeginHorizontal();
|
||||
GUILayout.FlexibleSpace();
|
||||
GUILayout.Label( "v4.0.7", pidiSkin2.customStyles[2] );
|
||||
GUILayout.Space( 6 );
|
||||
GUILayout.EndHorizontal();
|
||||
GUILayout.EndVertical();
|
||||
}
|
||||
|
||||
|
||||
void CenteredLabel( string label ) {
|
||||
|
||||
|
||||
GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace();
|
||||
|
||||
var tempStyle = new GUIStyle();
|
||||
tempStyle.fontStyle = FontStyle.Bold;
|
||||
tempStyle.normal.textColor = EditorGUIUtility.isProSkin ? Color.white : Color.black;
|
||||
|
||||
GUILayout.Label( label, tempStyle );
|
||||
|
||||
GUILayout.FlexibleSpace(); GUILayout.EndHorizontal();
|
||||
|
||||
}
|
||||
|
||||
|
||||
bool CenteredButton( string label, float width = 400 ) {
|
||||
|
||||
GUILayout.BeginHorizontal();
|
||||
GUILayout.FlexibleSpace();
|
||||
var btn = GUILayout.Button( label, GUILayout.MaxWidth( width ) );
|
||||
GUILayout.FlexibleSpace();
|
||||
GUILayout.EndHorizontal();
|
||||
|
||||
return btn;
|
||||
}
|
||||
|
||||
|
||||
private bool BeginCenteredGroup( string label, ref bool groupFoldState ) {
|
||||
|
||||
if ( GUILayout.Button( label, EditorGUIUtility.isProSkin ? pidiSkin2.customStyles[0] : EditorGUIUtility.GetBuiltinSkin( EditorSkin.Inspector ).button ) ) {
|
||||
groupFoldState = !groupFoldState;
|
||||
}
|
||||
GUILayout.BeginHorizontal(); GUILayout.Space( 12 );
|
||||
GUILayout.BeginVertical();
|
||||
return groupFoldState;
|
||||
}
|
||||
|
||||
|
||||
private void EndCenteredGroup() {
|
||||
GUILayout.EndVertical();
|
||||
GUILayout.Space( 12 );
|
||||
GUILayout.EndHorizontal();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public static void PopupField( GUIContent label, SerializedProperty inValue, string[] options ) {
|
||||
|
||||
|
||||
GUILayout.BeginHorizontal();
|
||||
|
||||
var tempStyle = new GUIStyle();
|
||||
EditorGUILayout.PrefixLabel( label );
|
||||
|
||||
|
||||
|
||||
if ( inValue.hasMultipleDifferentValues ) {
|
||||
var result = EditorGUILayout.Popup( -1, options );
|
||||
|
||||
if ( result > -1 ) {
|
||||
inValue.intValue = result;
|
||||
}
|
||||
}
|
||||
else {
|
||||
inValue.intValue = EditorGUILayout.Popup( inValue.intValue, options );
|
||||
}
|
||||
|
||||
GUILayout.EndHorizontal();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static void Toggle( GUIContent label, SerializedObject serializedObject, string propertyID, int toggleType = 0, int atIndex = -1 ) {
|
||||
|
||||
|
||||
GUILayout.BeginHorizontal();
|
||||
|
||||
var inValue = serializedObject.FindProperty( propertyID );
|
||||
|
||||
if (atIndex > -1 ) {
|
||||
inValue = inValue.GetArrayElementAtIndex( atIndex );
|
||||
}
|
||||
|
||||
switch ( toggleType ) {
|
||||
|
||||
case 0:
|
||||
EditorGUILayout.PropertyField( inValue, label );
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if ( inValue.hasMultipleDifferentValues ) {
|
||||
var result = EditorGUILayout.Popup( label, -1, new string[] { "Enabled", "Disabled" } );
|
||||
|
||||
if ( result > -1 ) {
|
||||
inValue.boolValue = result == 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
inValue.boolValue = EditorGUILayout.Popup( label, inValue.boolValue ? 0 : 1, new string[] { "Enabled", "Disabled" } ) == 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if ( inValue.hasMultipleDifferentValues ) {
|
||||
var result = EditorGUILayout.Popup( label, -1, new string[] { "True", "False" } );
|
||||
|
||||
if ( result > -1 ) {
|
||||
inValue.boolValue = result == 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
inValue.boolValue = EditorGUILayout.Popup( label, inValue.boolValue ? 0 : 1, new string[] { "True", "False" } ) == 0;
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
GUILayout.EndHorizontal();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static void Toggle( GUIContent label, SerializedProperty inValue, int toggleType = 0 ) {
|
||||
|
||||
|
||||
GUILayout.BeginHorizontal();
|
||||
|
||||
|
||||
switch ( toggleType ) {
|
||||
|
||||
case 0:
|
||||
EditorGUILayout.PropertyField( inValue, label );
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if ( inValue.hasMultipleDifferentValues ) {
|
||||
var result = EditorGUILayout.Popup( label, -1, new string[] { "Enabled", "Disabled" } );
|
||||
|
||||
if ( result > -1 ) {
|
||||
inValue.boolValue = result == 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
inValue.boolValue = EditorGUILayout.Popup( label, inValue.boolValue ? 0 : 1, new string[] { "Enabled", "Disabled" } ) == 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if ( inValue.hasMultipleDifferentValues ) {
|
||||
var result = EditorGUILayout.Popup( label, -1, new string[] { "True", "False" } );
|
||||
|
||||
if ( result > -1 ) {
|
||||
inValue.boolValue = result == 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
inValue.boolValue = EditorGUILayout.Popup( label, inValue.boolValue ? 0 : 1, new string[] { "True", "False" } ) == 0;
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
GUILayout.EndHorizontal();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a1736bab9076d2143b283893606cac6e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences:
|
||||
- pidiSkin2: {fileID: 11400000, guid: 1334fd26c35966645990a236d4e0bb80, type: 2}
|
||||
- reflectionsLogo: {fileID: 2800000, guid: 9ba256d32c910d741afcc66ab425375f, type: 3}
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,330 @@
|
||||
namespace PlanarReflections4 {
|
||||
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
|
||||
[CustomEditor(typeof(PlanarReflectionRenderer))]
|
||||
public class PlanarReflectionRenderer_Editor : Editor {
|
||||
|
||||
|
||||
public GUISkin pidiSkin2;
|
||||
|
||||
public Texture2D reflectionsLogo;
|
||||
|
||||
bool[] _folds = new bool[16];
|
||||
|
||||
public override void OnInspectorGUI() {
|
||||
|
||||
GUI.color = EditorGUIUtility.isProSkin ? new Color( 0.1f, 0.1f, 0.15f, 1 ) : new Color( 0.5f, 0.5f, 0.6f );
|
||||
GUILayout.BeginVertical( EditorStyles.helpBox );
|
||||
GUI.color = Color.white;
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
AssetLogoAndVersion();
|
||||
|
||||
GUILayout.Space( 4 );
|
||||
|
||||
|
||||
if ( BeginCenteredGroup("Main Settings", ref _folds[0] ) ) {
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
CenteredLabel( "Basic Settings" );
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty("_settings.reflectLayers"), new GUIContent( "Reflect Layers" ) );
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.camerasTag" ), new GUIContent( "Camera's Tag", "Filters the in-game cameras so that a reflection is generated and displayed only for those with the given tag" ) );
|
||||
Toggle( new GUIContent( "Render Shadows", "Whether this reflection will display shadows or not" ), serializedObject, "_settings.renderShadows", 2 );
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
Toggle( new GUIContent( "Preview Reflection", "Enables or disables a preview reflection plane in the Scene view to show the reflection and its properties regardless of if it has been assigned to a Caster" ), serializedObject, "showPreviewReflector", 1 );
|
||||
|
||||
GUILayout.Space( 4 );
|
||||
|
||||
Toggle( new GUIContent( "Accurate Matrix", "When enabled, the reflection will use a custom oblique projection matrix to avoid clipping and present more accurate reflections.\nIt may, however, interfere with some PostFX and projection-dependant features" ), serializedObject, "_settings.accurateMatrix", 1 );
|
||||
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.nearClipPlane" ), new GUIContent( "Near Clip Plane" ) );
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.farClipPlane" ), new GUIContent( "Far Clip Plane" ) );
|
||||
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
CenteredLabel( "Reflection Features" );
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "externalReflectionTex" ), new GUIContent( "External Ref. Texture (Optional)", "An optional RenderTexture asset to which the reflection will be rendered to, instead of the internally managed resources. May not work accurately with multiple in-game cameras" ), GUILayout.Height( EditorGUIUtility.singleLineHeight ) );
|
||||
|
||||
if ( serializedObject.FindProperty( "_settings.renderDepth" ).boolValue ) {
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "externalReflectionDepth" ), new GUIContent( "External Ref. Depth (Optional)", "An optional RenderTexture asset to which the reflection's depth will be rendered to, instead of the internally managed resources. May not work accurately with multiple in-game cameras. Must be in 'Depth' texture format." ), GUILayout.Height( EditorGUIUtility.singleLineHeight ) );
|
||||
}
|
||||
|
||||
GUILayout.Space( 4 );
|
||||
|
||||
Toggle( new GUIContent( "PostFX Support", "Allows the reflection to render Post Process FX with its own custom settings, useful to display ambient occlusion, bloom or other effects within the reflection itself" ) , serializedObject, "_settings.usePostFX", 1 );
|
||||
Toggle( new GUIContent( "Reflection Depth", "Whether this reflection will render its own depth texture or not" ), serializedObject, "_settings.renderDepth", 1 );
|
||||
Toggle( new GUIContent( "Reflection Fog", "Whether this reflection will render its own fog pass or not" ), serializedObject, "_settings.renderFog", 1 );
|
||||
|
||||
if ( serializedObject.FindProperty( "_settings.renderFog" ).boolValue ) {
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.fogRendererIndex" ), new GUIContent( "Fog Renderer Index" ) );
|
||||
}
|
||||
|
||||
Toggle( new GUIContent( "Clear to Color", "Controls the clear flags of the reflection so that instead of reflecting the skybox it reflects a solid color" ), serializedObject, "_settings.clearToColor", 2 );
|
||||
|
||||
if ( serializedObject.FindProperty("_settings.clearToColor").boolValue ) {
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.backgroundColor" ), new GUIContent( "Background Color", "The color that this reflection will use as a solid background instead of the skybox" ) );
|
||||
}
|
||||
else {
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.customSkybox" ), new GUIContent( "Custom Skybox" ) );
|
||||
}
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
CenteredLabel( "Reflection Quality" );
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
Toggle( new GUIContent( "Screen Based Resolution", "The resolution of the reflection will be determined by the resolution of the screen / game's window" ), serializedObject, "_settings.screenBasedResolution", 1 );
|
||||
|
||||
if ( !serializedObject.FindProperty( "_settings.screenBasedResolution" ).boolValue ) {
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.explicitResolution" ), new GUIContent( "Base Resolution" ) );
|
||||
}
|
||||
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.outputResolutionMultiplier" ), new GUIContent( "Resolution Multiplier", "The factor by which the reflection's resolution will be multiplied" ) );
|
||||
|
||||
GUILayout.Space( 4 );
|
||||
|
||||
Toggle( new GUIContent( "HDR Reflection", "Whether the reflection texture will use an HDRP compatible format" ), serializedObject, "_settings.forceHDR", 1 );
|
||||
Toggle( new GUIContent( "Mip Maps", "Whether the reflection texture will use mip maps or not" ), serializedObject, "_settings.useMipMaps", 1 );
|
||||
Toggle( new GUIContent( "Anti-aliasing", "Whether the reflection texture will use anti-aliasing or not" ), serializedObject, "_settings.useAntialiasing", 1 );
|
||||
|
||||
GUILayout.Space( 16 );
|
||||
}
|
||||
EndCenteredGroup();
|
||||
|
||||
|
||||
if ( BeginCenteredGroup("Optimization Settings", ref _folds[1] ) ) {
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.customLODBias" ), new GUIContent( "Custom LOD Bias","Further adjusts the LOD bias of the game in order to render lower quality models for the reflections if necessary" ) );
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.maxLODLevel" ), new GUIContent( "Max. LOD Level", "The maximum LOD level allowed in reflections" ) );
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.reflectionFramerate" ), new GUIContent( "Reflection's Framerate", "The maximum framerate of this reflection. Set to 0 to remove any FPS cap and render the reflection in sync with the in-game cameras" ) );
|
||||
|
||||
GUILayout.Space( 16 );
|
||||
}
|
||||
EndCenteredGroup();
|
||||
|
||||
if ( serializedObject.FindProperty( "_settings.usePostFX" ).boolValue ) {
|
||||
|
||||
if ( BeginCenteredGroup( "PostFX Settings", ref _folds[2] ) ){
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
EditorGUILayout.PropertyField( serializedObject.FindProperty( "_settings.postFXVolumeMask" ), new GUIContent( "Post FX Volume Mask", "The layer mask for the PostFX volumes with which this reflection will interact" ) );
|
||||
|
||||
GUILayout.Space( 16 );
|
||||
|
||||
}
|
||||
EndCenteredGroup();
|
||||
}
|
||||
|
||||
if (BeginCenteredGroup("Help & Support", ref _folds[3] ) ) {
|
||||
|
||||
GUILayout.Space( 16 );
|
||||
|
||||
CenteredLabel( "Support & Assistance" );
|
||||
GUILayout.Space( 10 );
|
||||
|
||||
EditorGUILayout.HelpBox( "Please make sure to include the following information with your request :\n - Invoice number\n- Unity version used\n- Universal RP / HDRP version used (if any)\n- Target platform\n - Screenshots of the PlanarReflectionRenderer component and its settings\n - Steps to reproduce the issue.\n\nOur support service usually takes 2-4 business days to reply, so please be patient. We always reply to all emails and support requests as soon as possible.", MessageType.Info );
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace();
|
||||
GUILayout.Label( "For support, contact us at : support@irreverent-software.com" );
|
||||
GUILayout.FlexibleSpace(); GUILayout.EndHorizontal();
|
||||
|
||||
GUILayout.Space( 24 );
|
||||
|
||||
if ( CenteredButton( "Online Documentation", 500 ) ) {
|
||||
Help.BrowseURL( "https://irreverent-software.com/docs/pidi-planar-reflections-4/" );
|
||||
}
|
||||
GUILayout.Space( 16 );
|
||||
|
||||
}
|
||||
EndCenteredGroup();
|
||||
|
||||
GUILayout.Space( 8 );
|
||||
|
||||
|
||||
GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace();
|
||||
|
||||
var lStyle = new GUIStyle();
|
||||
lStyle.fontStyle = FontStyle.Italic;
|
||||
lStyle.normal.textColor = EditorGUIUtility.isProSkin?Color.white:Color.black;
|
||||
lStyle.fontSize = 8;
|
||||
|
||||
GUILayout.Label( "Copyright© 2017-2021, Jorge Pinal N.", lStyle );
|
||||
|
||||
GUILayout.FlexibleSpace(); GUILayout.EndHorizontal();
|
||||
|
||||
GUILayout.Space( 24 );
|
||||
|
||||
GUILayout.EndVertical();
|
||||
|
||||
|
||||
if ( serializedObject.hasModifiedProperties ) {
|
||||
( (PlanarReflectionRenderer)target ).ApplySettings();
|
||||
}
|
||||
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void AssetLogoAndVersion() {
|
||||
|
||||
GUILayout.BeginVertical( reflectionsLogo, pidiSkin2 ? pidiSkin2.customStyles[1] : null );
|
||||
GUILayout.Space( 45 );
|
||||
GUILayout.BeginHorizontal();
|
||||
GUILayout.FlexibleSpace();
|
||||
GUILayout.Label( "v4.0.7", pidiSkin2.customStyles[2] );
|
||||
GUILayout.Space( 6 );
|
||||
GUILayout.EndHorizontal();
|
||||
GUILayout.EndVertical();
|
||||
}
|
||||
|
||||
|
||||
void CenteredLabel( string label ) {
|
||||
|
||||
|
||||
GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace();
|
||||
|
||||
var tempStyle = new GUIStyle();
|
||||
tempStyle.fontStyle = FontStyle.Bold;
|
||||
tempStyle.normal.textColor = EditorGUIUtility.isProSkin?Color.white:Color.black;
|
||||
|
||||
GUILayout.Label( label, tempStyle );
|
||||
|
||||
GUILayout.FlexibleSpace(); GUILayout.EndHorizontal();
|
||||
|
||||
}
|
||||
|
||||
|
||||
bool CenteredButton( string label, float width = 400 ) {
|
||||
|
||||
GUILayout.BeginHorizontal();
|
||||
GUILayout.FlexibleSpace();
|
||||
var btn = GUILayout.Button( label, GUILayout.MaxWidth( width ) );
|
||||
GUILayout.FlexibleSpace();
|
||||
GUILayout.EndHorizontal();
|
||||
|
||||
return btn;
|
||||
}
|
||||
|
||||
private bool BeginCenteredGroup( string label, ref bool groupFoldState ) {
|
||||
|
||||
if ( GUILayout.Button( label, EditorGUIUtility.isProSkin?pidiSkin2.customStyles[0]:EditorGUIUtility.GetBuiltinSkin(EditorSkin.Inspector).button ) ) {
|
||||
groupFoldState = !groupFoldState;
|
||||
}
|
||||
GUILayout.BeginHorizontal(); GUILayout.Space( 12 );
|
||||
GUILayout.BeginVertical();
|
||||
return groupFoldState;
|
||||
}
|
||||
|
||||
|
||||
private void EndCenteredGroup() {
|
||||
GUILayout.EndVertical();
|
||||
GUILayout.Space( 12 );
|
||||
GUILayout.EndHorizontal();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public static void PopupField( GUIContent label, SerializedObject serializedObject, string propertyID, string[] options ) {
|
||||
|
||||
|
||||
GUILayout.BeginHorizontal();
|
||||
|
||||
|
||||
var tempStyle = new GUIStyle();
|
||||
EditorGUILayout.PrefixLabel( label );
|
||||
|
||||
|
||||
var inValue = serializedObject.FindProperty( propertyID );
|
||||
|
||||
if ( inValue.hasMultipleDifferentValues ) {
|
||||
var result = EditorGUILayout.Popup( -1, options );
|
||||
|
||||
if ( result > -1 ) {
|
||||
inValue.intValue = result;
|
||||
}
|
||||
}
|
||||
else {
|
||||
inValue.intValue = EditorGUILayout.Popup( inValue.intValue, options );
|
||||
}
|
||||
|
||||
GUILayout.EndHorizontal();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static void Toggle( GUIContent label, SerializedObject serializedObject, string propertyID, int toggleType = 0 ) {
|
||||
|
||||
|
||||
GUILayout.BeginHorizontal();
|
||||
|
||||
var inValue = serializedObject.FindProperty( propertyID );
|
||||
|
||||
switch ( toggleType ) {
|
||||
|
||||
case 0:
|
||||
EditorGUILayout.PropertyField( inValue, label );
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if ( inValue.hasMultipleDifferentValues ) {
|
||||
var result = EditorGUILayout.Popup( label, -1, new string[] { "Enabled", "Disabled" } );
|
||||
|
||||
if ( result > -1 ) {
|
||||
inValue.boolValue = result == 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
inValue.boolValue = EditorGUILayout.Popup( label, inValue.boolValue ? 0 : 1, new string[] { "Enabled", "Disabled" } ) == 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if ( inValue.hasMultipleDifferentValues ) {
|
||||
var result = EditorGUILayout.Popup( label, -1, new string[] { "True", "False" } );
|
||||
|
||||
if ( result > -1 ) {
|
||||
inValue.boolValue = result == 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
inValue.boolValue = EditorGUILayout.Popup( label, inValue.boolValue ? 0 : 1, new string[] { "True", "False" } ) == 0;
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
GUILayout.EndHorizontal();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 26523091a6adc25458cfe16d6daf3982
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences:
|
||||
- pidiSkin2: {fileID: 11400000, guid: 1334fd26c35966645990a236d4e0bb80, type: 2}
|
||||
- reflectionsLogo: {fileID: 2800000, guid: 9ba256d32c910d741afcc66ab425375f, type: 3}
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 96 KiB |
@@ -0,0 +1,128 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9ba256d32c910d741afcc66ab425375f
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: 1
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: -1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,281 @@
|
||||
namespace PlanarReflections4 {
|
||||
|
||||
/*
|
||||
* PIDI - Planar Reflections™ 4 - Copyright© 2017-2021
|
||||
* PIDI - Planar Reflections is a trademark and copyrighted property of Jorge Pinal Negrete.
|
||||
|
||||
* You cannot sell, redistribute, share nor make public this code, modified or not, in part nor in whole, through any
|
||||
* means on any platform except with the purpose of contacting the developers to request support and only when taking
|
||||
* all pertinent measures to avoid its release to the public and / or any unrelated third parties.
|
||||
* Modifications are allowed only for internal use within the limits of your Unity based projects and cannot be shared,
|
||||
* published, redistributed nor made available to any third parties unrelated to Irreverent Software by any means.
|
||||
*
|
||||
* For more information, contact us at support@irreverent-software.com
|
||||
*
|
||||
*/
|
||||
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
|
||||
[RequireComponent( typeof( Renderer ) )]
|
||||
[ExecuteAlways]
|
||||
public class PlanarReflectionCaster : MonoBehaviour {
|
||||
|
||||
public static readonly int _reflectionTex = Shader.PropertyToID( "_ReflectionTex" );
|
||||
public static readonly int _reflectionDepth = Shader.PropertyToID( "_ReflectionDepth" );
|
||||
public static readonly int _reflectionFog = Shader.PropertyToID( "_ReflectionFog" );
|
||||
public static readonly int _blurReflectionTex = Shader.PropertyToID( "_BlurReflectionTex" );
|
||||
|
||||
|
||||
[System.Serializable]
|
||||
public struct BlurSettings {
|
||||
|
||||
[System.NonSerialized] public RenderTexture blurredMap;
|
||||
[System.NonSerialized] public RenderTexture blurredDepth;
|
||||
public bool useBlur;
|
||||
public bool forceFakeBlur;
|
||||
public int blurPassMode;
|
||||
[Range( 0, 1 )] public float blurRadius;
|
||||
[Range( 1, 4 )] public int blurDownscale;
|
||||
|
||||
#if UPDATE_PLANAR3
|
||||
|
||||
public static implicit operator BlurSettings( PlanarReflections3.PlanarReflectionsCaster.BlurSettings source ) {
|
||||
|
||||
var newBlur = new BlurSettings();
|
||||
newBlur.useBlur = source.useBlur;
|
||||
newBlur.blurPassMode = source.blurPassMode;
|
||||
newBlur.blurDownscale = source.blurDownscale;
|
||||
newBlur.blurRadius = source.blurRadius;
|
||||
|
||||
return newBlur;
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
public PlanarReflectionRenderer castFromRenderer;
|
||||
public Material BlurMaterial;
|
||||
public bool[] castDepth = new bool[0];
|
||||
public bool[] castFog = new bool[0];
|
||||
public bool[] castReflection = new bool[0];
|
||||
public BlurSettings[] blurSettings = new BlurSettings[0];
|
||||
|
||||
[SerializeField] protected Renderer rend;
|
||||
|
||||
protected MaterialPropertyBlock mBlock;
|
||||
|
||||
private void OnEnable() {
|
||||
|
||||
#if UNITY_EDITOR
|
||||
BlurMaterial = UnityEditor.AssetDatabase.LoadAssetAtPath<Material>( UnityEditor.AssetDatabase.GUIDToAssetPath( UnityEditor.AssetDatabase.FindAssets( "PlanarReflections4_InternalBlur" )[0] ) );
|
||||
#endif
|
||||
|
||||
rend = GetComponent<Renderer>();
|
||||
|
||||
if ( castDepth.Length != rend.sharedMaterials.Length )
|
||||
castDepth = new bool[rend.sharedMaterials.Length];
|
||||
|
||||
if ( castReflection.Length != castDepth.Length )
|
||||
castReflection = new bool[castDepth.Length];
|
||||
|
||||
if ( castFog.Length != castDepth.Length )
|
||||
castFog = new bool[castDepth.Length];
|
||||
|
||||
if ( blurSettings.Length != castDepth.Length ) {
|
||||
blurSettings = new BlurSettings[castDepth.Length];
|
||||
}
|
||||
|
||||
for ( int i = 0; i < blurSettings.Length; i++ ) {
|
||||
blurSettings[i].blurDownscale = Mathf.Clamp( blurSettings[i].blurDownscale, 1, 4 );
|
||||
}
|
||||
|
||||
|
||||
#if UPDATE_PLANAR3
|
||||
|
||||
if ( GetComponent<PlanarReflections3.PlanarReflectionsCaster>() ) {
|
||||
var cast = GetComponent<PlanarReflections3.PlanarReflectionsCaster>();
|
||||
|
||||
|
||||
for ( int i = 0; i < blurSettings.Length; i++ ) {
|
||||
RenderTexture.ReleaseTemporary( blurSettings[i].blurredMap );
|
||||
}
|
||||
|
||||
blurSettings = new BlurSettings[cast.blurSettings.Length];
|
||||
|
||||
for ( int i = 0; i < cast.blurSettings.Length; i++ ) {
|
||||
blurSettings[i] = cast.blurSettings[i];
|
||||
}
|
||||
|
||||
castReflection = cast.castReflection;
|
||||
castDepth = cast.castDepth;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
RenderPipelineManager.beginCameraRendering -= AssignReflections;
|
||||
RenderPipelineManager.beginCameraRendering += AssignReflections;
|
||||
RenderPipelineManager.endCameraRendering -= BlackReflection;
|
||||
RenderPipelineManager.endCameraRendering += BlackReflection;
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void OnDisable() {
|
||||
|
||||
RenderPipelineManager.beginCameraRendering -= AssignReflections;
|
||||
RenderPipelineManager.endCameraRendering -= BlackReflection;
|
||||
|
||||
for ( int i = 0; i < blurSettings.Length; i++ ) {
|
||||
RenderTexture.ReleaseTemporary( blurSettings[i].blurredMap );
|
||||
RenderTexture.ReleaseTemporary( blurSettings[i].blurredDepth );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void BlackReflection( ScriptableRenderContext context, Camera cam ) {
|
||||
|
||||
if ( mBlock == null ) {
|
||||
mBlock = new MaterialPropertyBlock();
|
||||
}
|
||||
|
||||
for ( int i = 0; i < castReflection.Length; i++ ) {
|
||||
mBlock.SetTexture( _blurReflectionTex, Texture2D.blackTexture );
|
||||
mBlock.SetTexture( _reflectionTex, Texture2D.blackTexture );
|
||||
rend.SetPropertyBlock( mBlock, i );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void AssignReflections( ScriptableRenderContext context, Camera cam ) {
|
||||
|
||||
if ( mBlock == null ) {
|
||||
mBlock = new MaterialPropertyBlock();
|
||||
}
|
||||
|
||||
|
||||
for ( int i = 0; i < castReflection.Length; i++ ) {
|
||||
mBlock.SetTexture( _blurReflectionTex, Texture2D.blackTexture );
|
||||
mBlock.SetTexture( _reflectionTex, Texture2D.blackTexture );
|
||||
rend.SetPropertyBlock( mBlock, i );
|
||||
}
|
||||
|
||||
|
||||
if ( !castFromRenderer ) {
|
||||
return;
|
||||
}
|
||||
|
||||
for ( int i = 0; i < castReflection.Length; i++ ) {
|
||||
|
||||
rend.GetPropertyBlock( mBlock, i );
|
||||
|
||||
if ( castReflection[i] || castDepth[i] ) {
|
||||
|
||||
Texture rTex = castFromRenderer.GetReflection( cam );
|
||||
|
||||
|
||||
|
||||
if ( rTex != Texture2D.blackTexture && blurSettings[i].useBlur ) {
|
||||
|
||||
if ( blurSettings[i].forceFakeBlur ) {
|
||||
RenderTexture.ReleaseTemporary( blurSettings[i].blurredMap );
|
||||
var rd = new RenderTextureDescriptor( Mathf.Max( rTex.width / (blurSettings[i].blurDownscale * 2), 16 ), Mathf.Max( rTex.height / (blurSettings[i].blurDownscale * 2), 16 ), RenderTextureFormat.DefaultHDR, 0 );
|
||||
rd.msaaSamples = 8;
|
||||
blurSettings[i].blurredMap = RenderTexture.GetTemporary( rd );
|
||||
var quality = BlurMaterial.GetFloat( "_KernelSize" );
|
||||
BlurMaterial.SetFloat( "_KernelSize", 8 );
|
||||
BlurMaterial.SetFloat( "_Radius", ( blurSettings[i].blurRadius + 0.01f ) * 16 );
|
||||
Graphics.Blit( rTex, blurSettings[i].blurredMap, BlurMaterial );
|
||||
BlurMaterial.SetFloat( "_KernelSize", quality );
|
||||
}
|
||||
else {
|
||||
|
||||
var rd = new RenderTextureDescriptor( Mathf.Max( rTex.width / blurSettings[i].blurDownscale, 1 ), Mathf.Max( rTex.height / blurSettings[i].blurDownscale, 1 ), RenderTextureFormat.Default, 0 );
|
||||
rd.sRGB = false;
|
||||
|
||||
if ( !blurSettings[i].blurredMap ) {
|
||||
blurSettings[i].blurredMap = RenderTexture.GetTemporary( rd );
|
||||
rd.colorFormat = RenderTextureFormat.Depth;
|
||||
rd.depthBufferBits = 16;
|
||||
}
|
||||
else if ( blurSettings[i].blurredMap.width != rTex.width / blurSettings[i].blurDownscale || blurSettings[i].blurredMap.height != rTex.height / blurSettings[i].blurDownscale ) {
|
||||
|
||||
|
||||
RenderTexture.ReleaseTemporary( blurSettings[i].blurredMap );
|
||||
RenderTexture.ReleaseTemporary( blurSettings[i].blurredDepth );
|
||||
|
||||
rd.depthBufferBits = 0;
|
||||
rd.colorFormat = RenderTextureFormat.Default;
|
||||
blurSettings[i].blurredMap = RenderTexture.GetTemporary( rd );
|
||||
rd.colorFormat = RenderTextureFormat.Depth;
|
||||
rd.depthBufferBits = 16;
|
||||
blurSettings[i].blurredDepth = RenderTexture.GetTemporary( rd );
|
||||
}
|
||||
|
||||
rd.colorFormat = RenderTextureFormat.Default;
|
||||
|
||||
BlurMaterial.SetFloat( "_Radius", ( blurSettings[i].blurRadius + 0.01f ) * 8 );
|
||||
var tempRT = RenderTexture.GetTemporary( rd );
|
||||
Graphics.Blit( rTex, blurSettings[i].blurredMap, BlurMaterial );
|
||||
Graphics.Blit( blurSettings[i].blurredMap, tempRT, BlurMaterial );
|
||||
Graphics.Blit( tempRT, blurSettings[i].blurredMap, BlurMaterial );
|
||||
RenderTexture.ReleaseTemporary( tempRT );
|
||||
}
|
||||
|
||||
if ( blurSettings[i].blurredMap ) {
|
||||
|
||||
if ( blurSettings[i].blurPassMode == 0 ) {
|
||||
mBlock.SetTexture( _reflectionTex, blurSettings[i].blurredMap );
|
||||
}
|
||||
else {
|
||||
mBlock.SetTexture( _blurReflectionTex, blurSettings[i].blurredMap );
|
||||
mBlock.SetTexture( _reflectionTex, rTex );
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
mBlock.SetTexture( _blurReflectionTex, rTex );
|
||||
mBlock.SetTexture( _reflectionTex, rTex );
|
||||
}
|
||||
|
||||
if ( castDepth[i] && castFromRenderer.Settings.renderDepth ) {
|
||||
mBlock.SetTexture( _reflectionDepth, castFromRenderer.GetReflectionDepth( cam ) );
|
||||
}
|
||||
else {
|
||||
mBlock.SetTexture( _reflectionDepth, (Texture)Texture2D.whiteTexture );
|
||||
}
|
||||
|
||||
if ( castFog[i] && castFromRenderer.Settings.renderFog ) {
|
||||
rend.sharedMaterials[i].EnableKeyword( "_USE_FOG" );
|
||||
mBlock.SetTexture( _reflectionFog, castFromRenderer.GetReflectionFog( cam ) );
|
||||
}
|
||||
else {
|
||||
rend.sharedMaterials[i].DisableKeyword( "_USE_FOG" );
|
||||
mBlock.SetTexture( _reflectionFog, (Texture)Texture2D.blackTexture );
|
||||
}
|
||||
}
|
||||
else {
|
||||
mBlock.SetTexture( _blurReflectionTex, (Texture)Texture2D.blackTexture );
|
||||
mBlock.SetTexture( _reflectionTex, (Texture)Texture2D.blackTexture );
|
||||
}
|
||||
|
||||
rend.SetPropertyBlock( mBlock, i );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0c7e755dc2cfc9342a9678ffe3c4e2c9
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences:
|
||||
- castFromRenderer: {instanceID: 0}
|
||||
- BlurMaterial: {fileID: 2100000, guid: b9505779f15113c449b88ec624e8f352, type: 2}
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,897 @@
|
||||
namespace PlanarReflections4 {
|
||||
|
||||
/*
|
||||
* PIDI - Planar Reflections™ 4 - Copyright© 2017-2021
|
||||
* PIDI - Planar Reflections is a trademark and copyrighted property of Jorge Pinal Negrete.
|
||||
|
||||
* You cannot sell, redistribute, share nor make public this code, modified or not, in part nor in whole, through any
|
||||
* means on any platform except with the purpose of contacting the developers to request support and only when taking
|
||||
* all pertinent measures to avoid its release to the public and / or any unrelated third parties.
|
||||
* Modifications are allowed only for internal use within the limits of your Unity based projects and cannot be shared,
|
||||
* published, redistributed nor made available to any third parties unrelated to Irreverent Software by any means.
|
||||
*
|
||||
* For more information, contact us at support@irreverent-software.com
|
||||
*
|
||||
*/
|
||||
|
||||
using UnityEngine.Rendering;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
#if UNITY_POST_PROCESSING_STACK_V2
|
||||
using UnityEngine.Rendering.PostProcessing;
|
||||
#endif
|
||||
|
||||
[System.Serializable]
|
||||
public class PlanarReflectionSettings {
|
||||
|
||||
public float nearClipPlane = 0.03f;
|
||||
|
||||
public float farClipPlane = 1000;
|
||||
|
||||
public LayerMask reflectLayers = 1;
|
||||
|
||||
[Range( 0, 1 )] public float customLODBias = 1.0f;
|
||||
|
||||
public int maxLODLevel;
|
||||
|
||||
public bool renderShadows = true;
|
||||
|
||||
public bool usePostFX = true;
|
||||
|
||||
public LayerMask postFXVolumeMask;
|
||||
|
||||
public bool accurateMatrix = true;
|
||||
|
||||
public string camerasTag;
|
||||
|
||||
public bool screenBasedResolution = true;
|
||||
|
||||
public Vector2 explicitResolution = new Vector2( 512, 512 );
|
||||
|
||||
[Range( 0.1f, 2.0f )] public float outputResolutionMultiplier = 1.0f;
|
||||
|
||||
[Range( 0, 60 )] public int reflectionFramerate = 0;
|
||||
|
||||
public bool useMipMaps = true;
|
||||
|
||||
public bool useAntialiasing = false;
|
||||
|
||||
public bool clearToColor = false;
|
||||
|
||||
public Color backgroundColor = Color.blue;
|
||||
|
||||
public bool renderDepth = false;
|
||||
|
||||
public bool renderFog;
|
||||
|
||||
public int fogRendererIndex = 1;
|
||||
|
||||
public bool forceHDR = true;
|
||||
|
||||
public bool updateOnCastOnly = true;
|
||||
|
||||
public bool framerateByDistance = true;
|
||||
|
||||
public float framerateThreshold = 20;
|
||||
|
||||
public Material customSkybox;
|
||||
|
||||
#if UPDATE_PLANAR3
|
||||
|
||||
#region LEGACY_API
|
||||
/// <summary>
|
||||
/// This is a legacy method and will be deprecated soon. Please use nearClipPlane instead.
|
||||
/// <br>Controls the near clip plane value of the virtual camera that renders the reflection. When using accurate matrices it is ignored and the reflective surface's plane is used instead.</br>
|
||||
/// </summary>
|
||||
public float nearClipDistance { get { return nearClipPlane; } set { nearClipPlane = value; } }
|
||||
|
||||
public float farClipDistance { get { return farClipPlane; } set { farClipPlane = value; } }
|
||||
|
||||
public bool customShadowDistance { get { return renderShadows; } }
|
||||
|
||||
public float shadowDistance { get { return 50f; } }
|
||||
|
||||
public int targetFramerate { get { return reflectionFramerate; } set { reflectionFramerate = value; } }
|
||||
|
||||
public bool useDepth { get { return renderDepth; } set { renderDepth = value; } }
|
||||
|
||||
public string CamerasTag { get { return camerasTag; } set { camerasTag = value; } }
|
||||
|
||||
public bool trackCamerasWithTag { get { return !string.IsNullOrEmpty( camerasTag ); } }
|
||||
|
||||
public PlanarReflections3.ReflectionClipMode reflectionClipMode {
|
||||
get { return accurateMatrix ? PlanarReflections3.ReflectionClipMode.AccurateClipping : PlanarReflections3.ReflectionClipMode.SimpleApproximation; }
|
||||
set { accurateMatrix = value == PlanarReflections3.ReflectionClipMode.AccurateClipping; }
|
||||
}
|
||||
|
||||
public PlanarReflections3.ResolutionMode resolutionMode {
|
||||
get { return screenBasedResolution ? PlanarReflections3.ResolutionMode.ScreenBased : PlanarReflections3.ResolutionMode.ExplicitValue; }
|
||||
set { screenBasedResolution = value == PlanarReflections3.ResolutionMode.ScreenBased; }
|
||||
}
|
||||
|
||||
public bool useCustomClearFlags { get { return true; } }
|
||||
|
||||
public int clearFlags { get { return clearToColor ? 1 : 0; } set { clearToColor = value == 1; } }
|
||||
|
||||
public bool forceFloatOutput { get { return forceHDR; } set { forceHDR = value; } }
|
||||
|
||||
#endregion
|
||||
#endif
|
||||
|
||||
#if UPDATE_PLANAR3
|
||||
|
||||
public static implicit operator PlanarReflectionSettings( PlanarReflections3.ReflectionSettings source ) {
|
||||
|
||||
var newSettings = new PlanarReflectionSettings();
|
||||
|
||||
newSettings.nearClipPlane = source.nearClipDistance;
|
||||
newSettings.farClipPlane = source.farClipDistance;
|
||||
newSettings.reflectLayers = source.reflectLayers;
|
||||
newSettings.renderShadows = !source.customShadowDistance || source.shadowDistance > 0.1f;
|
||||
newSettings.reflectionFramerate = source.targetFramerate;
|
||||
newSettings.usePostFX = source.usePostFX;
|
||||
newSettings.explicitResolution = source.explicitResolution;
|
||||
newSettings.renderDepth = source.useDepth;
|
||||
newSettings.useMipMaps = source.useMipMaps;
|
||||
newSettings.useAntialiasing = source.useAntialiasing;
|
||||
newSettings.clearToColor = source.useCustomClearFlags && source.clearFlags == 1;
|
||||
newSettings.camerasTag = source.trackCamerasWithTag ? source.CamerasTag : "";
|
||||
newSettings.outputResolutionMultiplier = source.resolutionDownscale;
|
||||
newSettings.forceHDR = source.forceFloatOutput;
|
||||
newSettings.backgroundColor = source.backgroundColor;
|
||||
newSettings.accurateMatrix = source.reflectionClipMode == PlanarReflections3.ReflectionClipMode.AccurateClipping;
|
||||
newSettings.screenBasedResolution = source.resolutionMode == PlanarReflections3.ResolutionMode.ScreenBased;
|
||||
|
||||
return newSettings;
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class ReflectionData {
|
||||
protected Camera _reflectionCam;
|
||||
public Camera ReflectionCamera { get { return _reflectionCam; } }
|
||||
|
||||
public UniversalAdditionalCameraData UniversalData;
|
||||
|
||||
public RenderTexture _reflectionTex;
|
||||
|
||||
public RenderTexture _reflectionDepth;
|
||||
|
||||
public RenderTexture _reflectionFog;
|
||||
|
||||
public Vector2Int screenRes;
|
||||
|
||||
public int recursionLevel = 0;
|
||||
|
||||
public float timer;
|
||||
|
||||
public void ForceSetCamera( Camera cam ) {
|
||||
_reflectionCam = cam;
|
||||
UniversalData = _reflectionCam.GetUniversalAdditionalCameraData();
|
||||
}
|
||||
|
||||
public ReflectionData( Camera cam, PlanarReflectionSettings settings ) {
|
||||
_reflectionCam = cam;
|
||||
_reflectionTex = RenderTexture.GetTemporary( 1, 1 );
|
||||
_reflectionDepth = RenderTexture.GetTemporary( 1, 1 );
|
||||
_reflectionFog = RenderTexture.GetTemporary( 1, 1 );
|
||||
screenRes = new Vector2Int( Screen.width, Screen.height );
|
||||
|
||||
UniversalData = _reflectionCam.GetUniversalAdditionalCameraData();
|
||||
|
||||
RegenerateTextures( settings );
|
||||
|
||||
}
|
||||
|
||||
public void RegenerateTextures( PlanarReflectionSettings settings ) {
|
||||
|
||||
RenderTexture.ReleaseTemporary( _reflectionTex );
|
||||
RenderTexture.ReleaseTemporary( _reflectionDepth );
|
||||
RenderTexture.ReleaseTemporary( _reflectionFog );
|
||||
|
||||
var rd = new RenderTextureDescriptor( Mathf.RoundToInt( settings.outputResolutionMultiplier * ( settings.screenBasedResolution ? Screen.width : settings.explicitResolution.x ) ), Mathf.RoundToInt( settings.outputResolutionMultiplier * ( settings.screenBasedResolution ? Screen.height : settings.explicitResolution.y ) ) );
|
||||
rd.useMipMap = settings.useMipMaps;
|
||||
rd.msaaSamples = 1;
|
||||
rd.colorFormat = settings.forceHDR ? RenderTextureFormat.DefaultHDR : RenderTextureFormat.Default;
|
||||
rd.depthBufferBits = 16;
|
||||
rd.autoGenerateMips = true;
|
||||
rd.volumeDepth = 1;
|
||||
rd.vrUsage = VRTextureUsage.None;
|
||||
rd.dimension = UnityEngine.Rendering.TextureDimension.Tex2D;
|
||||
rd.mipCount = 6;
|
||||
_reflectionTex = RenderTexture.GetTemporary( rd );
|
||||
_reflectionTex.filterMode = FilterMode.Bilinear;
|
||||
if ( settings.renderDepth ) {
|
||||
rd.colorFormat = RenderTextureFormat.Depth;
|
||||
_reflectionDepth = RenderTexture.GetTemporary( rd );
|
||||
_reflectionDepth.filterMode = FilterMode.Bilinear;
|
||||
_reflectionDepth.name = "_REFDEPTHP4";
|
||||
}
|
||||
else {
|
||||
RenderTexture.ReleaseTemporary( _reflectionDepth );
|
||||
}
|
||||
|
||||
if ( settings.renderFog ) {
|
||||
rd.colorFormat = RenderTextureFormat.Default;
|
||||
_reflectionFog = RenderTexture.GetTemporary( rd );
|
||||
_reflectionFog.filterMode = FilterMode.Bilinear;
|
||||
_reflectionFog.name = "_REFFOGP4";
|
||||
}
|
||||
else {
|
||||
RenderTexture.ReleaseTemporary( _reflectionFog );
|
||||
}
|
||||
screenRes = new Vector2Int( Screen.width, Screen.height );
|
||||
_reflectionTex.name = "_REFTEXP4";
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[HelpURL( "https://irreverent-software.com/docs/pidi-planar-reflections-4/getting-started/installation/" )]
|
||||
[ExecuteAlways]
|
||||
public class PlanarReflectionRenderer : MonoBehaviour {
|
||||
|
||||
#if UNITY_POST_PROCESSING_STACK_V2
|
||||
public PostProcessResources internalPostFXResources;
|
||||
#endif
|
||||
|
||||
|
||||
#if UNITY_EDITOR
|
||||
|
||||
public Mesh defaultReflectorMesh;
|
||||
|
||||
public Material defaultReflectorMaterial;
|
||||
|
||||
public bool showPreviewReflector;
|
||||
|
||||
public string Version { get { return "4.1.0"; } }
|
||||
|
||||
#endif
|
||||
|
||||
[SerializeField] protected PlanarReflectionSettings _settings = new PlanarReflectionSettings();
|
||||
|
||||
public PlanarReflectionSettings Settings { get { return _settings; } }
|
||||
|
||||
public RenderTexture externalReflectionTex;
|
||||
|
||||
public RenderTexture externalReflectionDepth;
|
||||
|
||||
protected Dictionary<Camera, ReflectionData> _reflectionData = new Dictionary<Camera, ReflectionData>();
|
||||
|
||||
private List<Camera> _reflectionCameras = new List<Camera>( new Camera[1] );
|
||||
|
||||
|
||||
private Camera[] updateCams = new Camera[0];
|
||||
|
||||
#if UNITY_EDITOR
|
||||
|
||||
protected ReflectionData _sceneReflection;
|
||||
|
||||
private MaterialPropertyBlock _sceneReflectorMatBlock;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
public Texture GetReflection( Camera cam ) {
|
||||
|
||||
if ( cam.cameraType == CameraType.SceneView ) {
|
||||
#if UNITY_EDITOR
|
||||
if ( externalReflectionTex ) {
|
||||
return _sceneReflection != null && _sceneReflection._reflectionTex != null ? (Texture)externalReflectionTex : Texture2D.blackTexture;
|
||||
}
|
||||
return _sceneReflection != null && _sceneReflection._reflectionTex != null ? (Texture)_sceneReflection._reflectionTex : Texture2D.blackTexture;
|
||||
#else
|
||||
return Texture2D.blackTexture;
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
|
||||
if ( externalReflectionTex ) {
|
||||
return _reflectionData.ContainsKey( cam ) ? (Texture)externalReflectionTex : Texture2D.blackTexture;
|
||||
}
|
||||
|
||||
if ( _reflectionData.ContainsKey( cam ) ) {
|
||||
return _reflectionData[cam]._reflectionTex;
|
||||
}
|
||||
else {
|
||||
return Texture2D.blackTexture;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public Texture GetReflectionDepth( Camera cam ) {
|
||||
|
||||
if ( cam.cameraType == CameraType.SceneView ) {
|
||||
#if UNITY_EDITOR
|
||||
return _sceneReflection != null && _sceneReflection._reflectionDepth != null ? (Texture)_sceneReflection._reflectionDepth : Texture2D.whiteTexture;
|
||||
#else
|
||||
return Texture2D.blackTexture;
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
if ( _reflectionData.ContainsKey( cam ) ) {
|
||||
return _reflectionData[cam]._reflectionDepth;
|
||||
}
|
||||
else {
|
||||
return Texture2D.blackTexture;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public Texture GetReflectionFog( Camera cam ) {
|
||||
|
||||
if ( cam.cameraType == CameraType.SceneView ) {
|
||||
#if UNITY_EDITOR
|
||||
return _sceneReflection != null && _sceneReflection._reflectionFog != null ? (Texture)_sceneReflection._reflectionFog : Texture2D.blackTexture;
|
||||
#else
|
||||
return Texture2D.blackTexture;
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
if ( _reflectionData.ContainsKey( cam ) ) {
|
||||
return _reflectionData[cam]._reflectionFog;
|
||||
}
|
||||
else {
|
||||
return Texture2D.blackTexture;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#if UNITY_EDITOR
|
||||
[UnityEditor.MenuItem( "GameObject/Effects/Planar Reflections 4/Create Reflections Renderer", priority = -99 )]
|
||||
public static void CreateReflectionsRendererObject() {
|
||||
|
||||
var reflector = new GameObject( "Reflection Renderer", typeof( PlanarReflectionRenderer ) );
|
||||
reflector.transform.position = Vector3.zero;
|
||||
reflector.transform.rotation = Quaternion.identity;
|
||||
|
||||
}
|
||||
|
||||
[UnityEditor.Callbacks.DidReloadScripts]
|
||||
private static void OnScriptsReloaded() {
|
||||
var cams = Resources.FindObjectsOfTypeAll<Camera>();
|
||||
|
||||
foreach ( Camera cam in cams ) {
|
||||
if ( cam.name.Contains( "_URPReflectionCamera" ) ) {
|
||||
#if !UNITY_2018_3_OR_NEWER
|
||||
DestroyImmediate( cam.targetTexture );
|
||||
#else
|
||||
RenderTexture.ReleaseTemporary( cam.targetTexture );
|
||||
#endif
|
||||
cam.targetTexture = null;
|
||||
DestroyImmediate( cam.gameObject );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
public void OnEnable() {
|
||||
|
||||
_reflectionCameras = new List<Camera>( new Camera[1] );
|
||||
|
||||
#if UNITY_EDITOR
|
||||
|
||||
|
||||
#if UNITY_2018_1_OR_NEWER
|
||||
UnityEditor.EditorApplication.QueuePlayerLoopUpdate();
|
||||
UnityEditor.SceneView.RepaintAll();
|
||||
#endif
|
||||
|
||||
|
||||
UnityEditor.Undo.undoRedoPerformed += ApplySettings;
|
||||
|
||||
if ( UnityEditor.AssetDatabase.FindAssets( "Planar4Logo_Gizmos" ).Length < 1 ) {
|
||||
|
||||
var sceneIcon = UnityEditor.AssetDatabase.LoadAssetAtPath<Texture2D>( UnityEditor.AssetDatabase.GUIDToAssetPath( UnityEditor.AssetDatabase.FindAssets( "l: Pidi_PlanarGizmos" )[0] ) );
|
||||
|
||||
|
||||
if ( !UnityEditor.AssetDatabase.IsValidFolder( "Assets/Gizmos" ) )
|
||||
UnityEditor.AssetDatabase.CreateFolder( "Assets", "Gizmos" );
|
||||
var t = new Texture2D( sceneIcon.width, sceneIcon.height );
|
||||
t.SetPixels( sceneIcon.GetPixels() );
|
||||
System.IO.File.WriteAllBytes( Application.dataPath + "/Gizmos/Planar4Logo_Gizmos.png", t.EncodeToPNG() );
|
||||
UnityEditor.AssetDatabase.Refresh();
|
||||
var importer = (UnityEditor.TextureImporter)UnityEditor.AssetImporter.GetAtPath( "Assets/Gizmos/Planar4Logo_Gizmos.png" );
|
||||
importer.isReadable = true;
|
||||
importer.textureType = UnityEditor.TextureImporterType.GUI;
|
||||
importer.SaveAndReimport();
|
||||
UnityEditor.AssetDatabase.Refresh();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#if UPDATE_PLANAR3
|
||||
if ( GetComponent<PlanarReflections3.PlanarReflectionsRenderer>() ) {
|
||||
_settings = GetComponent<PlanarReflections3.PlanarReflectionsRenderer>().Settings;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
//Camera.onPreCull += RenderReflection;
|
||||
|
||||
RenderPipelineManager.beginCameraRendering -= RenderURPReflection;
|
||||
RenderPipelineManager.beginCameraRendering += RenderURPReflection;
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void OnDisable() {
|
||||
|
||||
#if UNITY_EDITOR
|
||||
UnityEditor.Undo.undoRedoPerformed -= ApplySettings;
|
||||
#endif
|
||||
|
||||
|
||||
UnityEngine.Rendering.RenderPipelineManager.beginCameraRendering -= RenderURPReflection;
|
||||
|
||||
|
||||
foreach ( KeyValuePair<Camera, ReflectionData> pair in _reflectionData ) {
|
||||
RenderTexture.ReleaseTemporary( pair.Value._reflectionTex );
|
||||
RenderTexture.ReleaseTemporary( pair.Value._reflectionDepth );
|
||||
RenderTexture.ReleaseTemporary( pair.Value._reflectionFog );
|
||||
}
|
||||
|
||||
var cams = _reflectionCameras.ToArray();
|
||||
|
||||
for ( int i = 0; i < cams.Length; i++ ) {
|
||||
if ( cams[i] ) {
|
||||
DestroyImmediate( cams[i].gameObject );
|
||||
}
|
||||
}
|
||||
|
||||
_reflectionCameras.Clear();
|
||||
_reflectionCameras.Add( null );
|
||||
_reflectionData.Clear();
|
||||
#if UNITY_EDITOR
|
||||
_sceneReflection = default;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void ApplySettings() {
|
||||
|
||||
foreach ( KeyValuePair<Camera, ReflectionData> pair in _reflectionData ) {
|
||||
_reflectionData[pair.Key].RegenerateTextures( _settings );
|
||||
}
|
||||
|
||||
#if UNITY_EDITOR
|
||||
if ( _sceneReflection != null )
|
||||
_sceneReflection.RegenerateTextures( _settings );
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void RenderURPReflection( ScriptableRenderContext context, Camera cam ) {
|
||||
|
||||
|
||||
if ( !_reflectionData.ContainsKey( cam )
|
||||
#if UNITY_EDITOR
|
||||
||
|
||||
_sceneReflection == null ||
|
||||
!_sceneReflection.ReflectionCamera
|
||||
#endif
|
||||
) {
|
||||
|
||||
#if UNITY_EDITOR
|
||||
|
||||
if ( cam.cameraType == CameraType.SceneView ) {
|
||||
|
||||
if ( _sceneReflection == null ) {
|
||||
var rCam = new GameObject( "_URPSceneReflectionCamera", typeof( Camera ), typeof( Skybox ), typeof( UniversalAdditionalCameraData ) );
|
||||
|
||||
_reflectionCameras[0] = rCam.GetComponent<Camera>();
|
||||
|
||||
rCam.hideFlags = HideFlags.HideAndDontSave;
|
||||
rCam.GetComponent<Camera>().enabled = false;
|
||||
rCam.GetComponent<Camera>().cameraType = CameraType.Game;
|
||||
|
||||
#if UNITY_POST_PROCESSING_STACK_V2
|
||||
rCam.AddComponent<PostProcessLayer>();
|
||||
rCam.GetComponent<PostProcessLayer>().Init( internalPostFXResources );
|
||||
rCam.GetComponent<PostProcessLayer>().enabled = false;
|
||||
#endif
|
||||
|
||||
_sceneReflection = new ReflectionData( _reflectionCameras[0], _settings );
|
||||
}
|
||||
else {
|
||||
if ( !_sceneReflection.ReflectionCamera ) {
|
||||
var rCam = new GameObject( "_URPSceneReflectionCamera", typeof( Camera ), typeof( Skybox ), typeof( UniversalAdditionalCameraData ) );
|
||||
|
||||
_reflectionCameras[0] = rCam.GetComponent<Camera>();
|
||||
|
||||
#if UNITY_POST_PROCESSING_STACK_V2
|
||||
rCam.AddComponent<PostProcessLayer>();
|
||||
rCam.GetComponent<PostProcessLayer>().Init( internalPostFXResources );
|
||||
rCam.GetComponent<PostProcessLayer>().enabled = false;
|
||||
#endif
|
||||
|
||||
rCam.hideFlags = HideFlags.HideAndDontSave;
|
||||
rCam.GetComponent<Camera>().enabled = false;
|
||||
rCam.GetComponent<Camera>().cameraType = CameraType.Game;
|
||||
}
|
||||
|
||||
_sceneReflection.ForceSetCamera( _reflectionCameras[0] );
|
||||
}
|
||||
|
||||
//var rCam = new GameObject( "_URPReflectionCamera", typeof( Camera ), typeof( Skybox ), typeof(UniversalAdditionalCameraData) );
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
|
||||
#endif
|
||||
if ( cam.cameraType == CameraType.Game && !_reflectionData.ContainsKey( cam ) && !cam.gameObject.name.Contains( "ReflectionCamera" ) && cam.gameObject.hideFlags == HideFlags.None ) {
|
||||
var rCam = new GameObject( "_URPGameReflectionCamera", typeof( Camera ), typeof( Skybox ), typeof( UniversalAdditionalCameraData ) );
|
||||
|
||||
_reflectionCameras.Add( rCam.GetComponent<Camera>() );
|
||||
|
||||
rCam.hideFlags = HideFlags.HideAndDontSave;
|
||||
rCam.GetComponent<Camera>().enabled = false;
|
||||
rCam.GetComponent<Camera>().cameraType = CameraType.Game;
|
||||
|
||||
_reflectionData.Add( cam, new ReflectionData( rCam.GetComponent<Camera>(), _settings ) );
|
||||
}
|
||||
|
||||
|
||||
#if UNITY_EDITOR
|
||||
if ( cam.cameraType == CameraType.SceneView ) {
|
||||
if ( _sceneReflection == null ) {
|
||||
_sceneReflection = new ReflectionData( _reflectionCameras[0], _settings );
|
||||
}
|
||||
else {
|
||||
_sceneReflection.ForceSetCamera( _reflectionCameras[0] );
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
# endif
|
||||
if ( cam.cameraType == CameraType.Game && !_reflectionData.ContainsKey( cam ) && !cam.gameObject.name.Contains( "ReflectionCamera" ) && cam.gameObject.hideFlags == HideFlags.None ) {
|
||||
_reflectionData.Add( cam, new ReflectionData( _reflectionCameras[0], _settings ) );
|
||||
}
|
||||
else if ( cam.gameObject.hideFlags != HideFlags.None ) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Plane reflectionPlane = new Plane( transform.up, transform.position );
|
||||
|
||||
if ( Mathf.Abs( Vector3.Dot( transform.up, cam.transform.forward ) ) < 0.01f && ( cam.orthographic || reflectionPlane.GetDistanceToPoint( cam.transform.position ) < 0.025f ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
#if UNITY_EDITOR
|
||||
|
||||
var isSceneCam = cam.cameraType == CameraType.SceneView;
|
||||
|
||||
|
||||
if ( !_reflectionData.ContainsKey( cam ) && !isSceneCam ) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ( isSceneCam ) {
|
||||
if ( Screen.width != _sceneReflection.screenRes.x || Screen.height != _sceneReflection.screenRes.y ) {
|
||||
_sceneReflection.RegenerateTextures( _settings );
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ( Screen.width != _reflectionData[cam].screenRes.x || Screen.height != _reflectionData[cam].screenRes.y ) {
|
||||
_reflectionData[cam].RegenerateTextures( _settings );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
var currentData = isSceneCam ? _sceneReflection : _reflectionData[cam];
|
||||
#else
|
||||
if ( Screen.width != _reflectionData[cam].screenRes.x || Screen.height != _reflectionData[cam].screenRes.y ) {
|
||||
_reflectionData[cam].RegenerateTextures( _settings );
|
||||
}
|
||||
|
||||
var currentData = _reflectionData[cam];
|
||||
#endif
|
||||
var refCamera = currentData.ReflectionCamera;
|
||||
|
||||
refCamera.CopyFrom( cam );
|
||||
refCamera.allowHDR = cam.allowHDR;
|
||||
refCamera.allowMSAA = false;
|
||||
refCamera.useOcclusionCulling = false;
|
||||
refCamera.cullingMask = _settings.reflectLayers;
|
||||
refCamera.clearFlags = _settings.clearToColor ? CameraClearFlags.SolidColor : CameraClearFlags.Skybox;
|
||||
refCamera.backgroundColor = _settings.backgroundColor;
|
||||
refCamera.cameraType = CameraType.Game;
|
||||
refCamera.renderingPath = cam.renderingPath;
|
||||
|
||||
refCamera.useOcclusionCulling = false;
|
||||
|
||||
refCamera.targetTexture = externalReflectionTex ? externalReflectionTex : currentData._reflectionTex;
|
||||
|
||||
|
||||
Skybox skyComp;
|
||||
|
||||
if ( refCamera.TryGetComponent<Skybox>( out skyComp ) ) {
|
||||
skyComp.material = _settings.customSkybox;
|
||||
}
|
||||
|
||||
#if UNITY_POST_PROCESSING_STACK_V2
|
||||
|
||||
var uData = refCamera.GetUniversalAdditionalCameraData();
|
||||
|
||||
PostProcessLayer postFX;
|
||||
|
||||
if ( refCamera.TryGetComponent<PostProcessLayer>( out postFX ) ) {
|
||||
postFX.enabled = _settings.usePostFX;
|
||||
postFX.volumeLayer = _settings.postFXVolumeMask;
|
||||
}
|
||||
#else
|
||||
|
||||
var uData = refCamera.GetUniversalAdditionalCameraData();
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
Vector3 worldSpaceViewDir = cam.transform.forward;
|
||||
Vector3 worldSpaceViewUp = cam.transform.up;
|
||||
Vector3 worldSpaceCamPos = cam.transform.position;
|
||||
|
||||
Vector3 planeSpaceViewDir = transform.InverseTransformDirection( worldSpaceViewDir );
|
||||
Vector3 planeSpaceViewUp = transform.InverseTransformDirection( worldSpaceViewUp );
|
||||
Vector3 planeSpaceCamPos = transform.InverseTransformPoint( worldSpaceCamPos );
|
||||
|
||||
planeSpaceViewDir.y *= -1.0f;
|
||||
planeSpaceViewUp.y *= -1.0f;
|
||||
planeSpaceCamPos.y *= -1.0f;
|
||||
|
||||
worldSpaceViewDir = transform.TransformDirection( planeSpaceViewDir );
|
||||
worldSpaceViewUp = transform.TransformDirection( planeSpaceViewUp );
|
||||
worldSpaceCamPos = transform.TransformPoint( planeSpaceCamPos );
|
||||
|
||||
refCamera.transform.position = worldSpaceCamPos;
|
||||
refCamera.transform.LookAt( worldSpaceCamPos + worldSpaceViewDir, worldSpaceViewUp );
|
||||
|
||||
refCamera.nearClipPlane = _settings.nearClipPlane;
|
||||
refCamera.farClipPlane = _settings.farClipPlane;
|
||||
|
||||
refCamera.rect = new Rect( 0, 0, 1, 1 );
|
||||
|
||||
refCamera.aspect = cam.aspect;
|
||||
|
||||
|
||||
if ( _settings.accurateMatrix ) {
|
||||
refCamera.projectionMatrix = refCamera.CalculateObliqueMatrix( CameraSpacePlane( refCamera, transform.position, transform.up ) );
|
||||
}
|
||||
|
||||
|
||||
var tempLOD = QualitySettings.lodBias;
|
||||
var maxLod = QualitySettings.maximumLODLevel;
|
||||
|
||||
QualitySettings.lodBias *= _settings.customLODBias;
|
||||
QualitySettings.maximumLODLevel = _settings.maxLODLevel;
|
||||
|
||||
|
||||
uData.renderShadows = _settings.renderShadows;
|
||||
uData.volumeLayerMask = _settings.postFXVolumeMask;
|
||||
uData.antialiasing = _settings.useAntialiasing ? AntialiasingMode.FastApproximateAntialiasing : AntialiasingMode.None;
|
||||
|
||||
if (
|
||||
#if UNITY_EDITOR
|
||||
!Application.isPlaying ||
|
||||
#endif
|
||||
( Time.realtimeSinceStartup > currentData.timer ) ) {
|
||||
|
||||
|
||||
if ( _settings.renderFog ) {
|
||||
refCamera.targetTexture = currentData._reflectionFog;
|
||||
#if UNITY_POST_PROCESSING_STACK_V2
|
||||
if (postFX)
|
||||
postFX.enabled = false;
|
||||
#else
|
||||
uData.renderPostProcessing = false;
|
||||
#endif
|
||||
uData.SetRenderer( _settings.fogRendererIndex );
|
||||
UniversalRenderPipeline.RenderSingleCamera( context, refCamera );
|
||||
uData.SetRenderer( 0 );
|
||||
}
|
||||
|
||||
|
||||
if ( _settings.renderDepth ) {
|
||||
refCamera.targetTexture = currentData._reflectionDepth;
|
||||
refCamera.depthTextureMode = DepthTextureMode.Depth;
|
||||
#if UNITY_POST_PROCESSING_STACK_V2
|
||||
if (postFX)
|
||||
postFX.enabled = false;
|
||||
#else
|
||||
uData.renderPostProcessing = false;
|
||||
#endif
|
||||
uData.requiresColorOption = CameraOverrideOption.Off;
|
||||
uData.renderShadows = false;
|
||||
|
||||
UniversalRenderPipeline.RenderSingleCamera( context, refCamera );
|
||||
|
||||
#if UNITY_EDITOR
|
||||
if ( isSceneCam ) {
|
||||
uData.renderPostProcessing = false;
|
||||
}
|
||||
else {
|
||||
#endif
|
||||
#if UNITY_POST_PROCESSING_STACK_V2
|
||||
if (!postFX)
|
||||
#endif
|
||||
uData.renderPostProcessing = _settings.usePostFX;
|
||||
#if UNITY_EDITOR
|
||||
}
|
||||
#endif
|
||||
uData.volumeLayerMask = _settings.postFXVolumeMask;
|
||||
}
|
||||
|
||||
refCamera.targetTexture = currentData._reflectionTex;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
if ( isSceneCam ) {
|
||||
uData.renderPostProcessing = false;
|
||||
}
|
||||
else {
|
||||
#endif
|
||||
uData.renderPostProcessing = _settings.usePostFX;
|
||||
#if UNITY_EDITOR
|
||||
}
|
||||
#endif
|
||||
uData.volumeLayerMask = _settings.postFXVolumeMask;
|
||||
|
||||
uData.requiresDepthOption = CameraOverrideOption.Off;
|
||||
uData.requiresColorOption = CameraOverrideOption.Off;
|
||||
|
||||
if ( _settings.usePostFX
|
||||
#if UNITY_EDITOR
|
||||
&& !isSceneCam
|
||||
#endif
|
||||
) {
|
||||
refCamera.enabled = true;
|
||||
}
|
||||
else {
|
||||
refCamera.enabled = false;
|
||||
UniversalRenderPipeline.RenderSingleCamera( context, refCamera );
|
||||
}
|
||||
}
|
||||
|
||||
QualitySettings.maximumLODLevel = maxLod;
|
||||
QualitySettings.lodBias = tempLOD;
|
||||
|
||||
|
||||
|
||||
if (
|
||||
#if UNITY_EDITOR
|
||||
Application.isPlaying &&
|
||||
#endif
|
||||
Time.realtimeSinceStartup > currentData.timer && _settings.reflectionFramerate > 0 ) {
|
||||
currentData.timer = Time.realtimeSinceStartup + ( 1.0f / _settings.reflectionFramerate );
|
||||
}
|
||||
|
||||
#if UNITY_EDITOR
|
||||
if ( cam.cameraType == CameraType.SceneView && showPreviewReflector )
|
||||
DrawReflectorMesh( cam, currentData );
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void LateUpdate() {
|
||||
|
||||
if ( _settings.usePostFX ) {
|
||||
|
||||
if ( updateCams.Length != _reflectionData.Keys.Count ) {
|
||||
updateCams = new Camera[_reflectionData.Keys.Count];
|
||||
}
|
||||
|
||||
_reflectionData.Keys.CopyTo( updateCams, 0 );
|
||||
|
||||
for ( int c = 0; c < updateCams.Length; c++ ) {
|
||||
if ( updateCams[c] != null ) {
|
||||
|
||||
Vector3 worldSpaceViewDir = updateCams[c].transform.forward;
|
||||
Vector3 worldSpaceViewUp = updateCams[c].transform.up;
|
||||
Vector3 worldSpaceCamPos = updateCams[c].transform.position;
|
||||
|
||||
Vector3 planeSpaceViewDir = transform.InverseTransformDirection( worldSpaceViewDir );
|
||||
Vector3 planeSpaceViewUp = transform.InverseTransformDirection( worldSpaceViewUp );
|
||||
Vector3 planeSpaceCamPos = transform.InverseTransformPoint( worldSpaceCamPos );
|
||||
|
||||
planeSpaceViewDir.y *= -1.0f;
|
||||
planeSpaceViewUp.y *= -1.0f;
|
||||
planeSpaceCamPos.y *= -1.0f;
|
||||
|
||||
worldSpaceViewDir = transform.TransformDirection( planeSpaceViewDir );
|
||||
worldSpaceViewUp = transform.TransformDirection( planeSpaceViewUp );
|
||||
worldSpaceCamPos = transform.TransformPoint( planeSpaceCamPos );
|
||||
|
||||
if ( _reflectionData[updateCams[c]].ReflectionCamera ) {
|
||||
_reflectionData[updateCams[c]].ReflectionCamera.transform.position = worldSpaceCamPos;
|
||||
_reflectionData[updateCams[c]].ReflectionCamera.transform.LookAt( worldSpaceCamPos + worldSpaceViewDir, worldSpaceViewUp );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private Vector4 CameraSpacePlane( Camera forCamera, Vector3 planeCenter, Vector3 planeNormal ) {
|
||||
Vector3 offsetPos = planeCenter;
|
||||
Matrix4x4 mtx = forCamera.worldToCameraMatrix;
|
||||
Vector3 cPos = mtx.MultiplyPoint( offsetPos );
|
||||
Vector3 cNormal = mtx.MultiplyVector( planeNormal ).normalized * 1;
|
||||
return new Vector4( cNormal.x, cNormal.y, cNormal.z, -Vector3.Dot( cPos, cNormal ) );
|
||||
}
|
||||
|
||||
|
||||
#if UNITY_EDITOR
|
||||
private void DrawReflectorMesh( Camera sceneCam, ReflectionData data ) {
|
||||
|
||||
|
||||
var matrix = new Matrix4x4();
|
||||
matrix.SetTRS( transform.position, transform.rotation, Vector3.one * 10 );
|
||||
|
||||
if ( _sceneReflectorMatBlock == null ) {
|
||||
_sceneReflectorMatBlock = new MaterialPropertyBlock();
|
||||
}
|
||||
|
||||
_sceneReflectorMatBlock.SetTexture( "_ReflectionTex", data._reflectionTex ? (Texture)data._reflectionTex : (Texture)Texture2D.blackTexture );
|
||||
Graphics.DrawMesh( defaultReflectorMesh, matrix, defaultReflectorMaterial, 0, sceneCam, 0, _sceneReflectorMatBlock );
|
||||
|
||||
}
|
||||
|
||||
public void OnDrawGizmos() {
|
||||
|
||||
Gizmos.matrix = Matrix4x4.TRS( transform.position, transform.rotation, Vector3.one );
|
||||
Gizmos.DrawIcon( transform.position + transform.rotation * Vector3.up, "Planar4Logo_Gizmos.png" );
|
||||
Gizmos.color = Color.clear;
|
||||
Gizmos.DrawCube( Vector3.zero, new Vector3( 1, 0.01f, 1 ) * 10 );
|
||||
Gizmos.color = Color.cyan;
|
||||
Gizmos.DrawWireCube( Vector3.zero, new Vector3( 1, 0, 1 ) * 10 );
|
||||
Gizmos.matrix = Matrix4x4.TRS( Vector3.zero, Quaternion.identity, Vector3.one );
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void OnDrawGizmosSelected() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dde72cd477072284786978889ffce393
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences:
|
||||
- internalPostFXResources: {fileID: 11400000, guid: 4be3c01c56742ae44be75ba170c06426,
|
||||
type: 2}
|
||||
- defaultReflectorMesh: {fileID: 4300002, guid: 7895f1f943551db4e9784958a7e88a58,
|
||||
type: 3}
|
||||
- defaultReflectorMaterial: {fileID: 2100000, guid: fbfc4efe23a9b0046a787d829353352b,
|
||||
type: 2}
|
||||
- externalReflectionTex: {instanceID: 0}
|
||||
- externalReflectionDepth: {instanceID: 0}
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6504fa9825c3280408e47492ea01509e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 955435e283c014f48a9f1e914fb1a113
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,78 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-3390901880458225834
|
||||
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: 6b3d386ba5cd94485973aee1479b272e, type: 3}
|
||||
m_Name: Fog Pass
|
||||
m_EditorClassIdentifier:
|
||||
m_Active: 1
|
||||
settings:
|
||||
passTag: Fog Pass
|
||||
Event: 1000
|
||||
filterSettings:
|
||||
RenderQueueType: 0
|
||||
LayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
PassNames: []
|
||||
overrideMaterial: {fileID: 2100000, guid: edc18ab1799dc3c4c8660c19ecccf8f1, type: 2}
|
||||
overrideMaterialPassIndex: 0
|
||||
overrideDepthState: 0
|
||||
depthCompareFunction: 4
|
||||
enableWrite: 1
|
||||
stencilSettings:
|
||||
overrideStencilState: 0
|
||||
stencilReference: 0
|
||||
stencilCompareFunction: 8
|
||||
passOperation: 0
|
||||
failOperation: 0
|
||||
zFailOperation: 0
|
||||
cameraSettings:
|
||||
overrideCamera: 0
|
||||
restoreCamera: 1
|
||||
offset: {x: 0, y: 0, z: 0, w: 0}
|
||||
cameraFieldOfView: 60
|
||||
--- !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: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
|
||||
m_Name: FogPassRenderer
|
||||
m_EditorClassIdentifier:
|
||||
m_RendererFeatures:
|
||||
- {fileID: -3390901880458225834}
|
||||
m_RendererFeatureMap: 5657159bb418f1d0
|
||||
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
|
||||
shaders:
|
||||
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
|
||||
copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
|
||||
screenSpaceShadowPS: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd,
|
||||
type: 3}
|
||||
samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
|
||||
fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
|
||||
m_OpaqueLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_TransparentLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_DefaultStencilState:
|
||||
overrideStencilState: 0
|
||||
stencilReference: 0
|
||||
stencilCompareFunction: 8
|
||||
passOperation: 0
|
||||
failOperation: 0
|
||||
zFailOperation: 0
|
||||
m_ShadowTransparentReceive: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5ac2af85432eee34fa79ce979fd9b4d1
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0d8670d18e5ba894da1dc5f71c504325
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 395f8074c40345b4ea2c6ed4323235d0
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,115 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-8341277315260605683
|
||||
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: 1
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: 05_1
|
||||
m_Shader: {fileID: -6465566751694194690, guid: 218a4b777c24d964cb8acdef5fb8b2e6, type: 3}
|
||||
m_ShaderKeywords: _BLUR_REFLECTIONS_ON
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
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}
|
||||
- _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}
|
||||
- _MetallicMap:
|
||||
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}
|
||||
- _PBRLikeReflections_F050121A_Texture2DBCCC4859_293498272:
|
||||
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_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _BLUR_REFLECTIONS: 1
|
||||
- _Blend: 0
|
||||
- _BumpScale: 1
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DstBlend: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 1
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0.39
|
||||
- _OcclusionStrength: 1
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _ReflectionBump: 0.026
|
||||
- _SmoothToReflection: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 0.29245278, g: 0.27610323, b: 0.25566626, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ReflectionTint: {r: 0.6603774, g: 0.6603774, b: 0.6603774, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
- _UVTiling: {r: 2, g: 2, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a35887026d4dd4a47947aacdc3db238f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,115 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-8341277315260605683
|
||||
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: 1
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Metallic (Alpha) 1
|
||||
m_Shader: {fileID: -6465566751694194690, guid: 218a4b777c24d964cb8acdef5fb8b2e6, type: 3}
|
||||
m_ShaderKeywords: _BLUR_REFLECTIONS_ON
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
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}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: be8dcd3fe301d794ab25ee90ed59a54b, type: 3}
|
||||
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}
|
||||
- _MetallicMap:
|
||||
m_Texture: {fileID: 2800000, guid: d221b879ee42df14d8643aa3c004860a, type: 3}
|
||||
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}
|
||||
- _PBRLikeReflections_F050121A_Texture2DBCCC4859_293498272:
|
||||
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_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _BLUR_REFLECTIONS: 1
|
||||
- _Blend: 0
|
||||
- _BumpScale: 1
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DstBlend: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0.12
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0.107
|
||||
- _OcclusionStrength: 1
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _ReflectionBump: 0.026
|
||||
- _SmoothToReflection: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 0.6981132, g: 0.5705907, b: 0.43796724, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ReflectionTint: {r: 0.6320754, g: 0.6320754, b: 0.6320754, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
- _UVTiling: {r: 2, g: 2, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5f619788981f933478acfd3586163983
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,115 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-8341277315260605683
|
||||
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: 1
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: zt04_deng03
|
||||
m_Shader: {fileID: -6465566751694194690, guid: 218a4b777c24d964cb8acdef5fb8b2e6, type: 3}
|
||||
m_ShaderKeywords: _BLUR_REFLECTIONS_ON
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
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}
|
||||
- _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}
|
||||
- _MetallicMap:
|
||||
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}
|
||||
- _PBRLikeReflections_F050121A_Texture2DBCCC4859_293498272:
|
||||
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_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _BLUR_REFLECTIONS: 1
|
||||
- _Blend: 0
|
||||
- _BumpScale: 1
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DstBlend: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 1
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0.39
|
||||
- _OcclusionStrength: 1
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _ReflectionBump: 0.026
|
||||
- _SmoothToReflection: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 0.2924528, g: 0.27610326, b: 0.2556663, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ReflectionTint: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
- _UVTiling: {r: 2, g: 2, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 56120534f49c5a1479171c78737dbb3f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ce4d89ec66acfea46bdde037e5a13b4c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8eacc4a6336aacc40887d864b1a2e5e0
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 60072b568d64c40a485e0fc55012dc9f, type: 3}
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a71bd3b2478457941b98aad7197cb70b
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 60072b568d64c40a485e0fc55012dc9f, type: 3}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 49797e4406351924ca8e7b2088e0e34f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 04a9f39249719fb4b9df72e054ae53ca
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
|
||||
@@ -0,0 +1,116 @@
|
||||
%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: Debug Depth
|
||||
m_Shader: {fileID: -6465566751694194690, guid: a3d5b0efec42ea943be72fbc2ba197fe, 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:
|
||||
- MOTIONVECTORS
|
||||
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}
|
||||
- _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}
|
||||
- _ReflectionTex:
|
||||
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
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DepthPower: 0.564
|
||||
- _DstBlend: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ReflectionTint: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &4277353908764529035
|
||||
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: 9
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 090c79d01d176ed45b5003e0e9cd36eb
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a3d5b0efec42ea943be72fbc2ba197fe
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
|
||||
@@ -0,0 +1,115 @@
|
||||
%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: Simple Tinted
|
||||
m_Shader: {fileID: -6465566751694194690, guid: bd4bc9822254d704cbf48f35aebc9928, 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:
|
||||
- MOTIONVECTORS
|
||||
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}
|
||||
- _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}
|
||||
- _ReflectionTex:
|
||||
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
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DstBlend: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ReflectionTint: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &4277353908764529035
|
||||
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: 9
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 05d5a3161d7a66549978326d21661471
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bd4bc9822254d704cbf48f35aebc9928
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2cfcb09805835c141a3cfdc0a0e13fd0
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,84 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-7794566347460897111
|
||||
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: 9
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Shader Graphs_Water (Advanced)
|
||||
m_Shader: {fileID: -6465566751694194690, guid: df7154b5fd570834ba7977e15023cab9, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _FoamTexture:
|
||||
m_Texture: {fileID: 2800000, guid: cfa5a2106223add4487f9e7e69e0cc73, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReflectionTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _WaterGradient:
|
||||
m_Texture: {fileID: 2800000, guid: 9f3d43c8d75062f4bb420270ea892aad, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _WavesMap:
|
||||
m_Texture: {fileID: 2800000, guid: 4910e02118dc64947b2b69b4b4dd3cef, type: 3}
|
||||
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:
|
||||
- Vector1_DA47F82B: -0.03
|
||||
- Vector1_EF8DA9C1: 0
|
||||
- _FoamWidth: 0.046
|
||||
- _QueueControl: 1
|
||||
- _QueueOffset: 0
|
||||
- _Smoothness: 0.64
|
||||
- _WaterBottom: 10.8
|
||||
- _WaterClarity: -0
|
||||
m_Colors:
|
||||
- _FoamColor: {r: 0.6698113, g: 0.6698113, b: 0.6698113, a: 0.28235295}
|
||||
- _FoamData: {r: 0.3, g: 0.3, b: 0.05, a: 0.15}
|
||||
- _WaveData0: {r: -0.2, g: -0.1, b: 0.15, a: -0.15}
|
||||
- _WaveData1: {r: 0.33, g: 0.33, b: -0.05, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 44b41d44292d1cb40bb26fdfe69a0baa
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,85 @@
|
||||
%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: Shader Graphs_Water (No Refraction)
|
||||
m_Shader: {fileID: -6465566751694194690, guid: 967c325d92eb9ee43b17094d71d1a4dc, 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:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _FoamTexture:
|
||||
m_Texture: {fileID: 2800000, guid: cfa5a2106223add4487f9e7e69e0cc73, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReflectionTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _WaterGradient:
|
||||
m_Texture: {fileID: 2800000, guid: 5b55c69206e460349b7a0b97d6e07d6e, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _WavesMap:
|
||||
m_Texture: {fileID: 2800000, guid: 4910e02118dc64947b2b69b4b4dd3cef, type: 3}
|
||||
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:
|
||||
- Vector1_DA47F82B: -0.03
|
||||
- Vector1_EF8DA9C1: 0
|
||||
- _FoamWidth: 0.195
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _Smoothness: 0.916
|
||||
- _WaterBottom: 9.4
|
||||
- _WaterClarity: -2.84
|
||||
m_Colors:
|
||||
- _FoamColor: {r: 0.6981132, g: 0.6981132, b: 0.6981132, a: 0}
|
||||
- _FoamData: {r: 1, g: 1, b: 0.05, a: 0.15}
|
||||
- _WaterColor: {r: 0.23767357, g: 0.45586398, b: 0.46226418, a: 0}
|
||||
- _WaveData0: {r: 0.66, g: 0.66, b: 0.15, a: -0.15}
|
||||
- _WaveData1: {r: 0.33, g: 0.33, b: -0.05, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &2185651902784238174
|
||||
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: 9
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 26ab81578c6518349a6f7f16fe3451e6
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,85 @@
|
||||
%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: Shader Graphs_Water (Simple)
|
||||
m_Shader: {fileID: -6465566751694194690, guid: 0d72c7ee57a3f2d46b6dcc1f98b03116, 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:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _FoamTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 59c44ebf4813c8646a8823a20b53631f, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReflectionTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _WaterGradient:
|
||||
m_Texture: {fileID: 2800000, guid: 5b55c69206e460349b7a0b97d6e07d6e, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _WavesMap:
|
||||
m_Texture: {fileID: 2800000, guid: 4910e02118dc64947b2b69b4b4dd3cef, type: 3}
|
||||
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:
|
||||
- Vector1_DA47F82B: -0.03
|
||||
- Vector1_EF8DA9C1: 0
|
||||
- _FoamWidth: 0.195
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _Smoothness: 0.916
|
||||
- _WaterBottom: 3.74
|
||||
- _WaterClarity: -1.4
|
||||
m_Colors:
|
||||
- _FoamColor: {r: 0.6981132, g: 0.6981132, b: 0.6981132, a: 0}
|
||||
- _FoamData: {r: 1, g: 1, b: 0.05, a: 0.15}
|
||||
- _WaterColor: {r: 0.18218228, g: 0.4077506, b: 0.4339623, a: 0}
|
||||
- _WaveData0: {r: 0.66, g: 0.66, b: 0.15, a: -0.15}
|
||||
- _WaveData1: {r: 0.33, g: 0.33, b: -0.05, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &2047254195071031035
|
||||
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: 9
|
||||