浏览代码

Updated Samples and Main Map

/main
Thomas ICHÉ 6 年前
当前提交
17f30cfb
共有 19 个文件被更改,包括 2405 次插入1704 次删除
  1. 863
      Assets/Samples/Butterflies/Butterflies.vfx
  2. 286
      Assets/Samples/MorphingFace/MorphingFace.vfx
  3. 956
      Assets/Samples/Portal/Portal.vfx
  4. 15
      Assets/Samples/UnityLogo/UnityLogo.unity
  5. 432
      Assets/Samples/UnityLogo/UnityLogo.vfx
  6. 192
      Assets/Samples/Volumetric/Volumetric.vfx
  7. 9
      Assets/VisualEffectsSamples.unity
  8. 4
      Packages/manifest.json
  9. 9
      ProjectSettings/EditorBuildSettings.asset
  10. 1
      ProjectSettings/GraphicsSettings.asset
  11. 9
      ProjectSettings/ProjectSettings.asset
  12. 2
      ProjectSettings/ProjectVersion.txt
  13. 20
      README.md
  14. 1
      Assets/Samples/Common/Textures/Wispy03b_Thicker_N.tga
  15. 132
      Assets/Samples/Common/Textures/Wispy03b_Thicker_N.tga.meta
  16. 1001
      Assets/Samples/Common/Textures/WispySmoke01_8x8.tga
  17. 88
      Assets/Samples/Common/Textures/WispySmoke01_8x8.tga.meta
  18. 81
      Assets/HDRP/HDRenderPipelineResources.asset
  19. 8
      Assets/HDRP/HDRenderPipelineResources.asset.meta

863
Assets/Samples/Butterflies/Butterflies.vfx
文件差异内容过多而无法显示
查看文件

286
Assets/Samples/MorphingFace/MorphingFace.vfx


m_ShaderSources:
- compute: 1
name: '[System 1]Initialize'
source: "#pragma kernel CSMain\r\n#include \"HLSLSupport.cginc\"\n#define NB_THREADS_PER_GROUP
source: "#pragma kernel CSMain\n#include \"HLSLSupport.cginc\"\n#define NB_THREADS_PER_GROUP
1\n\n\r\nCBUFFER_START(parameters)\n float4 Scale_e;\nCBUFFER_END\nTexture2D
1\n\n\nCBUFFER_START(parameters)\n float4 Scale_e;\nCBUFFER_END\nTexture2D
samplerattributeMap_b;\n\n\r\n#include \"Packages/com.unity.visualeffectgraph/Shaders/Common/VFXCommonCompute.cginc\"\n#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\n\r\n\r\nRWByteAddressBuffer
attributeBuffer;\r\nByteAddressBuffer sourceAttributeBuffer;\r\n\r\nCBUFFER_START(initParams)\r\n#if
!VFX_USE_SPAWNER_FROM_GPU\r\n uint nbSpawned;\t\t\t\t\t// Numbers of particle
spawned\r\n uint spawnIndex;\t\t\t\t// Index of the first particle spawned\r\n
\ uint dispatchWidth;\r\n#else\r\n uint offsetInAdditionalOutput;\r\n\tuint
nbMax;\r\n#endif\r\n\tuint systemSeed;\r\nCBUFFER_END\r\n\r\n#if VFX_USE_ALIVE_CURRENT\r\nRWStructuredBuffer<uint>
deadListIn;\r\nByteAddressBuffer deadListCount; // This is bad to use a SRV
to fetch deadList count but Unity API currently prevent from copying to CB\r\n#endif\r\n\r\n#if
VFX_USE_SPAWNER_FROM_GPU\r\nStructuredBuffer<uint> eventList;\r\nByteAddressBuffer
inputAdditional;\r\n#endif\r\n\r\nvoid AttributeFromMap_6F6C36D5(inout float3
position, uint particleId, VFXSampler2D attributeMap, float3 valueBias, float3
valueScale) /*attribute:position Composition:Overwrite SampleMode:RandomUniformPerParticle
samplerattributeMap_b;\n\n\n#include \"Packages/com.unity.visualeffectgraph/Shaders/Common/VFXCommonCompute.cginc\"\n#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\n\n\nRWByteAddressBuffer
attributeBuffer;\nByteAddressBuffer sourceAttributeBuffer;\n\nCBUFFER_START(initParams)\n#if
!VFX_USE_SPAWNER_FROM_GPU\n uint nbSpawned;\t\t\t\t\t// Numbers of particle
spawned\n uint spawnIndex;\t\t\t\t// Index of the first particle spawned\n
\ uint dispatchWidth;\n#else\n uint offsetInAdditionalOutput;\n\tuint nbMax;\n#endif\n\tuint
systemSeed;\nCBUFFER_END\n\n#if VFX_USE_ALIVE_CURRENT\nRWStructuredBuffer<uint>
deadListIn;\nByteAddressBuffer deadListCount; // This is bad to use a SRV to
fetch deadList count but Unity API currently prevent from copying to CB\n#endif\n\n#if
VFX_USE_SPAWNER_FROM_GPU\nStructuredBuffer<uint> eventList;\nByteAddressBuffer
inputAdditional;\n#endif\n\nvoid AttributeFromMap_6F6C36D5(inout float3 position,
uint particleId, VFXSampler2D attributeMap, float3 valueBias, float3 valueScale)
/*attribute:position Composition:Overwrite SampleMode:RandomConstantPerParticle
channels:XYZ */\n{\n \n uint width, height;\n attributeMap.t.GetDimensions(width,
height);\n uint count = width * height;\n uint id = clamp(uint(FIXED_RAND(0x8ef09666)
* count), 0, count - 1);\n float3 value = (float3)attributeMap.t.Load(int3(id

Composition:Overwrite SampleMode:RandomUniformPerParticle channels:XYZ */\n{\n
Composition:Overwrite SampleMode:RandomConstantPerParticle channels:XYZ */\n{\n
\ \n uint width, height;\n attributeMap.t.GetDimensions(width, height);\n
\ uint count = width * height;\n uint id = clamp(uint(FIXED_RAND(0x8ef09666)
* count), 0, count - 1);\n float3 value = (float3)attributeMap.t.Load(int3(id

particleId, float4 Scale) /*attribute:scale Composition:Overwrite AlphaComposition:Overwrite
SampleMode:RandomUniformPerParticle Mode:PerComponent ColorMode:ColorAndAlpha
channels:Y */\n{\n float t = FIXED_RAND(0x34634bc2);\n float value = 0.0f;\n
\ value = SampleCurve(Scale, t);\n scaleY = value.x;\n}\n\n\r\n\r\n[numthreads(NB_THREADS_PER_GROUP,1,1)]\r\nvoid
CSMain(uint3 groupId : SV_GroupID,\r\n uint3 groupThreadId
\ : SV_GroupThreadID)\r\n{\r\n uint id = groupThreadId.x + groupId.x *
NB_THREADS_PER_GROUP;\r\n#if !VFX_USE_SPAWNER_FROM_GPU\r\n id += groupId.y
* dispatchWidth * NB_THREADS_PER_GROUP;\r\n#endif\r\n\r\n#if VFX_USE_SPAWNER_FROM_GPU\r\n
\ uint maxThreadId = inputAdditional.Load((offsetInAdditionalOutput * 2 +
0) << 2);\r\n uint currentSpawnIndex = inputAdditional.Load((offsetInAdditionalOutput
* 2 + 1) << 2) - maxThreadId;\r\n#else\r\n uint maxThreadId = nbSpawned;\r\n
\ uint currentSpawnIndex = spawnIndex;\r\n#endif\r\n\r\n#if VFX_USE_ALIVE_CURRENT\r\n
\ maxThreadId = min(maxThreadId, deadListCount.Load(0x0));\r\n#elif VFX_USE_SPAWNER_FROM_GPU\r\n
\ value = SampleCurve(Scale, t);\n scaleY = value.x;\n}\n\n\n\n[numthreads(NB_THREADS_PER_GROUP,1,1)]\nvoid
CSMain(uint3 groupId : SV_GroupID,\n uint3 groupThreadId
\ : SV_GroupThreadID)\n{\n uint id = groupThreadId.x + groupId.x * NB_THREADS_PER_GROUP;\n#if
!VFX_USE_SPAWNER_FROM_GPU\n id += groupId.y * dispatchWidth * NB_THREADS_PER_GROUP;\n#endif\n\n#if
VFX_USE_SPAWNER_FROM_GPU\n uint maxThreadId = inputAdditional.Load((offsetInAdditionalOutput
* 2 + 0) << 2);\n uint currentSpawnIndex = inputAdditional.Load((offsetInAdditionalOutput
* 2 + 1) << 2) - maxThreadId;\n#else\n uint maxThreadId = nbSpawned;\n uint
currentSpawnIndex = spawnIndex;\n#endif\n\n#if VFX_USE_ALIVE_CURRENT\n maxThreadId
= min(maxThreadId, deadListCount.Load(0x0));\n#elif VFX_USE_SPAWNER_FROM_GPU\n
on CPU\r\n#endif\r\n\r\n if (id < maxThreadId)\r\n {\r\n#if VFX_USE_SPAWNER_FROM_GPU\r\n
\ int sourceIndex = eventList[id];\r\n#endif\r\n uint particleIndex
= id + currentSpawnIndex;\r\n\t\t\r\n#if !VFX_USE_SPAWNER_FROM_GPU\r\n int
on CPU\n#endif\n\n if (id < maxThreadId)\n {\n#if VFX_USE_SPAWNER_FROM_GPU\n
\ int sourceIndex = eventList[id];\n#endif\n uint particleIndex
= id + currentSpawnIndex;\n\t\t\n#if !VFX_USE_SPAWNER_FROM_GPU\n int
\ }\n }\n */\n \n\r\n#endif\r\n float3
position = float3(0,0,0);\n uint particleId = (uint)0;\n float3
color = float3(1,1,1);\n float angleX = (float)0;\n uint seed
= (uint)0;\n float angleZ = (float)0;\n float scaleY = (float)1;\n
\ float age = (float)0;\n float lifetime = (float)0;\n \n\r\n#if
VFX_USE_PARTICLEID_CURRENT\r\n particleId = particleIndex;\r\n#endif\r\n#if
VFX_USE_SEED_CURRENT\r\n seed = WangHash(particleIndex ^ systemSeed);\r\n#endif\r\n
\ \r\n {\n AttributeFromMap_6F6C36D5( /*inout */position,
particleId, GetVFXSampler(attributeMap_a, samplerattributeMap_a), float3(-0.5,0,-3.2),
float3(1,1,1));\n }\n {\n AttributeFromMap_9AACC55(
\ }\n }\n */\n \n\n#endif\n float3 position
= float3(0,0,0);\n uint particleId = (uint)0;\n float3 color =
float3(1,1,1);\n float angleX = (float)0;\n uint seed = (uint)0;\n
\ float angleZ = (float)0;\n float scaleY = (float)1;\n float
age = (float)0;\n float lifetime = (float)0;\n \n\n#if VFX_USE_PARTICLEID_CURRENT\n
\ particleId = particleIndex;\n#endif\n#if VFX_USE_SEED_CURRENT\n seed
= WangHash(particleIndex ^ systemSeed);\n#endif\n \n {\n AttributeFromMap_6F6C36D5(
/*inout */position, particleId, GetVFXSampler(attributeMap_a, samplerattributeMap_a),
float3(-0.5,0,-3.2), float3(1,1,1));\n }\n {\n AttributeFromMap_9AACC55(
age, lifetime, particleId, Scale_e);\n \n\r\n\r\n#if VFX_USE_ALIVE_CURRENT\r\n
\ if (alive)\r\n {\r\n\t\t\tuint deadIndex = deadListIn.DecrementCounter();\r\n
\ uint index = deadListIn[deadIndex];\r\n attributeBuffer.Store3((index
age, lifetime, particleId, Scale_e);\n \n\n\n#if VFX_USE_ALIVE_CURRENT\n
\ if (alive)\n {\n\t\t\tuint deadIndex = deadListIn.DecrementCounter();\n
\ uint index = deadListIn[deadIndex];\n attributeBuffer.Store3((index
* 0xC + 0x8) << 2,asuint(scaleY));\n \n\r\n }\r\n#else\r\n
\ uint index = particleIndex;\r\n attributeBuffer.Store3((index
* 0xC + 0x0) << 2,asuint(position));\n attributeBuffer.Store3((index
* 0xC + 0x4) << 2,asuint(color));\n attributeBuffer.Store((index * 0xC
+ 0x3) << 2,asuint(angleX));\n attributeBuffer.Store((index * 0xC + 0x7)
<< 2,asuint(angleZ));\n attributeBuffer.Store((index * 0xC + 0x8) <<
2,asuint(scaleY));\n \n\r\n#endif\r\n }\r\n}\r\n"
* 0xC + 0x8) << 2,asuint(scaleY));\n \n\n }\n#else\n uint
index = particleIndex;\n attributeBuffer.Store3((index * 0xC + 0x0) <<
2,asuint(position));\n attributeBuffer.Store3((index * 0xC + 0x4) <<
2,asuint(color));\n attributeBuffer.Store((index * 0xC + 0x3) << 2,asuint(angleX));\n
\ attributeBuffer.Store((index * 0xC + 0x7) << 2,asuint(angleZ));\n attributeBuffer.Store((index
* 0xC + 0x8) << 2,asuint(scaleY));\n \n\n#endif\n }\n}\n"
source: "Shader \"Hidden/VFX/System 1/Lit Cube Output\"\n{\r\n\tSubShader\r\n\t{\t\r\n\t\tCull
Back\r\n\t\t\r\n\t\tTags { \"Queue\"=\"Geometry\" \"IgnoreProjector\"=\"False\"
source: "Shader \"Hidden/VFX/System 1/Lit Cube Output\"\n{\n\tSubShader\n\t{\t\n\t\tCull
Back\n\t\t\n\t\tTags { \"Queue\"=\"Geometry\" \"IgnoreProjector\"=\"False\"
\"RenderType\"=\"Opaque\" }\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tZTest
LEqual\n\t\tZWrite On\n\t\tCull Off\n\t\t\n\t\n\t\t\t\n\t\tHLSLINCLUDE\n\t\t#if
!defined(VFX_WORLD_SPACE) && !defined(VFX_LOCAL_SPACE)\n\t\t#define VFX_LOCAL_SPACE

VFX_USE_PIVOTZ_CURRENT 1\n\t\t#define VFX_USE_SIZE_CURRENT 1\n\t\t#define VFX_USE_SCALEX_CURRENT
1\n\t\t#define VFX_USE_SCALEZ_CURRENT 1\n\t\t#define IS_OPAQUE_PARTICLE 1\n\t\t#define
USE_CAST_SHADOWS_PASS 1\n\t\t#define HDRP_LIT 1\n\t\t#define HDRP_MATERIAL_TYPE_STANDARD
1\n\t\t#define HDRP_USE_BASE_COLOR 1\n\t\t\n\t\t\n\t\t\n\t\t#define VFX_LOCAL_SPACE
1\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t float uniform_b;\n\t\t uint3
PADDING_0;\n\t\tCBUFFER_END\n\t\t\n\n\t\t\n\t\t#define VFX_NEEDS_COLOR_INTERPOLATOR
(VFX_USE_COLOR_CURRENT || VFX_USE_ALPHA_CURRENT)\n\t\t#define IS_TRANSPARENT_PARTICLE
(!IS_OPAQUE_PARTICLE)\n\t\t\n\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXGlobalDefines.cginc\"\n\t\t\n\n\t\t\n\t\tByteAddressBuffer
1\n\t\t#define HDRP_USE_BASE_COLOR 1\n\t\t#define IS_OPAQUE_NOT_SIMPLE_LIT_PARTICLE
1\n\t\t\n\t\t\n\t\t\n\t\t#define VFX_LOCAL_SPACE 1\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t
\ float uniform_b;\n\t\t uint3 PADDING_0;\n\t\tCBUFFER_END\n\t\t\n\n\t\t\n\t\t#define
VFX_NEEDS_COLOR_INTERPOLATOR (VFX_USE_COLOR_CURRENT || VFX_USE_ALPHA_CURRENT)\n\t\t#define
IS_TRANSPARENT_PARTICLE (!IS_OPAQUE_PARTICLE)\n\t\t\n\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXGlobalDefines.cginc\"\n\t\t\n\n\t\t\n\t\tByteAddressBuffer
nbMax;\n\t\t\tfloat systemSeed;\n\t\tCBUFFER_END\n\t\t\n\t\tENDHLSL\n\t\t\n\r\n\t\t//
nbMax;\n\t\t\tfloat systemSeed;\n\t\tCBUFFER_END\n\t\t\n\t\tENDHLSL\n\t\t\n\n\t\t//
Depth pass\n\t\tPass\n\t\t{\t\t\n\t\t\tTags { \"LightMode\"=\"DepthForwardOnly\"
}\n\t\t\n\t\t\tZWrite On\n\t\t\tBlend Off\n\t\t\t\n\t\t\tHLSLPROGRAM\n\t\t\t#pragma
target 4.5\n\t\t\t\n\t\t\tstruct ps_input\n\t\t\t{\n\t\t\t\tfloat4 pos : SV_POSITION;\n\t\t\t\t#if

\ scaleZ = lerp(scaleZ,Scale.z,Blend);\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t#pragma
vertex vert\n\t\t\tVFX_VARYING_PS_INPUTS vert(uint id : SV_VertexID, uint instanceID
: SV_InstanceID)\n\t\t\t{\n\t\t\t\tuint index = (id >> 3) + instanceID * 1024;\n\t\t\t\tVFX_VARYING_PS_INPUTS
o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\t#if
USE_DEAD_LIST_COUNT\n\t\t\t\t\t\t\tif (index >= asuint(nbMax) - deadListCount.Load(0))\n\t\t\t\t\t\t\t\treturn
o;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tindex = indirectBuffer[index];\n\t\t\t\t\t\t\tfloat3
position = asfloat(attributeBuffer.Load3((index * 0xC + 0x0) << 2));\n\t\t\t\t\t\t\tfloat3
color = asfloat(attributeBuffer.Load3((index * 0xC + 0x4) << 2));\n\t\t\t\t\t\t\tfloat
angleX = asfloat(attributeBuffer.Load((index * 0xC + 0x3) << 2));\n\t\t\t\t\t\t\tfloat
angleZ = asfloat(attributeBuffer.Load((index * 0xC + 0x7) << 2));\n\t\t\t\t\t\t\tfloat
scaleY = asfloat(attributeBuffer.Load((index * 0xC + 0x8) << 2));\n\t\t\t\t\t\t\tfloat
alpha = (float)1;\n\t\t\t\t\t\t\tbool alive = (bool)true;\n\t\t\t\t\t\t\tfloat3
axisX = float3(1,0,0);\n\t\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\t\tfloat3
axisZ = float3(0,0,1);\n\t\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\t\tfloat
pivotX = (float)0;\n\t\t\t\t\t\t\tfloat pivotY = (float)0;\n\t\t\t\t\t\t\tfloat
pivotZ = (float)0;\n\t\t\t\t\t\t\tfloat size = (float)0.1;\n\t\t\t\t\t\t\tfloat
scaleX = (float)1;\n\t\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\tif
(index >= asuint(nbMax))\n\t\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbool
alive = (bool)true;\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\tif (!alive)\n\t\t\t\t\t\t\t\treturn
o;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfloat3 position = asfloat(attributeBuffer.Load3((index
* 0xC + 0x0) << 2));\n\t\t\t\t\t\t\tfloat3 color = asfloat(attributeBuffer.Load3((index
* 0xC + 0x4) << 2));\n\t\t\t\t\t\t\tfloat angleX = asfloat(attributeBuffer.Load((index
* 0xC + 0x3) << 2));\n\t\t\t\t\t\t\tfloat angleZ = asfloat(attributeBuffer.Load((index
* 0xC + 0x7) << 2));\n\t\t\t\t\t\t\tfloat scaleY = asfloat(attributeBuffer.Load((index
* 0xC + 0x8) << 2));\n\t\t\t\t\t\t\tfloat alpha = (float)1;\n\t\t\t\t\t\t\tfloat3
axisX = float3(1,0,0);\n\t\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\t\tfloat3
axisZ = float3(0,0,1);\n\t\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\t\tfloat
pivotX = (float)0;\n\t\t\t\t\t\t\tfloat pivotY = (float)0;\n\t\t\t\t\t\t\tfloat
pivotZ = (float)0;\n\t\t\t\t\t\t\tfloat size = (float)0.1;\n\t\t\t\t\t\t\tfloat
scaleX = (float)1;\n\t\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t{\n\t\t\t\t
o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tuint deadCount
= 0;\n\t\t\t\t\t\t#if USE_DEAD_LIST_COUNT\n\t\t\t\t\t\tdeadCount = deadListCount.Load(0);\n\t\t\t\t\t\t#endif\t\n\t\t\t\t\t\tif
(index >= asuint(nbMax) - deadCount)\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex = indirectBuffer[index];\n\t\t\t\t\t\tfloat3
position = asfloat(attributeBuffer.Load3((index * 0xC + 0x0) << 2));\n\t\t\t\t\t\tfloat3
color = asfloat(attributeBuffer.Load3((index * 0xC + 0x4) << 2));\n\t\t\t\t\t\tfloat
angleX = asfloat(attributeBuffer.Load((index * 0xC + 0x3) << 2));\n\t\t\t\t\t\tfloat
angleZ = asfloat(attributeBuffer.Load((index * 0xC + 0x7) << 2));\n\t\t\t\t\t\tfloat
scaleY = asfloat(attributeBuffer.Load((index * 0xC + 0x8) << 2));\n\t\t\t\t\t\tfloat
alpha = (float)1;\n\t\t\t\t\t\tbool alive = (bool)true;\n\t\t\t\t\t\tfloat3
axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\tfloat3
axisZ = float3(0,0,1);\n\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\tfloat
pivotX = (float)0;\n\t\t\t\t\t\tfloat pivotY = (float)0;\n\t\t\t\t\t\tfloat
pivotZ = (float)0;\n\t\t\t\t\t\tfloat size = (float)0.1;\n\t\t\t\t\t\tfloat
scaleX = (float)1;\n\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\tbool
alive = (bool)true;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif (!alive)\n\t\t\t\t\t\t\treturn
o;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tfloat3 position = asfloat(attributeBuffer.Load3((index
* 0xC + 0x0) << 2));\n\t\t\t\t\t\tfloat3 color = asfloat(attributeBuffer.Load3((index
* 0xC + 0x4) << 2));\n\t\t\t\t\t\tfloat angleX = asfloat(attributeBuffer.Load((index
* 0xC + 0x3) << 2));\n\t\t\t\t\t\tfloat angleZ = asfloat(attributeBuffer.Load((index
* 0xC + 0x7) << 2));\n\t\t\t\t\t\tfloat scaleY = asfloat(attributeBuffer.Load((index
* 0xC + 0x8) << 2));\n\t\t\t\t\t\tfloat alpha = (float)1;\n\t\t\t\t\t\tfloat3
axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\tfloat3
axisZ = float3(0,0,1);\n\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\tfloat
pivotX = (float)0;\n\t\t\t\t\t\tfloat pivotY = (float)0;\n\t\t\t\t\t\tfloat
pivotZ = (float)0;\n\t\t\t\t\t\tfloat size = (float)0.1;\n\t\t\t\t\t\tfloat
scaleX = (float)1;\n\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t{\n\t\t\t\t
\ SetAttribute_D5151640( /*inout */scaleX, /*inout */scaleZ, float2(0.5,0.5));\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t
\ float tmp_w = color[0];\n\t\t\t\t float tmp_x = color[1];\n\t\t\t\t float
tmp_y = color[2];\n\t\t\t\t float4 tmp_ba = float4(tmp_w, tmp_x, tmp_y, (float)1);\n\t\t\t\t

== 1)\n\t\t\t\t\tuv = i.VFX_VARYING_OFFSETS.xz * float2(i.VFX_VARYING_OFFSETS.y,1);\n\t\t\t\telse\n\t\t\t\t\tuv
= i.VFX_VARYING_OFFSETS.zy * float2(i.VFX_VARYING_OFFSETS.x,1);\n\t\t\t\treturn
uv * 0.5f + 0.5f;\n\t\t\t#else\n\t\t\t\treturn 0.0f;\n\t\t\t#endif\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t#pragma
fragment frag\n\t\t\tfloat frag(ps_input i) : SV_Target0\n\t\t\t{\n\t\t\t\tfloat
fragment frag\n\t\t\tfloat4 frag(ps_input i) : SV_Target0\n\t\t\t{\n\t\t\t\tfloat
0;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\r\n\t\t// Forward pass\n\t\tPass\n\t\t{\t\t\n\t\t\tTags
(float4)0;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\n\t\t// Forward pass\n\t\tPass\n\t\t{\t\t\n\t\t\tTags
{ \"LightMode\"=\"GBuffer\" }\n\t\t\t\n\t\t\tStencil\n\t\t\t{\n\t\t\t\tWriteMask
7\n\t\t\t\tRef 2\n\t\t\t\tComp Always\n\t\t\t\tPass Replace\n\t\t\t}\t\n\t\t\t\t\n\t\t\tHLSLPROGRAM\n\t\t\t#pragma
target 4.5\n\t\t\t\n\t\t\t#pragma multi_compile _ LIGHT_LAYERS\n\t\t\t#pragma

\ scaleZ = lerp(scaleZ,Scale.z,Blend);\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t#pragma
vertex vert\n\t\t\tVFX_VARYING_PS_INPUTS vert(uint id : SV_VertexID, uint instanceID
: SV_InstanceID)\n\t\t\t{\n\t\t\t\tuint index = (id >> 3) + instanceID * 1024;\n\t\t\t\tVFX_VARYING_PS_INPUTS
o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\t#if
USE_DEAD_LIST_COUNT\n\t\t\t\t\t\t\tif (index >= asuint(nbMax) - deadListCount.Load(0))\n\t\t\t\t\t\t\t\treturn
o;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tindex = indirectBuffer[index];\n\t\t\t\t\t\t\tfloat3
position = asfloat(attributeBuffer.Load3((index * 0xC + 0x0) << 2));\n\t\t\t\t\t\t\tfloat3
color = asfloat(attributeBuffer.Load3((index * 0xC + 0x4) << 2));\n\t\t\t\t\t\t\tfloat
angleX = asfloat(attributeBuffer.Load((index * 0xC + 0x3) << 2));\n\t\t\t\t\t\t\tfloat
angleZ = asfloat(attributeBuffer.Load((index * 0xC + 0x7) << 2));\n\t\t\t\t\t\t\tfloat
scaleY = asfloat(attributeBuffer.Load((index * 0xC + 0x8) << 2));\n\t\t\t\t\t\t\tfloat
alpha = (float)1;\n\t\t\t\t\t\t\tbool alive = (bool)true;\n\t\t\t\t\t\t\tfloat3
axisX = float3(1,0,0);\n\t\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\t\tfloat3
axisZ = float3(0,0,1);\n\t\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\t\tfloat
pivotX = (float)0;\n\t\t\t\t\t\t\tfloat pivotY = (float)0;\n\t\t\t\t\t\t\tfloat
pivotZ = (float)0;\n\t\t\t\t\t\t\tfloat size = (float)0.1;\n\t\t\t\t\t\t\tfloat
scaleX = (float)1;\n\t\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\tif
(index >= asuint(nbMax))\n\t\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbool
alive = (bool)true;\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\tif (!alive)\n\t\t\t\t\t\t\t\treturn
o;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfloat3 position = asfloat(attributeBuffer.Load3((index
* 0xC + 0x0) << 2));\n\t\t\t\t\t\t\tfloat3 color = asfloat(attributeBuffer.Load3((index
* 0xC + 0x4) << 2));\n\t\t\t\t\t\t\tfloat angleX = asfloat(attributeBuffer.Load((index
* 0xC + 0x3) << 2));\n\t\t\t\t\t\t\tfloat angleZ = asfloat(attributeBuffer.Load((index
* 0xC + 0x7) << 2));\n\t\t\t\t\t\t\tfloat scaleY = asfloat(attributeBuffer.Load((index
* 0xC + 0x8) << 2));\n\t\t\t\t\t\t\tfloat alpha = (float)1;\n\t\t\t\t\t\t\tfloat3
axisX = float3(1,0,0);\n\t\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\t\tfloat3
axisZ = float3(0,0,1);\n\t\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\t\tfloat
pivotX = (float)0;\n\t\t\t\t\t\t\tfloat pivotY = (float)0;\n\t\t\t\t\t\t\tfloat
pivotZ = (float)0;\n\t\t\t\t\t\t\tfloat size = (float)0.1;\n\t\t\t\t\t\t\tfloat
scaleX = (float)1;\n\t\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t{\n\t\t\t\t
o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tuint deadCount
= 0;\n\t\t\t\t\t\t#if USE_DEAD_LIST_COUNT\n\t\t\t\t\t\tdeadCount = deadListCount.Load(0);\n\t\t\t\t\t\t#endif\t\n\t\t\t\t\t\tif
(index >= asuint(nbMax) - deadCount)\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex = indirectBuffer[index];\n\t\t\t\t\t\tfloat3
position = asfloat(attributeBuffer.Load3((index * 0xC + 0x0) << 2));\n\t\t\t\t\t\tfloat3
color = asfloat(attributeBuffer.Load3((index * 0xC + 0x4) << 2));\n\t\t\t\t\t\tfloat
angleX = asfloat(attributeBuffer.Load((index * 0xC + 0x3) << 2));\n\t\t\t\t\t\tfloat
angleZ = asfloat(attributeBuffer.Load((index * 0xC + 0x7) << 2));\n\t\t\t\t\t\tfloat
scaleY = asfloat(attributeBuffer.Load((index * 0xC + 0x8) << 2));\n\t\t\t\t\t\tfloat
alpha = (float)1;\n\t\t\t\t\t\tbool alive = (bool)true;\n\t\t\t\t\t\tfloat3
axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\tfloat3
axisZ = float3(0,0,1);\n\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\tfloat
pivotX = (float)0;\n\t\t\t\t\t\tfloat pivotY = (float)0;\n\t\t\t\t\t\tfloat
pivotZ = (float)0;\n\t\t\t\t\t\tfloat size = (float)0.1;\n\t\t\t\t\t\tfloat
scaleX = (float)1;\n\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\tbool
alive = (bool)true;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif (!alive)\n\t\t\t\t\t\t\treturn
o;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tfloat3 position = asfloat(attributeBuffer.Load3((index
* 0xC + 0x0) << 2));\n\t\t\t\t\t\tfloat3 color = asfloat(attributeBuffer.Load3((index
* 0xC + 0x4) << 2));\n\t\t\t\t\t\tfloat angleX = asfloat(attributeBuffer.Load((index
* 0xC + 0x3) << 2));\n\t\t\t\t\t\tfloat angleZ = asfloat(attributeBuffer.Load((index
* 0xC + 0x7) << 2));\n\t\t\t\t\t\tfloat scaleY = asfloat(attributeBuffer.Load((index
* 0xC + 0x8) << 2));\n\t\t\t\t\t\tfloat alpha = (float)1;\n\t\t\t\t\t\tfloat3
axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\tfloat3
axisZ = float3(0,0,1);\n\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\tfloat
pivotX = (float)0;\n\t\t\t\t\t\tfloat pivotY = (float)0;\n\t\t\t\t\t\tfloat
pivotZ = (float)0;\n\t\t\t\t\t\tfloat size = (float)0.1;\n\t\t\t\t\t\tfloat
scaleX = (float)1;\n\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t{\n\t\t\t\t
\ SetAttribute_D5151640( /*inout */scaleX, /*inout */scaleZ, float2(0.5,0.5));\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t
\ float tmp_w = color[0];\n\t\t\t\t float tmp_x = color[1];\n\t\t\t\t float
tmp_y = color[2];\n\t\t\t\t float4 tmp_ba = float4(tmp_w, tmp_x, tmp_y, (float)1);\n\t\t\t\t

= VFXGetPositionRWS(i);\n\t\t\t\tfloat4 posSS = i.VFX_VARYING_POSCS;\n\t\t\t\tPositionInputs
posInput = GetPositionInput(posSS.xy, _ScreenSize.zw, posSS.z, posSS.w, posRWS,
tileIndex);\n\t\t\t\t\n\t\t\t\tfloat alpha;\n\t\t\t\tsurfaceData = VFXGetSurfaceData(i,normalWS,uvData,diffusionProfile,alpha);\t\n\t\t\t\tbsdfData
= ConvertSurfaceDataToBSDFData(posSS.xy, surfaceData);\n\t\t\t\n\t\t\t#if HDRP_MATERIAL_TYPE_SIMPLE\n\t\t\t\tpreLightData
= SimpleGetPreLightData(GetWorldSpaceNormalizeViewDir(posRWS),posInput,bsdfData);\n\t\t\t#else\n\t\t\t\tpreLightData
= GetPreLightData(GetWorldSpaceNormalizeViewDir(posRWS),posInput,bsdfData);\n\t\t\t#endif\n\t\t\t\tpreLightData.diffuseFGD
= ConvertSurfaceDataToBSDFData(posSS.xy, surfaceData);\n\t\t\t\n\t\t\t\tpreLightData
= GetPreLightData(GetWorldSpaceNormalizeViewDir(posRWS),posInput,bsdfData);\n\t\t\t\t\n\t\t\t\tpreLightData.diffuseFGD
= 1.0f;\n\t\t\t //TODO: investigate why this is needed\n\t\t\t preLightData.coatPartLambdaV
= 0;\n\t\t\t preLightData.coatIblR = 0;\n\t\t\t preLightData.coatIblF
= 0;\n\t\t\t \n\t\t\t\tbuiltinData = VFXGetBuiltinData(i,posInput,surfaceData,bsdfData,preLightData,uvData,alpha);\n\t\t\t}\n\t\t\t\n\t\t\tvoid

n = SampleNormalMap(VFX_SAMPLER(normalMap),uvData);\n\t\t\t\tnormalWS = VFXCubeTransformNormalTS(i,n,frontFace);\n\t\t\t\tnormalWS
= lerp(VFXCubeGetLocalNormal(i) * faceMul,normalWS,i.materialProperties.z);\n\t\t\t\t#else\n\t\t\t\tnormalWS
= VFXCubeGetLocalNormal(i) * faceMul;\n\t\t\t\t#endif\n\t\t\t\tnormalWS = VFXCubeTransformNormalWS(i,normalWS);\n\t\t\t\tnormalWS
= normalize(normalWS);\n\t\t\n\t\t\t\tVFXComputePixelOutputToGBuffer(i,normalWS,uvData,outGBuffer);\n\t\t\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\r\n\t\t//
= normalize(normalWS);\n\t\t\n\t\t\t\tVFXComputePixelOutputToGBuffer(i,normalWS,uvData,outGBuffer);\n\t\t\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\n\t\t//
Shadow pass\n\t\tPass\n\t\t{\t\t\n\t\t\tTags { \"LightMode\"=\"ShadowCaster\"
}\n\t\t\n\t\t\tZWrite On\n\t\t\tBlend Off\n\t\t\t\n\t\t\tHLSLPROGRAM\n\t\t\t#pragma
target 4.5\n\t\t\t\n\t\t\tstruct ps_input\n\t\t\t{\n\t\t\t\tfloat4 pos : SV_POSITION;\n\t\t\t\tfloat3

\ scaleZ = lerp(scaleZ,Scale.z,Blend);\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t#pragma
vertex vert\n\t\t\tVFX_VARYING_PS_INPUTS vert(uint id : SV_VertexID, uint instanceID
: SV_InstanceID)\n\t\t\t{\n\t\t\t\tuint index = (id >> 3) + instanceID * 1024;\n\t\t\t\tVFX_VARYING_PS_INPUTS
o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\t#if
USE_DEAD_LIST_COUNT\n\t\t\t\t\t\t\tif (index >= asuint(nbMax) - deadListCount.Load(0))\n\t\t\t\t\t\t\t\treturn
o;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tindex = indirectBuffer[index];\n\t\t\t\t\t\t\tfloat3
position = asfloat(attributeBuffer.Load3((index * 0xC + 0x0) << 2));\n\t\t\t\t\t\t\tfloat3
color = asfloat(attributeBuffer.Load3((index * 0xC + 0x4) << 2));\n\t\t\t\t\t\t\tfloat
angleX = asfloat(attributeBuffer.Load((index * 0xC + 0x3) << 2));\n\t\t\t\t\t\t\tfloat
angleZ = asfloat(attributeBuffer.Load((index * 0xC + 0x7) << 2));\n\t\t\t\t\t\t\tfloat
scaleY = asfloat(attributeBuffer.Load((index * 0xC + 0x8) << 2));\n\t\t\t\t\t\t\tfloat
alpha = (float)1;\n\t\t\t\t\t\t\tbool alive = (bool)true;\n\t\t\t\t\t\t\tfloat3
axisX = float3(1,0,0);\n\t\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\t\tfloat3
axisZ = float3(0,0,1);\n\t\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\t\tfloat
pivotX = (float)0;\n\t\t\t\t\t\t\tfloat pivotY = (float)0;\n\t\t\t\t\t\t\tfloat
pivotZ = (float)0;\n\t\t\t\t\t\t\tfloat size = (float)0.1;\n\t\t\t\t\t\t\tfloat
scaleX = (float)1;\n\t\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\tif
(index >= asuint(nbMax))\n\t\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbool
alive = (bool)true;\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\tif (!alive)\n\t\t\t\t\t\t\t\treturn
o;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfloat3 position = asfloat(attributeBuffer.Load3((index
* 0xC + 0x0) << 2));\n\t\t\t\t\t\t\tfloat3 color = asfloat(attributeBuffer.Load3((index
* 0xC + 0x4) << 2));\n\t\t\t\t\t\t\tfloat angleX = asfloat(attributeBuffer.Load((index
* 0xC + 0x3) << 2));\n\t\t\t\t\t\t\tfloat angleZ = asfloat(attributeBuffer.Load((index
* 0xC + 0x7) << 2));\n\t\t\t\t\t\t\tfloat scaleY = asfloat(attributeBuffer.Load((index
* 0xC + 0x8) << 2));\n\t\t\t\t\t\t\tfloat alpha = (float)1;\n\t\t\t\t\t\t\tfloat3
axisX = float3(1,0,0);\n\t\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\t\tfloat3
axisZ = float3(0,0,1);\n\t\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\t\tfloat
pivotX = (float)0;\n\t\t\t\t\t\t\tfloat pivotY = (float)0;\n\t\t\t\t\t\t\tfloat
pivotZ = (float)0;\n\t\t\t\t\t\t\tfloat size = (float)0.1;\n\t\t\t\t\t\t\tfloat
scaleX = (float)1;\n\t\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t{\n\t\t\t\t
o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tuint deadCount
= 0;\n\t\t\t\t\t\t#if USE_DEAD_LIST_COUNT\n\t\t\t\t\t\tdeadCount = deadListCount.Load(0);\n\t\t\t\t\t\t#endif\t\n\t\t\t\t\t\tif
(index >= asuint(nbMax) - deadCount)\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex = indirectBuffer[index];\n\t\t\t\t\t\tfloat3
position = asfloat(attributeBuffer.Load3((index * 0xC + 0x0) << 2));\n\t\t\t\t\t\tfloat3
color = asfloat(attributeBuffer.Load3((index * 0xC + 0x4) << 2));\n\t\t\t\t\t\tfloat
angleX = asfloat(attributeBuffer.Load((index * 0xC + 0x3) << 2));\n\t\t\t\t\t\tfloat
angleZ = asfloat(attributeBuffer.Load((index * 0xC + 0x7) << 2));\n\t\t\t\t\t\tfloat
scaleY = asfloat(attributeBuffer.Load((index * 0xC + 0x8) << 2));\n\t\t\t\t\t\tfloat
alpha = (float)1;\n\t\t\t\t\t\tbool alive = (bool)true;\n\t\t\t\t\t\tfloat3
axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\tfloat3
axisZ = float3(0,0,1);\n\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\tfloat
pivotX = (float)0;\n\t\t\t\t\t\tfloat pivotY = (float)0;\n\t\t\t\t\t\tfloat
pivotZ = (float)0;\n\t\t\t\t\t\tfloat size = (float)0.1;\n\t\t\t\t\t\tfloat
scaleX = (float)1;\n\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\tbool
alive = (bool)true;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif (!alive)\n\t\t\t\t\t\t\treturn
o;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tfloat3 position = asfloat(attributeBuffer.Load3((index
* 0xC + 0x0) << 2));\n\t\t\t\t\t\tfloat3 color = asfloat(attributeBuffer.Load3((index
* 0xC + 0x4) << 2));\n\t\t\t\t\t\tfloat angleX = asfloat(attributeBuffer.Load((index
* 0xC + 0x3) << 2));\n\t\t\t\t\t\tfloat angleZ = asfloat(attributeBuffer.Load((index
* 0xC + 0x7) << 2));\n\t\t\t\t\t\tfloat scaleY = asfloat(attributeBuffer.Load((index
* 0xC + 0x8) << 2));\n\t\t\t\t\t\tfloat alpha = (float)1;\n\t\t\t\t\t\tfloat3
axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\tfloat3
axisZ = float3(0,0,1);\n\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\tfloat
pivotX = (float)0;\n\t\t\t\t\t\tfloat pivotY = (float)0;\n\t\t\t\t\t\tfloat
pivotZ = (float)0;\n\t\t\t\t\t\tfloat size = (float)0.1;\n\t\t\t\t\t\tfloat
scaleX = (float)1;\n\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t{\n\t\t\t\t
\ SetAttribute_D5151640( /*inout */scaleX, /*inout */scaleZ, float2(0.5,0.5));\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t
\ float tmp_w = color[0];\n\t\t\t\t float tmp_x = color[1];\n\t\t\t\t float
tmp_y = color[2];\n\t\t\t\t float4 tmp_ba = float4(tmp_w, tmp_x, tmp_y, (float)1);\n\t\t\t\t

fragment frag\n\t\t\tfloat frag(ps_input i) : SV_Target0\n\t\t\t{\n\t\t\t\tfloat
alpha = VFXGetFragmentColor(i).a;\n\t\t#if HDRP_USE_BASE_COLOR_MAP_ALPHA\n\t\t\t\talpha
*= VFXGetTextureColorWithProceduralUV(VFX_SAMPLER(baseColorMap),i,VFXCubeGetUV(i)).a;\n\t\t#endif\n\t\t\t\tVFXClipFragmentColor(alpha,i);\n\t\t\t\treturn
0;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\r\n\t}\r\n}\r\n"
0;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\n\t}\n}\n"
m_Infos:
m_Expressions:
m_Expressions:

956
Assets/Samples/Portal/Portal.vfx
文件差异内容过多而无法显示
查看文件

15
Assets/Samples/UnityLogo/UnityLogo.unity


bloom: {fileID: 4800000, guid: c1e1d3119c6fd4646aea0b4b74cacc1a, type: 3}
copy: {fileID: 4800000, guid: cdbdb71de5f9c454b980f6d0e87f0afb, type: 3}
copyStd: {fileID: 4800000, guid: 4bf4cff0d0bac3d43894e2e8839feb40, type: 3}
copyStdFromTexArray: {fileID: 0}
copyStdFromDoubleWide: {fileID: 0}
discardAlpha: {fileID: 4800000, guid: 5ab0816423f0dfe45841cab3b05ec9ef, type: 3}
depthOfField: {fileID: 4800000, guid: 0ef78d24e85a44f4da9d5b5eaa00e50b, type: 3}
finalPass: {fileID: 4800000, guid: f75014305794b3948a3c6d5ccd550e05, type: 3}

- m_Value:
serializedVersion: 2
key0: {r: 0, g: 0, b: 0, a: 0}
key1: {r: 0.31681028, g: 0.28125, b: 0.75, a: 0.8}
key2: {r: 0.50990355, g: 0.21604672, b: 0.8161765, a: 0.7019608}
key1: {r: 0.31681028, g: 0.28125, b: 0.75, a: 1}
key2: {r: 0.50990355, g: 0.21604672, b: 0.8161765, a: 0.8862745}
key3: {r: 0.83823526, g: 0.17257786, b: 0.37916112, a: 0.03529412}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}

ctime6: 0
ctime7: 0
atime0: 0
atime1: 3687
atime1: 4525
atime2: 55143
atime3: 65535
atime4: 0

m_NumColorKeys: 5
m_NumAlphaKeys: 4
m_Name: Color Over Life
m_Overridden: 0
m_Overridden: 1
- m_Value:
serializedVersion: 2
key0: {r: 0.966178, g: 0.033822007, b: 0.46985337, a: 1}

m_Array:
- m_Value: {fileID: 11700000, guid: 500adb08ae2ef274c9095ec1e41fde84, type: 2}
m_Name: VectorField
m_Overridden: 1
m_Overridden: 0
m_Bool:
m_Array: []
--- !u!4 &1692057710

serializedVersion: 2
m_Bits: 4294967295
stopNaNPropagation: 1
finalBlitToCameraTarget: 1
antialiasingMode: 0
temporalAntialiasing:
jitterSpread: 0.75

runLightListAsync: 1
runSSRAsync: 1
runSSAOAsync: 1
runContactShadowsAsync: 1
runVolumeVoxelizationAsync: 1
lightLoopSettings:
overrides: 0
enableTileAndCluster: 1

432
Assets/Samples/UnityLogo/UnityLogo.vfx


m_Type:
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"obj":{"fileID":2800000,"guid":"1e9553b1996a59f4e83ecadeda958a49","type":3}}'
m_SerializableObject: '{"obj":{"fileID":2800000,"guid":"49cb5aa34272b034d8b754c65d9cdbfa","type":3}}'
m_Space: 2147483647
m_Property:
name: mainTexture

m_Type:
m_SerializableType: UnityEngine.Texture3D, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject:
m_SerializableObject: '{"obj":{"fileID":11700000,"guid":"500adb08ae2ef274c9095ec1e41fde84","type":2}}'
min: -Infinity
max: Infinity
descendantCount: 0

- name: Sphere
collapsed: 1
- name: Vector Field
collapsed: 0
- name: Color
- name: Color
collapsed: 0
y: 300
width: 5706
height: 3181
y: -0
width: 5891
height: 3545
--- !u!114 &114761303450105272
MonoBehaviour:
m_ObjectHideFlags: 1

m_ShaderSources:
- compute: 1
name: '[System 1]Initialize'
source: "#pragma kernel CSMain\r\n#include \"HLSLSupport.cginc\"\n#define NB_THREADS_PER_GROUP
source: "#pragma kernel CSMain\n#include \"HLSLSupport.cginc\"\n#define NB_THREADS_PER_GROUP
1\n\n\r\nCBUFFER_START(parameters)\n float3 Color_b;\n float uniform_c;\n
1\n\n\nCBUFFER_START(parameters)\n float3 Color_b;\n float uniform_c;\n
uniform_e;\n float uniform_h;\n float uniform_i;\n uint2 PADDING_0;\nCBUFFER_END\n\n\r\n#include
uniform_e;\n float uniform_h;\n float uniform_i;\n uint2 PADDING_0;\nCBUFFER_END\n\n\n#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\n\r\n\r\nRWByteAddressBuffer
attributeBuffer;\r\nByteAddressBuffer sourceAttributeBuffer;\r\n\r\nCBUFFER_START(initParams)\r\n#if
!VFX_USE_SPAWNER_FROM_GPU\r\n uint nbSpawned;\t\t\t\t\t// Numbers of particle
spawned\r\n uint spawnIndex;\t\t\t\t// Index of the first particle spawned\r\n
\ uint dispatchWidth;\r\n#else\r\n uint offsetInAdditionalOutput;\r\n\tuint
nbMax;\r\n#endif\r\n\tuint systemSeed;\r\nCBUFFER_END\r\n\r\n#if VFX_USE_ALIVE_CURRENT\r\nRWStructuredBuffer<uint>
deadListIn;\r\nByteAddressBuffer deadListCount; // This is bad to use a SRV
to fetch deadList count but Unity API currently prevent from copying to CB\r\n#endif\r\n\r\n#if
VFX_USE_SPAWNER_FROM_GPU\r\nStructuredBuffer<uint> eventList;\r\nByteAddressBuffer
inputAdditional;\r\n#endif\r\n\r\nvoid SetAttribute_F01429A3(inout float lifetime,
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\n\n\nRWByteAddressBuffer
attributeBuffer;\nByteAddressBuffer sourceAttributeBuffer;\n\nCBUFFER_START(initParams)\n#if
!VFX_USE_SPAWNER_FROM_GPU\n uint nbSpawned;\t\t\t\t\t// Numbers of particle
spawned\n uint spawnIndex;\t\t\t\t// Index of the first particle spawned\n
\ uint dispatchWidth;\n#else\n uint offsetInAdditionalOutput;\n\tuint nbMax;\n#endif\n\tuint
systemSeed;\nCBUFFER_END\n\n#if VFX_USE_ALIVE_CURRENT\nRWStructuredBuffer<uint>
deadListIn;\nByteAddressBuffer deadListCount; // This is bad to use a SRV to
fetch deadList count but Unity API currently prevent from copying to CB\n#endif\n\n#if
VFX_USE_SPAWNER_FROM_GPU\nStructuredBuffer<uint> eventList;\nByteAddressBuffer
inputAdditional;\n#endif\n\nvoid SetAttribute_F01429A3(inout float lifetime,
inout uint seed, float Min, float Max) /*attribute:lifetime Composition:Overwrite
Source:Slot Random:Uniform channels:XYZ */\n{\n lifetime = lerp(Min,Max,RAND);\n}\nvoid
SetAttribute_FDD06EC7(inout float3 color, float3 Color) /*attribute:color Composition:Overwrite

* RAND, 1.0f / 3.0f);\n \n float2 sincosTheta;\n sincos(theta, sincosTheta.x,
sincosTheta.y);\n sincosTheta *= sqrt(1.0f - cosPhi * cosPhi);\n \n direction
= float3(sincosTheta, cosPhi);\n position += direction * (rNorm * ArcSphere_sphere_radius)
+ ArcSphere_sphere_center;\n \n}\n\n\r\n\r\n[numthreads(NB_THREADS_PER_GROUP,1,1)]\r\nvoid
CSMain(uint3 groupId : SV_GroupID,\r\n uint3 groupThreadId
\ : SV_GroupThreadID)\r\n{\r\n uint id = groupThreadId.x + groupId.x *
NB_THREADS_PER_GROUP;\r\n#if !VFX_USE_SPAWNER_FROM_GPU\r\n id += groupId.y
* dispatchWidth * NB_THREADS_PER_GROUP;\r\n#endif\r\n\r\n#if VFX_USE_SPAWNER_FROM_GPU\r\n
\ uint maxThreadId = inputAdditional.Load((offsetInAdditionalOutput * 2 +
0) << 2);\r\n uint currentSpawnIndex = inputAdditional.Load((offsetInAdditionalOutput
* 2 + 1) << 2) - maxThreadId;\r\n#else\r\n uint maxThreadId = nbSpawned;\r\n
\ uint currentSpawnIndex = spawnIndex;\r\n#endif\r\n\r\n#if VFX_USE_ALIVE_CURRENT\r\n
\ maxThreadId = min(maxThreadId, deadListCount.Load(0x0));\r\n#elif VFX_USE_SPAWNER_FROM_GPU\r\n
+ ArcSphere_sphere_center;\n \n}\n\n\n\n[numthreads(NB_THREADS_PER_GROUP,1,1)]\nvoid
CSMain(uint3 groupId : SV_GroupID,\n uint3 groupThreadId
\ : SV_GroupThreadID)\n{\n uint id = groupThreadId.x + groupId.x * NB_THREADS_PER_GROUP;\n#if
!VFX_USE_SPAWNER_FROM_GPU\n id += groupId.y * dispatchWidth * NB_THREADS_PER_GROUP;\n#endif\n\n#if
VFX_USE_SPAWNER_FROM_GPU\n uint maxThreadId = inputAdditional.Load((offsetInAdditionalOutput
* 2 + 0) << 2);\n uint currentSpawnIndex = inputAdditional.Load((offsetInAdditionalOutput
* 2 + 1) << 2) - maxThreadId;\n#else\n uint maxThreadId = nbSpawned;\n uint
currentSpawnIndex = spawnIndex;\n#endif\n\n#if VFX_USE_ALIVE_CURRENT\n maxThreadId
= min(maxThreadId, deadListCount.Load(0x0));\n#elif VFX_USE_SPAWNER_FROM_GPU\n
on CPU\r\n#endif\r\n\r\n if (id < maxThreadId)\r\n {\r\n#if VFX_USE_SPAWNER_FROM_GPU\r\n
\ int sourceIndex = eventList[id];\r\n#endif\r\n uint particleIndex
= id + currentSpawnIndex;\r\n\t\t\r\n#if !VFX_USE_SPAWNER_FROM_GPU\r\n int
on CPU\n#endif\n\n if (id < maxThreadId)\n {\n#if VFX_USE_SPAWNER_FROM_GPU\n
\ int sourceIndex = eventList[id];\n#endif\n uint particleIndex
= id + currentSpawnIndex;\n\t\t\n#if !VFX_USE_SPAWNER_FROM_GPU\n int
\ }\n }\n */\n \n\r\n#endif\r\n float
lifetime = (float)0;\n uint seed = (uint)0;\n float3 color = float3(1,1,1);\n
\ }\n }\n */\n \n\n#endif\n float lifetime
= (float)0;\n uint seed = (uint)0;\n float3 color = float3(1,1,1);\n
\ float age = (float)0;\n bool alive = (bool)true;\n \n\r\n#if
VFX_USE_PARTICLEID_CURRENT\r\n particleId = particleIndex;\r\n#endif\r\n#if
VFX_USE_SEED_CURRENT\r\n seed = WangHash(particleIndex ^ systemSeed);\r\n#endif\r\n
\ \r\n {\n SetAttribute_F01429A3( /*inout */lifetime,
\ float age = (float)0;\n bool alive = (bool)true;\n \n\n#if
VFX_USE_PARTICLEID_CURRENT\n particleId = particleIndex;\n#endif\n#if
VFX_USE_SEED_CURRENT\n seed = WangHash(particleIndex ^ systemSeed);\n#endif\n
\ \n {\n SetAttribute_F01429A3( /*inout */lifetime,
\ /*inout */seed, (float)2.5, (float)3.5);\n }\n SetAttribute_FDD06EC7(
/*inout */color, Color_b);\n {\n float tmp_bg = FixedRand(particleId
^ asuint(uniform_e));\n float tmp_bh = uniform_d * tmp_bg;\n float

\ float tmp_bv = tmp_bu[0];\n float tmp_bw = tmp_bv * uniform_i;\n
\ float tmp_bx = uniform_h + tmp_bw;\n PositionSphere_18D(
/*inout */position, /*inout */seed, /*inout */direction, tmp_br, tmp_bx, (float)6.283185,
(float)0);\n }\n \n\r\n\r\n#if VFX_USE_ALIVE_CURRENT\r\n if
(alive)\r\n {\r\n\t\t\tuint deadIndex = deadListIn.DecrementCounter();\r\n
\ uint index = deadListIn[deadIndex];\r\n attributeBuffer.Store((index
* 0x2 + 0x0) << 2,asuint(lifetime));\n attributeBuffer.Store3((index
* 0x4 + 0x16E380) << 2,asuint(color));\n attributeBuffer.Store3((index
(float)0);\n }\n \n\n\n#if VFX_USE_ALIVE_CURRENT\n if (alive)\n
\ {\n\t\t\tuint deadIndex = deadListIn.DecrementCounter();\n uint
index = deadListIn[deadIndex];\n attributeBuffer.Store((index * 0x2
+ 0x0) << 2,asuint(lifetime));\n attributeBuffer.Store3((index *
0x4 + 0x16E380) << 2,asuint(color));\n attributeBuffer.Store3((index
* 0x8 + 0x44AA87) << 2,uint(alive));\n \n\r\n }\r\n#else\r\n
\ uint index = particleIndex;\r\n attributeBuffer.Store((index
* 0x2 + 0x0) << 2,asuint(lifetime));\n attributeBuffer.Store3((index
* 0x4 + 0x16E380) << 2,asuint(color));\n attributeBuffer.Store3((index
* 0x8 + 0x44AA80) << 2,asuint(position));\n attributeBuffer.Store((index
* 0x2 + 0x1) << 2,asuint(particleId));\n attributeBuffer.Store3((index
* 0x8 + 0x44AA84) << 2,asuint(velocity));\n attributeBuffer.Store((index
* 0x8 + 0x44AA83) << 2,asuint(age));\n attributeBuffer.Store((index *
0x8 + 0x44AA87) << 2,uint(alive));\n \n\r\n#endif\r\n }\r\n}\r\n"
* 0x8 + 0x44AA87) << 2,uint(alive));\n \n\n }\n#else\n uint
index = particleIndex;\n attributeBuffer.Store((index * 0x2 + 0x0) <<
2,asuint(lifetime));\n attributeBuffer.Store3((index * 0x4 + 0x16E380)
<< 2,asuint(color));\n attributeBuffer.Store3((index * 0x8 + 0x44AA80)
<< 2,asuint(position));\n attributeBuffer.Store((index * 0x2 + 0x1) <<
2,asuint(particleId));\n attributeBuffer.Store3((index * 0x8 + 0x44AA84)
<< 2,asuint(velocity));\n attributeBuffer.Store((index * 0x8 + 0x44AA83)
<< 2,asuint(age));\n attributeBuffer.Store((index * 0x8 + 0x44AA87) <<
2,uint(alive));\n \n\n#endif\n }\n}\n"
source: "#pragma kernel CSMain\r\n#include \"HLSLSupport.cginc\"\n#define NB_THREADS_PER_GROUP
source: "#pragma kernel CSMain\n#include \"HLSLSupport.cginc\"\n#define NB_THREADS_PER_GROUP
VFX_LOCAL_SPACE 1\n\n\r\nCBUFFER_START(parameters)\n float4x4 InvFieldTransform_b;\n
VFX_LOCAL_SPACE 1\n\n\nCBUFFER_START(parameters)\n float4x4 InvFieldTransform_b;\n
samplerVectorField_b;\nTexture3D VectorField_c;\nSamplerState samplerVectorField_c;\n\n\r\n#include
samplerVectorField_b;\nTexture3D VectorField_c;\nSamplerState samplerVectorField_c;\n\n\n#include
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\n\r\n\r\nRWByteAddressBuffer
attributeBuffer;\r\n\r\n#if VFX_USE_ALIVE_CURRENT\r\nRWStructuredBuffer<uint>
deadListOut;\r\n#endif\r\n\r\n#if VFX_HAS_INDIRECT_DRAW\r\nRWStructuredBuffer<uint>
indirectBuffer;\r\n#endif\r\n\r\nCBUFFER_START(updateParams)\r\n uint nbMax;\r\n\tuint
dispatchWidth;\r\n\tuint systemSeed;\r\nCBUFFER_END\r\n\r\nvoid CollisionSphere_0(inout
float3 position, inout float3 velocity, inout float age, float lifetime, float3
Sphere_center, float Sphere_radius, float Elasticity, float Friction, float
LifetimeLoss, float deltaTime, float colliderSign, float radius) /*mode:Solid
radiusMode:None roughSurface:False */\n{\n \n float3 nextPos = position
+ velocity * deltaTime;\n float3 dir = nextPos - Sphere_center;\n float
sqrLength = dot(dir, dir);\n float totalRadius = Sphere_radius + colliderSign
* radius;\n if (colliderSign * sqrLength <= colliderSign * totalRadius *
totalRadius)\n {\n float dist = sqrt(sqrLength);\n float3 n
= colliderSign * dir / dist;\n position -= n * (dist - totalRadius) *
colliderSign;\n \n float projVelocity = dot(n, velocity);\n \n
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\n\n\nRWByteAddressBuffer
attributeBuffer;\n\n#if VFX_USE_ALIVE_CURRENT\nRWStructuredBuffer<uint> deadListOut;\n#endif\n\n#if
VFX_HAS_INDIRECT_DRAW\nRWStructuredBuffer<uint> indirectBuffer;\n#endif\n\nCBUFFER_START(updateParams)\n
\ uint nbMax;\n\tuint dispatchWidth;\n\tuint systemSeed;\nCBUFFER_END\n\nvoid
CollisionSphere_0(inout float3 position, inout float3 velocity, inout float
age, float lifetime, float3 Sphere_center, float Sphere_radius, float Elasticity,
float Friction, float LifetimeLoss, float deltaTime, float colliderSign, float
radius) /*mode:Solid radiusMode:None roughSurface:False */\n{\n \n float3
nextPos = position + velocity * deltaTime;\n float3 dir = nextPos - Sphere_center;\n
\ float sqrLength = dot(dir, dir);\n float totalRadius = Sphere_radius
+ colliderSign * radius;\n if (colliderSign * sqrLength <= colliderSign *
totalRadius * totalRadius)\n {\n float dist = sqrt(sqrLength);\n float3
n = colliderSign * dir / dist;\n position -= n * (dist - totalRadius)
* colliderSign;\n \n float projVelocity = dot(n, velocity);\n \n
\ float3 normalVelocity = projVelocity * n;\n float3 tangentVelocity
= velocity - normalVelocity;\n \n if (projVelocity < 0)\n velocity
-= ((1 + Elasticity) * projVelocity) * n;\n velocity -= Friction * tangentVelocity;\n

float3 position, float3 velocity, float deltaTime)\n{\n position += velocity
* deltaTime;\n}\nvoid Age(inout float age, float deltaTime)\n{\n age += deltaTime;\n}\nvoid
Reap(float age, float lifetime, inout bool alive)\n{\n if(age > lifetime)
{ alive = false; }\n}\n\n\r\n\r\n[numthreads(NB_THREADS_PER_GROUP,1,1)]\r\nvoid
CSMain(uint3 groupId : SV_GroupID,\r\n uint3 groupThreadId
\ : SV_GroupThreadID)\r\n{\r\n\tuint id = groupThreadId.x + groupId.x * NB_THREADS_PER_GROUP
+ groupId.y * dispatchWidth * NB_THREADS_PER_GROUP;\r\n\tuint index = id;\r\n\tif
(id < nbMax)\r\n\t{\r\n#if VFX_USE_ALIVE_CURRENT\r\n\t\tbool alive = (attributeBuffer.Load((index
* 0x8 + 0x44AA87) << 2));\n\t\t\n\r\n\t\tif (alive)\r\n\t\t{\r\n\t\t\tfloat
lifetime = asfloat(attributeBuffer.Load((index * 0x2 + 0x0) << 2));\n\t\t\tfloat3
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x44AA80) << 2));\n\t\t\tuint
particleId = (attributeBuffer.Load((index * 0x2 + 0x1) << 2));\n\t\t\tfloat3
velocity = asfloat(attributeBuffer.Load3((index * 0x8 + 0x44AA84) << 2));\n\t\t\tfloat
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x44AA83) << 2));\n\t\t\tfloat
mass = (float)1;\n\t\t\t\n\r\n\t\t\t\r\n#if VFX_USE_OLDPOSITION_CURRENT\r\n\t\t\toldPosition
= position;\r\n#endif\r\n\t\t\t\r\n\t\t\t{\n\t\t\t float tmp_bl = FixedRand(particleId
^ asuint(uniform_d));\n\t\t\t float tmp_bm = uniform_c * tmp_bl;\n\t\t\t
\ float tmp_bn = uniform_b + tmp_bm;\n\t\t\t float3 tmp_bo = float3(tmp_bn,
tmp_bn, tmp_bn);\n\t\t\t float3 tmp_bp = tmp_bo * uniform_e;\n\t\t\t float3
tmp_bq = sin(tmp_bp);\n\t\t\t float tmp_br = tmp_bq[1];\n\t\t\t float3
tmp_bs = cos(tmp_bp);\n\t\t\t float tmp_bt = tmp_bs[0];\n\t\t\t float
tmp_bu = tmp_bs[2];\n\t\t\t float3 tmp_bv = float3(tmp_br, tmp_bt, tmp_bu);\n\t\t\t
\ float3 tmp_bw = tmp_bv * uniform_f;\n\t\t\t float2 tmp_bz = GenerateValueNoise(tmp_bn,
float3(1,0.5,2).x, (int)1, float3(1,0.5,2).y, float3(1,0.5,2).z);\n\t\t\t float
tmp_ca = tmp_bz[0];\n\t\t\t float tmp_cb = tmp_ca * uniform_h;\n\t\t\t float
tmp_cc = uniform_g + tmp_cb;\n\t\t\t CollisionSphere_0( /*inout */position,
\ /*inout */velocity, /*inout */age, lifetime, tmp_bw, tmp_cc, (float)1.9,
(float)0, (float)0, uniform_c, (float)1, (float)0);\n\t\t\t}\n\t\t\t{\n\t\t\t
\ VectorFieldForce_3B8596C( /*inout */velocity, mass, position, GetVFXSampler(VectorField_b,
samplerVectorField_b), InvFieldTransform_b, FieldTransform_b, (float)8, (float)1,
uniform_c);\n\t\t\t}\n\t\t\t{\n\t\t\t VectorFieldForce_267A9( /*inout */velocity,
mass, position, GetVFXSampler(VectorField_c, samplerVectorField_c), InvFieldTransform_c,
FieldTransform_c, (float)1, (float)4, uniform_c);\n\t\t\t}\n\t\t\tEulerIntegration(
/*inout */position, velocity, uniform_c);\n\t\t\tAge( /*inout */age, uniform_c);\n\t\t\tReap(age,
lifetime, /*inout */alive);\n\t\t\t\n\r\n\t\t\tif (alive)\r\n\t\t\t{\r\n\t\t\t\tattributeBuffer.Store3((index
{ alive = false; }\n}\n\n\n\n[numthreads(NB_THREADS_PER_GROUP,1,1)]\nvoid CSMain(uint3
groupId : SV_GroupID,\n uint3 groupThreadId : SV_GroupThreadID)\n{\n\tuint
id = groupThreadId.x + groupId.x * NB_THREADS_PER_GROUP + groupId.y * dispatchWidth
* NB_THREADS_PER_GROUP;\n\tuint index = id;\n\tif (id < nbMax)\n\t{\n#if VFX_USE_ALIVE_CURRENT\n\t\tbool
alive = (attributeBuffer.Load((index * 0x8 + 0x44AA87) << 2));\n\t\t\n\n\t\tif
(alive)\n\t\t{\n\t\t\tfloat lifetime = asfloat(attributeBuffer.Load((index *
0x2 + 0x0) << 2));\n\t\t\tfloat3 position = asfloat(attributeBuffer.Load3((index
* 0x8 + 0x44AA80) << 2));\n\t\t\tuint particleId = (attributeBuffer.Load((index
* 0x2 + 0x1) << 2));\n\t\t\tfloat3 velocity = asfloat(attributeBuffer.Load3((index
* 0x8 + 0x44AA84) << 2));\n\t\t\tfloat age = asfloat(attributeBuffer.Load((index
* 0x8 + 0x44AA83) << 2));\n\t\t\tfloat mass = (float)1;\n\t\t\t\n\n\t\t\t\n#if
VFX_USE_OLDPOSITION_CURRENT\n\t\t\toldPosition = position;\n#endif\n\t\t\t\n\t\t\t{\n\t\t\t
\ float tmp_bl = FixedRand(particleId ^ asuint(uniform_d));\n\t\t\t float
tmp_bm = uniform_c * tmp_bl;\n\t\t\t float tmp_bn = uniform_b + tmp_bm;\n\t\t\t
\ float3 tmp_bo = float3(tmp_bn, tmp_bn, tmp_bn);\n\t\t\t float3 tmp_bp
= tmp_bo * uniform_e;\n\t\t\t float3 tmp_bq = sin(tmp_bp);\n\t\t\t float
tmp_br = tmp_bq[1];\n\t\t\t float3 tmp_bs = cos(tmp_bp);\n\t\t\t float
tmp_bt = tmp_bs[0];\n\t\t\t float tmp_bu = tmp_bs[2];\n\t\t\t float3 tmp_bv
= float3(tmp_br, tmp_bt, tmp_bu);\n\t\t\t float3 tmp_bw = tmp_bv * uniform_f;\n\t\t\t
\ float2 tmp_bz = GenerateValueNoise(tmp_bn, float3(1,0.5,2).x, (int)1, float3(1,0.5,2).y,
float3(1,0.5,2).z);\n\t\t\t float tmp_ca = tmp_bz[0];\n\t\t\t float tmp_cb
= tmp_ca * uniform_h;\n\t\t\t float tmp_cc = uniform_g + tmp_cb;\n\t\t\t
\ CollisionSphere_0( /*inout */position, /*inout */velocity, /*inout */age,
lifetime, tmp_bw, tmp_cc, (float)1.9, (float)0, (float)0, uniform_c, (float)1,
(float)0);\n\t\t\t}\n\t\t\t{\n\t\t\t VectorFieldForce_3B8596C( /*inout */velocity,
mass, position, GetVFXSampler(VectorField_b, samplerVectorField_b), InvFieldTransform_b,
FieldTransform_b, (float)8, (float)1, uniform_c);\n\t\t\t}\n\t\t\t{\n\t\t\t
\ VectorFieldForce_267A9( /*inout */velocity, mass, position, GetVFXSampler(VectorField_c,
samplerVectorField_c), InvFieldTransform_c, FieldTransform_c, (float)1, (float)4,
uniform_c);\n\t\t\t}\n\t\t\tEulerIntegration( /*inout */position, velocity,
uniform_c);\n\t\t\tAge( /*inout */age, uniform_c);\n\t\t\tReap(age, lifetime,
\ /*inout */alive);\n\t\t\t\n\n\t\t\tif (alive)\n\t\t\t{\n\t\t\t\tattributeBuffer.Store3((index
* 0x8 + 0x44AA83) << 2,asuint(age));\n\t\t\t\t\n\r\n#if VFX_HAS_INDIRECT_DRAW\r\n
\ uint indirectIndex = indirectBuffer.IncrementCounter();\r\n\t\t\t\tindirectBuffer[indirectIndex]
= index;\r\n#endif\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tattributeBuffer.Store((index
* 0x8 + 0x44AA87) << 2,uint(alive));\n\t\t\t\t\n\r\n\t\t\t\tuint deadIndex =
deadListOut.IncrementCounter();\r\n\t\t\t\tdeadListOut[deadIndex] = index;\r\n\t\t\t}\r\n\t\t}\r\n#else\r\n\t\tfloat
lifetime = asfloat(attributeBuffer.Load((index * 0x2 + 0x0) << 2));\n\t\tfloat3
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x44AA80) << 2));\n\t\tuint
particleId = (attributeBuffer.Load((index * 0x2 + 0x1) << 2));\n\t\tfloat3 velocity
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x44AA84) << 2));\n\t\tfloat
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x44AA83) << 2));\n\t\tfloat
mass = (float)1;\n\t\tbool alive = (attributeBuffer.Load((index * 0x8 + 0x44AA87)
<< 2));\n\t\t\n\r\n\t\t\r\n#if VFX_USE_OLDPOSITION_CURRENT\r\n\t\toldPosition
= position;\r\n#endif\r\n\t\t\r\n\t\t{\n\t\t float tmp_bl = FixedRand(particleId
* 0x8 + 0x44AA83) << 2,asuint(age));\n\t\t\t\t\n\n#if VFX_HAS_INDIRECT_DRAW\n
\ uint indirectIndex = indirectBuffer.IncrementCounter();\n\t\t\t\tindirectBuffer[indirectIndex]
= index;\n#endif\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tattributeBuffer.Store((index
* 0x8 + 0x44AA87) << 2,uint(alive));\n\t\t\t\t\n\n\t\t\t\tuint deadIndex = deadListOut.IncrementCounter();\n\t\t\t\tdeadListOut[deadIndex]
= index;\n\t\t\t}\n\t\t}\n#else\n\t\tfloat lifetime = asfloat(attributeBuffer.Load((index
* 0x2 + 0x0) << 2));\n\t\tfloat3 position = asfloat(attributeBuffer.Load3((index
* 0x8 + 0x44AA80) << 2));\n\t\tuint particleId = (attributeBuffer.Load((index
* 0x2 + 0x1) << 2));\n\t\tfloat3 velocity = asfloat(attributeBuffer.Load3((index
* 0x8 + 0x44AA84) << 2));\n\t\tfloat age = asfloat(attributeBuffer.Load((index
* 0x8 + 0x44AA83) << 2));\n\t\tfloat mass = (float)1;\n\t\tbool alive = (attributeBuffer.Load((index
* 0x8 + 0x44AA87) << 2));\n\t\t\n\n\t\t\n#if VFX_USE_OLDPOSITION_CURRENT\n\t\toldPosition
= position;\n#endif\n\t\t\n\t\t{\n\t\t float tmp_bl = FixedRand(particleId
^ asuint(uniform_d));\n\t\t float tmp_bm = uniform_c * tmp_bl;\n\t\t float
tmp_bn = uniform_b + tmp_bm;\n\t\t float3 tmp_bo = float3(tmp_bn, tmp_bn,
tmp_bn);\n\t\t float3 tmp_bp = tmp_bo * uniform_e;\n\t\t float3 tmp_bq

mass, position, GetVFXSampler(VectorField_c, samplerVectorField_c), InvFieldTransform_c,
FieldTransform_c, (float)1, (float)4, uniform_c);\n\t\t}\n\t\tEulerIntegration(
/*inout */position, velocity, uniform_c);\n\t\tAge( /*inout */age, uniform_c);\n\t\tReap(age,
lifetime, /*inout */alive);\n\t\t\n\r\n\t\tattributeBuffer.Store3((index *
0x8 + 0x44AA80) << 2,asuint(position));\n\t\tattributeBuffer.Store3((index *
0x8 + 0x44AA84) << 2,asuint(velocity));\n\t\tattributeBuffer.Store((index *
0x8 + 0x44AA83) << 2,asuint(age));\n\t\tattributeBuffer.Store((index * 0x8 +
0x44AA87) << 2,uint(alive));\n\t\t\n\r\n#if VFX_HAS_INDIRECT_DRAW\r\n uint
indirectIndex = indirectBuffer.IncrementCounter();\r\n\t\tindirectBuffer[indirectIndex]
= index;\r\n#endif\r\n#endif\r\n\t}\r\n}\r\n"
lifetime, /*inout */alive);\n\t\t\n\n\t\tattributeBuffer.Store3((index * 0x8
+ 0x44AA80) << 2,asuint(position));\n\t\tattributeBuffer.Store3((index * 0x8
+ 0x44AA84) << 2,asuint(velocity));\n\t\tattributeBuffer.Store((index * 0x8
+ 0x44AA83) << 2,asuint(age));\n\t\tattributeBuffer.Store((index * 0x8 + 0x44AA87)
<< 2,uint(alive));\n\t\t\n\n#if VFX_HAS_INDIRECT_DRAW\n uint indirectIndex
= indirectBuffer.IncrementCounter();\n\t\tindirectBuffer[indirectIndex] = index;\n#endif\n#endif\n\t}\n}\n"
source: "Shader \"Hidden/VFX/System 1/Quad Output\"\n{\r\n\tSubShader\r\n\t{\t\r\n\t\tCull
Off\r\n\t\t\r\n\t\tTags { \"Queue\"=\"Transparent\" \"IgnoreProjector\"=\"True\"
source: "Shader \"Hidden/VFX/System 1/Quad Output\"\n{\n\tSubShader\n\t{\t\n\t\tCull
Off\n\t\t\n\t\tTags { \"Queue\"=\"Transparent\" \"IgnoreProjector\"=\"True\"
\"RenderType\"=\"Transparent\" }\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tBlend
SrcAlpha One\n\t\tZTest LEqual\n\t\tZWrite Off\n\t\tCull Off\n\t\t\n\t\n\t\t\t\n\t\tHLSLINCLUDE\n\t\t#if
!defined(VFX_WORLD_SPACE) && !defined(VFX_LOCAL_SPACE)\n\t\t#define VFX_LOCAL_SPACE

attributeBuffer;\t\n\t\t\n\t\t#if VFX_HAS_INDIRECT_DRAW\n\t\tStructuredBuffer<uint>
indirectBuffer;\t\n\t\t#endif\t\n\t\t\n\t\t#if USE_DEAD_LIST_COUNT\n\t\tByteAddressBuffer
deadListCount;\n\t\t#endif\n\t\t\n\t\tCBUFFER_START(outputParams)\n\t\t\tfloat
nbMax;\n\t\t\tfloat systemSeed;\n\t\tCBUFFER_END\n\t\t\n\t\tENDHLSL\n\t\t\n\r\n\t\t\r\n\t\t//
nbMax;\n\t\t\tfloat systemSeed;\n\t\tCBUFFER_END\n\t\t\n\t\tENDHLSL\n\t\t\n\n\t\t\n\t\t//
Forward pass\n\t\tPass\n\t\t{\t\t\n\t\t\tTags { \"LightMode\"=\"ForwardOnly\"
}\n\t\t\t\n\t\t\tHLSLPROGRAM\n\t\t\t#pragma target 4.5\n\t\t\t\t\n\t\t\tstruct
ps_input\n\t\t\t{\n\t\t\t\tfloat4 pos : SV_POSITION;\n\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION\n\t\t\t\tfloat4

= clampedSize;\n\t\t\t scaleX = localSize.x / size;\n\t\t\t scaleY = localSize.y
/ size;\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t#pragma vertex vert\n\t\t\tVFX_VARYING_PS_INPUTS
vert(uint id : SV_VertexID, uint instanceID : SV_InstanceID)\n\t\t\t{\n\t\t\t\tuint
index = (id >> 2) + instanceID * 2048;\n\t\t\t\tVFX_VARYING_PS_INPUTS o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\t#if USE_DEAD_LIST_COUNT\n\t\t\t\t\t\t\tif
(index >= asuint(nbMax) - deadListCount.Load(0))\n\t\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tindex
= indirectBuffer[index];\n\t\t\t\t\t\t\tfloat lifetime = asfloat(attributeBuffer.Load((index
* 0x2 + 0x0) << 2));\n\t\t\t\t\t\t\tfloat3 color = asfloat(attributeBuffer.Load3((index
* 0x4 + 0x16E380) << 2));\n\t\t\t\t\t\t\tfloat3 position = asfloat(attributeBuffer.Load3((index
* 0x8 + 0x44AA80) << 2));\n\t\t\t\t\t\t\tuint particleId = (attributeBuffer.Load((index
* 0x2 + 0x1) << 2));\n\t\t\t\t\t\t\tfloat3 velocity = asfloat(attributeBuffer.Load3((index
* 0x8 + 0x44AA84) << 2));\n\t\t\t\t\t\t\tfloat age = asfloat(attributeBuffer.Load((index
* 0x8 + 0x44AA83) << 2));\n\t\t\t\t\t\t\tfloat alpha = (float)1;\n\t\t\t\t\t\t\tbool
alive = (attributeBuffer.Load((index * 0x8 + 0x44AA87) << 2));\n\t\t\t\t\t\t\tfloat3
axisX = float3(1,0,0);\n\t\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\t\tfloat3
axisZ = float3(0,0,1);\n\t\t\t\t\t\t\tfloat angleX = (float)0;\n\t\t\t\t\t\t\tfloat
angleY = (float)0;\n\t\t\t\t\t\t\tfloat angleZ = (float)0;\n\t\t\t\t\t\t\tfloat
pivotX = (float)0;\n\t\t\t\t\t\t\tfloat pivotY = (float)0;\n\t\t\t\t\t\t\tfloat
pivotZ = (float)0;\n\t\t\t\t\t\t\tfloat size = (float)0.1;\n\t\t\t\t\t\t\tfloat
scaleX = (float)1;\n\t\t\t\t\t\t\tfloat scaleY = (float)1;\n\t\t\t\t\t\t\tfloat
scaleZ = (float)1;\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\tif
(index >= asuint(nbMax))\n\t\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbool
alive = (attributeBuffer.Load((index * 0x8 + 0x44AA87) << 2));\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\tif
(!alive)\n\t\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfloat lifetime
= asfloat(attributeBuffer.Load((index * 0x2 + 0x0) << 2));\n\t\t\t\t\t\t\tfloat3
color = asfloat(attributeBuffer.Load3((index * 0x4 + 0x16E380) << 2));\n\t\t\t\t\t\t\tfloat3
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x44AA80) << 2));\n\t\t\t\t\t\t\tuint
particleId = (attributeBuffer.Load((index * 0x2 + 0x1) << 2));\n\t\t\t\t\t\t\tfloat3
velocity = asfloat(attributeBuffer.Load3((index * 0x8 + 0x44AA84) << 2));\n\t\t\t\t\t\t\tfloat
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x44AA83) << 2));\n\t\t\t\t\t\t\tfloat
alpha = (float)1;\n\t\t\t\t\t\t\tfloat3 axisX = float3(1,0,0);\n\t\t\t\t\t\t\tfloat3
axisY = float3(0,1,0);\n\t\t\t\t\t\t\tfloat3 axisZ = float3(0,0,1);\n\t\t\t\t\t\t\tfloat
angleX = (float)0;\n\t\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\t\tfloat
angleZ = (float)0;\n\t\t\t\t\t\t\tfloat pivotX = (float)0;\n\t\t\t\t\t\t\tfloat
pivotY = (float)0;\n\t\t\t\t\t\t\tfloat pivotZ = (float)0;\n\t\t\t\t\t\t\tfloat
size = (float)0.1;\n\t\t\t\t\t\t\tfloat scaleX = (float)1;\n\t\t\t\t\t\t\tfloat
scaleY = (float)1;\n\t\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\tOrient_6(
index = (id >> 2) + instanceID * 2048;\n\t\t\t\tVFX_VARYING_PS_INPUTS o = (VFX_VARYING_PS_INPUTS)0;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tuint
deadCount = 0;\n\t\t\t\t\t\t#if USE_DEAD_LIST_COUNT\n\t\t\t\t\t\tdeadCount =
deadListCount.Load(0);\n\t\t\t\t\t\t#endif\t\n\t\t\t\t\t\tif (index >= asuint(nbMax)
- deadCount)\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex = indirectBuffer[index];\n\t\t\t\t\t\tfloat
lifetime = asfloat(attributeBuffer.Load((index * 0x2 + 0x0) << 2));\n\t\t\t\t\t\tfloat3
color = asfloat(attributeBuffer.Load3((index * 0x4 + 0x16E380) << 2));\n\t\t\t\t\t\tfloat3
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x44AA80) << 2));\n\t\t\t\t\t\tuint
particleId = (attributeBuffer.Load((index * 0x2 + 0x1) << 2));\n\t\t\t\t\t\tfloat3
velocity = asfloat(attributeBuffer.Load3((index * 0x8 + 0x44AA84) << 2));\n\t\t\t\t\t\tfloat
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x44AA83) << 2));\n\t\t\t\t\t\tfloat
alpha = (float)1;\n\t\t\t\t\t\tbool alive = (attributeBuffer.Load((index * 0x8
+ 0x44AA87) << 2));\n\t\t\t\t\t\tfloat3 axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3
axisY = float3(0,1,0);\n\t\t\t\t\t\tfloat3 axisZ = float3(0,0,1);\n\t\t\t\t\t\tfloat
angleX = (float)0;\n\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\tfloat
angleZ = (float)0;\n\t\t\t\t\t\tfloat pivotX = (float)0;\n\t\t\t\t\t\tfloat
pivotY = (float)0;\n\t\t\t\t\t\tfloat pivotZ = (float)0;\n\t\t\t\t\t\tfloat
size = (float)0.1;\n\t\t\t\t\t\tfloat scaleX = (float)1;\n\t\t\t\t\t\tfloat
scaleY = (float)1;\n\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\tbool
alive = (attributeBuffer.Load((index * 0x8 + 0x44AA87) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif
(!alive)\n\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tfloat lifetime
= asfloat(attributeBuffer.Load((index * 0x2 + 0x0) << 2));\n\t\t\t\t\t\tfloat3
color = asfloat(attributeBuffer.Load3((index * 0x4 + 0x16E380) << 2));\n\t\t\t\t\t\tfloat3
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x44AA80) << 2));\n\t\t\t\t\t\tuint
particleId = (attributeBuffer.Load((index * 0x2 + 0x1) << 2));\n\t\t\t\t\t\tfloat3
velocity = asfloat(attributeBuffer.Load3((index * 0x8 + 0x44AA84) << 2));\n\t\t\t\t\t\tfloat
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x44AA83) << 2));\n\t\t\t\t\t\tfloat
alpha = (float)1;\n\t\t\t\t\t\tfloat3 axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3
axisY = float3(0,1,0);\n\t\t\t\t\t\tfloat3 axisZ = float3(0,0,1);\n\t\t\t\t\t\tfloat
angleX = (float)0;\n\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\tfloat
angleZ = (float)0;\n\t\t\t\t\t\tfloat pivotX = (float)0;\n\t\t\t\t\t\tfloat
pivotY = (float)0;\n\t\t\t\t\t\tfloat pivotZ = (float)0;\n\t\t\t\t\t\tfloat
size = (float)0.1;\n\t\t\t\t\t\tfloat scaleX = (float)1;\n\t\t\t\t\t\tfloat
scaleY = (float)1;\n\t\t\t\t\t\tfloat scaleZ = (float)1;\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\tOrient_6(
/*inout */axisX, /*inout */axisY, /*inout */axisZ, position, velocity);\n\t\t\t\t{\n\t\t\t\t
\ float3 tmp_bj = velocity * velocity;\n\t\t\t\t float tmp_bk = tmp_bj[2];\n\t\t\t\t
\ float tmp_bl = tmp_bj[1];\n\t\t\t\t float tmp_bm = tmp_bk + tmp_bl;\n\t\t\t\t

fragment frag\n\t\t\tps_output frag(ps_input i)\n\t\t\t{\n\t\t\t\tps_output
o = (ps_output)0;\n\t\t\t\to.color = VFXGetFragmentColor(i);\n\t\t\t\to.color
*= VFXGetTextureColor(VFX_SAMPLER(mainTexture),i);\n\t\t\t\to.color = VFXApplyFog(o.color,i);\n\t\t\t\tVFXClipFragmentColor(o.color.a,i);\n\t\t\t\treturn
o;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\r\n\t\t\r\n\t}\r\n}\r\n"
o;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\n\t\t\n\t}\n}\n"
m_Infos:
m_Expressions:
m_Expressions:

- m_ExpressionIndex: 50
m_Value: {fileID: 11700000, guid: f2c068a8f27265d489fbf108c033ab44, type: 3}
- m_ExpressionIndex: 56
m_Value: {fileID: 0}
m_Value: {fileID: 11700000, guid: 500adb08ae2ef274c9095ec1e41fde84, type: 2}
m_Value: {fileID: 0}
m_Value: {fileID: 2800000, guid: 49cb5aa34272b034d8b754c65d9cdbfa, type: 3}
m_Bool:
m_Array: []
m_ExposedExpressions:

m_Type:
m_SerializableType: UnityEngine.Texture3D, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_SerializableObject: '{"obj":{"fileID":11700000,"guid":"f93fc0f95c2e2bf41bbb39e9a5dce8f8","type":2}}'
m_SerializableObject: '{"obj":{"fileID":11700000,"guid":"500adb08ae2ef274c9095ec1e41fde84","type":2}}'
m_Space: 2147483647
m_Property:
name: o

linkedSlots:
- outputSlot: {fileID: 8926484042661615041}
inputSlot: {fileID: 114155183567873668}
position: {x: -139.32773, y: 2655.0557}
position: {x: -139.32773, y: 2655.488}
expandedSlots: []
expanded: 0
--- !u!114 &8926484042661615041

- {fileID: 8926484042661615051}
- {fileID: 8926484042661615052}
- {fileID: 8926484042661615053}
- {fileID: 8926484042661615054}
- {fileID: 8926484042661615069}
- {fileID: 8926484042661615055}
- {fileID: 8926484042661615056}
m_OutputSlots:

m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 1
m_Min: 0
m_Max: Infinity
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity

m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661615054
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661615054}
m_MasterData:
m_Owner: {fileID: 8926484042661615050}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0.5
m_Space: 2147483647
m_Property:
name: persistence
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 0
m_Min: 0
m_Max: 1
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: The scaling factor applied to each octave.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661615055
MonoBehaviour:
m_ObjectHideFlags: 0

m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 1
m_Min: 0
m_Max: Infinity
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity

m_Direction: 0
m_LinkedSlots:
- {fileID: 8926484042661614559}
--- !u!114 &8926484042661615069
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661615069}
m_MasterData:
m_Owner: {fileID: 8926484042661615050}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0.5
m_Space: 2147483647
m_Property:
name: roughness
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 0
m_Min: 0
m_Max: 1
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: The scaling factor applied to each octave. Also known as persistence.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []

192
Assets/Samples/Volumetric/Volumetric.vfx


- {fileID: 8926484042661615201}
- {fileID: 8926484042661615205}
- {fileID: 8926484042661615206}
- {fileID: 8926484042661615207}
- {fileID: 8926484042661615627}
- {fileID: 8926484042661615208}
- {fileID: 8926484042661615209}
m_OutputSlots:

m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661615207
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661615207}
m_MasterData:
m_Owner: {fileID: 8926484042661615200}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0.8
m_Space: 2147483647
m_Property:
name: roughness
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 0
m_Min: 0
m_Max: 1
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: The scaling factor applied to each octave. Also known as persistence.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots:
- {fileID: 8926484042661615243}
--- !u!114 &8926484042661615208
MonoBehaviour:
m_ObjectHideFlags: 0

- {fileID: 8926484042661615230}
- {fileID: 8926484042661615231}
- {fileID: 8926484042661615232}
- {fileID: 8926484042661615233}
- {fileID: 8926484042661615628}
- {fileID: 8926484042661615234}
- {fileID: 8926484042661615235}
m_OutputSlots:

m_Min: -Infinity
m_Max: Infinity
m_Tooltip: The number of layers of noise.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661615233
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661615233}
m_MasterData:
m_Owner: {fileID: 8926484042661615229}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0.5
m_Space: 2147483647
m_Property:
name: roughness
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 0
m_Min: 0
m_Max: 1
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: The scaling factor applied to each octave. Also known as persistence.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0

attributes: []
m_Direction: 1
m_LinkedSlots:
- {fileID: 8926484042661615207}
- {fileID: 8926484042661615627}
--- !u!114 &8926484042661615244
MonoBehaviour:
m_ObjectHideFlags: 0

m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []
--- !u!114 &8926484042661615627
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661615627}
m_MasterData:
m_Owner: {fileID: 8926484042661615200}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0.8
m_Space: 2147483647
m_Property:
name: roughness
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 0
m_Min: 0
m_Max: 1
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: The scaling factor applied to each octave. Also known as persistence.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots:
- {fileID: 8926484042661615243}
--- !u!114 &8926484042661615628
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f780aa281814f9842a7c076d436932e7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Parent: {fileID: 0}
m_Children: []
m_UIPosition: {x: 0, y: 0}
m_UICollapsed: 1
m_UISuperCollapsed: 0
m_MasterSlot: {fileID: 8926484042661615628}
m_MasterData:
m_Owner: {fileID: 8926484042661615229}
m_Value:
m_Type:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
m_SerializableObject: 0.5
m_Space: 2147483647
m_Property:
name: roughness
m_serializedType:
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
attributes:
- m_Type: 0
m_Min: 0
m_Max: 1
m_Tooltip:
m_Regex:
m_RegexMaxLength: 0
- m_Type: 3
m_Min: -Infinity
m_Max: Infinity
m_Tooltip: The scaling factor applied to each octave. Also known as persistence.
m_Regex:
m_RegexMaxLength: 0
m_Direction: 0
m_LinkedSlots: []

9
Assets/VisualEffectsSamples.unity


m_ReflectionIntensity: 0
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 0}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:

- UnityLogo
- Butterflies
- MorphingFace
- GrassWind
- Volumetric
- Portal
SceneChangeDuration: 30
fadeDuration: 1.4
SceneChangeDuration: 15
fadeDuration: 0.7
FramerateText: {fileID: 1836483378}
--- !u!4 &792070313
Transform:

4
Packages/manifest.json


{
"dependencies": {
"com.unity.package-manager-ui": "2.0.3",
"com.unity.render-pipelines.high-definition": "4.3.0-preview",
"com.unity.visualeffectgraph": "4.3.0-preview",
"com.unity.render-pipelines.high-definition": "4.6.0-preview",
"com.unity.visualeffectgraph": "4.6.0-preview",
"com.unity.modules.ai": "1.0.0",
"com.unity.modules.animation": "1.0.0",
"com.unity.modules.assetbundle": "1.0.0",

9
ProjectSettings/EditorBuildSettings.asset


- enabled: 1
path: Assets/Samples/Butterflies/Butterflies.unity
guid: 6932026508c98594bbb83a63a56beccc
- enabled: 1
path: Assets/Samples/GrassWind/GrassWind.unity
guid: 61f1ef70099d9034881b5619b161a5c6
- enabled: 1
path: Assets/Samples/Volumetric/Volumetric.unity
guid: 361436e556dc53a4ca577abe64a63fec
- enabled: 1
path: Assets/Samples/Portal/Portal.unity
guid: d23d59905ac5645468dd8e5c0251903a
m_configObjects: {}

1
ProjectSettings/GraphicsSettings.asset


- {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0}
m_PreloadedShaders: []
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
type: 0}

9
ProjectSettings/ProjectSettings.asset


- m_BuildTarget: WebGLSupport
m_APIs: 0b000000
m_Automatic: 1
- m_BuildTarget: WindowsStandaloneSupport
m_APIs: 02000000
m_Automatic: 0
- m_BuildTarget: MacStandaloneSupport
m_APIs: 10000000
m_Automatic: 0
- m_BuildTarget: LinuxStandaloneSupport
m_APIs: 15000000
m_Automatic: 0
m_BuildTargetVRSettings:
- m_BuildTarget: Standalone
m_Enabled: 0

2
ProjectSettings/ProjectVersion.txt


m_EditorVersion: 2018.3.0b11
m_EditorVersion: 2018.3.0f2

20
README.md


### Changelog
#### First Release (rev1 - 2018-11-27)
- #### Second Release ( 4.6.0-preview rev1 - 2019-01-07 )
* **Base Project**
- **New Samples**
- **GrassWind** : Grass quads on terrain reacting to player movement and wind
- **Volumetric** : Lit Particles reacting to volumetric lighting and transmission
- **Portal** : Magic portal reminiscing of a strange doctor....
- **Fixes:**
- Fixed Butterflies Bodies set to Opaque
- Fixed Missing references to VectorField and Texture in UnityLogo template
- Removed unused HDRP Resources file (now using default one)
- **Unity Logo** : around 750k particles driven by vector fields
- **Butterflies** : Procedurally animated and simulated butterflies
- **Morphing Face** : Simulation-less face of cubes with masking and material animation
- #### First Release ( 4.3.0-preview rev1 - 2018-11-27 )
- **Base Project** and 3 Samples
- **Unity Logo** : around 750k particles driven by vector fields
- **Butterflies** : Procedurally animated and simulated butterflies
- **Morphing Face** : Simulation-less face of cubes with masking and material animation

1
Assets/Samples/Common/Textures/Wispy03b_Thicker_N.tga
文件差异内容过多而无法显示
查看文件

132
Assets/Samples/Common/Textures/Wispy03b_Thicker_N.tga.meta


fileFormatVersion: 2
guid: 1ea102c0375a133428a21a6feb932759
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 7
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 0
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 1
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Nintendo Switch
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

1001
Assets/Samples/Common/Textures/WispySmoke01_8x8.tga
文件差异内容过多而无法显示
查看文件

88
Assets/Samples/Common/Textures/WispySmoke01_8x8.tga.meta


fileFormatVersion: 2
guid: ee05b597174590c41a0929d87f45e68b
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 7
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

81
Assets/HDRP/HDRenderPipelineResources.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8b6f86e1523e69a4282e92d393be89a4, type: 3}
m_Name: HDRenderPipelineResources
m_EditorClassIdentifier:
defaultDiffuseMaterial: {fileID: 2100000, guid: 73c176f402d2c2f4d929aa5da7585d17,
type: 2}
defaultDecalMaterial: {fileID: 2100000, guid: 500e733574922d04ea961553b1b26a63,
type: 2}
defaultShader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
debugFontTexture: {fileID: 2800000, guid: a3ad2df0e49aaa341a3b3a80f93b3f66, type: 3}
debugDisplayLatlongShader: {fileID: 4800000, guid: c1d1d149a043a5349ba367da6c2051ba,
type: 3}
debugViewMaterialGBufferShader: {fileID: 4800000, guid: 439949ea1bfa91b4ba0d04269fcde33d,
type: 3}
debugViewTilesShader: {fileID: 4800000, guid: c7c2bd17b06ceb4468e14081aaf1b96f,
type: 3}
debugFullScreenShader: {fileID: 4800000, guid: e874aca2df8300a488258738c31f85cf,
type: 3}
debugColorPickerShader: {fileID: 4800000, guid: 8137b807709e178498f22ed710864bb0,
type: 3}
deferredShader: {fileID: 4800000, guid: 00dd221e34a6ab349a1196b0f2fab693, type: 3}
colorPyramidCS: {fileID: 7200000, guid: 4e3267a1135742441a14298d8dcac04a, type: 3}
depthPyramidCS: {fileID: 7200000, guid: 64a553bb564274041906f78ffba955e4, type: 3}
copyChannelCS: {fileID: 7200000, guid: a4d45eda75e8e474dbe24a31f741f3b4, type: 3}
applyDistortionCS: {fileID: 7200000, guid: 2fa6c0e3fe6dc3145a4156f21913fe5c, type: 3}
clearDispatchIndirectShader: {fileID: 7200000, guid: fc1f553acb80a6446a32d33e403d0656,
type: 3}
buildDispatchIndirectShader: {fileID: 7200000, guid: 4eb1b418be7044c40bb5200496c50f14,
type: 3}
buildScreenAABBShader: {fileID: 7200000, guid: 728dce960f8a9c44bbc3abb3b851d8f6,
type: 3}
buildPerTileLightListShader: {fileID: 7200000, guid: 65af3444cbf4b3747a4dead7ee00cfee,
type: 3}
buildPerBigTileLightListShader: {fileID: 7200000, guid: 5ee1f9d6e09abe045b2f5e0b784b9072,
type: 3}
buildPerVoxelLightListShader: {fileID: 7200000, guid: 0bb1b7e0ddcd5c44baf3ddc7456eb196,
type: 3}
buildMaterialFlagsShader: {fileID: 7200000, guid: fb3eda953cd6e634e877fb777be2cd08,
type: 3}
deferredComputeShader: {fileID: 7200000, guid: 0b64f79746d2daf4198eaf6eab9af259,
type: 3}
deferredDirectionalShadowComputeShader: {fileID: 7200000, guid: fbde6fae193b2a94e9fd97c163c204f4,
type: 3}
volumetricLightingCS: {fileID: 7200000, guid: 799166e2ee6a4b041bba9e74f6942097,
type: 3}
subsurfaceScatteringCS: {fileID: 7200000, guid: b06a7993621def248addd55d0fe931b1,
type: 3}
subsurfaceScattering: {fileID: 4800000, guid: 867b36db983aa0548889a66f8d685ff6,
type: 3}
combineLighting: {fileID: 4800000, guid: 2e37131331fbdca449b1a2bc47a639ca, type: 3}
cameraMotionVectors: {fileID: 4800000, guid: 035941b63024d1943af48811c1db20d9, type: 3}
copyStencilBuffer: {fileID: 4800000, guid: 3d1574f1cdfa0ce4995f9bc79ed7f8ec, type: 3}
copyDepthBuffer: {fileID: 4800000, guid: 42dfcc8fe803ece4096c58630689982f, type: 3}
blit: {fileID: 4800000, guid: 370f7a9cc4e362d488af024d371091e8, type: 3}
blitCubemap: {fileID: 4800000, guid: d05913e251bed7a4992c921c62e1b647, type: 3}
buildProbabilityTables: {fileID: 7200000, guid: b9f26cf340afe9145a699753531b2a4c,
type: 3}
computeGgxIblSampleData: {fileID: 7200000, guid: 764a24bb47ef5ba4781d9ae82ca07445,
type: 3}
GGXConvolve: {fileID: 4800000, guid: 123ed592ad5c2494b8aed301fd609e7b, type: 3}
opaqueAtmosphericScattering: {fileID: 4800000, guid: 326059e48e5735e46a98047eff4f0295,
type: 3}
hdriSky: {fileID: 4800000, guid: 9bd32a6ece529fd4f9408b8d7e00c10d, type: 3}
proceduralSky: {fileID: 4800000, guid: ec63f47fd265df243a7b1d40f9ef7fe7, type: 3}
skyboxCubemap: {fileID: 103, guid: 0000000000000000f000000000000000, type: 0}
encodeBC6HCS: {fileID: 7200000, guid: aa922d239de60304f964e24488559eeb, type: 3}
cubeToPanoShader: {fileID: 4800000, guid: 595434cc3b6405246b6cd3086d0b6f7d, type: 3}
blitCubeTextureFace: {fileID: 4800000, guid: d850d0a2481878d4bbf17e5126b04163, type: 3}
shadowClearShader: {fileID: 4800000, guid: e3cab24f27741f44d8af1e94d006267c, type: 3}
shadowBlurMoments: {fileID: 7200000, guid: fb36979473602464fa32deacb9630c08, type: 3}
debugShadowMapShader: {fileID: 4800000, guid: ee25e539f5594f44085e0a9000c15d9b,
type: 3}

8
Assets/HDRP/HDRenderPipelineResources.asset.meta


fileFormatVersion: 2
guid: 24bbac6bc5aae3043945ce856ac83801
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
正在加载...
取消
保存