111
This commit is contained in:
873
Assets/GameRes/Main/SceneArt/VRScene/Materials/Bj.shader
Normal file
873
Assets/GameRes/Main/SceneArt/VRScene/Materials/Bj.shader
Normal file
@@ -0,0 +1,873 @@
|
||||
// Made with Amplify Shader Editor
|
||||
// Available at the Unity Asset Store - http://u3d.as/y3X
|
||||
Shader "Bj"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
[HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5
|
||||
[HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1)
|
||||
[ASEBegin]_TextureSample0("Texture Sample 0", 2D) = "white" {}
|
||||
_Float0("Float 0", Float) = 0
|
||||
[ASEEnd]_Color("Color", Color) = (1,1,1,1)
|
||||
[HideInInspector] _texcoord( "", 2D ) = "white" {}
|
||||
|
||||
//_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5
|
||||
//_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16
|
||||
//_TessMin( "Tess Min Distance", Float ) = 10
|
||||
//_TessMax( "Tess Max Distance", Float ) = 25
|
||||
//_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16
|
||||
//_TessMaxDisp( "Tess Max Displacement", Float ) = 25
|
||||
}
|
||||
|
||||
SubShader
|
||||
{
|
||||
LOD 0
|
||||
|
||||
|
||||
Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" }
|
||||
|
||||
Cull Back
|
||||
AlphaToMask Off
|
||||
HLSLINCLUDE
|
||||
#pragma target 2.0
|
||||
|
||||
float4 FixedTess( float tessValue )
|
||||
{
|
||||
return tessValue;
|
||||
}
|
||||
|
||||
float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos )
|
||||
{
|
||||
float3 wpos = mul(o2w,vertex).xyz;
|
||||
float dist = distance (wpos, cameraPos);
|
||||
float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess;
|
||||
return f;
|
||||
}
|
||||
|
||||
float4 CalcTriEdgeTessFactors (float3 triVertexFactors)
|
||||
{
|
||||
float4 tess;
|
||||
tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z);
|
||||
tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z);
|
||||
tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y);
|
||||
tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f;
|
||||
return tess;
|
||||
}
|
||||
|
||||
float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams )
|
||||
{
|
||||
float dist = distance (0.5 * (wpos0+wpos1), cameraPos);
|
||||
float len = distance(wpos0, wpos1);
|
||||
float f = max(len * scParams.y / (edgeLen * dist), 1.0);
|
||||
return f;
|
||||
}
|
||||
|
||||
float DistanceFromPlane (float3 pos, float4 plane)
|
||||
{
|
||||
float d = dot (float4(pos,1.0f), plane);
|
||||
return d;
|
||||
}
|
||||
|
||||
bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] )
|
||||
{
|
||||
float4 planeTest;
|
||||
planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) +
|
||||
(( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) +
|
||||
(( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f );
|
||||
planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) +
|
||||
(( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) +
|
||||
(( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f );
|
||||
planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) +
|
||||
(( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) +
|
||||
(( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f );
|
||||
planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) +
|
||||
(( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) +
|
||||
(( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f );
|
||||
return !all (planeTest);
|
||||
}
|
||||
|
||||
float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos )
|
||||
{
|
||||
float3 f;
|
||||
f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos);
|
||||
f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos);
|
||||
f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos);
|
||||
|
||||
return CalcTriEdgeTessFactors (f);
|
||||
}
|
||||
|
||||
float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams )
|
||||
{
|
||||
float3 pos0 = mul(o2w,v0).xyz;
|
||||
float3 pos1 = mul(o2w,v1).xyz;
|
||||
float3 pos2 = mul(o2w,v2).xyz;
|
||||
float4 tess;
|
||||
tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams);
|
||||
tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams);
|
||||
tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams);
|
||||
tess.w = (tess.x + tess.y + tess.z) / 3.0f;
|
||||
return tess;
|
||||
}
|
||||
|
||||
float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] )
|
||||
{
|
||||
float3 pos0 = mul(o2w,v0).xyz;
|
||||
float3 pos1 = mul(o2w,v1).xyz;
|
||||
float3 pos2 = mul(o2w,v2).xyz;
|
||||
float4 tess;
|
||||
|
||||
if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes))
|
||||
{
|
||||
tess = 0.0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams);
|
||||
tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams);
|
||||
tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams);
|
||||
tess.w = (tess.x + tess.y + tess.z) / 3.0f;
|
||||
}
|
||||
return tess;
|
||||
}
|
||||
ENDHLSL
|
||||
|
||||
|
||||
Pass
|
||||
{
|
||||
|
||||
Name "Forward"
|
||||
Tags { "LightMode"="UniversalForward" }
|
||||
|
||||
Blend One Zero, One Zero
|
||||
ZWrite On
|
||||
ZTest LEqual
|
||||
Offset 0 , 0
|
||||
ColorMask RGBA
|
||||
|
||||
|
||||
HLSLPROGRAM
|
||||
#pragma multi_compile_instancing
|
||||
#define ASE_SRP_VERSION 999999
|
||||
|
||||
#pragma prefer_hlslcc gles
|
||||
#pragma exclude_renderers d3d11_9x
|
||||
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/UnityInstancing.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
||||
|
||||
#if ASE_SRP_VERSION <= 70108
|
||||
#define REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
struct VertexInput
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
float3 ase_normal : NORMAL;
|
||||
float4 ase_texcoord : TEXCOORD0;
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
};
|
||||
|
||||
struct VertexOutput
|
||||
{
|
||||
float4 clipPos : SV_POSITION;
|
||||
#if defined(ASE_NEEDS_FRAG_WORLD_POSITION)
|
||||
float3 worldPos : TEXCOORD0;
|
||||
#endif
|
||||
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS)
|
||||
float4 shadowCoord : TEXCOORD1;
|
||||
#endif
|
||||
#ifdef ASE_FOG
|
||||
float fogFactor : TEXCOORD2;
|
||||
#endif
|
||||
float4 ase_texcoord3 : TEXCOORD3;
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
};
|
||||
|
||||
CBUFFER_START(UnityPerMaterial)
|
||||
float4 _Color;
|
||||
float4 _TextureSample0_ST;
|
||||
float _Float0;
|
||||
#ifdef TESSELLATION_ON
|
||||
float _TessPhongStrength;
|
||||
float _TessValue;
|
||||
float _TessMin;
|
||||
float _TessMax;
|
||||
float _TessEdgeLength;
|
||||
float _TessMaxDisp;
|
||||
#endif
|
||||
CBUFFER_END
|
||||
sampler2D _TextureSample0;
|
||||
|
||||
|
||||
|
||||
VertexOutput VertexFunction ( VertexInput v )
|
||||
{
|
||||
VertexOutput o = (VertexOutput)0;
|
||||
UNITY_SETUP_INSTANCE_ID(v);
|
||||
UNITY_TRANSFER_INSTANCE_ID(v, o);
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||||
|
||||
o.ase_texcoord3.xy = v.ase_texcoord.xy;
|
||||
|
||||
//setting value to unused interpolator channels and avoid initialization warnings
|
||||
o.ase_texcoord3.zw = 0;
|
||||
#ifdef ASE_ABSOLUTE_VERTEX_POS
|
||||
float3 defaultVertexValue = v.vertex.xyz;
|
||||
#else
|
||||
float3 defaultVertexValue = float3(0, 0, 0);
|
||||
#endif
|
||||
float3 vertexValue = defaultVertexValue;
|
||||
#ifdef ASE_ABSOLUTE_VERTEX_POS
|
||||
v.vertex.xyz = vertexValue;
|
||||
#else
|
||||
v.vertex.xyz += vertexValue;
|
||||
#endif
|
||||
v.ase_normal = v.ase_normal;
|
||||
|
||||
float3 positionWS = TransformObjectToWorld( v.vertex.xyz );
|
||||
float4 positionCS = TransformWorldToHClip( positionWS );
|
||||
|
||||
#if defined(ASE_NEEDS_FRAG_WORLD_POSITION)
|
||||
o.worldPos = positionWS;
|
||||
#endif
|
||||
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS)
|
||||
VertexPositionInputs vertexInput = (VertexPositionInputs)0;
|
||||
vertexInput.positionWS = positionWS;
|
||||
vertexInput.positionCS = positionCS;
|
||||
o.shadowCoord = GetShadowCoord( vertexInput );
|
||||
#endif
|
||||
#ifdef ASE_FOG
|
||||
o.fogFactor = ComputeFogFactor( positionCS.z );
|
||||
#endif
|
||||
o.clipPos = positionCS;
|
||||
return o;
|
||||
}
|
||||
|
||||
#if defined(TESSELLATION_ON)
|
||||
struct VertexControl
|
||||
{
|
||||
float4 vertex : INTERNALTESSPOS;
|
||||
float3 ase_normal : NORMAL;
|
||||
float4 ase_texcoord : TEXCOORD0;
|
||||
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
};
|
||||
|
||||
struct TessellationFactors
|
||||
{
|
||||
float edge[3] : SV_TessFactor;
|
||||
float inside : SV_InsideTessFactor;
|
||||
};
|
||||
|
||||
VertexControl vert ( VertexInput v )
|
||||
{
|
||||
VertexControl o;
|
||||
UNITY_SETUP_INSTANCE_ID(v);
|
||||
UNITY_TRANSFER_INSTANCE_ID(v, o);
|
||||
o.vertex = v.vertex;
|
||||
o.ase_normal = v.ase_normal;
|
||||
o.ase_texcoord = v.ase_texcoord;
|
||||
return o;
|
||||
}
|
||||
|
||||
TessellationFactors TessellationFunction (InputPatch<VertexControl,3> v)
|
||||
{
|
||||
TessellationFactors o;
|
||||
float4 tf = 1;
|
||||
float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax;
|
||||
float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp;
|
||||
#if defined(ASE_FIXED_TESSELLATION)
|
||||
tf = FixedTess( tessValue );
|
||||
#elif defined(ASE_DISTANCE_TESSELLATION)
|
||||
tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos );
|
||||
#elif defined(ASE_LENGTH_TESSELLATION)
|
||||
tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams );
|
||||
#elif defined(ASE_LENGTH_CULL_TESSELLATION)
|
||||
tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes );
|
||||
#endif
|
||||
o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w;
|
||||
return o;
|
||||
}
|
||||
|
||||
[domain("tri")]
|
||||
[partitioning("fractional_odd")]
|
||||
[outputtopology("triangle_cw")]
|
||||
[patchconstantfunc("TessellationFunction")]
|
||||
[outputcontrolpoints(3)]
|
||||
VertexControl HullFunction(InputPatch<VertexControl, 3> patch, uint id : SV_OutputControlPointID)
|
||||
{
|
||||
return patch[id];
|
||||
}
|
||||
|
||||
[domain("tri")]
|
||||
VertexOutput DomainFunction(TessellationFactors factors, OutputPatch<VertexControl, 3> patch, float3 bary : SV_DomainLocation)
|
||||
{
|
||||
VertexInput o = (VertexInput) 0;
|
||||
o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z;
|
||||
o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z;
|
||||
o.ase_texcoord = patch[0].ase_texcoord * bary.x + patch[1].ase_texcoord * bary.y + patch[2].ase_texcoord * bary.z;
|
||||
#if defined(ASE_PHONG_TESSELLATION)
|
||||
float3 pp[3];
|
||||
for (int i = 0; i < 3; ++i)
|
||||
pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal));
|
||||
float phongStrength = _TessPhongStrength;
|
||||
o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz;
|
||||
#endif
|
||||
UNITY_TRANSFER_INSTANCE_ID(patch[0], o);
|
||||
return VertexFunction(o);
|
||||
}
|
||||
#else
|
||||
VertexOutput vert ( VertexInput v )
|
||||
{
|
||||
return VertexFunction( v );
|
||||
}
|
||||
#endif
|
||||
|
||||
half4 frag ( VertexOutput IN ) : SV_Target
|
||||
{
|
||||
UNITY_SETUP_INSTANCE_ID( IN );
|
||||
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN );
|
||||
|
||||
#if defined(ASE_NEEDS_FRAG_WORLD_POSITION)
|
||||
float3 WorldPosition = IN.worldPos;
|
||||
#endif
|
||||
float4 ShadowCoords = float4( 0, 0, 0, 0 );
|
||||
|
||||
#if defined(ASE_NEEDS_FRAG_SHADOWCOORDS)
|
||||
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
|
||||
ShadowCoords = IN.shadowCoord;
|
||||
#elif defined(MAIN_LIGHT_CALCULATE_SHADOWS)
|
||||
ShadowCoords = TransformWorldToShadowCoord( WorldPosition );
|
||||
#endif
|
||||
#endif
|
||||
float2 uv_TextureSample0 = IN.ase_texcoord3.xy * _TextureSample0_ST.xy + _TextureSample0_ST.zw;
|
||||
float saferPower13 = max( ( 1.0 - length( ( IN.ase_texcoord3.xy + float2( -0.5,-0.5 ) ) ) ) , 0.0001 );
|
||||
float4 lerpResult15 = lerp( _Color , saturate( ( tex2D( _TextureSample0, uv_TextureSample0 ) + _Float0 ) ) , ( pow( saferPower13 , 8.0 ) * 2.0 ));
|
||||
|
||||
float3 BakedAlbedo = 0;
|
||||
float3 BakedEmission = 0;
|
||||
float3 Color = lerpResult15.rgb;
|
||||
float Alpha = 1;
|
||||
float AlphaClipThreshold = 0.5;
|
||||
float AlphaClipThresholdShadow = 0.5;
|
||||
|
||||
#ifdef _ALPHATEST_ON
|
||||
clip( Alpha - AlphaClipThreshold );
|
||||
#endif
|
||||
|
||||
#ifdef LOD_FADE_CROSSFADE
|
||||
LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x );
|
||||
#endif
|
||||
|
||||
#ifdef ASE_FOG
|
||||
Color = MixFog( Color, IN.fogFactor );
|
||||
#endif
|
||||
|
||||
return half4( Color, Alpha );
|
||||
}
|
||||
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
|
||||
Pass
|
||||
{
|
||||
|
||||
Name "ShadowCaster"
|
||||
Tags { "LightMode"="ShadowCaster" }
|
||||
|
||||
ZWrite On
|
||||
ZTest LEqual
|
||||
AlphaToMask Off
|
||||
|
||||
HLSLPROGRAM
|
||||
#pragma multi_compile_instancing
|
||||
#define ASE_SRP_VERSION 999999
|
||||
|
||||
#pragma prefer_hlslcc gles
|
||||
#pragma exclude_renderers d3d11_9x
|
||||
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
|
||||
|
||||
|
||||
|
||||
struct VertexInput
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
float3 ase_normal : NORMAL;
|
||||
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
};
|
||||
|
||||
struct VertexOutput
|
||||
{
|
||||
float4 clipPos : SV_POSITION;
|
||||
#if defined(ASE_NEEDS_FRAG_WORLD_POSITION)
|
||||
float3 worldPos : TEXCOORD0;
|
||||
#endif
|
||||
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS)
|
||||
float4 shadowCoord : TEXCOORD1;
|
||||
#endif
|
||||
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
};
|
||||
|
||||
CBUFFER_START(UnityPerMaterial)
|
||||
float4 _Color;
|
||||
float4 _TextureSample0_ST;
|
||||
float _Float0;
|
||||
#ifdef TESSELLATION_ON
|
||||
float _TessPhongStrength;
|
||||
float _TessValue;
|
||||
float _TessMin;
|
||||
float _TessMax;
|
||||
float _TessEdgeLength;
|
||||
float _TessMaxDisp;
|
||||
#endif
|
||||
CBUFFER_END
|
||||
|
||||
|
||||
|
||||
float3 _LightDirection;
|
||||
|
||||
VertexOutput VertexFunction( VertexInput v )
|
||||
{
|
||||
VertexOutput o;
|
||||
UNITY_SETUP_INSTANCE_ID(v);
|
||||
UNITY_TRANSFER_INSTANCE_ID(v, o);
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );
|
||||
|
||||
|
||||
#ifdef ASE_ABSOLUTE_VERTEX_POS
|
||||
float3 defaultVertexValue = v.vertex.xyz;
|
||||
#else
|
||||
float3 defaultVertexValue = float3(0, 0, 0);
|
||||
#endif
|
||||
float3 vertexValue = defaultVertexValue;
|
||||
#ifdef ASE_ABSOLUTE_VERTEX_POS
|
||||
v.vertex.xyz = vertexValue;
|
||||
#else
|
||||
v.vertex.xyz += vertexValue;
|
||||
#endif
|
||||
|
||||
v.ase_normal = v.ase_normal;
|
||||
|
||||
float3 positionWS = TransformObjectToWorld( v.vertex.xyz );
|
||||
|
||||
#if defined(ASE_NEEDS_FRAG_WORLD_POSITION)
|
||||
o.worldPos = positionWS;
|
||||
#endif
|
||||
|
||||
float3 normalWS = TransformObjectToWorldDir( v.ase_normal );
|
||||
|
||||
float4 clipPos = TransformWorldToHClip( ApplyShadowBias( positionWS, normalWS, _LightDirection ) );
|
||||
|
||||
#if UNITY_REVERSED_Z
|
||||
clipPos.z = min(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE);
|
||||
#else
|
||||
clipPos.z = max(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE);
|
||||
#endif
|
||||
|
||||
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS)
|
||||
VertexPositionInputs vertexInput = (VertexPositionInputs)0;
|
||||
vertexInput.positionWS = positionWS;
|
||||
vertexInput.positionCS = clipPos;
|
||||
o.shadowCoord = GetShadowCoord( vertexInput );
|
||||
#endif
|
||||
o.clipPos = clipPos;
|
||||
|
||||
return o;
|
||||
}
|
||||
|
||||
#if defined(TESSELLATION_ON)
|
||||
struct VertexControl
|
||||
{
|
||||
float4 vertex : INTERNALTESSPOS;
|
||||
float3 ase_normal : NORMAL;
|
||||
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
};
|
||||
|
||||
struct TessellationFactors
|
||||
{
|
||||
float edge[3] : SV_TessFactor;
|
||||
float inside : SV_InsideTessFactor;
|
||||
};
|
||||
|
||||
VertexControl vert ( VertexInput v )
|
||||
{
|
||||
VertexControl o;
|
||||
UNITY_SETUP_INSTANCE_ID(v);
|
||||
UNITY_TRANSFER_INSTANCE_ID(v, o);
|
||||
o.vertex = v.vertex;
|
||||
o.ase_normal = v.ase_normal;
|
||||
|
||||
return o;
|
||||
}
|
||||
|
||||
TessellationFactors TessellationFunction (InputPatch<VertexControl,3> v)
|
||||
{
|
||||
TessellationFactors o;
|
||||
float4 tf = 1;
|
||||
float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax;
|
||||
float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp;
|
||||
#if defined(ASE_FIXED_TESSELLATION)
|
||||
tf = FixedTess( tessValue );
|
||||
#elif defined(ASE_DISTANCE_TESSELLATION)
|
||||
tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos );
|
||||
#elif defined(ASE_LENGTH_TESSELLATION)
|
||||
tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams );
|
||||
#elif defined(ASE_LENGTH_CULL_TESSELLATION)
|
||||
tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes );
|
||||
#endif
|
||||
o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w;
|
||||
return o;
|
||||
}
|
||||
|
||||
[domain("tri")]
|
||||
[partitioning("fractional_odd")]
|
||||
[outputtopology("triangle_cw")]
|
||||
[patchconstantfunc("TessellationFunction")]
|
||||
[outputcontrolpoints(3)]
|
||||
VertexControl HullFunction(InputPatch<VertexControl, 3> patch, uint id : SV_OutputControlPointID)
|
||||
{
|
||||
return patch[id];
|
||||
}
|
||||
|
||||
[domain("tri")]
|
||||
VertexOutput DomainFunction(TessellationFactors factors, OutputPatch<VertexControl, 3> patch, float3 bary : SV_DomainLocation)
|
||||
{
|
||||
VertexInput o = (VertexInput) 0;
|
||||
o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z;
|
||||
o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z;
|
||||
|
||||
#if defined(ASE_PHONG_TESSELLATION)
|
||||
float3 pp[3];
|
||||
for (int i = 0; i < 3; ++i)
|
||||
pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal));
|
||||
float phongStrength = _TessPhongStrength;
|
||||
o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz;
|
||||
#endif
|
||||
UNITY_TRANSFER_INSTANCE_ID(patch[0], o);
|
||||
return VertexFunction(o);
|
||||
}
|
||||
#else
|
||||
VertexOutput vert ( VertexInput v )
|
||||
{
|
||||
return VertexFunction( v );
|
||||
}
|
||||
#endif
|
||||
|
||||
half4 frag(VertexOutput IN ) : SV_TARGET
|
||||
{
|
||||
UNITY_SETUP_INSTANCE_ID( IN );
|
||||
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN );
|
||||
|
||||
#if defined(ASE_NEEDS_FRAG_WORLD_POSITION)
|
||||
float3 WorldPosition = IN.worldPos;
|
||||
#endif
|
||||
float4 ShadowCoords = float4( 0, 0, 0, 0 );
|
||||
|
||||
#if defined(ASE_NEEDS_FRAG_SHADOWCOORDS)
|
||||
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
|
||||
ShadowCoords = IN.shadowCoord;
|
||||
#elif defined(MAIN_LIGHT_CALCULATE_SHADOWS)
|
||||
ShadowCoords = TransformWorldToShadowCoord( WorldPosition );
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
float Alpha = 1;
|
||||
float AlphaClipThreshold = 0.5;
|
||||
float AlphaClipThresholdShadow = 0.5;
|
||||
|
||||
#ifdef _ALPHATEST_ON
|
||||
#ifdef _ALPHATEST_SHADOW_ON
|
||||
clip(Alpha - AlphaClipThresholdShadow);
|
||||
#else
|
||||
clip(Alpha - AlphaClipThreshold);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef LOD_FADE_CROSSFADE
|
||||
LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x );
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
|
||||
Pass
|
||||
{
|
||||
|
||||
Name "DepthOnly"
|
||||
Tags { "LightMode"="DepthOnly" }
|
||||
|
||||
ZWrite On
|
||||
ColorMask 0
|
||||
AlphaToMask Off
|
||||
|
||||
HLSLPROGRAM
|
||||
#pragma multi_compile_instancing
|
||||
#define ASE_SRP_VERSION 999999
|
||||
|
||||
#pragma prefer_hlslcc gles
|
||||
#pragma exclude_renderers d3d11_9x
|
||||
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
|
||||
|
||||
|
||||
|
||||
struct VertexInput
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
float3 ase_normal : NORMAL;
|
||||
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
};
|
||||
|
||||
struct VertexOutput
|
||||
{
|
||||
float4 clipPos : SV_POSITION;
|
||||
#if defined(ASE_NEEDS_FRAG_WORLD_POSITION)
|
||||
float3 worldPos : TEXCOORD0;
|
||||
#endif
|
||||
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS)
|
||||
float4 shadowCoord : TEXCOORD1;
|
||||
#endif
|
||||
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
};
|
||||
|
||||
CBUFFER_START(UnityPerMaterial)
|
||||
float4 _Color;
|
||||
float4 _TextureSample0_ST;
|
||||
float _Float0;
|
||||
#ifdef TESSELLATION_ON
|
||||
float _TessPhongStrength;
|
||||
float _TessValue;
|
||||
float _TessMin;
|
||||
float _TessMax;
|
||||
float _TessEdgeLength;
|
||||
float _TessMaxDisp;
|
||||
#endif
|
||||
CBUFFER_END
|
||||
|
||||
|
||||
|
||||
VertexOutput VertexFunction( VertexInput v )
|
||||
{
|
||||
VertexOutput o = (VertexOutput)0;
|
||||
UNITY_SETUP_INSTANCE_ID(v);
|
||||
UNITY_TRANSFER_INSTANCE_ID(v, o);
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||||
|
||||
|
||||
#ifdef ASE_ABSOLUTE_VERTEX_POS
|
||||
float3 defaultVertexValue = v.vertex.xyz;
|
||||
#else
|
||||
float3 defaultVertexValue = float3(0, 0, 0);
|
||||
#endif
|
||||
float3 vertexValue = defaultVertexValue;
|
||||
#ifdef ASE_ABSOLUTE_VERTEX_POS
|
||||
v.vertex.xyz = vertexValue;
|
||||
#else
|
||||
v.vertex.xyz += vertexValue;
|
||||
#endif
|
||||
|
||||
v.ase_normal = v.ase_normal;
|
||||
|
||||
float3 positionWS = TransformObjectToWorld( v.vertex.xyz );
|
||||
|
||||
#if defined(ASE_NEEDS_FRAG_WORLD_POSITION)
|
||||
o.worldPos = positionWS;
|
||||
#endif
|
||||
|
||||
o.clipPos = TransformWorldToHClip( positionWS );
|
||||
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS)
|
||||
VertexPositionInputs vertexInput = (VertexPositionInputs)0;
|
||||
vertexInput.positionWS = positionWS;
|
||||
vertexInput.positionCS = clipPos;
|
||||
o.shadowCoord = GetShadowCoord( vertexInput );
|
||||
#endif
|
||||
return o;
|
||||
}
|
||||
|
||||
#if defined(TESSELLATION_ON)
|
||||
struct VertexControl
|
||||
{
|
||||
float4 vertex : INTERNALTESSPOS;
|
||||
float3 ase_normal : NORMAL;
|
||||
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
};
|
||||
|
||||
struct TessellationFactors
|
||||
{
|
||||
float edge[3] : SV_TessFactor;
|
||||
float inside : SV_InsideTessFactor;
|
||||
};
|
||||
|
||||
VertexControl vert ( VertexInput v )
|
||||
{
|
||||
VertexControl o;
|
||||
UNITY_SETUP_INSTANCE_ID(v);
|
||||
UNITY_TRANSFER_INSTANCE_ID(v, o);
|
||||
o.vertex = v.vertex;
|
||||
o.ase_normal = v.ase_normal;
|
||||
|
||||
return o;
|
||||
}
|
||||
|
||||
TessellationFactors TessellationFunction (InputPatch<VertexControl,3> v)
|
||||
{
|
||||
TessellationFactors o;
|
||||
float4 tf = 1;
|
||||
float tessValue = _TessValue; float tessMin = _TessMin; float tessMax = _TessMax;
|
||||
float edgeLength = _TessEdgeLength; float tessMaxDisp = _TessMaxDisp;
|
||||
#if defined(ASE_FIXED_TESSELLATION)
|
||||
tf = FixedTess( tessValue );
|
||||
#elif defined(ASE_DISTANCE_TESSELLATION)
|
||||
tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos );
|
||||
#elif defined(ASE_LENGTH_TESSELLATION)
|
||||
tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams );
|
||||
#elif defined(ASE_LENGTH_CULL_TESSELLATION)
|
||||
tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes );
|
||||
#endif
|
||||
o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w;
|
||||
return o;
|
||||
}
|
||||
|
||||
[domain("tri")]
|
||||
[partitioning("fractional_odd")]
|
||||
[outputtopology("triangle_cw")]
|
||||
[patchconstantfunc("TessellationFunction")]
|
||||
[outputcontrolpoints(3)]
|
||||
VertexControl HullFunction(InputPatch<VertexControl, 3> patch, uint id : SV_OutputControlPointID)
|
||||
{
|
||||
return patch[id];
|
||||
}
|
||||
|
||||
[domain("tri")]
|
||||
VertexOutput DomainFunction(TessellationFactors factors, OutputPatch<VertexControl, 3> patch, float3 bary : SV_DomainLocation)
|
||||
{
|
||||
VertexInput o = (VertexInput) 0;
|
||||
o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z;
|
||||
o.ase_normal = patch[0].ase_normal * bary.x + patch[1].ase_normal * bary.y + patch[2].ase_normal * bary.z;
|
||||
|
||||
#if defined(ASE_PHONG_TESSELLATION)
|
||||
float3 pp[3];
|
||||
for (int i = 0; i < 3; ++i)
|
||||
pp[i] = o.vertex.xyz - patch[i].ase_normal * (dot(o.vertex.xyz, patch[i].ase_normal) - dot(patch[i].vertex.xyz, patch[i].ase_normal));
|
||||
float phongStrength = _TessPhongStrength;
|
||||
o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz;
|
||||
#endif
|
||||
UNITY_TRANSFER_INSTANCE_ID(patch[0], o);
|
||||
return VertexFunction(o);
|
||||
}
|
||||
#else
|
||||
VertexOutput vert ( VertexInput v )
|
||||
{
|
||||
return VertexFunction( v );
|
||||
}
|
||||
#endif
|
||||
|
||||
half4 frag(VertexOutput IN ) : SV_TARGET
|
||||
{
|
||||
UNITY_SETUP_INSTANCE_ID(IN);
|
||||
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN );
|
||||
|
||||
#if defined(ASE_NEEDS_FRAG_WORLD_POSITION)
|
||||
float3 WorldPosition = IN.worldPos;
|
||||
#endif
|
||||
float4 ShadowCoords = float4( 0, 0, 0, 0 );
|
||||
|
||||
#if defined(ASE_NEEDS_FRAG_SHADOWCOORDS)
|
||||
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
|
||||
ShadowCoords = IN.shadowCoord;
|
||||
#elif defined(MAIN_LIGHT_CALCULATE_SHADOWS)
|
||||
ShadowCoords = TransformWorldToShadowCoord( WorldPosition );
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
float Alpha = 1;
|
||||
float AlphaClipThreshold = 0.5;
|
||||
|
||||
#ifdef _ALPHATEST_ON
|
||||
clip(Alpha - AlphaClipThreshold);
|
||||
#endif
|
||||
|
||||
#ifdef LOD_FADE_CROSSFADE
|
||||
LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x );
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
CustomEditor "UnityEditor.ShaderGraph.PBRMasterGUI"
|
||||
Fallback "Hidden/InternalErrorShader"
|
||||
|
||||
}
|
||||
/*ASEBEGIN
|
||||
Version=18800
|
||||
-1920;0;1920;1019;1329;351.5;1;True;False
|
||||
Node;AmplifyShaderEditor.SamplerNode;5;-654,-81.5;Inherit;True;Property;_TextureSample0;Texture Sample 0;0;0;Create;True;0;0;0;False;0;False;-1;None;61ed402b9f759c4448d93ea85de84a70;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
||||
Node;AmplifyShaderEditor.TexCoordVertexDataNode;9;-1137.924,322.9545;Inherit;False;0;2;0;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
||||
Node;AmplifyShaderEditor.SaturateNode;7;-176,84.5;Inherit;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0
|
||||
Node;AmplifyShaderEditor.SimpleAddOpNode;6;-323,72.5;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
|
||||
Node;AmplifyShaderEditor.LerpOp;15;66,-103.5;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0
|
||||
Node;AmplifyShaderEditor.OneMinusNode;12;-617.925,326.9545;Inherit;True;1;0;FLOAT;0;False;1;FLOAT;0
|
||||
Node;AmplifyShaderEditor.RangedFloatNode;8;-498,131.5;Inherit;False;Property;_Float0;Float 0;1;0;Create;True;0;0;0;False;0;False;0;0.5;0;0;0;1;FLOAT;0
|
||||
Node;AmplifyShaderEditor.LengthOpNode;11;-784.925,325.9545;Inherit;True;1;0;FLOAT2;0,0;False;1;FLOAT;0
|
||||
Node;AmplifyShaderEditor.PowerNode;13;-431.9247,325.9545;Inherit;True;True;2;0;FLOAT;0;False;1;FLOAT;8;False;1;FLOAT;0
|
||||
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;14;-187.3765,327.2277;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;2;False;1;FLOAT;0
|
||||
Node;AmplifyShaderEditor.SimpleAddOpNode;10;-907.925,323.9545;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT2;-0.5,-0.5;False;1;FLOAT2;0
|
||||
Node;AmplifyShaderEditor.ColorNode;16;-218,-171.5;Inherit;False;Property;_Color;Color;2;0;Create;True;0;0;0;False;0;False;1,1,1,1;0.7490196,0.854902,1,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
||||
Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;3;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;DepthOnly;0;3;DepthOnly;0;False;False;False;False;False;False;False;False;True;0;False;-1;True;0;False;-1;False;False;False;False;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;0;False;False;False;False;False;False;False;False;True;0;False;-1;False;True;False;False;False;False;0;False;-1;False;False;False;False;True;1;False;-1;False;False;True;1;LightMode=DepthOnly;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0
|
||||
Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;2;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ShadowCaster;0;2;ShadowCaster;0;False;False;False;False;False;False;False;False;True;0;False;-1;True;0;False;-1;False;False;False;False;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;0;False;False;False;False;False;False;False;False;True;0;False;-1;False;False;False;False;False;False;True;1;False;-1;True;3;False;-1;False;True;1;LightMode=ShadowCaster;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0
|
||||
Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;0;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;ExtraPrePass;0;0;ExtraPrePass;5;False;False;False;False;False;False;False;False;True;0;False;-1;True;0;False;-1;False;False;False;False;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;0;True;1;1;False;-1;0;False;-1;0;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;True;0;False;-1;True;True;True;True;True;0;False;-1;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;True;1;False;-1;True;3;False;-1;True;True;0;False;-1;0;False;-1;True;0;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0
|
||||
Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;4;0,0;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;1;New Amplify Shader;2992e84f91cbeb14eab234972e07ea9d;True;Meta;0;4;Meta;0;False;False;False;False;False;False;False;False;True;0;False;-1;True;0;False;-1;False;False;False;False;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;0;False;False;False;False;False;False;False;False;False;True;2;False;-1;False;False;False;False;False;False;False;False;True;1;LightMode=Meta;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0
|
||||
Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;1;231,-9;Float;False;True;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;3;Bj;2992e84f91cbeb14eab234972e07ea9d;True;Forward;0;1;Forward;8;False;False;False;False;False;False;False;False;True;0;False;-1;True;0;False;-1;False;False;False;False;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Opaque=RenderType;Queue=Geometry=Queue=0;True;0;0;True;1;1;False;-1;0;False;-1;1;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;-1;False;False;False;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;True;1;False;-1;True;3;False;-1;True;True;0;False;-1;0;False;-1;True;1;LightMode=UniversalForward;False;0;Hidden/InternalErrorShader;0;0;Standard;22;Surface;0; Blend;0;Two Sided;1;Cast Shadows;1; Use Shadow Threshold;0;Receive Shadows;1;GPU Instancing;1;LOD CrossFade;0;Built-in Fog;0;DOTS Instancing;0;Meta Pass;0;Extra Pre Pass;0;Tessellation;0; Phong;0; Strength;0.5,False,-1; Type;0; Tess;16,False,-1; Min;10,False,-1; Max;25,False,-1; Edge Length;16,False,-1; Max Displacement;25,False,-1;Vertex Position,InvertActionOnDeselection;1;0;5;False;True;True;True;False;False;;False;0
|
||||
WireConnection;7;0;6;0
|
||||
WireConnection;6;0;5;0
|
||||
WireConnection;6;1;8;0
|
||||
WireConnection;15;0;16;0
|
||||
WireConnection;15;1;7;0
|
||||
WireConnection;15;2;14;0
|
||||
WireConnection;12;0;11;0
|
||||
WireConnection;11;0;10;0
|
||||
WireConnection;13;0;12;0
|
||||
WireConnection;14;0;13;0
|
||||
WireConnection;10;0;9;0
|
||||
WireConnection;1;2;15;0
|
||||
ASEEND*/
|
||||
//CHKSM=5B11EFEBE94135D0F7B1046E4B04DDBE9AAF3E4A
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1d6beff3b873d3a4d8f66dd03c8a253b
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
1644
Assets/GameRes/Main/SceneArt/VRScene/Materials/FogSimulation.shader
Normal file
1644
Assets/GameRes/Main/SceneArt/VRScene/Materials/FogSimulation.shader
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b30e1f93adb311d4cbaa2c57e909e993
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures:
|
||||
- _Mask: {fileID: 2800000, guid: 6ddfdda60651fee4ca9cc4c7dcdf12e6, type: 3}
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3f9c5f2133a3c8c448cfe8c97b79e9aa
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,182 @@
|
||||
%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: BambooA
|
||||
m_Shader: {fileID: -6465566751694194690, guid: efc0d598798d1ce4cb40f2d893122127, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ISMASKALPHA
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 1
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- Texture2D_176a92298d9144619b5d798e44fa3f30:
|
||||
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
|
||||
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: cbb3844beb390cb48b40ec4b2694e13f, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _Mask:
|
||||
m_Texture: {fileID: 2800000, guid: c5768acf97c9a8d45b5b83b27b1cbc43, 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}
|
||||
- _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}
|
||||
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
|
||||
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:
|
||||
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
|
||||
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
|
||||
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
|
||||
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
|
||||
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
|
||||
- Vector1_a4901df360a941faa15f35cc099e9355: 50
|
||||
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
|
||||
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
|
||||
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
|
||||
- _AlphaClip: 0
|
||||
- _BigWindOffset: 0
|
||||
- _BigWindSpeed: 0
|
||||
- _Blend: 0
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Clip: 0.1
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _Float: 0.92
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _ISMASKALPHA: 1
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _Snownny: 1
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Surface: 0
|
||||
- _WindScale: 0
|
||||
- _WindStrength: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.53093714, g: 0.754717, b: 0.15307939, a: 1}
|
||||
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
|
||||
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
|
||||
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
|
||||
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
|
||||
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
|
||||
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
|
||||
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _ColorBottom: {r: 0.09344962, g: 0.5660378, b: 0.24872853, a: 1}
|
||||
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
|
||||
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SnowColor: {r: 0.70888215, g: 0.8185839, b: 0.8490566, a: 1}
|
||||
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
- _Vector3: {r: 0, g: 1, b: 0, a: 0}
|
||||
- _WindDirA: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _WindDirB: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &8237895349550093189
|
||||
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: 10
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4911adfd2a7a4844f8408189d5143c2c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,182 @@
|
||||
%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: BambooB
|
||||
m_Shader: {fileID: -6465566751694194690, guid: efc0d598798d1ce4cb40f2d893122127, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ISMASKALPHA
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 1
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- Texture2D_176a92298d9144619b5d798e44fa3f30:
|
||||
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
|
||||
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: b8b63092499397d469c6e8f39b50b16e, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _Mask:
|
||||
m_Texture: {fileID: 2800000, guid: c5768acf97c9a8d45b5b83b27b1cbc43, 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}
|
||||
- _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}
|
||||
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
|
||||
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:
|
||||
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
|
||||
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
|
||||
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
|
||||
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
|
||||
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
|
||||
- Vector1_a4901df360a941faa15f35cc099e9355: 50
|
||||
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
|
||||
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
|
||||
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
|
||||
- _AlphaClip: 0
|
||||
- _BigWindOffset: 0
|
||||
- _BigWindSpeed: 0
|
||||
- _Blend: 0
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Clip: 0.1
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _Float: 0
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _ISMASKALPHA: 1
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _Snownny: 1
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Surface: 0
|
||||
- _WindScale: 0
|
||||
- _WindStrength: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.53093714, g: 0.754717, b: 0.15307939, a: 1}
|
||||
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
|
||||
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
|
||||
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
|
||||
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
|
||||
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
|
||||
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
|
||||
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 0.9764151, g: 1, b: 0.9910043, a: 1}
|
||||
- _ColorBottom: {r: 0.09344962, g: 0.5660378, b: 0.24872853, a: 1}
|
||||
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
|
||||
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SnowColor: {r: 0.70888215, g: 0.8185839, b: 0.8490566, a: 1}
|
||||
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
- _Vector3: {r: 0, g: 0, b: 1, a: 0}
|
||||
- _WindDirA: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _WindDirB: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &8237895349550093189
|
||||
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: 10
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fa75bbaa60f504d45982c77daf3cbaea
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,185 @@
|
||||
%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: Flower
|
||||
m_Shader: {fileID: -6465566751694194690, guid: 8a2ac1ebca7ddae40a94251f12707af4, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 1
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- Texture2D_176a92298d9144619b5d798e44fa3f30:
|
||||
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
|
||||
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: d5bcf698b994ea14da136460547a881c, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _Mask:
|
||||
m_Texture: {fileID: 2800000, guid: 928ed27a71c25f24585fbf1cb56412fa, 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}
|
||||
- _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}
|
||||
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadowMask:
|
||||
m_Texture: {fileID: 2800000, guid: 9330d8ade35b5894fae1502ff804a218, type: 3}
|
||||
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:
|
||||
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
|
||||
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
|
||||
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
|
||||
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
|
||||
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
|
||||
- Vector1_a4901df360a941faa15f35cc099e9355: 50
|
||||
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
|
||||
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
|
||||
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
|
||||
- _AlphaClip: 0
|
||||
- _BigWindOffset: 0.1
|
||||
- _BigWindSpeed: 2
|
||||
- _Blend: 0
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Clip: 0.1
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _ISGRASSNORMAL: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _ShadowStrength: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Surface: 0
|
||||
- _WindScale: 0
|
||||
- _WindStrength: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.53093714, g: 0.754717, b: 0.15307939, a: 1}
|
||||
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
|
||||
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
|
||||
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
|
||||
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
|
||||
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
|
||||
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
|
||||
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _ColorBottom: {r: 0.09344962, g: 0.5660378, b: 0.24872853, a: 1}
|
||||
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
|
||||
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _GrassNormal: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _ShadowMaskUvTilling: {r: 3.34, g: -13, b: -134, a: 0}
|
||||
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
- _Vector3: {r: 0, g: 0, b: 1, a: 0}
|
||||
- _WindDirA: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _WindDirB: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &8237895349550093189
|
||||
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: 10
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a67ba37086fedbd4fb8680eb17408730
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8a2ac1ebca7ddae40a94251f12707af4
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
|
||||
@@ -0,0 +1,42 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class GpuCullCamera : MonoBehaviour
|
||||
{
|
||||
public static GpuCullCamera inst;
|
||||
|
||||
public Camera cam;
|
||||
|
||||
Plane[] cameraFrustumPlanes = new Plane[6];
|
||||
[HideInInspector]
|
||||
public Vector4[] frustumPlanes = new Vector4[6];
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
inst = this;
|
||||
cam = Camera.main;
|
||||
}
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void LateUpdate()
|
||||
{
|
||||
cameraFrustumPlanes = GeometryUtility.CalculateFrustumPlanes(cam);
|
||||
for (int i = 0; i < cameraFrustumPlanes.Length; i++)
|
||||
{
|
||||
Vector3 normal = -cameraFrustumPlanes[i].normal;
|
||||
frustumPlanes[i] = new Vector4(normal.x, normal.y, normal.z, -cameraFrustumPlanes[i].distance);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e9bd9b1527e7e6848bcdb5a48d265712
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,118 @@
|
||||
#pragma kernel CSMain
|
||||
|
||||
struct InstData
|
||||
{
|
||||
float3 pos;
|
||||
float3 angle;
|
||||
float3 scale;
|
||||
};
|
||||
|
||||
RWStructuredBuffer<InstData> _InstDataBuffer;
|
||||
|
||||
//
|
||||
float4 _FrustumPlanes[6];
|
||||
float3 _BoundMin;
|
||||
float3 _BoundMax;
|
||||
AppendStructuredBuffer<uint> _CullIDsBuffer;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
float4 EularToQuaternion(float3 angle)
|
||||
{
|
||||
float X = angle.x * 0.0174532925 / 2;
|
||||
float Y = angle.y * 0.0174532925 / 2;
|
||||
float Z = angle.z * 0.0174532925 / 2;
|
||||
float x = sin(X) * cos(Y) * cos(Z) + cos(X) * sin(Y) * sin(Z);
|
||||
float y = cos(X) * sin(Y) * cos(Z) - sin(X) * cos(Y) * sin(Z);
|
||||
float z = cos(X) * cos(Y) * sin(Z) - sin(X) * sin(Y) * cos(Z);
|
||||
float w = cos(X) * cos(Y) * cos(Z) + sin(X) * sin(Y) * sin(Z);
|
||||
return float4(x, y, z, w);
|
||||
}
|
||||
|
||||
float4x4 TRSMatrix(float3 position, float4 rotation, float3 scale)
|
||||
{
|
||||
float4x4 m = 0.0;
|
||||
m[0][0] = (1.0 - 2.0 * (rotation.y * rotation.y + rotation.z * rotation.z)) * scale.x;
|
||||
m[1][0] = (rotation.x * rotation.y + rotation.z * rotation.w) * scale.x * 2.0;
|
||||
m[2][0] = (rotation.x * rotation.z - rotation.y * rotation.w) * scale.x * 2.0;
|
||||
m[3][0] = 0.0;
|
||||
|
||||
m[0][1] = (rotation.x * rotation.y - rotation.z * rotation.w) * scale.y * 2.0;
|
||||
m[1][1] = (1.0 - 2.0 * (rotation.x * rotation.x + rotation.z * rotation.z)) * scale.y;
|
||||
m[2][1] = (rotation.y * rotation.z + rotation.x * rotation.w) * scale.y * 2.0;
|
||||
m[3][1] = 0.0;
|
||||
|
||||
m[0][2] = (rotation.x * rotation.z + rotation.y * rotation.w) * scale.z * 2.0;
|
||||
m[1][2] = (rotation.y * rotation.z - rotation.x * rotation.w) * scale.z * 2.0;
|
||||
m[2][2] = (1.0 - 2.0 * (rotation.x * rotation.x + rotation.y * rotation.y)) * scale.z;
|
||||
m[3][2] = 0.0;
|
||||
|
||||
m[0][3] = position.x;
|
||||
m[1][3] = position.y;
|
||||
m[2][3] = position.z;
|
||||
m[3][3] = 1.0;
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
bool IsOutsideThePlane(float4 plane, float3 position)
|
||||
{
|
||||
return dot(plane.xyz, position) + plane.w > 0;
|
||||
}
|
||||
|
||||
void FrustumCull(float index)
|
||||
{
|
||||
InstData instData = _InstDataBuffer[index];
|
||||
|
||||
//
|
||||
float4x4 m = TRSMatrix(instData.pos, EularToQuaternion(instData.angle), instData.scale);
|
||||
float4 boundPoints[8];
|
||||
boundPoints[0] = mul(m, float4(_BoundMin, 1));
|
||||
boundPoints[1] = mul(m, float4(_BoundMax, 1));
|
||||
boundPoints[2] = mul(m, float4(_BoundMax.x, _BoundMax.y, _BoundMin.z, 1));
|
||||
boundPoints[3] = mul(m, float4(_BoundMax.x, _BoundMin.y, _BoundMax.z, 1));
|
||||
boundPoints[4] = mul(m, float4(_BoundMax.x, _BoundMin.y, _BoundMin.z, 1));
|
||||
boundPoints[5] = mul(m, float4(_BoundMin.x, _BoundMax.y, _BoundMax.z, 1));
|
||||
boundPoints[6] = mul(m, float4(_BoundMin.x, _BoundMax.y, _BoundMin.z, 1));
|
||||
boundPoints[7] = mul(m, float4(_BoundMin.x, _BoundMin.y, _BoundMax.z, 1));
|
||||
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
for (int j = 0; j < 8; j++)
|
||||
{
|
||||
float3 p = boundPoints[j].xyz;
|
||||
if (!IsOutsideThePlane(_FrustumPlanes[i], p))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (j == 7)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_CullIDsBuffer.Append(index);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// We used to just be able to use (1, 1, 1) threads for whatever population (not sure the old limit), but a Unity update
|
||||
// imposed a thread limit of 65535. Now, to populations above that, we need to be more granular with our threads.
|
||||
[numthreads(128, 1, 1)]
|
||||
void CSMain(uint3 id : SV_DispatchThreadID)
|
||||
{
|
||||
//Action(id.x);
|
||||
FrustumCull(id.x);
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f7376f7c9e4a733438a3cf6840872492
|
||||
ComputeShaderImporter:
|
||||
externalObjects: {}
|
||||
currentAPIMask: 4
|
||||
preprocessorOverride: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
158
Assets/GameRes/Main/SceneArt/VRScene/Materials/GPUGrass/Grass.cs
Normal file
158
Assets/GameRes/Main/SceneArt/VRScene/Materials/GPUGrass/Grass.cs
Normal file
@@ -0,0 +1,158 @@
|
||||
|
||||
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
|
||||
public class Grass : MonoBehaviour
|
||||
{
|
||||
public Mesh mesh;
|
||||
public Material material;
|
||||
public Bounds bounds;
|
||||
public float scaleMult;
|
||||
public ShadowCastingMode shadowCastingMode;
|
||||
public bool isReceiveShadow;
|
||||
|
||||
|
||||
|
||||
public Vector3 objectBoundMin;
|
||||
public Vector3 objectBoundMax;
|
||||
public ComputeShader computeShader;
|
||||
int kernel = 0;
|
||||
ComputeBuffer instDataBuffer;
|
||||
ComputeBuffer cullIDsBuffer;
|
||||
ComputeBuffer argsBuffer;
|
||||
|
||||
public Transform root;
|
||||
List<InstData> dataInfors = new List<InstData>();
|
||||
|
||||
|
||||
private struct InstData
|
||||
{
|
||||
public Vector3 pos;
|
||||
public Vector3 angle;
|
||||
public Vector3 scale;
|
||||
|
||||
//
|
||||
public static int GetNum()
|
||||
{
|
||||
return sizeof(float) * 3 + sizeof(float) * 3 + sizeof(float) * 3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private void Start()
|
||||
{
|
||||
GetDataInfors();
|
||||
InitializeBuffers();
|
||||
}
|
||||
|
||||
void GetDataInfors()
|
||||
{
|
||||
foreach (Transform t in root.GetComponentInChildren<Transform>())
|
||||
{
|
||||
InstData instData = new InstData();
|
||||
instData.pos = t.position;
|
||||
instData.angle = t.eulerAngles;
|
||||
instData.scale = t.localScale * scaleMult;
|
||||
dataInfors.Add(instData);
|
||||
|
||||
//
|
||||
t.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
private void InitializeBuffers()
|
||||
{
|
||||
// Arguments for drawing mesh.
|
||||
uint[] args = new uint[5] { 0, 0, 0, 0, 0 };
|
||||
// 0 == number of triangle indices, 1 == count, others are only relevant if drawing submeshes.
|
||||
args[0] = (uint)mesh.GetIndexCount(0);
|
||||
args[1] = (uint)dataInfors.Count;
|
||||
args[2] = (uint)mesh.GetIndexStart(0);
|
||||
args[3] = (uint)mesh.GetBaseVertex(0);
|
||||
argsBuffer = new ComputeBuffer(1, args.Length * sizeof(uint), ComputeBufferType.IndirectArguments);
|
||||
argsBuffer.SetData(args);
|
||||
|
||||
// Initialize buffer with the given population.
|
||||
material = Instantiate(material);
|
||||
instDataBuffer = new ComputeBuffer(dataInfors.Count, InstData.GetNum());
|
||||
instDataBuffer.SetData(dataInfors);
|
||||
material.SetBuffer("_InstDataBuffer", instDataBuffer);
|
||||
cullIDsBuffer = new ComputeBuffer(dataInfors.Count, sizeof(uint), ComputeBufferType.Append);
|
||||
material.SetBuffer("_CullIDsBuffer", cullIDsBuffer);
|
||||
|
||||
//
|
||||
computeShader = Instantiate(computeShader);
|
||||
kernel = computeShader.FindKernel("CSMain");
|
||||
computeShader.SetBuffer(kernel, "_InstDataBuffer", instDataBuffer);
|
||||
computeShader.SetVector("_BoundMin", objectBoundMin);
|
||||
computeShader.SetVector("_BoundMax", objectBoundMax);
|
||||
computeShader.SetBuffer(kernel, "_CullIDsBuffer", cullIDsBuffer);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private void Update()
|
||||
{
|
||||
cullIDsBuffer.SetCounterValue(0);
|
||||
computeShader.SetVectorArray("_FrustumPlanes", GpuCullCamera.inst.frustumPlanes);
|
||||
computeShader.Dispatch(kernel, Mathf.CeilToInt(dataInfors.Count / 128f), 1, 1);
|
||||
ComputeBuffer.CopyCount(cullIDsBuffer, argsBuffer, sizeof(uint));
|
||||
|
||||
//
|
||||
Graphics.DrawMeshInstancedIndirect(mesh, 0, material, bounds, argsBuffer, 0, null, shadowCastingMode, isReceiveShadow, LayerMask.NameToLayer("Instance"));
|
||||
}
|
||||
|
||||
private void OnDrawGizmos()
|
||||
{
|
||||
Gizmos.color = Color.blue;
|
||||
Gizmos.DrawWireCube(bounds.center, bounds.size);
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
// Release gracefully.
|
||||
if (instDataBuffer != null)
|
||||
{
|
||||
instDataBuffer.Release();
|
||||
}
|
||||
instDataBuffer = null;
|
||||
|
||||
if (cullIDsBuffer != null)
|
||||
{
|
||||
cullIDsBuffer.Release();
|
||||
}
|
||||
cullIDsBuffer = null;
|
||||
|
||||
if (argsBuffer != null)
|
||||
{
|
||||
argsBuffer.Release();
|
||||
}
|
||||
argsBuffer = null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dda0ecfe9235c9948b0bbf7c0fac4c04
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,199 @@
|
||||
%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: Grass
|
||||
m_Shader: {fileID: -6465566751694194690, guid: c3cf2c1d77918f242876d3e3e43a8267, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 1
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- Texture2D_176a92298d9144619b5d798e44fa3f30:
|
||||
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
|
||||
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _Mask:
|
||||
m_Texture: {fileID: 2800000, guid: 5edf21fd1ed167e44824ccf80ceedb4a, 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}
|
||||
- _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}
|
||||
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SampleTexture2D_eabcc0d5333a40a28bcfbc96d4a7b75b_Texture_1_Texture2D:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadowMask:
|
||||
m_Texture: {fileID: 2800000, guid: 9330d8ade35b5894fae1502ff804a218, type: 3}
|
||||
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}
|
||||
- _Texture2D:
|
||||
m_Texture: {fileID: 2800000, guid: 3a9522d5a552c234e81288b4a70a7043, 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_0d9babb9343c4d2690105a88152c8502: 0
|
||||
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
|
||||
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
|
||||
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
|
||||
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
|
||||
- Vector1_a4901df360a941faa15f35cc099e9355: 50
|
||||
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
|
||||
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
|
||||
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
|
||||
- _AlphaClip: 0
|
||||
- _BigWindOffset: 0
|
||||
- _BigWindSpeed: 0
|
||||
- _Blend: 0
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Clip: 0.1
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _Float: 0.5
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _ShadowStrength: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _Snownny: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Surface: 0
|
||||
- _WindScale: 0
|
||||
- _WindStrength: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.3775324, g: 0.5568628, b: 0.23921567, a: 1}
|
||||
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
|
||||
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
|
||||
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
|
||||
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
|
||||
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
|
||||
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
|
||||
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _ColorBottom: {r: 0.14509805, g: 0.34901962, b: 0.20069829, a: 1}
|
||||
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
|
||||
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _GrassNormal: {r: 0, g: 0, b: 1, a: 0}
|
||||
- _ShadowMaskUvOffset: {r: 0, g: 0.875, b: 0, a: 0}
|
||||
- _ShadowMaskUvScale: {r: 0.0035, g: 0.0035, b: 0, a: 0}
|
||||
- _ShadowMaskUvTilling: {r: 3.34, g: -13, b: -134, a: 0}
|
||||
- _SnowColor: {r: 0.70888215, g: 0.8185839, b: 0.8490566, a: 1}
|
||||
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
- _Vector2: {r: 0, g: 0.875, b: 0, a: 0}
|
||||
- _Vector3: {r: 0, g: 0, b: 1, a: 0}
|
||||
- _WindDirA: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _WindDirB: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _uvmask: {r: 0.0035, g: 0.0035, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &8237895349550093189
|
||||
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: 10
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 738b76ea23f9dce46b0647c42f529ddc
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c3cf2c1d77918f242876d3e3e43a8267
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
|
||||
@@ -0,0 +1,111 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
|
||||
public class GrassTest : MonoBehaviour
|
||||
{
|
||||
public Mesh mesh;
|
||||
public Material material;
|
||||
public Bounds bounds;
|
||||
public float scaleMult;
|
||||
public ShadowCastingMode shadowCastingMode;
|
||||
public bool isReceiveShadow;
|
||||
|
||||
private ComputeBuffer instDataBuffer;
|
||||
private ComputeBuffer argsBuffer;
|
||||
|
||||
|
||||
// Mesh Properties struct to be read from the GPU.
|
||||
// Size() is a convenience funciton which returns the stride of the struct.
|
||||
public Transform root;
|
||||
List<InstData> dataInfors = new List<InstData>();
|
||||
|
||||
private struct InstData
|
||||
{
|
||||
public Vector3 pos;
|
||||
public Vector3 angle;
|
||||
public Vector3 scale;
|
||||
|
||||
//
|
||||
public static int GetNum()
|
||||
{
|
||||
return sizeof(float) * 3 + sizeof(float) * 3 + sizeof(float) * 3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private void Start()
|
||||
{
|
||||
GetDataInfors();
|
||||
InitializeBuffers();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
Graphics.DrawMeshInstancedIndirect(mesh, 0, material, bounds, argsBuffer, 0, null, shadowCastingMode, isReceiveShadow, LayerMask.NameToLayer("Instance"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
void GetDataInfors()
|
||||
{
|
||||
foreach (Transform t in root.GetComponentInChildren<Transform>())
|
||||
{
|
||||
InstData instData = new InstData();
|
||||
instData.pos = t.position;
|
||||
instData.angle = t.eulerAngles;
|
||||
instData.scale = t.localScale * scaleMult;
|
||||
dataInfors.Add(instData);
|
||||
|
||||
//
|
||||
t.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void InitializeBuffers()
|
||||
{
|
||||
// Argument buffer used by DrawMeshInstancedIndirect.
|
||||
uint[] args = new uint[5] { 0, 0, 0, 0, 0 };
|
||||
// Arguments for drawing mesh.
|
||||
// 0 == number of triangle indices, 1 == population, others are only relevant if drawing submeshes.
|
||||
args[0] = (uint)mesh.GetIndexCount(0);
|
||||
args[1] = (uint)dataInfors.Count;
|
||||
args[2] = (uint)mesh.GetIndexStart(0);
|
||||
args[3] = (uint)mesh.GetBaseVertex(0);
|
||||
argsBuffer = new ComputeBuffer(1, args.Length * sizeof(uint), ComputeBufferType.IndirectArguments);
|
||||
argsBuffer.SetData(args);
|
||||
|
||||
// Initialize buffer with the given population.
|
||||
instDataBuffer = new ComputeBuffer(dataInfors.Count, InstData.GetNum());
|
||||
instDataBuffer.SetData(dataInfors);
|
||||
material = Instantiate(material);
|
||||
material.SetBuffer("_InstDataBuffer", instDataBuffer);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
// Release gracefully.
|
||||
if (instDataBuffer != null)
|
||||
{
|
||||
instDataBuffer.Release();
|
||||
}
|
||||
instDataBuffer = null;
|
||||
|
||||
if (argsBuffer != null)
|
||||
{
|
||||
argsBuffer.Release();
|
||||
}
|
||||
argsBuffer = null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c34fdd1f8d2a7e94fb5114e9a7a8d86e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,185 @@
|
||||
%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: Siyecao
|
||||
m_Shader: {fileID: -6465566751694194690, guid: 8a2ac1ebca7ddae40a94251f12707af4, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 1
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- Texture2D_176a92298d9144619b5d798e44fa3f30:
|
||||
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
|
||||
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: d5bcf698b994ea14da136460547a881c, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _Mask:
|
||||
m_Texture: {fileID: 2800000, guid: 928ed27a71c25f24585fbf1cb56412fa, 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}
|
||||
- _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}
|
||||
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadowMask:
|
||||
m_Texture: {fileID: 2800000, guid: 9330d8ade35b5894fae1502ff804a218, type: 3}
|
||||
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:
|
||||
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
|
||||
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
|
||||
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
|
||||
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
|
||||
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
|
||||
- Vector1_a4901df360a941faa15f35cc099e9355: 50
|
||||
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
|
||||
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
|
||||
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
|
||||
- _AlphaClip: 0
|
||||
- _BigWindOffset: 0.1
|
||||
- _BigWindSpeed: 2
|
||||
- _Blend: 0
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Clip: 0.1
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _ISGRASSNORMAL: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _ShadowStrength: 0.1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Surface: 0
|
||||
- _WindScale: 0
|
||||
- _WindStrength: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.53093714, g: 0.754717, b: 0.15307939, a: 1}
|
||||
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
|
||||
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
|
||||
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
|
||||
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
|
||||
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
|
||||
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
|
||||
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _ColorBottom: {r: 0.09344962, g: 0.5660378, b: 0.24872853, a: 1}
|
||||
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
|
||||
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _GrassNormal: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _ShadowMaskUvTilling: {r: 3.34, g: -13, b: -134, a: 0}
|
||||
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
- _Vector3: {r: 0, g: 0, b: 1, a: 0}
|
||||
- _WindDirA: {r: 0.1, g: 0, b: -0.2, a: 0}
|
||||
- _WindDirB: {r: -0.3, g: 0, b: 0.2, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &8237895349550093189
|
||||
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: 10
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 86d1707ef43362c4abd10dfd180bf585
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: efc0d598798d1ce4cb40f2d893122127
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
|
||||
@@ -0,0 +1,182 @@
|
||||
%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: TreeA
|
||||
m_Shader: {fileID: -6465566751694194690, guid: efc0d598798d1ce4cb40f2d893122127, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ISMASKALPHA
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 1
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- Texture2D_176a92298d9144619b5d798e44fa3f30:
|
||||
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
|
||||
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: ea60a248b028f0443aefa2425f94ef68, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _Mask:
|
||||
m_Texture: {fileID: 2800000, guid: ab5ba0bb0b7f69649917887d3190cc92, 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}
|
||||
- _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}
|
||||
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
|
||||
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:
|
||||
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
|
||||
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
|
||||
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
|
||||
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
|
||||
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
|
||||
- Vector1_a4901df360a941faa15f35cc099e9355: 50
|
||||
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
|
||||
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
|
||||
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
|
||||
- _AlphaClip: 0
|
||||
- _BigWindOffset: 0
|
||||
- _BigWindSpeed: 1
|
||||
- _Blend: 0
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Clip: 0.1
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _Float: 0
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _ISMASKALPHA: 1
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _Snownny: 1
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Surface: 0
|
||||
- _WindScale: 0
|
||||
- _WindStrength: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.53093714, g: 0.754717, b: 0.15307939, a: 1}
|
||||
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
|
||||
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
|
||||
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
|
||||
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
|
||||
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
|
||||
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
|
||||
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 0.99799246, b: 0.9858491, a: 1}
|
||||
- _ColorBottom: {r: 0.09344962, g: 0.5660378, b: 0.24872853, a: 1}
|
||||
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
|
||||
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SnowColor: {r: 0.70888215, g: 0.8185839, b: 0.8490566, a: 1}
|
||||
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
- _Vector3: {r: 0, g: 0, b: 1, a: 0}
|
||||
- _WindDirA: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _WindDirB: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &8237895349550093189
|
||||
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: 10
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3924c8c9b8c754d4fbf4f6bf41e6cc98
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,182 @@
|
||||
%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: TreeB
|
||||
m_Shader: {fileID: -6465566751694194690, guid: efc0d598798d1ce4cb40f2d893122127, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ISMASKALPHA
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 1
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- Texture2D_176a92298d9144619b5d798e44fa3f30:
|
||||
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
|
||||
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 6913b8006d3ad0b4cbf00d0251adf1f7, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _Mask:
|
||||
m_Texture: {fileID: 2800000, guid: f4d0c8b3a8e415f4492f11f9d11a49dc, 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}
|
||||
- _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}
|
||||
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
|
||||
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:
|
||||
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
|
||||
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
|
||||
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
|
||||
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
|
||||
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
|
||||
- Vector1_a4901df360a941faa15f35cc099e9355: 50
|
||||
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
|
||||
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
|
||||
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
|
||||
- _AlphaClip: 0
|
||||
- _BigWindOffset: 0
|
||||
- _BigWindSpeed: 1
|
||||
- _Blend: 0
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Clip: 0.1
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _Float: 0
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _ISMASKALPHA: 1
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _Snownny: 1
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Surface: 0
|
||||
- _WindScale: 0
|
||||
- _WindStrength: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.53093714, g: 0.754717, b: 0.15307939, a: 1}
|
||||
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
|
||||
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
|
||||
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
|
||||
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
|
||||
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
|
||||
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
|
||||
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 0.96254194, b: 0.9198113, a: 1}
|
||||
- _ColorBottom: {r: 0.09344962, g: 0.5660378, b: 0.24872853, a: 1}
|
||||
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
|
||||
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SnowColor: {r: 0.70888215, g: 0.8185839, b: 0.8490566, a: 1}
|
||||
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
- _Vector3: {r: 0, g: 0, b: 1, a: 0}
|
||||
- _WindDirA: {r: 0.41, g: 0, b: -0.2, a: 0}
|
||||
- _WindDirB: {r: -0.3, g: 0, b: 0.2, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &8237895349550093189
|
||||
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: 10
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a2314e58151d0de42acac09b55a1dc8a
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,187 @@
|
||||
%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: Tuantuancao
|
||||
m_Shader: {fileID: -6465566751694194690, guid: 8a2ac1ebca7ddae40a94251f12707af4, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 1
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- Texture2D_176a92298d9144619b5d798e44fa3f30:
|
||||
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
|
||||
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: b9311a472cdfbc54a9cda34911d0690e, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _Mask:
|
||||
m_Texture: {fileID: 2800000, guid: 415a4e49b9f1e264baab1320a963cd60, 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}
|
||||
- _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}
|
||||
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadowMask:
|
||||
m_Texture: {fileID: 2800000, guid: 9e4738c76838436448758b302c744cfe, type: 3}
|
||||
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:
|
||||
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
|
||||
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
|
||||
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
|
||||
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
|
||||
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
|
||||
- Vector1_a4901df360a941faa15f35cc099e9355: 50
|
||||
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
|
||||
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
|
||||
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
|
||||
- _AlphaClip: 0
|
||||
- _BigWindOffset: 0
|
||||
- _BigWindSpeed: 0
|
||||
- _Blend: 0
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Clip: 0.1
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _ISGRASSNORMAL: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _ShadowStrength: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _Snownny: 1
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Surface: 0
|
||||
- _WindScale: 0
|
||||
- _WindStrength: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.53093714, g: 0.754717, b: 0.15307939, a: 1}
|
||||
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
|
||||
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
|
||||
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
|
||||
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
|
||||
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
|
||||
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
|
||||
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
|
||||
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _ColorBottom: {r: 0.09344962, g: 0.5660378, b: 0.24872853, a: 1}
|
||||
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
|
||||
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _GrassNormal: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _ShadowMaskUvTilling: {r: 3.34, g: -13, b: -134, a: 0}
|
||||
- _SnowColor: {r: 0.70888215, g: 0.8185839, b: 0.8490566, a: 1}
|
||||
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
- _Vector3: {r: 0, g: 0, b: 1, a: 0}
|
||||
- _WindDirA: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _WindDirB: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &8237895349550093189
|
||||
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: 10
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 53fd7a0b14aff6d47b65efd653813cd0
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,99 @@
|
||||
//https://gist.github.com/ArieLeo/d7e6bc5485caa9ba99cd3a59d0f53404
|
||||
|
||||
#ifndef SHADER_GRAPH_SUPPORT_H
|
||||
#define SHADER_GRAPH_SUPPORT_H
|
||||
|
||||
// You could also upload the model matrix
|
||||
struct InstData
|
||||
{
|
||||
float3 pos;
|
||||
float3 angle;
|
||||
float3 scale;
|
||||
};
|
||||
|
||||
StructuredBuffer<InstData> _InstDataBuffer;
|
||||
StructuredBuffer<uint> _CullIDsBuffer;
|
||||
|
||||
float4 EularToQuaternion(float3 angle)
|
||||
{
|
||||
float X = angle.x * 0.0174532925 / 2;
|
||||
float Y = angle.y * 0.0174532925 / 2;
|
||||
float Z = angle.z * 0.0174532925 / 2;
|
||||
float x = sin(X) * cos(Y) * cos(Z) + cos(X) * sin(Y) * sin(Z);
|
||||
float y = cos(X) * sin(Y) * cos(Z) - sin(X) * cos(Y) * sin(Z);
|
||||
float z = cos(X) * cos(Y) * sin(Z) - sin(X) * sin(Y) * cos(Z);
|
||||
float w = cos(X) * cos(Y) * cos(Z) + sin(X) * sin(Y) * sin(Z);
|
||||
return float4(x, y, z, w);
|
||||
}
|
||||
|
||||
float4x4 TRSMatrix(float3 position, float3 angle, float3 scale)
|
||||
{
|
||||
float4 rotation = EularToQuaternion(angle);
|
||||
|
||||
float4x4 m = 0.0;
|
||||
|
||||
m[0][0] = (1.0 - 2.0 * (rotation.y * rotation.y + rotation.z * rotation.z)) * scale.x;
|
||||
m[1][0] = (rotation.x * rotation.y + rotation.z * rotation.w) * scale.x * 2.0;
|
||||
m[2][0] = (rotation.x * rotation.z - rotation.y * rotation.w) * scale.x * 2.0;
|
||||
m[3][0] = 0.0;
|
||||
|
||||
m[0][1] = (rotation.x * rotation.y - rotation.z * rotation.w) * scale.y * 2.0;
|
||||
m[1][1] = (1.0 - 2.0 * (rotation.x * rotation.x + rotation.z * rotation.z)) * scale.y;
|
||||
m[2][1] = (rotation.y * rotation.z + rotation.x * rotation.w) * scale.y * 2.0;
|
||||
m[3][1] = 0.0;
|
||||
|
||||
m[0][2] = (rotation.x * rotation.z + rotation.y * rotation.w) * scale.z * 2.0;
|
||||
m[1][2] = (rotation.y * rotation.z - rotation.x * rotation.w) * scale.z * 2.0;
|
||||
m[2][2] = (1.0 - 2.0 * (rotation.x * rotation.x + rotation.y * rotation.y)) * scale.z;
|
||||
m[3][2] = 0.0;
|
||||
|
||||
m[0][3] = position.x;
|
||||
m[1][3] = position.y;
|
||||
m[2][3] = position.z;
|
||||
m[3][3] = 1.0;
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
inline void SetUnityMatrices(uint instanceID, inout float4x4 objectToWorld, inout float4x4 worldToObject)
|
||||
{
|
||||
#if UNITY_ANY_INSTANCING_ENABLED
|
||||
//Get Data
|
||||
InstData instData = _InstDataBuffer[_CullIDsBuffer[instanceID]];
|
||||
//InstData instData = _InstDataBuffer[instanceID];
|
||||
|
||||
//Build Matrix
|
||||
objectToWorld = mul(objectToWorld, TRSMatrix(instData.pos, instData.angle, instData.scale));
|
||||
//objectToWorld = mul(objectToWorld, instData.mat);
|
||||
|
||||
//Transform objectToWorld
|
||||
float3x3 w2oRotation;
|
||||
w2oRotation[0] = objectToWorld[1].yzx * objectToWorld[2].zxy - objectToWorld[1].zxy * objectToWorld[2].yzx;
|
||||
w2oRotation[1] = objectToWorld[0].zxy * objectToWorld[2].yzx - objectToWorld[0].yzx * objectToWorld[2].zxy;
|
||||
w2oRotation[2] = objectToWorld[0].yzx * objectToWorld[1].zxy - objectToWorld[0].zxy * objectToWorld[1].yzx;
|
||||
|
||||
float det = dot(objectToWorld[0].xyz, w2oRotation[0]);
|
||||
w2oRotation = transpose(w2oRotation);
|
||||
w2oRotation *= rcp(det);
|
||||
float3 w2oPosition = mul(w2oRotation, -objectToWorld._14_24_34);
|
||||
|
||||
worldToObject._11_21_31_41 = float4(w2oRotation._11_21_31, 0.0f);
|
||||
worldToObject._12_22_32_42 = float4(w2oRotation._12_22_32, 0.0f);
|
||||
worldToObject._13_23_33_43 = float4(w2oRotation._13_23_33, 0.0f);
|
||||
worldToObject._14_24_34_44 = float4(w2oPosition, 1.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
void grassPassThroughVec3_float(in float3 In, out float3 Out)
|
||||
{
|
||||
Out = In;
|
||||
}
|
||||
|
||||
void setup()
|
||||
{
|
||||
#if UNITY_ANY_INSTANCING_ENABLED
|
||||
SetUnityMatrices(unity_InstanceID, unity_ObjectToWorld, unity_WorldToObject);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 15fc50f03ee376e459c6ae932e9b4dd7
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
preprocessorOverride: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 301 KiB |
@@ -0,0 +1,179 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9e4738c76838436448758b302c744cfe
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
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
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 2
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
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
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: iPhone
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Windows Store Apps
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
145
Assets/GameRes/Main/SceneArt/VRScene/Materials/bj.mat
Normal file
145
Assets/GameRes/Main/SceneArt/VRScene/Materials/bj.mat
Normal file
@@ -0,0 +1,145 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-6117401966350195149
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: bj
|
||||
m_Shader: {fileID: 4800000, guid: 1d6beff3b873d3a4d8f66dd03c8a253b, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: 61ed402b9f759c4448d93ea85de84a70, type: 3}
|
||||
m_Scale: {x: 8, y: 8}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 61ed402b9f759c4448d93ea85de84a70, type: 3}
|
||||
m_Scale: {x: 8, y: 8}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _TextureSample0:
|
||||
m_Texture: {fileID: 2800000, guid: 61ed402b9f759c4448d93ea85de84a70, type: 3}
|
||||
m_Scale: {x: 5, y: 5}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _texcoord:
|
||||
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
|
||||
- _AlphaCutoff: 0.5
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BlendOp: 0
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _Float0: 0.5
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _SampleGI: 0
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 0.7490196, g: 0.85490197, b: 1, a: 1}
|
||||
- _Color0: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 943d1404e86060a4898f217eb8b2a5ab
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
157
Assets/GameRes/Main/SceneArt/VRScene/Materials/dust.mat
Normal file
157
Assets/GameRes/Main/SceneArt/VRScene/Materials/dust.mat
Normal file
@@ -0,0 +1,157 @@
|
||||
%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: dust
|
||||
m_Shader: {fileID: 4800000, guid: 0406db5a14f94604a8c57ccfbc9f3b46, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _EMISSION
|
||||
- _SURFACE_TYPE_TRANSPARENT
|
||||
m_InvalidKeywords:
|
||||
- _FLIPBOOKBLENDING_OFF
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses:
|
||||
- DepthOnly
|
||||
- SHADOWCASTER
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: ae59c026ad34d644b948b6638c7003b5, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BlendOp: 0
|
||||
- _BumpScale: 1
|
||||
- _CameraFadingEnabled: 0
|
||||
- _CameraFarFadeDistance: 2
|
||||
- _CameraNearFadeDistance: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _ColorMode: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DistortionBlend: 0.5
|
||||
- _DistortionEnabled: 0
|
||||
- _DistortionStrength: 1
|
||||
- _DistortionStrengthScaled: 0.1
|
||||
- _DstBlend: 10
|
||||
- _DstBlendAlpha: 10
|
||||
- _EnvironmentReflections: 1
|
||||
- _FlipbookBlending: 0
|
||||
- _FlipbookMode: 0
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SoftParticlesEnabled: 0
|
||||
- _SoftParticlesFarFadeDistance: 1
|
||||
- _SoftParticlesNearFadeDistance: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 5
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 1
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 0.65605736, g: 0.99999994, b: 0, a: 1}
|
||||
- _BaseColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
|
||||
- _Color: {r: 0.65605736, g: 1, b: 0, a: 1}
|
||||
- _EmissionColor: {r: 7.007104, g: 10.680627, b: 0, a: 1}
|
||||
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &3172068168711659442
|
||||
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: 10
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ecedfbadcf9d14e4e8226f88a6b517e4
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,146 @@
|
||||
%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: fogSimulation 1
|
||||
m_Shader: {fileID: 4800000, guid: b30e1f93adb311d4cbaa2c57e909e993, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _Mask:
|
||||
m_Texture: {fileID: 2800000, guid: 6ddfdda60651fee4ca9cc4c7dcdf12e6, 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}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaCutoff: 0.5
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _Depth: 150
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _Float0: 10
|
||||
- _Float1: 0.1
|
||||
- _Float2: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 0.9386792, g: 0.96175665, b: 1, a: 1}
|
||||
- _Color1: {r: 0.75, g: 0.8536483, b: 1, a: 1}
|
||||
- _Color2: {r: 0, g: 0.662745, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
- _Vector2: {r: 0.1, g: -0.3, b: -0.2, a: 0.4}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &8947649352681281539
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e447c8d8981d50f4fa2fea62d692fca2
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
146
Assets/GameRes/Main/SceneArt/VRScene/Materials/fogSimulation.mat
Normal file
146
Assets/GameRes/Main/SceneArt/VRScene/Materials/fogSimulation.mat
Normal file
@@ -0,0 +1,146 @@
|
||||
%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: fogSimulation
|
||||
m_Shader: {fileID: 4800000, guid: b30e1f93adb311d4cbaa2c57e909e993, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _Mask:
|
||||
m_Texture: {fileID: 2800000, guid: 6ddfdda60651fee4ca9cc4c7dcdf12e6, 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}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaCutoff: 0.5
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _Depth: 75
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _Float0: 20
|
||||
- _Float1: 0.1
|
||||
- _Float2: 1.5
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 0.9386792, g: 0.96175665, b: 1, a: 1}
|
||||
- _Color1: {r: 0.75, g: 0.8536483, b: 1, a: 1}
|
||||
- _Color2: {r: 0, g: 0.662745, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
- _Vector2: {r: 0.1, g: -0.3, b: -0.2, a: 0.4}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &8947649352681281539
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b7caf09994f81d943940ac677604ad92
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/GameRes/Main/SceneArt/VRScene/Materials/shadowMask.png
Normal file
BIN
Assets/GameRes/Main/SceneArt/VRScene/Materials/shadowMask.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 149 KiB |
@@ -0,0 +1,179 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9330d8ade35b5894fae1502ff804a218
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
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
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 2
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
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
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: iPhone
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Windows Store Apps
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 8192
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user