您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
6952 行
318 KiB
6952 行
318 KiB
%YAML 1.1
|
|
%TAG !u! tag:unity3d.com,2011:
|
|
--- !u!114 &114340500867371532
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 1
|
|
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: d01270efd3285ea4a9d6c555cb0a8027, type: 3}
|
|
m_Name: VFXUI
|
|
m_EditorClassIdentifier:
|
|
groupInfos:
|
|
- title: Position on Camera Front
|
|
position:
|
|
serializedVersion: 2
|
|
x: -1190
|
|
y: -1275
|
|
width: 543
|
|
height: 402
|
|
contents:
|
|
- model: {fileID: 8926484042661614579}
|
|
id: 0
|
|
isStickyNote: 0
|
|
- model: {fileID: 8926484042661615108}
|
|
id: 0
|
|
isStickyNote: 0
|
|
- model: {fileID: 8926484042661615112}
|
|
id: 0
|
|
isStickyNote: 0
|
|
- model: {fileID: 8926484042661615912}
|
|
id: 0
|
|
isStickyNote: 0
|
|
- title: Reticula Visibility
|
|
position:
|
|
serializedVersion: 2
|
|
x: -1082
|
|
y: -690
|
|
width: 451
|
|
height: 215
|
|
contents:
|
|
- model: {fileID: 8926484042661615828}
|
|
id: 0
|
|
isStickyNote: 0
|
|
- model: {fileID: 8926484042661615830}
|
|
id: 0
|
|
isStickyNote: 0
|
|
stickyNoteInfos: []
|
|
systemInfos: []
|
|
categories: []
|
|
uiBounds:
|
|
serializedVersion: 2
|
|
x: -1190
|
|
y: -1437
|
|
width: 1292
|
|
height: 962
|
|
--- !u!114 &114350483966674976
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 1
|
|
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: 7d4c867f6b72b714dbb5fd1780afe208, type: 3}
|
|
m_Name: HUD
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 0}
|
|
m_Children:
|
|
- {fileID: 8926484042661614579}
|
|
- {fileID: 8926484042661614823}
|
|
- {fileID: 8926484042661615108}
|
|
- {fileID: 8926484042661615112}
|
|
- {fileID: 8926484042661615579}
|
|
- {fileID: 8926484042661615828}
|
|
- {fileID: 8926484042661615830}
|
|
- {fileID: 8926484042661615912}
|
|
- {fileID: 8926484042661615942}
|
|
- {fileID: 8926484042661615944}
|
|
- {fileID: 8926484042661615952}
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_UIInfos: {fileID: 114340500867371532}
|
|
m_ParameterInfo:
|
|
- name: ARUI-Reticula
|
|
path: ARUI-Reticula
|
|
tooltip:
|
|
sheetType: m_Float
|
|
realType: Single
|
|
defaultValue:
|
|
m_Type:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject: 0
|
|
min: -Infinity
|
|
max: Infinity
|
|
descendantCount: 0
|
|
- name: ARUI-Hover
|
|
path: ARUI-Hover
|
|
tooltip:
|
|
sheetType: m_Bool
|
|
realType: Boolean
|
|
defaultValue:
|
|
m_Type:
|
|
m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject: False
|
|
min: -Infinity
|
|
max: Infinity
|
|
descendantCount: 0
|
|
m_GraphVersion: 2
|
|
m_saved: 1
|
|
m_SubgraphDependencies:
|
|
- {fileID: 8926484042661614526, guid: a012d7e2d1963b5439bccd6478791f75, type: 3}
|
|
- {fileID: 8926484042661614526, guid: b5da5f3c58215f3418e2f4836c7ac94f, type: 3}
|
|
m_CategoryPath:
|
|
--- !u!2058629511 &8926484042661614527
|
|
VisualEffectResource:
|
|
m_ObjectHideFlags: 0
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
m_PrefabInstance: {fileID: 0}
|
|
m_PrefabAsset: {fileID: 0}
|
|
m_Name: HUD
|
|
m_Graph: {fileID: 114350483966674976}
|
|
m_ShaderSources:
|
|
- compute: 1
|
|
name: '[Full Screen Scan Pass]Initialize'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_USE_PARTICLEID_CURRENT
|
|
1\n#define VFX_USE_POSITION_CURRENT 1\n#define VFX_USE_LIFETIME_CURRENT 1\n#define
|
|
VFX_USE_SEED_CURRENT 1\n#define VFX_USE_TEXINDEX_CURRENT 1\n#define VFX_USE_ALIVE_CURRENT
|
|
1\n#define VFX_USE_AGE_CURRENT 1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\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 PositionSequential_913D42CB(uint particleId,
|
|
inout float3 position, float3 computedPosition) /*shape:ThreeDimensional index:ParticleID
|
|
writePosition:True writeTargetPosition:False mode:Wrap */\n{\n position +=
|
|
computedPosition;\n \n}\nvoid SetAttribute_C707D62A(inout float3 position,
|
|
float3 Position) /*attribute:position Composition:Add Source:Slot Random:Off
|
|
channels:XYZ */\n{\n position += Position;\n}\nvoid SetAttribute_F01429A3(inout
|
|
float lifetime, inout uint seed, float A, float B) /*attribute:lifetime Composition:Overwrite
|
|
Source:Slot Random:Uniform channels:XYZ */\n{\n lifetime = lerp(A,B,RAND);\n}\nvoid
|
|
SetAttribute_CA100327(inout float texIndex, inout uint seed, float A, float
|
|
B) /*attribute:texIndex Composition:Overwrite Source:Slot Random:Uniform channels:XYZ
|
|
*/\n{\n texIndex = lerp(A,B,RAND);\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
|
|
\ maxThreadId = min(maxThreadId, nbMax); //otherwise, nbSpawned already clamped
|
|
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
|
|
sourceIndex = 0;\n /*//Loop with 1 iteration generate a wrong IL Assembly
|
|
(and actually, useless code)\n uint currentSumSpawnCount = 0u;\n for
|
|
(sourceIndex=0; sourceIndex<1; sourceIndex++)\n {\n currentSumSpawnCount
|
|
+= uint(asfloat(sourceAttributeBuffer.Load((sourceIndex * 0x1 + 0x0) << 2)));\n
|
|
\ if (id < currentSumSpawnCount)\n {\n break;\n
|
|
\ }\n }\n */\n \n\n#endif\n uint particleId
|
|
= (uint)0;\n float3 position = float3(0,0,0);\n float lifetime
|
|
= (float)1;\n uint seed = (uint)0;\n float texIndex = (float)0;\n
|
|
\ bool alive = (bool)true;\n float age = (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 uint tmp_y = particleId / (uint)1024;\n uint
|
|
tmp_z = tmp_y * (uint)1024;\n uint tmp_ba = particleId - tmp_z;\n
|
|
\ uint tmp_bc = tmp_ba / (uint)32;\n float tmp_bd = (float)tmp_bc;\n
|
|
\ uint tmp_be = tmp_bc * (uint)32;\n uint tmp_bf = tmp_ba
|
|
- tmp_be;\n float tmp_bg = (float)tmp_bf;\n uint tmp_bh
|
|
= tmp_ba - tmp_ba;\n float tmp_bi = (float)tmp_bh;\n float3
|
|
tmp_bj = float3(tmp_bd, tmp_bg, tmp_bi);\n float3 tmp_bl = tmp_bj
|
|
/ float3(31,31,1);\n float3 tmp_bn = tmp_bl * float3(2,2,2);\n float3
|
|
tmp_bp = tmp_bn - float3(1,1,1);\n float tmp_bq = tmp_bp[0];\n float3
|
|
tmp_br = float3(tmp_bq, tmp_bq, tmp_bq);\n float3 tmp_bt = tmp_br
|
|
* float3(0,-0.2,0);\n float3 tmp_bu = float3(0,0,0.03001) + tmp_bt;\n
|
|
\ float tmp_bv = tmp_bp[1];\n float3 tmp_bw = float3(tmp_bv,
|
|
tmp_bv, tmp_bv);\n float3 tmp_by = tmp_bw * float3(0.3,0,0);\n float3
|
|
tmp_bz = tmp_bu + tmp_by;\n PositionSequential_913D42CB(particleId,
|
|
\ /*inout */position, tmp_bz);\n }\n {\n SetAttribute_C707D62A(
|
|
/*inout */position, float3(0,0,0.3));\n }\n {\n SetAttribute_F01429A3(
|
|
/*inout */lifetime, /*inout */seed, (float)0.01, (float)0.3);\n }\n
|
|
\ {\n SetAttribute_CA100327( /*inout */texIndex, /*inout */seed,
|
|
(float)0, (float)256);\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.Store3((index
|
|
* 0x4 + 0x0) << 2,asuint(position));\n attributeBuffer.Store((index
|
|
* 0x1 + 0x1000) << 2,asuint(lifetime));\n attributeBuffer.Store((index
|
|
* 0x4 + 0x3) << 2,asuint(texIndex));\n attributeBuffer.Store((index
|
|
* 0x2 + 0x1400) << 2,uint(alive));\n attributeBuffer.Store((index
|
|
* 0x2 + 0x1401) << 2,asuint(age));\n \n\n }\n#else\n uint
|
|
index = particleIndex;\n attributeBuffer.Store3((index * 0x4 + 0x0) <<
|
|
2,asuint(position));\n attributeBuffer.Store((index * 0x1 + 0x1000) <<
|
|
2,asuint(lifetime));\n attributeBuffer.Store((index * 0x4 + 0x3) << 2,asuint(texIndex));\n
|
|
\ attributeBuffer.Store((index * 0x2 + 0x1400) << 2,uint(alive));\n attributeBuffer.Store((index
|
|
* 0x2 + 0x1401) << 2,asuint(age));\n \n\n#endif\n }\n}\n"
|
|
- compute: 1
|
|
name: '[Full Screen Scan Pass]Update'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_USE_LIFETIME_CURRENT
|
|
1\n#define VFX_USE_ALIVE_CURRENT 1\n#define VFX_USE_AGE_CURRENT 1\n#define VFX_LOCAL_SPACE
|
|
1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\n\nCBUFFER_START(parameters)\n
|
|
\ float deltaTime_a;\n uint3 PADDING_0;\nCBUFFER_END\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;\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
|
|
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\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 * 0x2 + 0x1400) << 2));\n\t\t\n\n\t\tif
|
|
(alive)\n\t\t{\n\t\t\tfloat lifetime = asfloat(attributeBuffer.Load((index *
|
|
0x1 + 0x1000) << 2));\n\t\t\tfloat age = asfloat(attributeBuffer.Load((index
|
|
* 0x2 + 0x1401) << 2));\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\tAge( /*inout */age, deltaTime_a);\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.Store((index
|
|
* 0x2 + 0x1401) << 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
|
|
* 0x2 + 0x1400) << 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
|
|
* 0x1 + 0x1000) << 2));\n\t\tbool alive = (attributeBuffer.Load((index * 0x2
|
|
+ 0x1400) << 2));\n\t\tfloat age = asfloat(attributeBuffer.Load((index * 0x2
|
|
+ 0x1401) << 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\tAge( /*inout */age, deltaTime_a);\n\t\tReap(age,
|
|
lifetime, /*inout */alive);\n\t\t\n\n\t\tattributeBuffer.Store((index * 0x2
|
|
+ 0x1400) << 2,uint(alive));\n\t\tattributeBuffer.Store((index * 0x2 + 0x1401)
|
|
<< 2,asuint(age));\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"
|
|
- compute: 0
|
|
name: '[Full Screen Scan Pass]Quad Output'
|
|
source: "Shader \"Hidden/VFX/Full Screen Scan Pass/Quad Output\"\n{\n\tSubShader\n\t{\t\n\t\tCull
|
|
Off\n\t\t\n\t\tTags { \"Queue\"=\"Transparent+700\" \"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\t\n\t\t\n\t\tBlend
|
|
SrcAlpha One , Zero 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
|
|
1\n\t\t#endif\n\t\t\n\t\t#define NB_THREADS_PER_GROUP 64\n\t\t#define VFX_USE_POSITION_CURRENT
|
|
1\n\t\t#define VFX_USE_LIFETIME_CURRENT 1\n\t\t#define VFX_USE_TEXINDEX_CURRENT
|
|
1\n\t\t#define VFX_USE_COLOR_CURRENT 1\n\t\t#define VFX_USE_ALPHA_CURRENT 1\n\t\t#define
|
|
VFX_USE_ALIVE_CURRENT 1\n\t\t#define VFX_USE_AXISX_CURRENT 1\n\t\t#define VFX_USE_AXISY_CURRENT
|
|
1\n\t\t#define VFX_USE_AXISZ_CURRENT 1\n\t\t#define VFX_USE_ANGLEX_CURRENT 1\n\t\t#define
|
|
VFX_USE_ANGLEY_CURRENT 1\n\t\t#define VFX_USE_ANGLEZ_CURRENT 1\n\t\t#define
|
|
VFX_USE_PIVOTX_CURRENT 1\n\t\t#define VFX_USE_PIVOTY_CURRENT 1\n\t\t#define
|
|
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_SCALEY_CURRENT 1\n\t\t#define VFX_USE_SCALEZ_CURRENT
|
|
1\n\t\t#define VFX_USE_AGE_CURRENT 1\n\t\t#define VFX_COLORMAPPING_DEFAULT 1\n\t\t#define
|
|
IS_TRANSPARENT_PARTICLE 1\n\t\t#define VFX_BLENDMODE_ADD 1\n\t\t#define USE_FLIPBOOK
|
|
1\n\t\t#define VFX_PRIMITIVE_QUAD 1\n\t\t\n\t\t\n\t\t\n\t\t#define VFX_LOCAL_SPACE
|
|
1\n\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t
|
|
\ float gradient_c;\n\t\t uint3 PADDING_0;\n\t\tCBUFFER_END\n\t\tTexture2D
|
|
mainTexture;\n\t\tSamplerState samplermainTexture;\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\n\t\tByteAddressBuffer
|
|
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\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\n\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
|
|
uv : TEXCOORD0;\n\t\t\t\t#else\n\t\t\t\tfloat2 uv : TEXCOORD0;\t\n\t\t\t\t#endif\n\t\t\t\t#if
|
|
VFX_NEEDS_COLOR_INTERPOLATOR\n\t\t\t\tnointerpolation float4 color : COLOR0;\n\t\t\t\t#endif\n\t\t\t\t#if
|
|
USE_SOFT_PARTICLE || USE_ALPHA_TEST || USE_FLIPBOOK_INTERPOLATION || USE_EXPOSURE_WEIGHT\n\t\t\t\t//
|
|
x: inverse soft particles fade distance\n\t\t\t\t// y: alpha threshold\n\t\t\t\t//
|
|
z: frame blending factor\n\t\t\t\t// w: exposure weight\n\t\t\t\tnointerpolation
|
|
float4 builtInInterpolants : TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t//
|
|
x: motion vectors scale X\n\t\t\t\t// y: motion vectors scale Y\n\t\t\t\tnointerpolation
|
|
float2 builtInInterpolants2 : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t\tfloat3
|
|
posWS : TEXCOORD3;\n\t\t\t\t#endif\n\t\t\t};\n\t\t\t\n\t\t\tstruct ps_output\n\t\t\t{\n\t\t\t\tfloat4
|
|
color : SV_Target0;\n\t\t\t};\n\t\t\n\t\t#define VFX_VARYING_PS_INPUTS ps_input\n\t\t#define
|
|
VFX_VARYING_POSCS pos\n\t\t#define VFX_VARYING_COLOR color.rgb\n\t\t#define
|
|
VFX_VARYING_ALPHA color.a\n\t\t#define VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
builtInInterpolants.x\n\t\t#define VFX_VARYING_ALPHATHRESHOLD builtInInterpolants.y\n\t\t#define
|
|
VFX_VARYING_FRAMEBLEND builtInInterpolants.z\n\t\t#define VFX_VARYING_MOTIONVECTORSCALE
|
|
builtInInterpolants2.xy\n\t\t#define VFX_VARYING_UV uv\n\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t#define
|
|
VFX_VARYING_POSWS posWS\n\t\t#endif\n\t\t#if USE_EXPOSURE_WEIGHT\n\t\t#define
|
|
VFX_VARYING_EXPOSUREWEIGHT builtInInterpolants.w\n\t\t#endif\n\t\t\t\t\n\t\t\t#if
|
|
!(defined(VFX_VARYING_PS_INPUTS) && defined(VFX_VARYING_POSCS))\n\t\t\t#error
|
|
VFX_VARYING_PS_INPUTS, VFX_VARYING_POSCS and VFX_VARYING_UV must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXCommon.cginc\"\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\t\t\t\n\n\t\t\tvoid
|
|
Orient_0(inout float3 axisX, inout float3 axisY, inout float3 axisZ) /*mode:FaceCameraPlane
|
|
*/\n\t\t\t{\n\t\t\t \n\t\t\t float3x3 viewRot = GetVFXToViewRotMatrix();\n\t\t\t
|
|
\ axisX = viewRot[0].xyz;\n\t\t\t axisY = viewRot[1].xyz;\n\t\t\t #if
|
|
VFX_LOCAL_SPACE // Need to remove potential scale in local transform\n\t\t\t
|
|
\ axisX = normalize(axisX);\n\t\t\t axisY = normalize(axisY);\n\t\t\t axisZ
|
|
= cross(axisX,axisY);\n\t\t\t #else\n\t\t\t axisZ = -viewRot[2].xyz;\n\t\t\t
|
|
\ #endif\n\t\t\t \n\t\t\t}\n\t\t\tvoid SetAttribute_3278B229(inout float
|
|
size, float Size) /*attribute:size Composition:Overwrite Source:Slot Random:Off
|
|
channels:X */\n\t\t\t{\n\t\t\t size = Size;\n\t\t\t}\n\t\t\tvoid ColorOverLife_733E3(float
|
|
age, float lifetime, inout float3 color, inout float alpha, float gradient)
|
|
/*mode:ColorAndAlpha ColorComposition:Multiply AlphaComposition:Multiply */\n\t\t\t{\n\t\t\t
|
|
\ \n\t\t\t float4 sampledColor = SampleGradient(gradient, age/lifetime);\n\t\t\t
|
|
\ color *= sampledColor.rgb;\n\t\t\t alpha *= sampledColor.a;\n\t\t\t \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#if VFX_PRIMITIVE_TRIANGLE\n\t\t\t\tuint index
|
|
= id / 3;\n\t\t\t#elif VFX_PRIMITIVE_QUAD\n\t\t\t\tuint index = (id >> 2) +
|
|
instanceID * 2048;\n\t\t\t#elif VFX_PRIMITIVE_OCTAGON\n\t\t\t\tuint index =
|
|
(id >> 3) + instanceID * 1024;\n\t\t\t#endif\n\t\t\t\n\t\t\t\tVFX_VARYING_PS_INPUTS
|
|
o = (VFX_VARYING_PS_INPUTS)0;\n\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#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn;
|
|
// cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\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 * 0x4 + 0x0) << 2));\n\t\t\t\t\t\tfloat
|
|
lifetime = asfloat(attributeBuffer.Load((index * 0x1 + 0x1000) << 2));\n\t\t\t\t\t\tfloat
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x4 + 0x3) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,1);\n\t\t\t\t\t\tfloat alpha = (float)1;\n\t\t\t\t\t\tbool
|
|
alive = (attributeBuffer.Load((index * 0x2 + 0x1400) << 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\tfloat age = asfloat(attributeBuffer.Load((index
|
|
* 0x2 + 0x1401) << 2));\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 * 0x2 + 0x1400) << 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\tfloat3 position
|
|
= asfloat(attributeBuffer.Load3((index * 0x4 + 0x0) << 2));\n\t\t\t\t\t\tfloat
|
|
lifetime = asfloat(attributeBuffer.Load((index * 0x1 + 0x1000) << 2));\n\t\t\t\t\t\tfloat
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x4 + 0x3) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,1);\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\tfloat age = asfloat(attributeBuffer.Load((index
|
|
* 0x2 + 0x1401) << 2));\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_0(
|
|
/*inout */axisX, /*inout */axisY, /*inout */axisZ);\n\t\t\t\t{\n\t\t\t\t SetAttribute_3278B229(
|
|
/*inout */size, (float)0.018);\n\t\t\t\t}\n\t\t\t\tColorOverLife_733E3(age,
|
|
lifetime, /*inout */color, /*inout */alpha, gradient_c);\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\tif
|
|
(!alive)\n\t\t\t\t\treturn o;\n\t\t\t\t\n\t\t\t#if VFX_PRIMITIVE_QUAD\n\t\t\t\n\t\t\t\to.VFX_VARYING_UV.x
|
|
= float(id & 1);\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2) >> 1);\n\t\t\t\tconst
|
|
float2 vOffsets = o.VFX_VARYING_UV.xy - 0.5f;\n\t\t\t\t\n\t\t\t#elif VFX_PRIMITIVE_TRIANGLE\n\t\t\t\n\t\t\t\tconst
|
|
float2 kOffsets[] = {\n\t\t\t\t\tfloat2(-0.5f, \t-0.288675129413604736328125f),\n\t\t\t\t\tfloat2(0.0f,
|
|
\t0.57735025882720947265625f),\n\t\t\t\t\tfloat2(0.5f,\t-0.288675129413604736328125f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tconst
|
|
float kUVScale = 0.866025388240814208984375f;\n\t\t\t\t\n\t\t\t\tconst float2
|
|
vOffsets = kOffsets[id % 3];\n\t\t\t\to.VFX_VARYING_UV.xy = (vOffsets * kUVScale)
|
|
+ 0.5f;\n\t\t\t\t\n\t\t\t#elif VFX_PRIMITIVE_OCTAGON\t\n\t\t\t\t\n\t\t\t\tconst
|
|
float2 kUvs[8] = \n\t\t\t\t{\n\t\t\t\t\tfloat2(-0.5f,\t0.0f),\n\t\t\t\t\tfloat2(-0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.0f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.0f),\n\t\t\t\t\tfloat2(0.5f,\t-0.5f),\n\t\t\t\t\tfloat2(0.0f,\t-0.5f),\n\t\t\t\t\tfloat2(-0.5f,\t-0.5f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tcropFactor
|
|
= id & 1 ? 1.0f - cropFactor : 1.0f;\n\t\t\t\tconst float2 vOffsets = kUvs[id
|
|
& 7] * cropFactor;\n\t\t\t\to.VFX_VARYING_UV.xy = vOffsets + 0.5f;\n\t\t\t\t\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat3
|
|
size3 = float3(size,size,size);\n\t\t\t\t\t\t#if VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x
|
|
*= scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y
|
|
*= scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z
|
|
*= scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tconst float4x4
|
|
elementToVFX = GetElementToVFXMatrix(axisX,axisY,axisZ,float3(angleX,angleY,angleZ),float3(pivotX,pivotY,pivotZ),size3,position);\n\t\t\t\tfloat3
|
|
vPos = mul(elementToVFX,float4(vOffsets,0.0f,1.0f)).xyz;\n\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS
|
|
= TransformPositionVFXToClip(vPos);\n\t\t\t\n\t\t\t\tfloat3 normalWS = normalize(TransformDirectionVFXToWorld(normalize(-transpose(elementToVFX)[2].xyz)));\n\t\t\t\t#ifdef
|
|
VFX_VARYING_NORMAL\n\t\t\t\tfloat normalFlip = (size3.x * size3.y * size3.z)
|
|
< 0 ? -1 : 1;\n\t\t\t\to.VFX_VARYING_NORMAL = normalFlip * normalWS;\n\t\t\t\t#endif\n\t\t\t\t#ifdef
|
|
VFX_VARYING_TANGENT\n\t\t\t\to.VFX_VARYING_TANGENT = normalize(TransformDirectionVFXToWorld(normalize(transpose(elementToVFX)[0].xyz)));\n\t\t\t\t#endif\n\t\t\t\t#ifdef
|
|
VFX_VARYING_BENTFACTORS\n\t\t\t\t\n\t\t\t\t#if HAS_STRIPS\n\t\t\t\t#define BENT_FACTOR_MULTIPLIER
|
|
2.0f\n\t\t\t\t#else\n\t\t\t\t#define BENT_FACTOR_MULTIPLIER 1.41421353816986083984375f\n\t\t\t\t#endif\n\t\t\t\to.VFX_VARYING_BENTFACTORS
|
|
= vOffsets * bentNormalFactor * BENT_FACTOR_MULTIPLIER;\n\t\t\t\t#endif\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_USE_COLOR_CURRENT && defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR
|
|
= color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_ALPHA_CURRENT && defined(VFX_VARYING_ALPHA)
|
|
\n\t\t\t\t\t\to.VFX_VARYING_ALPHA = alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef
|
|
VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
|
|
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
|
|
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
USE_ALPHA_TEST && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
|
|
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= o.VFX_VARYING_UV.xy * uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\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\n\t\t\t\t\t\t#if
|
|
USE_FLIPBOOK\n\t\t\t\t\t\tfloat2 flipBookSize = (float2)0;\n\t\t\t\t\t\t{\n\t\t\t\t\t\t
|
|
\ \n\t\t\t\t\t\t flipBookSize = float2(16,16);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat2
|
|
invFlipBookSize = (float2)0;\n\t\t\t\t\t\t{\n\t\t\t\t\t\t \n\t\t\t\t\t\t
|
|
\ invFlipBookSize = float2(0.0625,0.0625);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tVFXUVData
|
|
uvData = GetUVData(flipBookSize, invFlipBookSize, o.VFX_VARYING_UV.xy, texIndex);\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= uvData.uvs.xy;\n\t\t\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION\n\t\t\t\t\t\to.VFX_VARYING_UV.zw
|
|
= uvData.uvs.zw;\n\t\t\t\t\t\to.VFX_VARYING_FRAMEBLEND = uvData.blend;\n\t\t\t\t\t\t#if
|
|
USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_MOTIONVECTORSCALE
|
|
= motionVectorScale * invFlipBookSize;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\treturn
|
|
o;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.cginc\"\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\tps_output frag(ps_input i)\n\t\t\t{\n\t\t\t\tps_output
|
|
o = (ps_output)0;\n\t\t\t\tVFXTransformPSInputs(i);\n\t\t\t\n\t\t\t\t#define
|
|
VFX_TEXTURE_COLOR VFXGetTextureColor(VFX_SAMPLER(mainTexture),i)\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tfloat4
|
|
color = VFXGetFragmentColor(i);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifndef VFX_TEXTURE_COLOR\n\t\t\t\t\t\t\t#define
|
|
VFX_TEXTURE_COLOR float4(1.0,1.0,1.0,1.0)\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_DEFAULT\n\t\t\t\t\t\t\to.color = color * VFX_TEXTURE_COLOR;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_GRADIENTMAPPED\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\to.color = SampleGradient(gradient,
|
|
VFX_TEXTURE_COLOR.a * color.a) * float4(color.rgb,1.0);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\n\t\t\t\to.color
|
|
= VFXApplyPreExposure(o.color, i);\n\t\t\t\to.color = VFXApplyFog(o.color,i);\n\t\t\t\tVFXClipFragmentColor(o.color.a,i);\n\t\t\t\to.color.a
|
|
= saturate(o.color.a);\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\n\t\t\n\t}\n}\n"
|
|
- compute: 1
|
|
name: '[Background Random Code Lines]Initialize'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_USE_POSITION_CURRENT
|
|
1\n#define VFX_USE_LIFETIME_CURRENT 1\n#define VFX_USE_SEED_CURRENT 1\n#define
|
|
VFX_USE_TEXINDEX_CURRENT 1\n#define VFX_USE_PARTICLEID_CURRENT 1\n#define VFX_USE_ALIVE_CURRENT
|
|
1\n#define VFX_USE_AGE_CURRENT 1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\n\nCBUFFER_START(parameters)\n
|
|
\ float uniform_b;\n uint3 PADDING_0;\nCBUFFER_END\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 SetAttribute_CAC29747(inout float3 position,
|
|
float3 Position) /*attribute:position Composition:Overwrite Source:Slot Random:Off
|
|
channels:XYZ */\n{\n position = Position;\n}\nvoid SetAttribute_C707D62A(inout
|
|
float3 position, float3 Position) /*attribute:position Composition:Add Source:Slot
|
|
Random:Off channels:XYZ */\n{\n position += Position;\n}\nvoid SetAttribute_F01429A3(inout
|
|
float lifetime, inout uint seed, float A, float B) /*attribute:lifetime Composition:Overwrite
|
|
Source:Slot Random:Uniform channels:XYZ */\n{\n lifetime = lerp(A,B,RAND);\n}\nvoid
|
|
SetAttribute_CA10063D(inout float texIndex, float TexIndex) /*attribute:texIndex
|
|
Composition:Overwrite Source:Slot Random:Off channels:XYZ */\n{\n texIndex
|
|
= TexIndex;\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
|
|
\ maxThreadId = min(maxThreadId, nbMax); //otherwise, nbSpawned already clamped
|
|
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
|
|
sourceIndex = 0;\n /*//Loop with 1 iteration generate a wrong IL Assembly
|
|
(and actually, useless code)\n uint currentSumSpawnCount = 0u;\n for
|
|
(sourceIndex=0; sourceIndex<1; sourceIndex++)\n {\n currentSumSpawnCount
|
|
+= uint(asfloat(sourceAttributeBuffer.Load((sourceIndex * 0x1 + 0x0) << 2)));\n
|
|
\ if (id < currentSumSpawnCount)\n {\n break;\n
|
|
\ }\n }\n */\n \n\n#endif\n float3 position
|
|
= float3(0,0,0);\n float lifetime = (float)1;\n uint seed = (uint)0;\n
|
|
\ float texIndex = (float)0;\n uint particleId = (uint)0;\n bool
|
|
alive = (bool)true;\n float age = (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 uint
|
|
tmp_z = particleId / (uint)64;\n uint tmp_ba = tmp_z * (uint)64;\n
|
|
\ uint tmp_bb = particleId - tmp_ba;\n float tmp_bc = (float)tmp_bb;\n
|
|
\ float tmp_be = tmp_bc / (float)63;\n float3 tmp_bf =
|
|
float3(tmp_be, tmp_be, tmp_be);\n float3 tmp_bh = tmp_bf * float3(0,-0.3,0);\n
|
|
\ float3 tmp_bi = float3(-0.26,0.15,0) + tmp_bh;\n float
|
|
tmp_bj = tmp_bi[0];\n float tmp_bk = tmp_bi[1];\n float3
|
|
tmp_bm = float3(tmp_bj, tmp_bk, (float)0.03001);\n SetAttribute_CAC29747(
|
|
/*inout */position, tmp_bm);\n }\n {\n SetAttribute_C707D62A(
|
|
/*inout */position, float3(0,0,0.2));\n }\n {\n SetAttribute_F01429A3(
|
|
/*inout */lifetime, /*inout */seed, (float)1, (float)5);\n }\n {\n
|
|
\ uint tmp_x = particleId ^ asuint(uniform_b);\n float
|
|
tmp_y = FixedRand(tmp_x);\n float tmp_ba = tmp_y * (float)64;\n SetAttribute_CA10063D(
|
|
/*inout */texIndex, tmp_ba);\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.Store3((index
|
|
* 0x4 + 0x0) << 2,asuint(position));\n attributeBuffer.Store((index
|
|
* 0x1 + 0x100) << 2,asuint(lifetime));\n attributeBuffer.Store((index
|
|
* 0x1 + 0x140) << 2,asuint(texIndex));\n attributeBuffer.Store((index
|
|
* 0x2 + 0x180) << 2,uint(alive));\n attributeBuffer.Store((index
|
|
* 0x2 + 0x181) << 2,asuint(age));\n \n\n }\n#else\n uint
|
|
index = particleIndex;\n attributeBuffer.Store3((index * 0x4 + 0x0) <<
|
|
2,asuint(position));\n attributeBuffer.Store((index * 0x1 + 0x100) <<
|
|
2,asuint(lifetime));\n attributeBuffer.Store((index * 0x1 + 0x140) <<
|
|
2,asuint(texIndex));\n attributeBuffer.Store((index * 0x2 + 0x180) <<
|
|
2,uint(alive));\n attributeBuffer.Store((index * 0x2 + 0x181) << 2,asuint(age));\n
|
|
\ \n\n#endif\n }\n}\n"
|
|
- compute: 1
|
|
name: '[Background Random Code Lines]Update'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_USE_LIFETIME_CURRENT
|
|
1\n#define VFX_USE_ALIVE_CURRENT 1\n#define VFX_USE_AGE_CURRENT 1\n#define VFX_HAS_INDIRECT_DRAW
|
|
1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\n\nCBUFFER_START(parameters)\n
|
|
\ float deltaTime_a;\n uint3 PADDING_0;\nCBUFFER_END\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;\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
|
|
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\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 * 0x2 + 0x180) << 2));\n\t\t\n\n\t\tif
|
|
(alive)\n\t\t{\n\t\t\tfloat lifetime = asfloat(attributeBuffer.Load((index *
|
|
0x1 + 0x100) << 2));\n\t\t\tfloat age = asfloat(attributeBuffer.Load((index
|
|
* 0x2 + 0x181) << 2));\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\tAge( /*inout */age, deltaTime_a);\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.Store((index
|
|
* 0x2 + 0x181) << 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
|
|
* 0x2 + 0x180) << 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
|
|
* 0x1 + 0x100) << 2));\n\t\tbool alive = (attributeBuffer.Load((index * 0x2
|
|
+ 0x180) << 2));\n\t\tfloat age = asfloat(attributeBuffer.Load((index * 0x2
|
|
+ 0x181) << 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\tAge( /*inout */age, deltaTime_a);\n\t\tReap(age,
|
|
lifetime, /*inout */alive);\n\t\t\n\n\t\tattributeBuffer.Store((index * 0x2
|
|
+ 0x180) << 2,uint(alive));\n\t\tattributeBuffer.Store((index * 0x2 + 0x181)
|
|
<< 2,asuint(age));\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"
|
|
- compute: 0
|
|
name: '[Background Random Code Lines]Quad Output'
|
|
source: "Shader \"Hidden/VFX/Background Random Code Lines/Quad Output\"\n{\n\tSubShader\n\t{\t\n\t\tCull
|
|
Off\n\t\t\n\t\tTags { \"Queue\"=\"Transparent+700\" \"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\t\n\t\t\n\t\tBlend
|
|
SrcAlpha OneMinusSrcAlpha , Zero OneMinusSrcAlpha\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 1\n\t\t#endif\n\t\t\n\t\t#define
|
|
NB_THREADS_PER_GROUP 64\n\t\t#define VFX_USE_POSITION_CURRENT 1\n\t\t#define
|
|
VFX_USE_LIFETIME_CURRENT 1\n\t\t#define VFX_USE_TEXINDEX_CURRENT 1\n\t\t#define
|
|
VFX_USE_COLOR_CURRENT 1\n\t\t#define VFX_USE_ALPHA_CURRENT 1\n\t\t#define VFX_USE_ALIVE_CURRENT
|
|
1\n\t\t#define VFX_USE_AXISX_CURRENT 1\n\t\t#define VFX_USE_AXISY_CURRENT 1\n\t\t#define
|
|
VFX_USE_AXISZ_CURRENT 1\n\t\t#define VFX_USE_ANGLEX_CURRENT 1\n\t\t#define VFX_USE_ANGLEY_CURRENT
|
|
1\n\t\t#define VFX_USE_ANGLEZ_CURRENT 1\n\t\t#define VFX_USE_PIVOTX_CURRENT
|
|
1\n\t\t#define VFX_USE_PIVOTY_CURRENT 1\n\t\t#define 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_SCALEY_CURRENT 1\n\t\t#define VFX_USE_SCALEZ_CURRENT 1\n\t\t#define
|
|
VFX_USE_AGE_CURRENT 1\n\t\t#define VFX_COLORMAPPING_DEFAULT 1\n\t\t#define IS_TRANSPARENT_PARTICLE
|
|
1\n\t\t#define VFX_BLENDMODE_ALPHA 1\n\t\t#define VFX_HAS_INDIRECT_DRAW 1\n\t\t#define
|
|
USE_FLIPBOOK 1\n\t\t#define USE_DEAD_LIST_COUNT 1\n\t\t#define VFX_PRIMITIVE_QUAD
|
|
1\n\t\t\n\t\t\n\t\t\n\t\t#define VFX_LOCAL_SPACE 1\n\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t
|
|
\ float gradient_e;\n\t\t uint3 PADDING_0;\n\t\tCBUFFER_END\n\t\tTexture2D
|
|
mainTexture;\n\t\tSamplerState samplermainTexture;\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\n\t\tByteAddressBuffer
|
|
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\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\n\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
|
|
uv : TEXCOORD0;\n\t\t\t\t#else\n\t\t\t\tfloat2 uv : TEXCOORD0;\t\n\t\t\t\t#endif\n\t\t\t\t#if
|
|
VFX_NEEDS_COLOR_INTERPOLATOR\n\t\t\t\tnointerpolation float4 color : COLOR0;\n\t\t\t\t#endif\n\t\t\t\t#if
|
|
USE_SOFT_PARTICLE || USE_ALPHA_TEST || USE_FLIPBOOK_INTERPOLATION || USE_EXPOSURE_WEIGHT\n\t\t\t\t//
|
|
x: inverse soft particles fade distance\n\t\t\t\t// y: alpha threshold\n\t\t\t\t//
|
|
z: frame blending factor\n\t\t\t\t// w: exposure weight\n\t\t\t\tnointerpolation
|
|
float4 builtInInterpolants : TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t//
|
|
x: motion vectors scale X\n\t\t\t\t// y: motion vectors scale Y\n\t\t\t\tnointerpolation
|
|
float2 builtInInterpolants2 : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t\tfloat3
|
|
posWS : TEXCOORD3;\n\t\t\t\t#endif\n\t\t\t};\n\t\t\t\n\t\t\tstruct ps_output\n\t\t\t{\n\t\t\t\tfloat4
|
|
color : SV_Target0;\n\t\t\t};\n\t\t\n\t\t#define VFX_VARYING_PS_INPUTS ps_input\n\t\t#define
|
|
VFX_VARYING_POSCS pos\n\t\t#define VFX_VARYING_COLOR color.rgb\n\t\t#define
|
|
VFX_VARYING_ALPHA color.a\n\t\t#define VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
builtInInterpolants.x\n\t\t#define VFX_VARYING_ALPHATHRESHOLD builtInInterpolants.y\n\t\t#define
|
|
VFX_VARYING_FRAMEBLEND builtInInterpolants.z\n\t\t#define VFX_VARYING_MOTIONVECTORSCALE
|
|
builtInInterpolants2.xy\n\t\t#define VFX_VARYING_UV uv\n\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t#define
|
|
VFX_VARYING_POSWS posWS\n\t\t#endif\n\t\t#if USE_EXPOSURE_WEIGHT\n\t\t#define
|
|
VFX_VARYING_EXPOSUREWEIGHT builtInInterpolants.w\n\t\t#endif\n\t\t\t\t\n\t\t\t#if
|
|
!(defined(VFX_VARYING_PS_INPUTS) && defined(VFX_VARYING_POSCS))\n\t\t\t#error
|
|
VFX_VARYING_PS_INPUTS, VFX_VARYING_POSCS and VFX_VARYING_UV must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXCommon.cginc\"\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\t\t\t\n\n\t\t\tvoid
|
|
Orient_0(inout float3 axisX, inout float3 axisY, inout float3 axisZ) /*mode:FaceCameraPlane
|
|
*/\n\t\t\t{\n\t\t\t \n\t\t\t float3x3 viewRot = GetVFXToViewRotMatrix();\n\t\t\t
|
|
\ axisX = viewRot[0].xyz;\n\t\t\t axisY = viewRot[1].xyz;\n\t\t\t #if
|
|
VFX_LOCAL_SPACE // Need to remove potential scale in local transform\n\t\t\t
|
|
\ axisX = normalize(axisX);\n\t\t\t axisY = normalize(axisY);\n\t\t\t axisZ
|
|
= cross(axisX,axisY);\n\t\t\t #else\n\t\t\t axisZ = -viewRot[2].xyz;\n\t\t\t
|
|
\ #endif\n\t\t\t \n\t\t\t}\n\t\t\tvoid SetAttribute_3278B22F(inout float
|
|
size, float Size) /*attribute:size Composition:Overwrite Source:Slot Random:Off
|
|
channels:XYZ */\n\t\t\t{\n\t\t\t size = Size;\n\t\t\t}\n\t\t\tvoid SetAttribute_D5151647(inout
|
|
float scaleX, inout float scaleY, float2 Scale) /*attribute:scale Composition:Overwrite
|
|
Source:Slot Random:Off channels:XY */\n\t\t\t{\n\t\t\t scaleX = Scale.x;\n\t\t\t
|
|
\ scaleY = Scale.y;\n\t\t\t}\n\t\t\tvoid SetAttribute_65DEC940(inout float
|
|
pivotX, inout float pivotY, inout float pivotZ, float3 Pivot) /*attribute:pivot
|
|
Composition:Overwrite Source:Slot Random:Off channels:XYZ */\n\t\t\t{\n\t\t\t
|
|
\ pivotX = Pivot.x;\n\t\t\t pivotY = Pivot.y;\n\t\t\t pivotZ = Pivot.z;\n\t\t\t}\n\t\t\tvoid
|
|
ColorOverLife_733E3(float age, float lifetime, inout float3 color, inout float
|
|
alpha, float gradient) /*mode:ColorAndAlpha ColorComposition:Multiply AlphaComposition:Multiply
|
|
*/\n\t\t\t{\n\t\t\t \n\t\t\t float4 sampledColor = SampleGradient(gradient,
|
|
age/lifetime);\n\t\t\t color *= sampledColor.rgb;\n\t\t\t alpha *= sampledColor.a;\n\t\t\t
|
|
\ \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#if
|
|
VFX_PRIMITIVE_TRIANGLE\n\t\t\t\tuint index = id / 3;\n\t\t\t#elif VFX_PRIMITIVE_QUAD\n\t\t\t\tuint
|
|
index = (id >> 2) + instanceID * 2048;\n\t\t\t#elif VFX_PRIMITIVE_OCTAGON\n\t\t\t\tuint
|
|
index = (id >> 3) + instanceID * 1024;\n\t\t\t#endif\n\t\t\t\n\t\t\t\tVFX_VARYING_PS_INPUTS
|
|
o = (VFX_VARYING_PS_INPUTS)0;\n\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#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn;
|
|
// cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\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 * 0x4 + 0x0) << 2));\n\t\t\t\t\t\tfloat
|
|
lifetime = asfloat(attributeBuffer.Load((index * 0x1 + 0x100) << 2));\n\t\t\t\t\t\tfloat
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x1 + 0x140) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,1);\n\t\t\t\t\t\tfloat alpha = (float)1;\n\t\t\t\t\t\tbool
|
|
alive = (attributeBuffer.Load((index * 0x2 + 0x180) << 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\tfloat age = asfloat(attributeBuffer.Load((index
|
|
* 0x2 + 0x181) << 2));\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 * 0x2 + 0x180) << 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\tfloat3 position
|
|
= asfloat(attributeBuffer.Load3((index * 0x4 + 0x0) << 2));\n\t\t\t\t\t\tfloat
|
|
lifetime = asfloat(attributeBuffer.Load((index * 0x1 + 0x100) << 2));\n\t\t\t\t\t\tfloat
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x1 + 0x140) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,1);\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\tfloat age = asfloat(attributeBuffer.Load((index
|
|
* 0x2 + 0x181) << 2));\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_0(
|
|
/*inout */axisX, /*inout */axisY, /*inout */axisZ);\n\t\t\t\t{\n\t\t\t\t SetAttribute_3278B22F(
|
|
/*inout */size, (float)1);\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t SetAttribute_D5151647(
|
|
/*inout */scaleX, /*inout */scaleY, float2(0.2,0.01));\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t
|
|
\ SetAttribute_65DEC940( /*inout */pivotX, /*inout */pivotY, /*inout */pivotZ,
|
|
float3(-0.5,0,0));\n\t\t\t\t}\n\t\t\t\tColorOverLife_733E3(age, lifetime, /*inout
|
|
*/color, /*inout */alpha, gradient_e);\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\tif (!alive)\n\t\t\t\t\treturn
|
|
o;\n\t\t\t\t\n\t\t\t#if VFX_PRIMITIVE_QUAD\n\t\t\t\n\t\t\t\to.VFX_VARYING_UV.x
|
|
= float(id & 1);\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2) >> 1);\n\t\t\t\tconst
|
|
float2 vOffsets = o.VFX_VARYING_UV.xy - 0.5f;\n\t\t\t\t\n\t\t\t#elif VFX_PRIMITIVE_TRIANGLE\n\t\t\t\n\t\t\t\tconst
|
|
float2 kOffsets[] = {\n\t\t\t\t\tfloat2(-0.5f, \t-0.288675129413604736328125f),\n\t\t\t\t\tfloat2(0.0f,
|
|
\t0.57735025882720947265625f),\n\t\t\t\t\tfloat2(0.5f,\t-0.288675129413604736328125f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tconst
|
|
float kUVScale = 0.866025388240814208984375f;\n\t\t\t\t\n\t\t\t\tconst float2
|
|
vOffsets = kOffsets[id % 3];\n\t\t\t\to.VFX_VARYING_UV.xy = (vOffsets * kUVScale)
|
|
+ 0.5f;\n\t\t\t\t\n\t\t\t#elif VFX_PRIMITIVE_OCTAGON\t\n\t\t\t\t\n\t\t\t\tconst
|
|
float2 kUvs[8] = \n\t\t\t\t{\n\t\t\t\t\tfloat2(-0.5f,\t0.0f),\n\t\t\t\t\tfloat2(-0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.0f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.0f),\n\t\t\t\t\tfloat2(0.5f,\t-0.5f),\n\t\t\t\t\tfloat2(0.0f,\t-0.5f),\n\t\t\t\t\tfloat2(-0.5f,\t-0.5f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tcropFactor
|
|
= id & 1 ? 1.0f - cropFactor : 1.0f;\n\t\t\t\tconst float2 vOffsets = kUvs[id
|
|
& 7] * cropFactor;\n\t\t\t\to.VFX_VARYING_UV.xy = vOffsets + 0.5f;\n\t\t\t\t\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat3
|
|
size3 = float3(size,size,size);\n\t\t\t\t\t\t#if VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x
|
|
*= scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y
|
|
*= scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z
|
|
*= scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tconst float4x4
|
|
elementToVFX = GetElementToVFXMatrix(axisX,axisY,axisZ,float3(angleX,angleY,angleZ),float3(pivotX,pivotY,pivotZ),size3,position);\n\t\t\t\tfloat3
|
|
vPos = mul(elementToVFX,float4(vOffsets,0.0f,1.0f)).xyz;\n\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS
|
|
= TransformPositionVFXToClip(vPos);\n\t\t\t\n\t\t\t\tfloat3 normalWS = normalize(TransformDirectionVFXToWorld(normalize(-transpose(elementToVFX)[2].xyz)));\n\t\t\t\t#ifdef
|
|
VFX_VARYING_NORMAL\n\t\t\t\tfloat normalFlip = (size3.x * size3.y * size3.z)
|
|
< 0 ? -1 : 1;\n\t\t\t\to.VFX_VARYING_NORMAL = normalFlip * normalWS;\n\t\t\t\t#endif\n\t\t\t\t#ifdef
|
|
VFX_VARYING_TANGENT\n\t\t\t\to.VFX_VARYING_TANGENT = normalize(TransformDirectionVFXToWorld(normalize(transpose(elementToVFX)[0].xyz)));\n\t\t\t\t#endif\n\t\t\t\t#ifdef
|
|
VFX_VARYING_BENTFACTORS\n\t\t\t\t\n\t\t\t\t#if HAS_STRIPS\n\t\t\t\t#define BENT_FACTOR_MULTIPLIER
|
|
2.0f\n\t\t\t\t#else\n\t\t\t\t#define BENT_FACTOR_MULTIPLIER 1.41421353816986083984375f\n\t\t\t\t#endif\n\t\t\t\to.VFX_VARYING_BENTFACTORS
|
|
= vOffsets * bentNormalFactor * BENT_FACTOR_MULTIPLIER;\n\t\t\t\t#endif\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_USE_COLOR_CURRENT && defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR
|
|
= color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_ALPHA_CURRENT && defined(VFX_VARYING_ALPHA)
|
|
\n\t\t\t\t\t\to.VFX_VARYING_ALPHA = alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef
|
|
VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
|
|
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
|
|
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
USE_ALPHA_TEST && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
|
|
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= o.VFX_VARYING_UV.xy * uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\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\n\t\t\t\t\t\t#if
|
|
USE_FLIPBOOK\n\t\t\t\t\t\tfloat2 flipBookSize = (float2)0;\n\t\t\t\t\t\t{\n\t\t\t\t\t\t
|
|
\ \n\t\t\t\t\t\t flipBookSize = float2(1,32);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat2
|
|
invFlipBookSize = (float2)0;\n\t\t\t\t\t\t{\n\t\t\t\t\t\t \n\t\t\t\t\t\t
|
|
\ invFlipBookSize = float2(1,0.03125);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tVFXUVData
|
|
uvData = GetUVData(flipBookSize, invFlipBookSize, o.VFX_VARYING_UV.xy, texIndex);\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= uvData.uvs.xy;\n\t\t\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION\n\t\t\t\t\t\to.VFX_VARYING_UV.zw
|
|
= uvData.uvs.zw;\n\t\t\t\t\t\to.VFX_VARYING_FRAMEBLEND = uvData.blend;\n\t\t\t\t\t\t#if
|
|
USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_MOTIONVECTORSCALE
|
|
= motionVectorScale * invFlipBookSize;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\treturn
|
|
o;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.cginc\"\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\tps_output frag(ps_input i)\n\t\t\t{\n\t\t\t\tps_output
|
|
o = (ps_output)0;\n\t\t\t\tVFXTransformPSInputs(i);\n\t\t\t\n\t\t\t\t#define
|
|
VFX_TEXTURE_COLOR VFXGetTextureColor(VFX_SAMPLER(mainTexture),i)\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tfloat4
|
|
color = VFXGetFragmentColor(i);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifndef VFX_TEXTURE_COLOR\n\t\t\t\t\t\t\t#define
|
|
VFX_TEXTURE_COLOR float4(1.0,1.0,1.0,1.0)\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_DEFAULT\n\t\t\t\t\t\t\to.color = color * VFX_TEXTURE_COLOR;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_GRADIENTMAPPED\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\to.color = SampleGradient(gradient,
|
|
VFX_TEXTURE_COLOR.a * color.a) * float4(color.rgb,1.0);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\n\t\t\t\to.color
|
|
= VFXApplyPreExposure(o.color, i);\n\t\t\t\to.color = VFXApplyFog(o.color,i);\n\t\t\t\tVFXClipFragmentColor(o.color.a,i);\n\t\t\t\to.color.a
|
|
= saturate(o.color.a);\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\n\t\t\n\t}\n}\n"
|
|
- compute: 1
|
|
name: '[Boot Text]Initialize'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_USE_POSITION_CURRENT
|
|
1\n#define VFX_USE_LIFETIME_CURRENT 1\n#define VFX_USE_SEED_CURRENT 1\n#define
|
|
VFX_USE_TEXINDEX_CURRENT 1\n#define VFX_USE_PARTICLEID_CURRENT 1\n#define VFX_USE_ALIVE_CURRENT
|
|
1\n#define VFX_USE_AGE_CURRENT 1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\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 SetAttribute_CAC29747(inout float3 position,
|
|
float3 Position) /*attribute:position Composition:Overwrite Source:Slot Random:Off
|
|
channels:XYZ */\n{\n position = Position;\n}\nvoid SetAttribute_F01429A3(inout
|
|
float lifetime, inout uint seed, float A, float B) /*attribute:lifetime Composition:Overwrite
|
|
Source:Slot Random:Uniform channels:XYZ */\n{\n lifetime = lerp(A,B,RAND);\n}\nvoid
|
|
SetAttribute_CA10063D(inout float texIndex, float TexIndex) /*attribute:texIndex
|
|
Composition:Overwrite Source:Slot Random:Off channels:XYZ */\n{\n texIndex
|
|
= TexIndex;\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
|
|
\ maxThreadId = min(maxThreadId, nbMax); //otherwise, nbSpawned already clamped
|
|
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
|
|
sourceIndex = 0;\n /*//Loop with 1 iteration generate a wrong IL Assembly
|
|
(and actually, useless code)\n uint currentSumSpawnCount = 0u;\n for
|
|
(sourceIndex=0; sourceIndex<1; sourceIndex++)\n {\n currentSumSpawnCount
|
|
+= uint(asfloat(sourceAttributeBuffer.Load((sourceIndex * 0x1 + 0x0) << 2)));\n
|
|
\ if (id < currentSumSpawnCount)\n {\n break;\n
|
|
\ }\n }\n */\n \n\n#endif\n float3 position
|
|
= float3(0,0,0);\n float lifetime = (float)1;\n uint seed = (uint)0;\n
|
|
\ float texIndex = (float)0;\n uint particleId = (uint)0;\n bool
|
|
alive = (bool)true;\n float age = (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 uint
|
|
tmp_y = particleId / (uint)32;\n uint tmp_z = tmp_y * (uint)32;\n
|
|
\ uint tmp_ba = particleId - tmp_z;\n float tmp_bb = (float)tmp_ba;\n
|
|
\ float tmp_bd = tmp_bb / (float)31;\n float3 tmp_be =
|
|
float3(tmp_bd, tmp_bd, tmp_bd);\n float3 tmp_bg = tmp_be * float3(0,-0.24,0);\n
|
|
\ float3 tmp_bh = float3(-0.28,0.12,0) + tmp_bg;\n float
|
|
tmp_bi = tmp_bh[0];\n float tmp_bj = tmp_bh[1];\n float3
|
|
tmp_bl = float3(tmp_bi, tmp_bj, (float)0.33);\n SetAttribute_CAC29747(
|
|
/*inout */position, tmp_bl);\n }\n {\n SetAttribute_F01429A3(
|
|
/*inout */lifetime, /*inout */seed, (float)4, (float)4);\n }\n {\n
|
|
\ float tmp_w = (float)particleId;\n SetAttribute_CA10063D(
|
|
/*inout */texIndex, tmp_w);\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.Store3((index
|
|
* 0x4 + 0x0) << 2,asuint(position));\n attributeBuffer.Store((index
|
|
* 0x1 + 0x80) << 2,asuint(lifetime));\n attributeBuffer.Store((index
|
|
* 0x1 + 0xA0) << 2,asuint(texIndex));\n attributeBuffer.Store((index
|
|
* 0x2 + 0xC0) << 2,uint(alive));\n attributeBuffer.Store((index *
|
|
0x2 + 0xC1) << 2,asuint(age));\n \n\n }\n#else\n uint
|
|
index = particleIndex;\n attributeBuffer.Store3((index * 0x4 + 0x0) <<
|
|
2,asuint(position));\n attributeBuffer.Store((index * 0x1 + 0x80) <<
|
|
2,asuint(lifetime));\n attributeBuffer.Store((index * 0x1 + 0xA0) <<
|
|
2,asuint(texIndex));\n attributeBuffer.Store((index * 0x2 + 0xC0) <<
|
|
2,uint(alive));\n attributeBuffer.Store((index * 0x2 + 0xC1) << 2,asuint(age));\n
|
|
\ \n\n#endif\n }\n}\n"
|
|
- compute: 1
|
|
name: '[Boot Text]Update'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_USE_LIFETIME_CURRENT
|
|
1\n#define VFX_USE_ALIVE_CURRENT 1\n#define VFX_USE_AGE_CURRENT 1\n#define VFX_HAS_INDIRECT_DRAW
|
|
1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\n\nCBUFFER_START(parameters)\n
|
|
\ float deltaTime_a;\n uint3 PADDING_0;\nCBUFFER_END\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;\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
|
|
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\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 * 0x2 + 0xC0) << 2));\n\t\t\n\n\t\tif (alive)\n\t\t{\n\t\t\tfloat
|
|
lifetime = asfloat(attributeBuffer.Load((index * 0x1 + 0x80) << 2));\n\t\t\tfloat
|
|
age = asfloat(attributeBuffer.Load((index * 0x2 + 0xC1) << 2));\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\tAge(
|
|
/*inout */age, deltaTime_a);\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.Store((index * 0x2 + 0xC1) << 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
|
|
* 0x2 + 0xC0) << 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
|
|
* 0x1 + 0x80) << 2));\n\t\tbool alive = (attributeBuffer.Load((index * 0x2 +
|
|
0xC0) << 2));\n\t\tfloat age = asfloat(attributeBuffer.Load((index * 0x2 + 0xC1)
|
|
<< 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\tAge(
|
|
/*inout */age, deltaTime_a);\n\t\tReap(age, lifetime, /*inout */alive);\n\t\t\n\n\t\tattributeBuffer.Store((index
|
|
* 0x2 + 0xC0) << 2,uint(alive));\n\t\tattributeBuffer.Store((index * 0x2 + 0xC1)
|
|
<< 2,asuint(age));\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"
|
|
- compute: 0
|
|
name: '[Boot Text]Quad Output'
|
|
source: "Shader \"Hidden/VFX/Boot Text/Quad Output\"\n{\n\tSubShader\n\t{\t\n\t\tCull
|
|
Off\n\t\t\n\t\tTags { \"Queue\"=\"Transparent+700\" \"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\t\n\t\t\n\t\tBlend
|
|
SrcAlpha OneMinusSrcAlpha , Zero OneMinusSrcAlpha\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 1\n\t\t#endif\n\t\t\n\t\t#define
|
|
NB_THREADS_PER_GROUP 64\n\t\t#define VFX_USE_POSITION_CURRENT 1\n\t\t#define
|
|
VFX_USE_LIFETIME_CURRENT 1\n\t\t#define VFX_USE_TEXINDEX_CURRENT 1\n\t\t#define
|
|
VFX_USE_COLOR_CURRENT 1\n\t\t#define VFX_USE_ALPHA_CURRENT 1\n\t\t#define VFX_USE_ALIVE_CURRENT
|
|
1\n\t\t#define VFX_USE_AXISX_CURRENT 1\n\t\t#define VFX_USE_AXISY_CURRENT 1\n\t\t#define
|
|
VFX_USE_AXISZ_CURRENT 1\n\t\t#define VFX_USE_ANGLEX_CURRENT 1\n\t\t#define VFX_USE_ANGLEY_CURRENT
|
|
1\n\t\t#define VFX_USE_ANGLEZ_CURRENT 1\n\t\t#define VFX_USE_PIVOTX_CURRENT
|
|
1\n\t\t#define VFX_USE_PIVOTY_CURRENT 1\n\t\t#define 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_SCALEY_CURRENT 1\n\t\t#define VFX_USE_SCALEZ_CURRENT 1\n\t\t#define
|
|
VFX_USE_AGE_CURRENT 1\n\t\t#define VFX_COLORMAPPING_DEFAULT 1\n\t\t#define IS_TRANSPARENT_PARTICLE
|
|
1\n\t\t#define VFX_BLENDMODE_ALPHA 1\n\t\t#define VFX_HAS_INDIRECT_DRAW 1\n\t\t#define
|
|
USE_FLIPBOOK 1\n\t\t#define USE_DEAD_LIST_COUNT 1\n\t\t#define VFX_PRIMITIVE_QUAD
|
|
1\n\t\t\n\t\t\n\t\t\n\t\t#define VFX_LOCAL_SPACE 1\n\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t
|
|
\ float gradient_d;\n\t\t uint3 PADDING_0;\n\t\tCBUFFER_END\n\t\tTexture2D
|
|
mainTexture;\n\t\tSamplerState samplermainTexture;\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\n\t\tByteAddressBuffer
|
|
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\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\n\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
|
|
uv : TEXCOORD0;\n\t\t\t\t#else\n\t\t\t\tfloat2 uv : TEXCOORD0;\t\n\t\t\t\t#endif\n\t\t\t\t#if
|
|
VFX_NEEDS_COLOR_INTERPOLATOR\n\t\t\t\tnointerpolation float4 color : COLOR0;\n\t\t\t\t#endif\n\t\t\t\t#if
|
|
USE_SOFT_PARTICLE || USE_ALPHA_TEST || USE_FLIPBOOK_INTERPOLATION || USE_EXPOSURE_WEIGHT\n\t\t\t\t//
|
|
x: inverse soft particles fade distance\n\t\t\t\t// y: alpha threshold\n\t\t\t\t//
|
|
z: frame blending factor\n\t\t\t\t// w: exposure weight\n\t\t\t\tnointerpolation
|
|
float4 builtInInterpolants : TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t//
|
|
x: motion vectors scale X\n\t\t\t\t// y: motion vectors scale Y\n\t\t\t\tnointerpolation
|
|
float2 builtInInterpolants2 : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t\tfloat3
|
|
posWS : TEXCOORD3;\n\t\t\t\t#endif\n\t\t\t};\n\t\t\t\n\t\t\tstruct ps_output\n\t\t\t{\n\t\t\t\tfloat4
|
|
color : SV_Target0;\n\t\t\t};\n\t\t\n\t\t#define VFX_VARYING_PS_INPUTS ps_input\n\t\t#define
|
|
VFX_VARYING_POSCS pos\n\t\t#define VFX_VARYING_COLOR color.rgb\n\t\t#define
|
|
VFX_VARYING_ALPHA color.a\n\t\t#define VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
builtInInterpolants.x\n\t\t#define VFX_VARYING_ALPHATHRESHOLD builtInInterpolants.y\n\t\t#define
|
|
VFX_VARYING_FRAMEBLEND builtInInterpolants.z\n\t\t#define VFX_VARYING_MOTIONVECTORSCALE
|
|
builtInInterpolants2.xy\n\t\t#define VFX_VARYING_UV uv\n\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t#define
|
|
VFX_VARYING_POSWS posWS\n\t\t#endif\n\t\t#if USE_EXPOSURE_WEIGHT\n\t\t#define
|
|
VFX_VARYING_EXPOSUREWEIGHT builtInInterpolants.w\n\t\t#endif\n\t\t\t\t\n\t\t\t#if
|
|
!(defined(VFX_VARYING_PS_INPUTS) && defined(VFX_VARYING_POSCS))\n\t\t\t#error
|
|
VFX_VARYING_PS_INPUTS, VFX_VARYING_POSCS and VFX_VARYING_UV must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXCommon.cginc\"\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\t\t\t\n\n\t\t\tvoid
|
|
Orient_0(inout float3 axisX, inout float3 axisY, inout float3 axisZ) /*mode:FaceCameraPlane
|
|
*/\n\t\t\t{\n\t\t\t \n\t\t\t float3x3 viewRot = GetVFXToViewRotMatrix();\n\t\t\t
|
|
\ axisX = viewRot[0].xyz;\n\t\t\t axisY = viewRot[1].xyz;\n\t\t\t #if
|
|
VFX_LOCAL_SPACE // Need to remove potential scale in local transform\n\t\t\t
|
|
\ axisX = normalize(axisX);\n\t\t\t axisY = normalize(axisY);\n\t\t\t axisZ
|
|
= cross(axisX,axisY);\n\t\t\t #else\n\t\t\t axisZ = -viewRot[2].xyz;\n\t\t\t
|
|
\ #endif\n\t\t\t \n\t\t\t}\n\t\t\tvoid SetAttribute_D5151647(inout float
|
|
scaleX, inout float scaleY, float2 Scale) /*attribute:scale Composition:Overwrite
|
|
Source:Slot Random:Off channels:XY */\n\t\t\t{\n\t\t\t scaleX = Scale.x;\n\t\t\t
|
|
\ scaleY = Scale.y;\n\t\t\t}\n\t\t\tvoid SetAttribute_65DEC940(inout float
|
|
pivotX, inout float pivotY, inout float pivotZ, float3 Pivot) /*attribute:pivot
|
|
Composition:Overwrite Source:Slot Random:Off channels:XYZ */\n\t\t\t{\n\t\t\t
|
|
\ pivotX = Pivot.x;\n\t\t\t pivotY = Pivot.y;\n\t\t\t pivotZ = Pivot.z;\n\t\t\t}\n\t\t\tvoid
|
|
ColorOverLife_733E3(float age, float lifetime, inout float3 color, inout float
|
|
alpha, float gradient) /*mode:ColorAndAlpha ColorComposition:Multiply AlphaComposition:Multiply
|
|
*/\n\t\t\t{\n\t\t\t \n\t\t\t float4 sampledColor = SampleGradient(gradient,
|
|
age/lifetime);\n\t\t\t color *= sampledColor.rgb;\n\t\t\t alpha *= sampledColor.a;\n\t\t\t
|
|
\ \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#if
|
|
VFX_PRIMITIVE_TRIANGLE\n\t\t\t\tuint index = id / 3;\n\t\t\t#elif VFX_PRIMITIVE_QUAD\n\t\t\t\tuint
|
|
index = (id >> 2) + instanceID * 2048;\n\t\t\t#elif VFX_PRIMITIVE_OCTAGON\n\t\t\t\tuint
|
|
index = (id >> 3) + instanceID * 1024;\n\t\t\t#endif\n\t\t\t\n\t\t\t\tVFX_VARYING_PS_INPUTS
|
|
o = (VFX_VARYING_PS_INPUTS)0;\n\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#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn;
|
|
// cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\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 * 0x4 + 0x0) << 2));\n\t\t\t\t\t\tfloat
|
|
lifetime = asfloat(attributeBuffer.Load((index * 0x1 + 0x80) << 2));\n\t\t\t\t\t\tfloat
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x1 + 0xA0) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,1);\n\t\t\t\t\t\tfloat alpha = (float)1;\n\t\t\t\t\t\tbool
|
|
alive = (attributeBuffer.Load((index * 0x2 + 0xC0) << 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\tfloat age = asfloat(attributeBuffer.Load((index
|
|
* 0x2 + 0xC1) << 2));\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 * 0x2 + 0xC0) << 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\tfloat3 position
|
|
= asfloat(attributeBuffer.Load3((index * 0x4 + 0x0) << 2));\n\t\t\t\t\t\tfloat
|
|
lifetime = asfloat(attributeBuffer.Load((index * 0x1 + 0x80) << 2));\n\t\t\t\t\t\tfloat
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x1 + 0xA0) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,1);\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\tfloat age = asfloat(attributeBuffer.Load((index
|
|
* 0x2 + 0xC1) << 2));\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_0(
|
|
/*inout */axisX, /*inout */axisY, /*inout */axisZ);\n\t\t\t\t{\n\t\t\t\t SetAttribute_D5151647(
|
|
/*inout */scaleX, /*inout */scaleY, float2(2.5,0.0666));\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t
|
|
\ SetAttribute_65DEC940( /*inout */pivotX, /*inout */pivotY, /*inout */pivotZ,
|
|
float3(-0.5,0,0));\n\t\t\t\t}\n\t\t\t\tColorOverLife_733E3(age, lifetime, /*inout
|
|
*/color, /*inout */alpha, gradient_d);\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\tif (!alive)\n\t\t\t\t\treturn
|
|
o;\n\t\t\t\t\n\t\t\t#if VFX_PRIMITIVE_QUAD\n\t\t\t\n\t\t\t\to.VFX_VARYING_UV.x
|
|
= float(id & 1);\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2) >> 1);\n\t\t\t\tconst
|
|
float2 vOffsets = o.VFX_VARYING_UV.xy - 0.5f;\n\t\t\t\t\n\t\t\t#elif VFX_PRIMITIVE_TRIANGLE\n\t\t\t\n\t\t\t\tconst
|
|
float2 kOffsets[] = {\n\t\t\t\t\tfloat2(-0.5f, \t-0.288675129413604736328125f),\n\t\t\t\t\tfloat2(0.0f,
|
|
\t0.57735025882720947265625f),\n\t\t\t\t\tfloat2(0.5f,\t-0.288675129413604736328125f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tconst
|
|
float kUVScale = 0.866025388240814208984375f;\n\t\t\t\t\n\t\t\t\tconst float2
|
|
vOffsets = kOffsets[id % 3];\n\t\t\t\to.VFX_VARYING_UV.xy = (vOffsets * kUVScale)
|
|
+ 0.5f;\n\t\t\t\t\n\t\t\t#elif VFX_PRIMITIVE_OCTAGON\t\n\t\t\t\t\n\t\t\t\tconst
|
|
float2 kUvs[8] = \n\t\t\t\t{\n\t\t\t\t\tfloat2(-0.5f,\t0.0f),\n\t\t\t\t\tfloat2(-0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.0f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.0f),\n\t\t\t\t\tfloat2(0.5f,\t-0.5f),\n\t\t\t\t\tfloat2(0.0f,\t-0.5f),\n\t\t\t\t\tfloat2(-0.5f,\t-0.5f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tcropFactor
|
|
= id & 1 ? 1.0f - cropFactor : 1.0f;\n\t\t\t\tconst float2 vOffsets = kUvs[id
|
|
& 7] * cropFactor;\n\t\t\t\to.VFX_VARYING_UV.xy = vOffsets + 0.5f;\n\t\t\t\t\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat3
|
|
size3 = float3(size,size,size);\n\t\t\t\t\t\t#if VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x
|
|
*= scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y
|
|
*= scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z
|
|
*= scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tconst float4x4
|
|
elementToVFX = GetElementToVFXMatrix(axisX,axisY,axisZ,float3(angleX,angleY,angleZ),float3(pivotX,pivotY,pivotZ),size3,position);\n\t\t\t\tfloat3
|
|
vPos = mul(elementToVFX,float4(vOffsets,0.0f,1.0f)).xyz;\n\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS
|
|
= TransformPositionVFXToClip(vPos);\n\t\t\t\n\t\t\t\tfloat3 normalWS = normalize(TransformDirectionVFXToWorld(normalize(-transpose(elementToVFX)[2].xyz)));\n\t\t\t\t#ifdef
|
|
VFX_VARYING_NORMAL\n\t\t\t\tfloat normalFlip = (size3.x * size3.y * size3.z)
|
|
< 0 ? -1 : 1;\n\t\t\t\to.VFX_VARYING_NORMAL = normalFlip * normalWS;\n\t\t\t\t#endif\n\t\t\t\t#ifdef
|
|
VFX_VARYING_TANGENT\n\t\t\t\to.VFX_VARYING_TANGENT = normalize(TransformDirectionVFXToWorld(normalize(transpose(elementToVFX)[0].xyz)));\n\t\t\t\t#endif\n\t\t\t\t#ifdef
|
|
VFX_VARYING_BENTFACTORS\n\t\t\t\t\n\t\t\t\t#if HAS_STRIPS\n\t\t\t\t#define BENT_FACTOR_MULTIPLIER
|
|
2.0f\n\t\t\t\t#else\n\t\t\t\t#define BENT_FACTOR_MULTIPLIER 1.41421353816986083984375f\n\t\t\t\t#endif\n\t\t\t\to.VFX_VARYING_BENTFACTORS
|
|
= vOffsets * bentNormalFactor * BENT_FACTOR_MULTIPLIER;\n\t\t\t\t#endif\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_USE_COLOR_CURRENT && defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR
|
|
= color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_ALPHA_CURRENT && defined(VFX_VARYING_ALPHA)
|
|
\n\t\t\t\t\t\to.VFX_VARYING_ALPHA = alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef
|
|
VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
|
|
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
|
|
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
USE_ALPHA_TEST && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
|
|
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= o.VFX_VARYING_UV.xy * uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\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\n\t\t\t\t\t\t#if
|
|
USE_FLIPBOOK\n\t\t\t\t\t\tfloat2 flipBookSize = (float2)0;\n\t\t\t\t\t\t{\n\t\t\t\t\t\t
|
|
\ \n\t\t\t\t\t\t flipBookSize = float2(1,32);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat2
|
|
invFlipBookSize = (float2)0;\n\t\t\t\t\t\t{\n\t\t\t\t\t\t \n\t\t\t\t\t\t
|
|
\ invFlipBookSize = float2(1,0.03125);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tVFXUVData
|
|
uvData = GetUVData(flipBookSize, invFlipBookSize, o.VFX_VARYING_UV.xy, texIndex);\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= uvData.uvs.xy;\n\t\t\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION\n\t\t\t\t\t\to.VFX_VARYING_UV.zw
|
|
= uvData.uvs.zw;\n\t\t\t\t\t\to.VFX_VARYING_FRAMEBLEND = uvData.blend;\n\t\t\t\t\t\t#if
|
|
USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_MOTIONVECTORSCALE
|
|
= motionVectorScale * invFlipBookSize;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\treturn
|
|
o;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.cginc\"\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\tps_output frag(ps_input i)\n\t\t\t{\n\t\t\t\tps_output
|
|
o = (ps_output)0;\n\t\t\t\tVFXTransformPSInputs(i);\n\t\t\t\n\t\t\t\t#define
|
|
VFX_TEXTURE_COLOR VFXGetTextureColor(VFX_SAMPLER(mainTexture),i)\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tfloat4
|
|
color = VFXGetFragmentColor(i);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifndef VFX_TEXTURE_COLOR\n\t\t\t\t\t\t\t#define
|
|
VFX_TEXTURE_COLOR float4(1.0,1.0,1.0,1.0)\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_DEFAULT\n\t\t\t\t\t\t\to.color = color * VFX_TEXTURE_COLOR;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_GRADIENTMAPPED\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\to.color = SampleGradient(gradient,
|
|
VFX_TEXTURE_COLOR.a * color.a) * float4(color.rgb,1.0);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\n\t\t\t\to.color
|
|
= VFXApplyPreExposure(o.color, i);\n\t\t\t\to.color = VFXApplyFog(o.color,i);\n\t\t\t\tVFXClipFragmentColor(o.color.a,i);\n\t\t\t\to.color.a
|
|
= saturate(o.color.a);\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\n\t\t\n\t}\n}\n"
|
|
- compute: 0
|
|
name: '[Full Screen Scan Pass]Distortion Quad Output'
|
|
source: "Shader \"Hidden/VFX/Full Screen Scan Pass/Distortion 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\t\n\t\t\n\t\tBlend
|
|
One 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
|
|
1\n\t\t#endif\n\t\t\n\t\t#define NB_THREADS_PER_GROUP 64\n\t\t#define VFX_USE_POSITION_CURRENT
|
|
1\n\t\t#define VFX_USE_LIFETIME_CURRENT 1\n\t\t#define VFX_USE_TEXINDEX_CURRENT
|
|
1\n\t\t#define VFX_USE_COLOR_CURRENT 1\n\t\t#define VFX_USE_ALPHA_CURRENT 1\n\t\t#define
|
|
VFX_USE_ALIVE_CURRENT 1\n\t\t#define VFX_USE_AXISX_CURRENT 1\n\t\t#define VFX_USE_AXISY_CURRENT
|
|
1\n\t\t#define VFX_USE_AXISZ_CURRENT 1\n\t\t#define VFX_USE_ANGLEX_CURRENT 1\n\t\t#define
|
|
VFX_USE_ANGLEY_CURRENT 1\n\t\t#define VFX_USE_ANGLEZ_CURRENT 1\n\t\t#define
|
|
VFX_USE_PIVOTX_CURRENT 1\n\t\t#define VFX_USE_PIVOTY_CURRENT 1\n\t\t#define
|
|
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_SCALEY_CURRENT 1\n\t\t#define VFX_USE_SCALEZ_CURRENT
|
|
1\n\t\t#define VFX_USE_AGE_CURRENT 1\n\t\t#define VFX_COLORMAPPING_DEFAULT 1\n\t\t#define
|
|
IS_TRANSPARENT_PARTICLE 1\n\t\t#define VFX_BLENDMODE_ADD 1\n\t\t#define USE_FLIPBOOK
|
|
1\n\t\t#define DISTORTION_SCREENSPACE 1\n\t\t#define VFX_PRIMITIVE_QUAD 1\n\t\t\n\t\t\n\t\t\n\t\t#define
|
|
VFX_LOCAL_SPACE 1\n\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t
|
|
\ float gradient_c;\n\t\t uint3 PADDING_0;\n\t\tCBUFFER_END\n\t\tTexture2D
|
|
distortionBlurMap;\n\t\tSamplerState samplerdistortionBlurMap;\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\n\t\tByteAddressBuffer
|
|
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\n\t\t//
|
|
Distortion pass\n\t\tPass\n\t\t{\t\t\n\t\t\tTags { \"LightMode\"=\"DistortionVectors\"
|
|
}\n\t\t\n\t\t\tStencil\n\t\t\t{\n\t\t\t\tWriteMask 64\n\t\t\t\tRef 64\n\t\t\t\tComp
|
|
Always\n\t\t\t\tPass Replace\n\t\t\t}\n\t\t\n\t\t\tHLSLPROGRAM\n\t\t\t#pragma
|
|
target 4.5\n\t\t\t\n\t\t\t\n\t\t\t#define USE_NORMAL_MAP DISTORTION_NORMALBASED\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 USE_FLIPBOOK_INTERPOLATION\n\t\t\t\tfloat4
|
|
uv : TEXCOORD0;\n\t\t\t\t#else\n\t\t\t\tfloat2 uv : TEXCOORD0;\t\n\t\t\t\t#endif\n\t\t\n\t\t\t\t#if
|
|
USE_SOFT_PARTICLE || VFX_USE_ALPHA_CURRENT || USE_FLIPBOOK_INTERPOLATION \n\t\t\t\t//
|
|
x: inverse soft particles fade distance\n\t\t\t\t// y: alpha threshold\n\t\t\t\t//
|
|
z: frame blending factor\n\t\t\t\t// w: alpha\n\t\t\t\tnointerpolation float4
|
|
builtInInterpolants : TEXCOORD1;\n\t\t\t\t#endif\n\t\t\n\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t//
|
|
x: motion vector scale u\n\t\t\t\t// y: motion vector scale v\n\t\t\t\tnointerpolation
|
|
float2 builtInInterpolants2 : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\n\t\t\t\t// x:
|
|
horizontal value / normal scale\n\t\t\t\t// y: vertical value \n\t\t\t\t// z:
|
|
blur scale\n\t\t\t\tnointerpolation float3 distortionInterpolants : TEXCOORD3;\n\t\t\n\t\t\t\t#if
|
|
USE_SOFT_PARTICLE\n\t\t\t\tfloat4 projPos : TEXCOORD4;\n\t\t\t\t#endif\n\t\t\n\t\t\t\t#if
|
|
DISTORTION_NORMALBASED\n\t\t\t\tfloat3 normal : TEXCOORD5;\n\t\t\t\tfloat3 tangent
|
|
: TEXCOORD6;\n\t\t\t\t#endif\n\t\t\t};\n\t\t\n\t\t\tstruct ps_output\n\t\t\t{\n\t\t\t\tfloat4
|
|
distortion : SV_Target0;\n\t\t\t};\n\t\t\n\t\t\t#define VFX_VARYING_PS_INPUTS
|
|
ps_input\n\t\t\t#define VFX_VARYING_POSCS pos\n\t\t\t#define VFX_VARYING_POSSS
|
|
projPos\n\t\t\t#define VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE builtInInterpolants.x\n\t\t\t#define
|
|
VFX_VARYING_ALPHATHRESHOLD builtInInterpolants.y\n\t\t\t#define VFX_VARYING_FRAMEBLEND
|
|
builtInInterpolants.z\n\t\t #define VFX_VARYING_MOTIONVECTORSCALE builtInInterpolants2.xy\n\t\t\t#define
|
|
VFX_VARYING_ALPHA builtInInterpolants.w\n\t\t#if DISTORTION_NORMALBASED\n\t\t\t#define
|
|
VFX_VARYING_NORMAL normal\n\t\t\t#define VFX_VARYING_TANGENT tangent\n\t\t#endif\n\t\t\t#define
|
|
VFX_VARYING_UV uv\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\t#if
|
|
!(defined(VFX_VARYING_PS_INPUTS) && defined(VFX_VARYING_POSCS))\n\t\t\t#error
|
|
VFX_VARYING_PS_INPUTS, VFX_VARYING_POSCS and VFX_VARYING_UV must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXCommon.cginc\"\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\t\t\t\n\n\t\t\tvoid
|
|
Orient_0(inout float3 axisX, inout float3 axisY, inout float3 axisZ) /*mode:FaceCameraPlane
|
|
*/\n\t\t\t{\n\t\t\t \n\t\t\t float3x3 viewRot = GetVFXToViewRotMatrix();\n\t\t\t
|
|
\ axisX = viewRot[0].xyz;\n\t\t\t axisY = viewRot[1].xyz;\n\t\t\t #if
|
|
VFX_LOCAL_SPACE // Need to remove potential scale in local transform\n\t\t\t
|
|
\ axisX = normalize(axisX);\n\t\t\t axisY = normalize(axisY);\n\t\t\t axisZ
|
|
= cross(axisX,axisY);\n\t\t\t #else\n\t\t\t axisZ = -viewRot[2].xyz;\n\t\t\t
|
|
\ #endif\n\t\t\t \n\t\t\t}\n\t\t\tvoid SetAttribute_3278B229(inout float
|
|
size, float Size) /*attribute:size Composition:Overwrite Source:Slot Random:Off
|
|
channels:X */\n\t\t\t{\n\t\t\t size = Size;\n\t\t\t}\n\t\t\tvoid ColorOverLife_733E3(float
|
|
age, float lifetime, inout float3 color, inout float alpha, float gradient)
|
|
/*mode:ColorAndAlpha ColorComposition:Multiply AlphaComposition:Multiply */\n\t\t\t{\n\t\t\t
|
|
\ \n\t\t\t float4 sampledColor = SampleGradient(gradient, age/lifetime);\n\t\t\t
|
|
\ color *= sampledColor.rgb;\n\t\t\t alpha *= sampledColor.a;\n\t\t\t \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#if VFX_PRIMITIVE_TRIANGLE\n\t\t\t\tuint index
|
|
= id / 3;\n\t\t\t#elif VFX_PRIMITIVE_QUAD\n\t\t\t\tuint index = (id >> 2) +
|
|
instanceID * 2048;\n\t\t\t#elif VFX_PRIMITIVE_OCTAGON\n\t\t\t\tuint index =
|
|
(id >> 3) + instanceID * 1024;\n\t\t\t#endif\n\t\t\t\n\t\t\t\tVFX_VARYING_PS_INPUTS
|
|
o = (VFX_VARYING_PS_INPUTS)0;\n\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#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn;
|
|
// cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\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 * 0x4 + 0x0) << 2));\n\t\t\t\t\t\tfloat
|
|
lifetime = asfloat(attributeBuffer.Load((index * 0x1 + 0x1000) << 2));\n\t\t\t\t\t\tfloat
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x4 + 0x3) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,1);\n\t\t\t\t\t\tfloat alpha = (float)1;\n\t\t\t\t\t\tbool
|
|
alive = (attributeBuffer.Load((index * 0x2 + 0x1400) << 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\tfloat age = asfloat(attributeBuffer.Load((index
|
|
* 0x2 + 0x1401) << 2));\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 * 0x2 + 0x1400) << 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\tfloat3 position
|
|
= asfloat(attributeBuffer.Load3((index * 0x4 + 0x0) << 2));\n\t\t\t\t\t\tfloat
|
|
lifetime = asfloat(attributeBuffer.Load((index * 0x1 + 0x1000) << 2));\n\t\t\t\t\t\tfloat
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x4 + 0x3) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,1);\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\tfloat age = asfloat(attributeBuffer.Load((index
|
|
* 0x2 + 0x1401) << 2));\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_0(
|
|
/*inout */axisX, /*inout */axisY, /*inout */axisZ);\n\t\t\t\t{\n\t\t\t\t SetAttribute_3278B229(
|
|
/*inout */size, (float)0.018);\n\t\t\t\t}\n\t\t\t\tColorOverLife_733E3(age,
|
|
lifetime, /*inout */color, /*inout */alpha, gradient_c);\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\tif
|
|
(!alive)\n\t\t\t\t\treturn o;\n\t\t\t\t\n\t\t\t#if VFX_PRIMITIVE_QUAD\n\t\t\t\n\t\t\t\to.VFX_VARYING_UV.x
|
|
= float(id & 1);\n\t\t\t\to.VFX_VARYING_UV.y = float((id & 2) >> 1);\n\t\t\t\tconst
|
|
float2 vOffsets = o.VFX_VARYING_UV.xy - 0.5f;\n\t\t\t\t\n\t\t\t#elif VFX_PRIMITIVE_TRIANGLE\n\t\t\t\n\t\t\t\tconst
|
|
float2 kOffsets[] = {\n\t\t\t\t\tfloat2(-0.5f, \t-0.288675129413604736328125f),\n\t\t\t\t\tfloat2(0.0f,
|
|
\t0.57735025882720947265625f),\n\t\t\t\t\tfloat2(0.5f,\t-0.288675129413604736328125f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tconst
|
|
float kUVScale = 0.866025388240814208984375f;\n\t\t\t\t\n\t\t\t\tconst float2
|
|
vOffsets = kOffsets[id % 3];\n\t\t\t\to.VFX_VARYING_UV.xy = (vOffsets * kUVScale)
|
|
+ 0.5f;\n\t\t\t\t\n\t\t\t#elif VFX_PRIMITIVE_OCTAGON\t\n\t\t\t\t\n\t\t\t\tconst
|
|
float2 kUvs[8] = \n\t\t\t\t{\n\t\t\t\t\tfloat2(-0.5f,\t0.0f),\n\t\t\t\t\tfloat2(-0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.0f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.5f),\n\t\t\t\t\tfloat2(0.5f,\t0.0f),\n\t\t\t\t\tfloat2(0.5f,\t-0.5f),\n\t\t\t\t\tfloat2(0.0f,\t-0.5f),\n\t\t\t\t\tfloat2(-0.5f,\t-0.5f),\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tcropFactor
|
|
= id & 1 ? 1.0f - cropFactor : 1.0f;\n\t\t\t\tconst float2 vOffsets = kUvs[id
|
|
& 7] * cropFactor;\n\t\t\t\to.VFX_VARYING_UV.xy = vOffsets + 0.5f;\n\t\t\t\t\n\t\t\t#endif\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat3
|
|
size3 = float3(size,size,size);\n\t\t\t\t\t\t#if VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x
|
|
*= scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y
|
|
*= scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z
|
|
*= scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tconst float4x4
|
|
elementToVFX = GetElementToVFXMatrix(axisX,axisY,axisZ,float3(angleX,angleY,angleZ),float3(pivotX,pivotY,pivotZ),size3,position);\n\t\t\t\tfloat3
|
|
vPos = mul(elementToVFX,float4(vOffsets,0.0f,1.0f)).xyz;\n\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS
|
|
= TransformPositionVFXToClip(vPos);\n\t\t\t\n\t\t\t\tfloat3 normalWS = normalize(TransformDirectionVFXToWorld(normalize(-transpose(elementToVFX)[2].xyz)));\n\t\t\t\t#ifdef
|
|
VFX_VARYING_NORMAL\n\t\t\t\tfloat normalFlip = (size3.x * size3.y * size3.z)
|
|
< 0 ? -1 : 1;\n\t\t\t\to.VFX_VARYING_NORMAL = normalFlip * normalWS;\n\t\t\t\t#endif\n\t\t\t\t#ifdef
|
|
VFX_VARYING_TANGENT\n\t\t\t\to.VFX_VARYING_TANGENT = normalize(TransformDirectionVFXToWorld(normalize(transpose(elementToVFX)[0].xyz)));\n\t\t\t\t#endif\n\t\t\t\t#ifdef
|
|
VFX_VARYING_BENTFACTORS\n\t\t\t\t\n\t\t\t\t#if HAS_STRIPS\n\t\t\t\t#define BENT_FACTOR_MULTIPLIER
|
|
2.0f\n\t\t\t\t#else\n\t\t\t\t#define BENT_FACTOR_MULTIPLIER 1.41421353816986083984375f\n\t\t\t\t#endif\n\t\t\t\to.VFX_VARYING_BENTFACTORS
|
|
= vOffsets * bentNormalFactor * BENT_FACTOR_MULTIPLIER;\n\t\t\t\t#endif\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_USE_COLOR_CURRENT && defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR
|
|
= color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_ALPHA_CURRENT && defined(VFX_VARYING_ALPHA)
|
|
\n\t\t\t\t\t\to.VFX_VARYING_ALPHA = alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef
|
|
VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
|
|
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
|
|
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
USE_ALPHA_TEST && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
|
|
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= o.VFX_VARYING_UV.xy * uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\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\n\t\t\t\t\t\t#if
|
|
USE_FLIPBOOK\n\t\t\t\t\t\tfloat2 flipBookSize = (float2)0;\n\t\t\t\t\t\t{\n\t\t\t\t\t\t
|
|
\ \n\t\t\t\t\t\t flipBookSize = float2(16,16);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat2
|
|
invFlipBookSize = (float2)0;\n\t\t\t\t\t\t{\n\t\t\t\t\t\t \n\t\t\t\t\t\t
|
|
\ invFlipBookSize = float2(0.0625,0.0625);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tVFXUVData
|
|
uvData = GetUVData(flipBookSize, invFlipBookSize, o.VFX_VARYING_UV.xy, texIndex);\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= uvData.uvs.xy;\n\t\t\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION\n\t\t\t\t\t\to.VFX_VARYING_UV.zw
|
|
= uvData.uvs.zw;\n\t\t\t\t\t\to.VFX_VARYING_FRAMEBLEND = uvData.blend;\n\t\t\t\t\t\t#if
|
|
USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_MOTIONVECTORSCALE
|
|
= motionVectorScale * invFlipBookSize;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t#if
|
|
DISTORTION_SCREENSPACE\n\t\t\t\t\t\t\t\t\t\t\t\tfloat2 distortionScale = (float2)0;\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t
|
|
\ \n\t\t\t\t\t\t\t\t\t\t\t\t distortionScale = float2(32,32);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\to.distortionInterpolants.xy
|
|
= distortionScale;\n\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t#if
|
|
DISTORTION_NORMALBASED\n\t\t\t\t\t\t\t\t\t\t\t\tfloat2 distortionScale = (float2)0;\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t
|
|
\ \n\t\t\t\t\t\t\t\t\t\t\t\t distortionScale = float2(32,32);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\to.distortionInterpolants.x
|
|
= distortionScale;\n\t\t\t\t\t\t\t\t\t\t\t\to.distortionInterpolants.y = 0.0;\n\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tfloat
|
|
blurScale = (float)0;\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\t\t
|
|
\ blurScale = (float)1;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\to.distortionInterpolants.z
|
|
= blurScale;\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t#if DISTORTION_SCALE_BY_DISTANCE\n\t\t\t\t\t\t\t\t\t\t\t\t//
|
|
Scale Distortion by Distance\n\t\t\t\t\t\t\t\t\t\t\t\tfloat clipPosW = o.VFX_VARYING_POSCS.w;\n\t\t\t\t\t\t\t\t\t\t\t\to.distortionInterpolants.xy
|
|
/= clipPosW;\n\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\n\t\t\t\treturn
|
|
o;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.cginc\"\n\t\t\t\n\t\t\t\n\t\t\n\t\t\t\t\n\t\t\t#pragma
|
|
fragment frag\n\t\t\tps_output frag(ps_input i)\n\t\t\t{\n\t\t\t\tVFXTransformPSInputs(i);\n\t\t\t\tps_output
|
|
o = (ps_output)0;\n\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tfloat2
|
|
distortion;\n\t\t\t\t\t\t\t\t\tfloat blur;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#if
|
|
DISTORTION_SCREENSPACE\n\t\t\t\t\t\t\t\t\tfloat3 smpDistort = VFXGetTextureColor(VFX_SAMPLER(distortionBlurMap),i).xyz;\n\t\t\t\t\t\t\t\t\tdistortion
|
|
= (smpDistort.xy * 2.0 - 1.0) * i.distortionInterpolants.xy;\n\t\t\t\t\t\t\t\t\tblur
|
|
= smpDistort.z * i.distortionInterpolants.z;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#if
|
|
DISTORTION_NORMALBASED\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t#if USE_DOUBLE_SIDED\n\t\t\t\t\t\t\t\t\t\t\t\tconst
|
|
float faceMul = frontFace ? 1.0f : -1.0f;\n\t\t\t\t\t\t\t\t\t\t\t\t#else\n\t\t\t\t\t\t\t\t\t\t\t\tconst
|
|
float faceMul = 1.0f;\n\t\t\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tfloat3
|
|
normalWS = i.VFX_VARYING_NORMAL * faceMul;\n\t\t\t\t\t\t\t\t\t\t\t\tconst VFXUVData
|
|
uvData = GetUVData(i);\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t#if
|
|
defined(VFX_VARYING_TANGENT) && (USE_NORMAL_MAP || USE_NORMAL_BENDING)\n\t\t\t\t\t\t\t\t\t\t\t\tfloat3
|
|
tangentWS = i.VFX_VARYING_TANGENT;\n\t\t\t\t\t\t\t\t\t\t\t\tfloat3 bitangentWS
|
|
= cross(i.VFX_VARYING_TANGENT,i.VFX_VARYING_NORMAL);\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t#if
|
|
defined(VFX_VARYING_BENTFACTORS) && USE_NORMAL_BENDING\t\n\t\t\t\t\t\t\t\t\t\t\t\tfloat3
|
|
bentFactors = float3(i.VFX_VARYING_BENTFACTORS.xy,sqrt(1.0f - dot(i.VFX_VARYING_BENTFACTORS,i.VFX_VARYING_BENTFACTORS)));\n\t\t\t\t\t\t\t\t\t\t\t\tnormalWS
|
|
= tangentWS * bentFactors.x + bitangentWS * bentFactors.y + normalWS * bentFactors.z;\n\t\t\t\t\t\t\t\t\t\t\t\ttangentWS
|
|
= normalize(cross(normalWS,bitangentWS));\n\t\t\t\t\t\t\t\t\t\t\t\tbitangentWS
|
|
= cross(tangentWS,normalWS);\n\t\t\t\t\t\t\t\t\t\t\t\ttangentWS *= faceMul;\n\t\t\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t#if
|
|
USE_NORMAL_MAP\n\t\t\t\t\t\t\t\t\t\t\t\tfloat3 n = SampleNormalMap(VFX_SAMPLER(normalMap),uvData);\n\t\t\t\t\t\t\t\t\t\t\t\tfloat3x3
|
|
tbn = float3x3(tangentWS,bitangentWS,normalWS);\n\t\t\t\t\t\t\t\t\t\t\t\tfloat
|
|
normalScale = 1.0f;\n\t\t\t\t\t\t\t\t\t\t\t\t#ifdef VFX_VARYING_NORMALSCALE\n\t\t\t\t\t\t\t\t\t\t\t\tnormalScale
|
|
= i.VFX_VARYING_NORMALSCALE;\n\t\t\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\t\tnormalWS
|
|
= normalize(lerp(normalWS,mul(n,tbn),normalScale));\n\t\t\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tfloat3
|
|
viewNormal = mul(VFXGetWorldToViewRotMatrix(),normalWS);\n\t\t\t\t\t\t\t\t\tfloat
|
|
smpSmoothness = VFXGetTextureColor(VFX_SAMPLER(smoothnessMap),i).a;\n\t\t\t\t\t\t\t\t\tfloat
|
|
smpMask = VFXGetTextureColor(VFX_SAMPLER(alphaMask),i).a;\n\t\t\t\t\t\t\t\t\tdistortion
|
|
= viewNormal.xy * i.distortionInterpolants.x * smpMask;\n\t\t\t\t\t\t\t\t\tblur
|
|
= (1.0-smpSmoothness) * i.distortionInterpolants.z * smpMask; \n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t\t\tfloat
|
|
fade = VFXGetSoftParticleFade(i);\n\t\t\t\t\t\t\t\t\to.distortion.xyw = fade
|
|
* i.VFX_VARYING_ALPHA * float3(distortion.xy, blur);\n\t\t\t\t\t\t\t\t\to.distortion.z
|
|
= 1.0;\n\t\t\t\t\t\t\t\t\treturn o;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\n\t}\n}\n"
|
|
- compute: 1
|
|
name: '[Circle / Parenthesis Outline]Initialize'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_USE_POSITION_CURRENT
|
|
1\n#define VFX_USE_PARTICLEID_CURRENT 1\n#define VFX_USE_TARGETPOSITION_CURRENT
|
|
1\n#define VFX_USE_SIZE_CURRENT 1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\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 SetAttribute_CAC29747(inout float3 position,
|
|
float3 Position) /*attribute:position Composition:Overwrite Source:Slot Random:Off
|
|
channels:XYZ */\n{\n position = Position;\n}\nvoid PositionSequential_C89B0775(uint
|
|
particleId, inout float3 position, inout float3 targetPosition, float3 computedPosition,
|
|
float3 computedTargetPosition) /*shape:Circle index:ParticleID writePosition:True
|
|
writeTargetPosition:True mode:Wrap */\n{\n position += computedPosition;\n
|
|
\ targetPosition += computedTargetPosition;\n \n}\nvoid SetAttribute_3278B229(inout
|
|
float size, float Size) /*attribute:size Composition:Overwrite Source:Slot Random:Off
|
|
channels:X */\n{\n size = Size;\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
|
|
\ maxThreadId = min(maxThreadId, nbMax); //otherwise, nbSpawned already clamped
|
|
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
|
|
sourceIndex = 0;\n /*//Loop with 1 iteration generate a wrong IL Assembly
|
|
(and actually, useless code)\n uint currentSumSpawnCount = 0u;\n for
|
|
(sourceIndex=0; sourceIndex<1; sourceIndex++)\n {\n currentSumSpawnCount
|
|
+= uint(asfloat(sourceAttributeBuffer.Load((sourceIndex * 0x1 + 0x0) << 2)));\n
|
|
\ if (id < currentSumSpawnCount)\n {\n break;\n
|
|
\ }\n }\n */\n \n\n#endif\n float3 position
|
|
= float3(0,0,0);\n uint particleId = (uint)0;\n float3 targetPosition
|
|
= float3(0,0,0);\n float size = (float)0.1;\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_CAC29747(
|
|
/*inout */position, float3(0,0,0));\n }\n {\n uint
|
|
tmp_j = particleId / (uint)128;\n uint tmp_k = tmp_j * (uint)128;\n
|
|
\ uint tmp_l = particleId - tmp_k;\n float tmp_m = (float)tmp_l;\n
|
|
\ float tmp_o = tmp_m / (float)128;\n float tmp_q = tmp_o
|
|
* (float)6.283185;\n float tmp_r = cos(tmp_q);\n float3
|
|
tmp_s = float3(tmp_r, tmp_r, tmp_r);\n float3 tmp_u = tmp_s * float3(0,1,0);\n
|
|
\ float tmp_v = sin(tmp_q);\n float3 tmp_w = float3(tmp_v,
|
|
tmp_v, tmp_v);\n float3 tmp_y = tmp_w * float3(-1,0,0);\n float3
|
|
tmp_z = tmp_u + tmp_y;\n float3 tmp_bb = tmp_z * float3(0.0008,0.0008,0.0008);\n
|
|
\ float3 tmp_bc = float3(0,0,0.03001) + tmp_bb;\n uint
|
|
tmp_be = particleId + (uint)1;\n uint tmp_bf = tmp_be / (uint)128;\n
|
|
\ uint tmp_bg = tmp_bf * (uint)128;\n uint tmp_bh = tmp_be
|
|
- tmp_bg;\n float tmp_bi = (float)tmp_bh;\n float tmp_bj
|
|
= tmp_bi / (float)128;\n float tmp_bk = tmp_bj * (float)6.283185;\n
|
|
\ float tmp_bl = cos(tmp_bk);\n float3 tmp_bm = float3(tmp_bl,
|
|
tmp_bl, tmp_bl);\n float3 tmp_bn = tmp_bm * float3(0,1,0);\n float
|
|
tmp_bo = sin(tmp_bk);\n float3 tmp_bp = float3(tmp_bo, tmp_bo, tmp_bo);\n
|
|
\ float3 tmp_bq = tmp_bp * float3(-1,0,0);\n float3 tmp_br
|
|
= tmp_bn + tmp_bq;\n float3 tmp_bs = tmp_br * float3(0.0008,0.0008,0.0008);\n
|
|
\ float3 tmp_bt = float3(0,0,0.03001) + tmp_bs;\n PositionSequential_C89B0775(particleId,
|
|
\ /*inout */position, /*inout */targetPosition, tmp_bc, tmp_bt);\n }\n
|
|
\ {\n SetAttribute_3278B229( /*inout */size, (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.Store3((index * 0x8 + 0x0) << 2,asuint(position));\n
|
|
\ attributeBuffer.Store3((index * 0x8 + 0x4) << 2,asuint(targetPosition));\n
|
|
\ attributeBuffer.Store((index * 0x1 + 0x400) << 2,asuint(size));\n
|
|
\ \n\n }\n#else\n uint index = particleIndex;\n attributeBuffer.Store3((index
|
|
* 0x8 + 0x0) << 2,asuint(position));\n attributeBuffer.Store3((index
|
|
* 0x8 + 0x4) << 2,asuint(targetPosition));\n attributeBuffer.Store((index
|
|
* 0x1 + 0x400) << 2,asuint(size));\n \n\n#endif\n }\n}\n"
|
|
- compute: 1
|
|
name: '[Circle / Parenthesis Outline]Update'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_USE_SIZE_CURRENT
|
|
1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\n\nCBUFFER_START(parameters)\n
|
|
\ float uniform_b;\n uint3 PADDING_0;\nCBUFFER_END\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;\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
|
|
SetAttribute_3278B229(inout float size, float Size) /*attribute:size Composition:Overwrite
|
|
Source:Slot Random:Off channels:X */\n{\n size = Size;\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\t\n\t\tif (alive)\n\t\t{\n\t\t\tfloat
|
|
size = asfloat(attributeBuffer.Load((index * 0x1 + 0x400) << 2));\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_i = uniform_b + size;\n\t\t\t float tmp_j = saturate(tmp_i);\n\t\t\t
|
|
\ SetAttribute_3278B229( /*inout */size, tmp_j);\n\t\t\t}\n\t\t\t\n\n\t\t\tif
|
|
(alive)\n\t\t\t{\n\t\t\t\tattributeBuffer.Store((index * 0x1 + 0x400) << 2,asuint(size));\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\t\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
|
|
size = asfloat(attributeBuffer.Load((index * 0x1 + 0x400) << 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_i = uniform_b + size;\n\t\t float tmp_j = saturate(tmp_i);\n\t\t
|
|
\ SetAttribute_3278B229( /*inout */size, tmp_j);\n\t\t}\n\t\t\n\n\t\tattributeBuffer.Store((index
|
|
* 0x1 + 0x400) << 2,asuint(size));\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"
|
|
- compute: 0
|
|
name: '[Circle / Parenthesis Outline]Line Output'
|
|
source: "Shader \"Hidden/VFX/Circle / Parenthesis Outline/Line Output\"\n{\n\tSubShader\n\t{\t\n\t\tTags
|
|
{ \"Queue\"=\"Transparent+700\" \"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\t\n\t\t\n\t\tBlend
|
|
One OneMinusSrcAlpha , Zero OneMinusSrcAlpha\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 1\n\t\t#endif\n\t\t\n\t\t#define
|
|
NB_THREADS_PER_GROUP 64\n\t\t#define VFX_USE_POSITION_CURRENT 1\n\t\t#define
|
|
VFX_USE_TARGETPOSITION_CURRENT 1\n\t\t#define VFX_USE_SIZE_CURRENT 1\n\t\t#define
|
|
VFX_USE_COLOR_CURRENT 1\n\t\t#define VFX_USE_ALPHA_CURRENT 1\n\t\t#define VFX_USE_ALIVE_CURRENT
|
|
1\n\t\t#define VFX_COLORMAPPING_DEFAULT 1\n\t\t#define IS_TRANSPARENT_PARTICLE
|
|
1\n\t\t#define VFX_BLENDMODE_PREMULTIPLY 1\n\t\t\n\t\t\n\t\t\n\t\t#define VFX_LOCAL_SPACE
|
|
1\n\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t
|
|
\ float4 uniform_b;\n\t\t float uniform_c;\n\t\t float Alive_f;\n\t\t
|
|
\ uint2 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\n\t\tByteAddressBuffer
|
|
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\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\n\t\t\tHLSLPROGRAM\n\t\t\t#pragma target 4.5\n\t\t\t\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 IS_TRANSPARENT_PARTICLE\n\t\t\t\tnoperspective
|
|
float pixelOffset : TEXCOORD0; // for AA\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_COLOR_INTERPOLATOR\n\t\t\t\tnointerpolation
|
|
float4 color : COLOR0;\n\t\t\t\t#endif\n\t\t\t\t#if USE_SOFT_PARTICLE || USE_ALPHA_TEST
|
|
|| USE_EXPOSURE_WEIGHT\n\t\t\t\tnointerpolation float3 builtInInterpolants :
|
|
TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t\tfloat3
|
|
posWS : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\t};\n\t\t\t\n\t\t\tstruct ps_output\n\t\t\t{\n\t\t\t\tfloat4
|
|
color : SV_Target0;\n\t\t\t};\n\t\t\n\t\t#define VFX_VARYING_PS_INPUTS ps_input\n\t\t#define
|
|
VFX_VARYING_POSCS pos\n\t\t#define VFX_VARYING_COLOR color.rgb\n\t\t#define
|
|
VFX_VARYING_ALPHA color.a\n\t\t#define VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
builtInInterpolants.x\n\t\t#define VFX_VARYING_ALPHATHRESHOLD builtInInterpolants.y\n\t\t#if
|
|
IS_TRANSPARENT_PARTICLE\n\t\t#define VFX_VARYING_PIXELOFFSET pixelOffset\n\t\t#endif\n\t\t#if
|
|
VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t#define VFX_VARYING_POSWS posWS\n\t\t#endif\n\t\t#if
|
|
USE_EXPOSURE_WEIGHT\n\t\t#define VFX_VARYING_EXPOSUREWEIGHT builtInInterpolants.z\n\t\t#endif\n\t\t\t\n\t\t\t#if
|
|
!(defined(VFX_VARYING_PS_INPUTS) && defined(VFX_VARYING_POSCS))\n\t\t\t#error
|
|
VFX_VARYING_PS_INPUTS and VFX_VARYING_POSCS must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXCommon.cginc\"\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\t\t\t\n\n\t\t\tvoid
|
|
SetAttribute_CEEAF35C(inout float alpha, float Alpha) /*attribute:alpha Composition:Overwrite
|
|
Source:Slot Random:Off channels:XYZ */\n\t\t\t{\n\t\t\t alpha = Alpha;\n\t\t\t}\n\t\t\tvoid
|
|
SetAttribute_C707D62A(inout float3 position, float3 Position) /*attribute:position
|
|
Composition:Add Source:Slot Random:Off channels:XYZ */\n\t\t\t{\n\t\t\t position
|
|
+= Position;\n\t\t\t}\n\t\t\tvoid SetAttribute_30AEC127(inout float3 targetPosition,
|
|
float3 TargetPosition) /*attribute:targetPosition Composition:Add Source:Slot
|
|
Random:Off channels:XYZ */\n\t\t\t{\n\t\t\t targetPosition += TargetPosition;\n\t\t\t}\n\t\t\tvoid
|
|
SetAttribute_FDD06EC7(inout float3 color, float3 Color) /*attribute:color Composition:Overwrite
|
|
Source:Slot Random:Off channels:XYZ */\n\t\t\t{\n\t\t\t color = Color;\n\t\t\t}\n\t\t\tvoid
|
|
SetAttribute_ED2BDC15(inout bool alive, bool Alive) /*attribute:alive Composition:Overwrite
|
|
Source:Slot Random:Off channels:XYZ */\n\t\t\t{\n\t\t\t alive = Alive;\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t#pragma
|
|
vertex vert\n\t\t\t\n\t\t\tfloat4 ClipOnNearPlane(float4 pos, float4 other)\n\t\t\t{\n\t\t\t\tif
|
|
(pos.w >= _ProjectionParams.y || other.w < _ProjectionParams.y)\n\t\t\t\t\treturn
|
|
pos;\n\t\t\t\t\t\n\t\t\t\t// Project on near plane\n\t\t\t\tfloat ratio = (_ProjectionParams.y
|
|
- pos.w) / (other.w - pos.w);\n\t\t\t\treturn pos + (other - pos) * ratio;\n\t\t\t}\n\t\t\t\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\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#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn; //
|
|
cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\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 * 0x8 + 0x0) << 2));\n\t\t\t\t\t\tfloat3
|
|
targetPosition = asfloat(attributeBuffer.Load3((index * 0x8 + 0x4) << 2));\n\t\t\t\t\t\tfloat
|
|
size = asfloat(attributeBuffer.Load((index * 0x1 + 0x400) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,1);\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\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
|
|
* 0x8 + 0x0) << 2));\n\t\t\t\t\t\tfloat3 targetPosition = asfloat(attributeBuffer.Load3((index
|
|
* 0x8 + 0x4) << 2));\n\t\t\t\t\t\tfloat size = asfloat(attributeBuffer.Load((index
|
|
* 0x1 + 0x400) << 2));\n\t\t\t\t\t\tfloat3 color = float3(1,1,1);\n\t\t\t\t\t\tfloat
|
|
alpha = (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_CEEAF35C( /*inout */alpha, (float)1);\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t
|
|
\ float3 tmp_l = position * float3(1,1,0);\n\t\t\t\t float3 tmp_n = tmp_l
|
|
* tmp_l;\n\t\t\t\t float tmp_o = tmp_n[2];\n\t\t\t\t float tmp_p = tmp_n[1];\n\t\t\t\t
|
|
\ float tmp_q = tmp_o + tmp_p;\n\t\t\t\t float tmp_r = tmp_n[0];\n\t\t\t\t
|
|
\ float tmp_s = tmp_q + tmp_r;\n\t\t\t\t float tmp_u = pow(tmp_s, (float)0.5);\n\t\t\t\t
|
|
\ float tmp_v = (float)1 / tmp_u;\n\t\t\t\t float3 tmp_w = float3(tmp_v,
|
|
tmp_v, tmp_v);\n\t\t\t\t float3 tmp_x = tmp_l * tmp_w;\n\t\t\t\t float
|
|
tmp_y = SampleCurve(uniform_b,size);\n\t\t\t\t float3 tmp_z = float3(tmp_y,
|
|
tmp_y, tmp_y);\n\t\t\t\t float3 tmp_ba = tmp_x * tmp_z;\n\t\t\t\t float3
|
|
tmp_bc = tmp_ba * float3(0.01555,0.01555,0.01555);\n\t\t\t\t SetAttribute_C707D62A(
|
|
/*inout */position, tmp_bc);\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t float3 tmp_l
|
|
= targetPosition * float3(1,1,0);\n\t\t\t\t float3 tmp_n = tmp_l * tmp_l;\n\t\t\t\t
|
|
\ float tmp_o = tmp_n[2];\n\t\t\t\t float tmp_p = tmp_n[1];\n\t\t\t\t float
|
|
tmp_q = tmp_o + tmp_p;\n\t\t\t\t float tmp_r = tmp_n[0];\n\t\t\t\t float
|
|
tmp_s = tmp_q + tmp_r;\n\t\t\t\t float tmp_u = pow(tmp_s, (float)0.5);\n\t\t\t\t
|
|
\ float tmp_v = (float)1 / tmp_u;\n\t\t\t\t float3 tmp_w = float3(tmp_v,
|
|
tmp_v, tmp_v);\n\t\t\t\t float3 tmp_x = tmp_l * tmp_w;\n\t\t\t\t float
|
|
tmp_y = SampleCurve(uniform_b,size);\n\t\t\t\t float3 tmp_z = float3(tmp_y,
|
|
tmp_y, tmp_y);\n\t\t\t\t float3 tmp_ba = tmp_x * tmp_z;\n\t\t\t\t float3
|
|
tmp_bc = tmp_ba * float3(0.01555,0.01555,0.01555);\n\t\t\t\t SetAttribute_30AEC127(
|
|
/*inout */targetPosition, tmp_bc);\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t float4
|
|
tmp_l = float4(size, size, size, size);\n\t\t\t\t float3 tmp_n = position
|
|
* float3(1,1,0);\n\t\t\t\t float3 tmp_p = tmp_n * tmp_n;\n\t\t\t\t float
|
|
tmp_q = tmp_p[2];\n\t\t\t\t float tmp_r = tmp_p[1];\n\t\t\t\t float tmp_s
|
|
= tmp_q + tmp_r;\n\t\t\t\t float tmp_t = tmp_p[0];\n\t\t\t\t float tmp_u
|
|
= tmp_s + tmp_t;\n\t\t\t\t float tmp_w = pow(tmp_u, (float)0.5);\n\t\t\t\t
|
|
\ float tmp_x = (float)1 / tmp_w;\n\t\t\t\t float3 tmp_y = float3(tmp_x,
|
|
tmp_x, tmp_x);\n\t\t\t\t float3 tmp_z = tmp_n * tmp_y;\n\t\t\t\t float3
|
|
tmp_bb = tmp_z * float3(1,0,0);\n\t\t\t\t float tmp_bc = tmp_bb[2];\n\t\t\t\t
|
|
\ float tmp_bd = tmp_bb[1];\n\t\t\t\t float tmp_be = tmp_bc + tmp_bd;\n\t\t\t\t
|
|
\ float tmp_bf = tmp_bb[0];\n\t\t\t\t float tmp_bg = tmp_be + tmp_bf;\n\t\t\t\t
|
|
\ float tmp_bh = abs(tmp_bg);\n\t\t\t\t float tmp_bi = saturate(tmp_bh);\n\t\t\t\t
|
|
\ float4 tmp_bj = SampleGradient(uniform_c,tmp_bi);\n\t\t\t\t float4 tmp_bk
|
|
= float4(0,0.01581081,0.052,0.4352941) * tmp_bj;\n\t\t\t\t float4 tmp_bl
|
|
= tmp_bk - float4(0,0.01581081,0.052,0.4352941);\n\t\t\t\t float4 tmp_bm
|
|
= tmp_l * tmp_bl;\n\t\t\t\t float4 tmp_bn = float4(0,0.01581081,0.052,0.4352941)
|
|
+ tmp_bm;\n\t\t\t\t float tmp_bo = tmp_bn[0];\n\t\t\t\t float tmp_bp =
|
|
tmp_bn[1];\n\t\t\t\t float tmp_bq = tmp_bn[2];\n\t\t\t\t float3 tmp_br
|
|
= float3(tmp_bo, tmp_bp, tmp_bq);\n\t\t\t\t SetAttribute_FDD06EC7( /*inout
|
|
*/color, tmp_br);\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t float4 tmp_l = float4(size,
|
|
size, size, size);\n\t\t\t\t float3 tmp_n = position * float3(1,1,0);\n\t\t\t\t
|
|
\ float3 tmp_p = tmp_n * tmp_n;\n\t\t\t\t float tmp_q = tmp_p[2];\n\t\t\t\t
|
|
\ float tmp_r = tmp_p[1];\n\t\t\t\t float tmp_s = tmp_q + tmp_r;\n\t\t\t\t
|
|
\ float tmp_t = tmp_p[0];\n\t\t\t\t float tmp_u = tmp_s + tmp_t;\n\t\t\t\t
|
|
\ float tmp_w = pow(tmp_u, (float)0.5);\n\t\t\t\t float tmp_x = (float)1
|
|
/ tmp_w;\n\t\t\t\t float3 tmp_y = float3(tmp_x, tmp_x, tmp_x);\n\t\t\t\t
|
|
\ float3 tmp_z = tmp_n * tmp_y;\n\t\t\t\t float3 tmp_bb = tmp_z * float3(1,0,0);\n\t\t\t\t
|
|
\ float tmp_bc = tmp_bb[2];\n\t\t\t\t float tmp_bd = tmp_bb[1];\n\t\t\t\t
|
|
\ float tmp_be = tmp_bc + tmp_bd;\n\t\t\t\t float tmp_bf = tmp_bb[0];\n\t\t\t\t
|
|
\ float tmp_bg = tmp_be + tmp_bf;\n\t\t\t\t float tmp_bh = abs(tmp_bg);\n\t\t\t\t
|
|
\ float tmp_bi = saturate(tmp_bh);\n\t\t\t\t float4 tmp_bj = SampleGradient(uniform_c,tmp_bi);\n\t\t\t\t
|
|
\ float4 tmp_bk = float4(0,0.01581081,0.052,0.4352941) * tmp_bj;\n\t\t\t\t
|
|
\ float4 tmp_bl = tmp_bk - float4(0,0.01581081,0.052,0.4352941);\n\t\t\t\t
|
|
\ float4 tmp_bm = tmp_l * tmp_bl;\n\t\t\t\t float4 tmp_bn = float4(0,0.01581081,0.052,0.4352941)
|
|
+ tmp_bm;\n\t\t\t\t float tmp_bo = tmp_bn[3];\n\t\t\t\t SetAttribute_CEEAF35C(
|
|
/*inout */alpha, tmp_bo);\n\t\t\t\t}\n\t\t\t\tSetAttribute_ED2BDC15( /*inout
|
|
*/alive, (bool)asuint(Alive_f));\n\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\tif (!alive)\n\t\t\t\t\treturn
|
|
o;\n\t\t\t\n\t\t\t\t#if TARGET_FROM_ATTRIBUTES\n\t\t\t\t\n\t\t\t\t\t\tfloat3
|
|
size3 = float3(size,size,size);\n\t\t\t\t\t\t#if VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x
|
|
*= scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y
|
|
*= scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z
|
|
*= scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\tfloat4x4 elementToVFX
|
|
= GetElementToVFXMatrix(axisX,axisY,axisZ,float3(angleX,angleY,angleZ),float3(pivotX,pivotY,pivotZ),size3,position);\n\t\t\t\n\t\t\t\tposition
|
|
= mul(elementToVFX,float4(0,0,0,1)).xyz;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\ttargetPosition
|
|
= mul(elementToVFX,float4(targetOffset,1)).xyz;\n\t\t\t\t#endif\n\t\t\t\t\t\n\t\t\t\tfloat4
|
|
pos0 = TransformPositionVFXToClip(position);\n\t\t\t\tfloat4 pos1 = TransformPositionVFXToClip(targetPosition);\n\t\t\t\t\n\t\t\t\tpos0
|
|
= ClipOnNearPlane(pos0, pos1);\n\t\t\t\tpos1 = ClipOnNearPlane(pos1, pos0);\n\t\t\t\t\n\t\t\t\tfloat2
|
|
ndcPos0 = pos0.xy / pos0.w;\n\t\t\t\tfloat2 ndcPos1 = pos1.xy / pos1.w;\n\t\t\t\t\n\t\t\t\tfloat2
|
|
dir = ndcPos0 - ndcPos1;\n\t\t\t\tfloat2 normal = normalize(dir.yx * float2(-1,-UNITY_MATRIX_P[1][1]
|
|
/ UNITY_MATRIX_P[0][0]));\n\t\t\t\t\n\t\t\t#if IS_OPAQUE_PARTICLE\n\t\t\t\tconst
|
|
float thicknessMul = 1.0f; // pixel perfect\n\t\t\t#else\n\t\t\t\tconst float
|
|
thicknessMul = 2.0f; // for AA\n\t\t\t#endif\n\t\t\t\tnormal *= thicknessMul
|
|
/ _ScreenParams.xy;\n\t\t\t\t\n\t\t\t\tfloat4 dPos0 = float4(normal * pos0.w,
|
|
0.0f, 0.0f);\n\t\t\t\tfloat4 dPos1 = float4(normal * pos1.w, 0.0f, 0.0f);\n\t\t\t\tfloat4
|
|
vPosArray[4] = { pos0 + dPos0, pos0 - dPos0, pos1 + dPos1, pos1 - dPos1};\n\t\t\t\t\n\t\t\t\t#ifdef
|
|
VFX_VARYING_PIXELOFFSET\n\t\t\t\to.VFX_VARYING_PIXELOFFSET = (id & 1) ? -1.0f
|
|
: 1.0f;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t// If ever used we need the position
|
|
in vfx space (we dont take into account the pixel offset)\n\t\t\t\tfloat3 vPos
|
|
= ((id >> 1) & 1) ? position : targetPosition;\n\t\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS
|
|
= vPosArray[id & 3];\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if VFX_USE_COLOR_CURRENT
|
|
&& defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR = color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
|
|
VFX_USE_ALPHA_CURRENT && defined(VFX_VARYING_ALPHA) \n\t\t\t\t\t\to.VFX_VARYING_ALPHA
|
|
= alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
|
|
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
|
|
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
USE_ALPHA_TEST && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
|
|
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= o.VFX_VARYING_UV.xy * uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\treturn
|
|
o;\n\t\t\t}\n\t\t\t\n\t\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.cginc\"\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t#pragma
|
|
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\tVFXTransformPSInputs(i);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tfloat4
|
|
color = VFXGetFragmentColor(i);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifndef VFX_TEXTURE_COLOR\n\t\t\t\t\t\t\t#define
|
|
VFX_TEXTURE_COLOR float4(1.0,1.0,1.0,1.0)\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_DEFAULT\n\t\t\t\t\t\t\to.color = color * VFX_TEXTURE_COLOR;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_GRADIENTMAPPED\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\to.color = SampleGradient(gradient,
|
|
VFX_TEXTURE_COLOR.a * color.a) * float4(color.rgb,1.0);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t//
|
|
Line AA\n\t\t\t\t#if IS_TRANSPARENT_PARTICLE\t\n\t\t\t\to.color.a *= 1.0f -
|
|
abs(i.pixelOffset);\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\to.color = VFXApplyPreExposure(o.color,
|
|
i);\n\t\t\t\to.color = VFXApplyFog(o.color,i);\n\t\t\t\tVFXClipFragmentColor(o.color.a,i);\n\t\t\t\to.color.a
|
|
= saturate(o.color.a);\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\n\t\t\n\t}\n}\n"
|
|
- compute: 1
|
|
name: '[Reticula Circular Patterns (When hovering)]Initialize'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_USE_POSITION_CURRENT
|
|
1\n#define VFX_USE_LIFETIME_CURRENT 1\n#define VFX_USE_SEED_CURRENT 1\n#define
|
|
VFX_USE_ALPHA_CURRENT 1\n#define VFX_USE_TEXINDEX_CURRENT 1\n#define VFX_USE_ANGLEZ_CURRENT
|
|
1\n#define VFX_USE_ALIVE_CURRENT 1\n#define VFX_USE_PARTICLEID_CURRENT 1\n#define
|
|
VFX_USE_AGE_CURRENT 1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\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 SetAttribute_CAC29747(inout float3 position,
|
|
float3 Position) /*attribute:position Composition:Overwrite Source:Slot Random:Off
|
|
channels:XYZ */\n{\n position = Position;\n}\nvoid SetAttribute_F01429A3(inout
|
|
float lifetime, inout uint seed, float A, float B) /*attribute:lifetime Composition:Overwrite
|
|
Source:Slot Random:Uniform channels:XYZ */\n{\n lifetime = lerp(A,B,RAND);\n}\nvoid
|
|
SetAttribute_CEEAF046(inout float alpha, inout uint seed, float A, float B)
|
|
/*attribute:alpha Composition:Overwrite Source:Slot Random:Uniform channels:XYZ
|
|
*/\n{\n alpha = lerp(A,B,RAND);\n}\nvoid SetAttribute_CA100327(inout float
|
|
texIndex, inout uint seed, float A, float B) /*attribute:texIndex Composition:Overwrite
|
|
Source:Slot Random:Uniform channels:XYZ */\n{\n texIndex = lerp(A,B,RAND);\n}\nvoid
|
|
SetAttribute_48A7C211(inout float angleZ, inout uint seed, float A, float B)
|
|
/*attribute:angle Composition:Overwrite Source:Slot Random:Uniform channels:Z
|
|
*/\n{\n angleZ = lerp(A.x,B.x,RAND);\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
|
|
\ maxThreadId = min(maxThreadId, nbMax); //otherwise, nbSpawned already clamped
|
|
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
|
|
sourceIndex = 0;\n /*//Loop with 1 iteration generate a wrong IL Assembly
|
|
(and actually, useless code)\n uint currentSumSpawnCount = 0u;\n for
|
|
(sourceIndex=0; sourceIndex<1; sourceIndex++)\n {\n currentSumSpawnCount
|
|
+= uint(asfloat(sourceAttributeBuffer.Load((sourceIndex * 0x1 + 0x0) << 2)));\n
|
|
\ if (id < currentSumSpawnCount)\n {\n break;\n
|
|
\ }\n }\n */\n \n\n#endif\n float3 position
|
|
= float3(0,0,0);\n float lifetime = (float)1;\n uint seed = (uint)0;\n
|
|
\ float alpha = (float)1;\n float texIndex = (float)0;\n float
|
|
angleZ = (float)0;\n bool alive = (bool)true;\n uint particleId
|
|
= (uint)0;\n float age = (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 SetAttribute_CAC29747(
|
|
/*inout */position, float3(0,0,0.03001));\n }\n {\n SetAttribute_F01429A3(
|
|
/*inout */lifetime, /*inout */seed, (float)0.1, (float)0.2);\n }\n {\n
|
|
\ SetAttribute_CEEAF046( /*inout */alpha, /*inout */seed, (float)0,
|
|
(float)1);\n }\n {\n SetAttribute_CA100327( /*inout
|
|
*/texIndex, /*inout */seed, (float)0, (float)511);\n }\n {\n
|
|
\ SetAttribute_48A7C211( /*inout */angleZ, /*inout */seed, (float)0,
|
|
(float)360);\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.Store3((index
|
|
* 0x8 + 0x0) << 2,asuint(position));\n attributeBuffer.Store((index
|
|
* 0x1 + 0x20) << 2,asuint(lifetime));\n attributeBuffer.Store((index
|
|
* 0x8 + 0x3) << 2,asuint(alpha));\n attributeBuffer.Store((index
|
|
* 0x8 + 0x4) << 2,asuint(texIndex));\n attributeBuffer.Store((index
|
|
* 0x8 + 0x5) << 2,asuint(angleZ));\n attributeBuffer.Store((index
|
|
* 0x1 + 0x24) << 2,uint(alive));\n attributeBuffer.Store((index *
|
|
0x1 + 0x28) << 2,asuint(particleId));\n attributeBuffer.Store((index
|
|
* 0x1 + 0x2C) << 2,asuint(age));\n \n\n }\n#else\n uint
|
|
index = particleIndex;\n attributeBuffer.Store3((index * 0x8 + 0x0) <<
|
|
2,asuint(position));\n attributeBuffer.Store((index * 0x1 + 0x20) <<
|
|
2,asuint(lifetime));\n attributeBuffer.Store((index * 0x8 + 0x3) << 2,asuint(alpha));\n
|
|
\ attributeBuffer.Store((index * 0x8 + 0x4) << 2,asuint(texIndex));\n
|
|
\ attributeBuffer.Store((index * 0x8 + 0x5) << 2,asuint(angleZ));\n attributeBuffer.Store((index
|
|
* 0x1 + 0x24) << 2,uint(alive));\n attributeBuffer.Store((index * 0x1
|
|
+ 0x28) << 2,asuint(particleId));\n attributeBuffer.Store((index * 0x1
|
|
+ 0x2C) << 2,asuint(age));\n \n\n#endif\n }\n}\n"
|
|
- compute: 1
|
|
name: '[Reticula Circular Patterns (When hovering)]Update'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_USE_LIFETIME_CURRENT
|
|
1\n#define VFX_USE_ALIVE_CURRENT 1\n#define VFX_USE_AGE_CURRENT 1\n#define VFX_LOCAL_SPACE
|
|
1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\n\nCBUFFER_START(parameters)\n
|
|
\ float deltaTime_a;\n uint3 PADDING_0;\nCBUFFER_END\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;\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
|
|
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\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 * 0x1 + 0x24) << 2));\n\t\t\n\n\t\tif (alive)\n\t\t{\n\t\t\tfloat
|
|
lifetime = asfloat(attributeBuffer.Load((index * 0x1 + 0x20) << 2));\n\t\t\tfloat
|
|
age = asfloat(attributeBuffer.Load((index * 0x1 + 0x2C) << 2));\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\tAge(
|
|
/*inout */age, deltaTime_a);\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.Store((index * 0x1 + 0x2C) << 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
|
|
* 0x1 + 0x24) << 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
|
|
* 0x1 + 0x20) << 2));\n\t\tbool alive = (attributeBuffer.Load((index * 0x1 +
|
|
0x24) << 2));\n\t\tfloat age = asfloat(attributeBuffer.Load((index * 0x1 + 0x2C)
|
|
<< 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\tAge(
|
|
/*inout */age, deltaTime_a);\n\t\tReap(age, lifetime, /*inout */alive);\n\t\t\n\n\t\tattributeBuffer.Store((index
|
|
* 0x1 + 0x24) << 2,uint(alive));\n\t\tattributeBuffer.Store((index * 0x1 + 0x2C)
|
|
<< 2,asuint(age));\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"
|
|
- compute: 0
|
|
name: '[Reticula Circular Patterns (When hovering)]Mesh Output'
|
|
source: "Shader \"Hidden/VFX/Reticula Circular Patterns (When hovering)/Mesh Output\"\n{\n\tSubShader\n\t{\t\n\t\tCull
|
|
Off\n\t\t\n\t\tTags { \"Queue\"=\"Transparent+700\" \"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\t\n\t\t\n\t\tBlend
|
|
SrcAlpha One , Zero 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
|
|
1\n\t\t#endif\n\t\t\n\t\t#define NB_THREADS_PER_GROUP 64\n\t\t#define VFX_USE_POSITION_CURRENT
|
|
1\n\t\t#define VFX_USE_ALPHA_CURRENT 1\n\t\t#define VFX_USE_TEXINDEX_CURRENT
|
|
1\n\t\t#define VFX_USE_ANGLEZ_CURRENT 1\n\t\t#define VFX_USE_COLOR_CURRENT 1\n\t\t#define
|
|
VFX_USE_ALIVE_CURRENT 1\n\t\t#define VFX_USE_AXISX_CURRENT 1\n\t\t#define VFX_USE_AXISY_CURRENT
|
|
1\n\t\t#define VFX_USE_AXISZ_CURRENT 1\n\t\t#define VFX_USE_ANGLEX_CURRENT 1\n\t\t#define
|
|
VFX_USE_ANGLEY_CURRENT 1\n\t\t#define VFX_USE_PIVOTX_CURRENT 1\n\t\t#define
|
|
VFX_USE_PIVOTY_CURRENT 1\n\t\t#define 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_SCALEY_CURRENT
|
|
1\n\t\t#define VFX_USE_SCALEZ_CURRENT 1\n\t\t#define VFX_COLORMAPPING_DEFAULT
|
|
1\n\t\t#define IS_TRANSPARENT_PARTICLE 1\n\t\t#define VFX_BLENDMODE_ADD 1\n\t\t#define
|
|
USE_FLIPBOOK 1\n\t\t\n\t\t\n\t\t\n\t\t#define VFX_LOCAL_SPACE 1\n\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t
|
|
\ float Alive_d;\n\t\t uint3 PADDING_0;\n\t\tCBUFFER_END\n\t\tTexture2D
|
|
mainTexture;\n\t\tSamplerState samplermainTexture;\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\n\t\tByteAddressBuffer
|
|
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\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\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 USE_FLIPBOOK_INTERPOLATION\n\t\t\t\tfloat4
|
|
uv : TEXCOORD0;\n\t\t\t\t#else\n\t\t\t\tfloat2 uv : TEXCOORD0;\t\n\t\t\t\t#endif\n\t\t\t\t#if
|
|
VFX_NEEDS_COLOR_INTERPOLATOR\n\t\t\t\tnointerpolation float4 color : COLOR0;\n\t\t\t\t#endif\n\t\t\t\t#if
|
|
USE_SOFT_PARTICLE || USE_ALPHA_TEST || USE_FLIPBOOK_INTERPOLATION || USE_EXPOSURE_WEIGHT\n\t\t\t\t//
|
|
x: inverse soft particles fade distance\n\t\t\t\t// y: alpha threshold\n\t\t\t\t//
|
|
z: frame blending factor\n\t\t\t\t// w: exposure weight\n\t\t\t\tnointerpolation
|
|
float4 builtInInterpolants : TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t//
|
|
x: motion vectors scale X\n\t\t\t\t// y: motion vectors scale Y\n\t\t\t\tnointerpolation
|
|
float2 builtInInterpolants2 : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t\tfloat3
|
|
posWS : TEXCOORD3;\n\t\t\t\t#endif\n\t\t\t};\n\t\t\t\n\t\t\tstruct ps_output\n\t\t\t{\n\t\t\t\tfloat4
|
|
color : SV_Target0;\n\t\t\t};\n\t\t\n\t\t#define VFX_VARYING_PS_INPUTS ps_input\n\t\t#define
|
|
VFX_VARYING_POSCS pos\n\t\t#define VFX_VARYING_COLOR color.rgb\n\t\t#define
|
|
VFX_VARYING_ALPHA color.a\n\t\t#define VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
builtInInterpolants.x\n\t\t#define VFX_VARYING_ALPHATHRESHOLD builtInInterpolants.y\n\t\t#define
|
|
VFX_VARYING_FRAMEBLEND builtInInterpolants.z\n\t\t#define VFX_VARYING_MOTIONVECTORSCALE
|
|
builtInInterpolants2.xy\n\t\t#define VFX_VARYING_UV uv\n\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t#define
|
|
VFX_VARYING_POSWS posWS\n\t\t#endif\n\t\t#if USE_EXPOSURE_WEIGHT\n\t\t#define
|
|
VFX_VARYING_EXPOSUREWEIGHT builtInInterpolants.w\n\t\t#endif\n\t\t\t\t\n\t\t\t#if
|
|
!(defined(VFX_VARYING_PS_INPUTS) && defined(VFX_VARYING_POSCS))\n\t\t\t#error
|
|
VFX_VARYING_PS_INPUTS, VFX_VARYING_POSCS and VFX_VARYING_UV must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXCommon.cginc\"\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\t\t\t\n\n\t\t\tvoid
|
|
Orient_0(inout float3 axisX, inout float3 axisY, inout float3 axisZ) /*mode:FaceCameraPlane
|
|
*/\n\t\t\t{\n\t\t\t \n\t\t\t float3x3 viewRot = GetVFXToViewRotMatrix();\n\t\t\t
|
|
\ axisX = viewRot[0].xyz;\n\t\t\t axisY = viewRot[1].xyz;\n\t\t\t #if
|
|
VFX_LOCAL_SPACE // Need to remove potential scale in local transform\n\t\t\t
|
|
\ axisX = normalize(axisX);\n\t\t\t axisY = normalize(axisY);\n\t\t\t axisZ
|
|
= cross(axisX,axisY);\n\t\t\t #else\n\t\t\t axisZ = -viewRot[2].xyz;\n\t\t\t
|
|
\ #endif\n\t\t\t \n\t\t\t}\n\t\t\tvoid SetAttribute_D5151642(inout float
|
|
scaleX, inout float scaleY, inout float scaleZ, float3 Scale) /*attribute:scale
|
|
Composition:Overwrite Source:Slot Random:Off channels:XYZ */\n\t\t\t{\n\t\t\t
|
|
\ scaleX = Scale.x;\n\t\t\t scaleY = Scale.y;\n\t\t\t scaleZ = Scale.z;\n\t\t\t}\n\t\t\tvoid
|
|
SetAttribute_FDD06EC7(inout float3 color, float3 Color) /*attribute:color Composition:Overwrite
|
|
Source:Slot Random:Off channels:XYZ */\n\t\t\t{\n\t\t\t color = Color;\n\t\t\t}\n\t\t\tvoid
|
|
SetAttribute_ED2BDC15(inout bool alive, bool Alive) /*attribute:alive Composition:Overwrite
|
|
Source:Slot Random:Off channels:XYZ */\n\t\t\t{\n\t\t\t alive = Alive;\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\tstruct
|
|
vs_input\n\t\t\t{\n\t\t\t\tfloat3 pos : POSITION;\n\t\t\t\tfloat2 uv : TEXCOORD0;\n\t\t\t\tfloat3
|
|
normal : NORMAL;\n\t\t\t\t#ifdef VFX_VARYING_TANGENT\n\t\t\t\tfloat4 tangent
|
|
: TANGENT;\n\t\t\t\t#endif\n\t\t\t};\n\t\t\t\n\t\t\t#pragma vertex vert\n\t\t\tVFX_VARYING_PS_INPUTS
|
|
vert(vs_input i, uint instanceID : SV_InstanceID)\n\t\t\t{\n\t\t\t\tuint index
|
|
= instanceID;\n\t\t\t\tVFX_VARYING_PS_INPUTS o = (VFX_VARYING_PS_INPUTS)0;\n\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#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn; //
|
|
cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\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 * 0x8 + 0x0) << 2));\n\t\t\t\t\t\tfloat
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x8 + 0x3) << 2));\n\t\t\t\t\t\tfloat
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x8 + 0x4) << 2));\n\t\t\t\t\t\tfloat
|
|
angleZ = asfloat(attributeBuffer.Load((index * 0x8 + 0x5) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,1);\n\t\t\t\t\t\tbool alive = (attributeBuffer.Load((index
|
|
* 0x1 + 0x24) << 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
|
|
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 * 0x1 + 0x24) << 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\tfloat3 position
|
|
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x0) << 2));\n\t\t\t\t\t\tfloat
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x8 + 0x3) << 2));\n\t\t\t\t\t\tfloat
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x8 + 0x4) << 2));\n\t\t\t\t\t\tfloat
|
|
angleZ = asfloat(attributeBuffer.Load((index * 0x8 + 0x5) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,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
|
|
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_0(
|
|
/*inout */axisX, /*inout */axisY, /*inout */axisZ);\n\t\t\t\t{\n\t\t\t\t SetAttribute_D5151642(
|
|
/*inout */scaleX, /*inout */scaleY, /*inout */scaleZ, float3(0.14,0.14,0.14));\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t
|
|
\ SetAttribute_FDD06EC7( /*inout */color, float3(0,0.001333332,0.008));\n\t\t\t\t}\n\t\t\t\tSetAttribute_ED2BDC15(
|
|
/*inout */alive, (bool)asuint(Alive_d));\n\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\tif
|
|
(!alive)\n\t\t\t\t\treturn o;\n\t\t\t\t\n\t\t\t\to.VFX_VARYING_UV.xy = i.uv;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat3
|
|
size3 = float3(size,size,size);\n\t\t\t\t\t\t#if VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x
|
|
*= scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y
|
|
*= scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z
|
|
*= scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tfloat4x4 elementToVFX
|
|
= GetElementToVFXMatrix(axisX,axisY,axisZ,float3(angleX,angleY,angleZ),float3(pivotX,pivotY,pivotZ),size3,position);\n\t\t\t\tfloat3
|
|
vPos = mul(elementToVFX,float4(i.pos,1.0f)).xyz;\n\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS
|
|
= TransformPositionVFXToClip(vPos);\n\t\t\t\tfloat3 normalWS = normalize(TransformDirectionVFXToWorld(mul((float3x3)elementToVFX,
|
|
i.normal)));\n\t\t\t\t#ifdef VFX_VARYING_NORMAL // TODO Should use inverse transpose\n\t\t\t\to.VFX_VARYING_NORMAL
|
|
= normalWS;\n\t\t\t\t#endif\n\t\t\t\t#ifdef VFX_VARYING_TANGENT\n\t\t\t\to.VFX_VARYING_TANGENT
|
|
= float4(normalize(TransformDirectionVFXToWorld(mul((float3x3)elementToVFX,i.tangent.xyz))),i.tangent.w);\n\t\t\t\t#endif\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_USE_COLOR_CURRENT && defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR
|
|
= color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_ALPHA_CURRENT && defined(VFX_VARYING_ALPHA)
|
|
\n\t\t\t\t\t\to.VFX_VARYING_ALPHA = alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef
|
|
VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
|
|
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
|
|
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
USE_ALPHA_TEST && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
|
|
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= o.VFX_VARYING_UV.xy * uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
|
|
USE_FLIPBOOK\n\t\t\t\t\t\tfloat2 flipBookSize = (float2)0;\n\t\t\t\t\t\t{\n\t\t\t\t\t\t
|
|
\ \n\t\t\t\t\t\t flipBookSize = float2(8,64);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat2
|
|
invFlipBookSize = (float2)0;\n\t\t\t\t\t\t{\n\t\t\t\t\t\t \n\t\t\t\t\t\t
|
|
\ invFlipBookSize = float2(0.125,0.015625);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tVFXUVData
|
|
uvData = GetUVData(flipBookSize, invFlipBookSize, o.VFX_VARYING_UV.xy, texIndex);\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= uvData.uvs.xy;\n\t\t\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION\n\t\t\t\t\t\to.VFX_VARYING_UV.zw
|
|
= uvData.uvs.zw;\n\t\t\t\t\t\to.VFX_VARYING_FRAMEBLEND = uvData.blend;\n\t\t\t\t\t\t#if
|
|
USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_MOTIONVECTORSCALE
|
|
= motionVectorScale * invFlipBookSize;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\treturn
|
|
o;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.cginc\"\n\t\t\t\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\tps_output frag(ps_input i)\n\t\t\t{\n\t\t\t\tps_output
|
|
o = (ps_output)0;\n\t\t\t\tVFXTransformPSInputs(i);\n\t\t\t\t\n\t\t\t\t#define
|
|
VFX_TEXTURE_COLOR VFXGetTextureColor(VFX_SAMPLER(mainTexture),i)\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tfloat4
|
|
color = VFXGetFragmentColor(i);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifndef VFX_TEXTURE_COLOR\n\t\t\t\t\t\t\t#define
|
|
VFX_TEXTURE_COLOR float4(1.0,1.0,1.0,1.0)\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_DEFAULT\n\t\t\t\t\t\t\to.color = color * VFX_TEXTURE_COLOR;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_GRADIENTMAPPED\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\to.color = SampleGradient(gradient,
|
|
VFX_TEXTURE_COLOR.a * color.a) * float4(color.rgb,1.0);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\n\t\t\t\to.color
|
|
= VFXApplyPreExposure(o.color, i);\n\t\t\t\to.color = VFXApplyFog(o.color,i);\n\t\t\t\tVFXClipFragmentColor(o.color.a,i);\n\t\t\t\to.color.a
|
|
= saturate(o.color.a);\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\n\t\t\n\t}\n}\n"
|
|
- compute: 0
|
|
name: '[Reticula Circular Patterns (When hovering)]Mesh Output'
|
|
source: "Shader \"Hidden/VFX/Reticula Circular Patterns (When hovering)/Mesh Output\"\n{\n\tSubShader\n\t{\t\n\t\tCull
|
|
Off\n\t\t\n\t\tTags { \"Queue\"=\"Transparent+700\" \"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\t\n\t\t\n\t\tBlend
|
|
SrcAlpha One , Zero 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
|
|
1\n\t\t#endif\n\t\t\n\t\t#define NB_THREADS_PER_GROUP 64\n\t\t#define VFX_USE_POSITION_CURRENT
|
|
1\n\t\t#define VFX_USE_ALPHA_CURRENT 1\n\t\t#define VFX_USE_TEXINDEX_CURRENT
|
|
1\n\t\t#define VFX_USE_ANGLEZ_CURRENT 1\n\t\t#define VFX_USE_COLOR_CURRENT 1\n\t\t#define
|
|
VFX_USE_ALIVE_CURRENT 1\n\t\t#define VFX_USE_AXISX_CURRENT 1\n\t\t#define VFX_USE_AXISY_CURRENT
|
|
1\n\t\t#define VFX_USE_AXISZ_CURRENT 1\n\t\t#define VFX_USE_ANGLEX_CURRENT 1\n\t\t#define
|
|
VFX_USE_ANGLEY_CURRENT 1\n\t\t#define VFX_USE_PIVOTX_CURRENT 1\n\t\t#define
|
|
VFX_USE_PIVOTY_CURRENT 1\n\t\t#define 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_SCALEY_CURRENT
|
|
1\n\t\t#define VFX_USE_SCALEZ_CURRENT 1\n\t\t#define VFX_USE_PARTICLEID_CURRENT
|
|
1\n\t\t#define VFX_COLORMAPPING_DEFAULT 1\n\t\t#define IS_TRANSPARENT_PARTICLE
|
|
1\n\t\t#define VFX_BLENDMODE_ADD 1\n\t\t#define USE_FLIPBOOK 1\n\t\t\n\t\t\n\t\t\n\t\t#define
|
|
VFX_LOCAL_SPACE 1\n\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t
|
|
\ float uniform_b;\n\t\t float Alive_e;\n\t\t uint2 PADDING_0;\n\t\tCBUFFER_END\n\t\tTexture2D
|
|
mainTexture;\n\t\tSamplerState samplermainTexture;\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\n\t\tByteAddressBuffer
|
|
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\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\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 USE_FLIPBOOK_INTERPOLATION\n\t\t\t\tfloat4
|
|
uv : TEXCOORD0;\n\t\t\t\t#else\n\t\t\t\tfloat2 uv : TEXCOORD0;\t\n\t\t\t\t#endif\n\t\t\t\t#if
|
|
VFX_NEEDS_COLOR_INTERPOLATOR\n\t\t\t\tnointerpolation float4 color : COLOR0;\n\t\t\t\t#endif\n\t\t\t\t#if
|
|
USE_SOFT_PARTICLE || USE_ALPHA_TEST || USE_FLIPBOOK_INTERPOLATION || USE_EXPOSURE_WEIGHT\n\t\t\t\t//
|
|
x: inverse soft particles fade distance\n\t\t\t\t// y: alpha threshold\n\t\t\t\t//
|
|
z: frame blending factor\n\t\t\t\t// w: exposure weight\n\t\t\t\tnointerpolation
|
|
float4 builtInInterpolants : TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t#if USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t//
|
|
x: motion vectors scale X\n\t\t\t\t// y: motion vectors scale Y\n\t\t\t\tnointerpolation
|
|
float2 builtInInterpolants2 : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t\tfloat3
|
|
posWS : TEXCOORD3;\n\t\t\t\t#endif\n\t\t\t};\n\t\t\t\n\t\t\tstruct ps_output\n\t\t\t{\n\t\t\t\tfloat4
|
|
color : SV_Target0;\n\t\t\t};\n\t\t\n\t\t#define VFX_VARYING_PS_INPUTS ps_input\n\t\t#define
|
|
VFX_VARYING_POSCS pos\n\t\t#define VFX_VARYING_COLOR color.rgb\n\t\t#define
|
|
VFX_VARYING_ALPHA color.a\n\t\t#define VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
builtInInterpolants.x\n\t\t#define VFX_VARYING_ALPHATHRESHOLD builtInInterpolants.y\n\t\t#define
|
|
VFX_VARYING_FRAMEBLEND builtInInterpolants.z\n\t\t#define VFX_VARYING_MOTIONVECTORSCALE
|
|
builtInInterpolants2.xy\n\t\t#define VFX_VARYING_UV uv\n\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t#define
|
|
VFX_VARYING_POSWS posWS\n\t\t#endif\n\t\t#if USE_EXPOSURE_WEIGHT\n\t\t#define
|
|
VFX_VARYING_EXPOSUREWEIGHT builtInInterpolants.w\n\t\t#endif\n\t\t\t\t\n\t\t\t#if
|
|
!(defined(VFX_VARYING_PS_INPUTS) && defined(VFX_VARYING_POSCS))\n\t\t\t#error
|
|
VFX_VARYING_PS_INPUTS, VFX_VARYING_POSCS and VFX_VARYING_UV must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXCommon.cginc\"\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\t\t\t\n\n\t\t\tvoid
|
|
SetAttribute_CA10063D(inout float texIndex, float TexIndex) /*attribute:texIndex
|
|
Composition:Overwrite Source:Slot Random:Off channels:XYZ */\n\t\t\t{\n\t\t\t
|
|
\ texIndex = TexIndex;\n\t\t\t}\n\t\t\tvoid Orient_0(inout float3 axisX, inout
|
|
float3 axisY, inout float3 axisZ) /*mode:FaceCameraPlane */\n\t\t\t{\n\t\t\t
|
|
\ \n\t\t\t float3x3 viewRot = GetVFXToViewRotMatrix();\n\t\t\t axisX
|
|
= viewRot[0].xyz;\n\t\t\t axisY = viewRot[1].xyz;\n\t\t\t #if VFX_LOCAL_SPACE
|
|
// Need to remove potential scale in local transform\n\t\t\t axisX = normalize(axisX);\n\t\t\t
|
|
\ axisY = normalize(axisY);\n\t\t\t axisZ = cross(axisX,axisY);\n\t\t\t
|
|
\ #else\n\t\t\t axisZ = -viewRot[2].xyz;\n\t\t\t #endif\n\t\t\t \n\t\t\t}\n\t\t\tvoid
|
|
SetAttribute_D5151642(inout float scaleX, inout float scaleY, inout float scaleZ,
|
|
float3 Scale) /*attribute:scale Composition:Overwrite Source:Slot Random:Off
|
|
channels:XYZ */\n\t\t\t{\n\t\t\t scaleX = Scale.x;\n\t\t\t scaleY = Scale.y;\n\t\t\t
|
|
\ scaleZ = Scale.z;\n\t\t\t}\n\t\t\tvoid SetAttribute_FDD06EC7(inout float3
|
|
color, float3 Color) /*attribute:color Composition:Overwrite Source:Slot Random:Off
|
|
channels:XYZ */\n\t\t\t{\n\t\t\t color = Color;\n\t\t\t}\n\t\t\tvoid SetAttribute_ED2BDC15(inout
|
|
bool alive, bool Alive) /*attribute:alive Composition:Overwrite Source:Slot
|
|
Random:Off channels:XYZ */\n\t\t\t{\n\t\t\t alive = Alive;\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\tstruct
|
|
vs_input\n\t\t\t{\n\t\t\t\tfloat3 pos : POSITION;\n\t\t\t\tfloat2 uv : TEXCOORD0;\n\t\t\t\tfloat3
|
|
normal : NORMAL;\n\t\t\t\t#ifdef VFX_VARYING_TANGENT\n\t\t\t\tfloat4 tangent
|
|
: TANGENT;\n\t\t\t\t#endif\n\t\t\t};\n\t\t\t\n\t\t\t#pragma vertex vert\n\t\t\tVFX_VARYING_PS_INPUTS
|
|
vert(vs_input i, uint instanceID : SV_InstanceID)\n\t\t\t{\n\t\t\t\tuint index
|
|
= instanceID;\n\t\t\t\tVFX_VARYING_PS_INPUTS o = (VFX_VARYING_PS_INPUTS)0;\n\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#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn; //
|
|
cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\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 * 0x8 + 0x0) << 2));\n\t\t\t\t\t\tfloat
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x8 + 0x3) << 2));\n\t\t\t\t\t\tfloat
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x8 + 0x4) << 2));\n\t\t\t\t\t\tfloat
|
|
angleZ = asfloat(attributeBuffer.Load((index * 0x8 + 0x5) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,1);\n\t\t\t\t\t\tbool alive = (attributeBuffer.Load((index
|
|
* 0x1 + 0x24) << 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
|
|
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\tuint particleId = (attributeBuffer.Load((index
|
|
* 0x1 + 0x28) << 2));\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 * 0x1 + 0x24) << 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\tfloat3 position
|
|
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x0) << 2));\n\t\t\t\t\t\tfloat
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x8 + 0x3) << 2));\n\t\t\t\t\t\tfloat
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x8 + 0x4) << 2));\n\t\t\t\t\t\tfloat
|
|
angleZ = asfloat(attributeBuffer.Load((index * 0x8 + 0x5) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,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
|
|
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\tuint particleId = (attributeBuffer.Load((index
|
|
* 0x1 + 0x28) << 2));\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
|
|
\ uint tmp_z = (uint)texIndex;\n\t\t\t\t uint tmp_ba = tmp_z ^ asuint(uniform_b);\n\t\t\t\t
|
|
\ uint tmp_bb = particleId ^ tmp_ba;\n\t\t\t\t float tmp_bc = FixedRand(tmp_bb);\n\t\t\t\t
|
|
\ SetAttribute_CA10063D( /*inout */texIndex, tmp_bc);\n\t\t\t\t}\n\t\t\t\tOrient_0(
|
|
/*inout */axisX, /*inout */axisY, /*inout */axisZ);\n\t\t\t\t{\n\t\t\t\t SetAttribute_D5151642(
|
|
/*inout */scaleX, /*inout */scaleY, /*inout */scaleZ, float3(0.16,0.16,0.16));\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t
|
|
\ SetAttribute_FDD06EC7( /*inout */color, float3(0,0.001333332,0.008));\n\t\t\t\t}\n\t\t\t\tSetAttribute_ED2BDC15(
|
|
/*inout */alive, (bool)asuint(Alive_e));\n\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\tif
|
|
(!alive)\n\t\t\t\t\treturn o;\n\t\t\t\t\n\t\t\t\to.VFX_VARYING_UV.xy = i.uv;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat3
|
|
size3 = float3(size,size,size);\n\t\t\t\t\t\t#if VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x
|
|
*= scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y
|
|
*= scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z
|
|
*= scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tfloat4x4 elementToVFX
|
|
= GetElementToVFXMatrix(axisX,axisY,axisZ,float3(angleX,angleY,angleZ),float3(pivotX,pivotY,pivotZ),size3,position);\n\t\t\t\tfloat3
|
|
vPos = mul(elementToVFX,float4(i.pos,1.0f)).xyz;\n\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS
|
|
= TransformPositionVFXToClip(vPos);\n\t\t\t\tfloat3 normalWS = normalize(TransformDirectionVFXToWorld(mul((float3x3)elementToVFX,
|
|
i.normal)));\n\t\t\t\t#ifdef VFX_VARYING_NORMAL // TODO Should use inverse transpose\n\t\t\t\to.VFX_VARYING_NORMAL
|
|
= normalWS;\n\t\t\t\t#endif\n\t\t\t\t#ifdef VFX_VARYING_TANGENT\n\t\t\t\to.VFX_VARYING_TANGENT
|
|
= float4(normalize(TransformDirectionVFXToWorld(mul((float3x3)elementToVFX,i.tangent.xyz))),i.tangent.w);\n\t\t\t\t#endif\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_USE_COLOR_CURRENT && defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR
|
|
= color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_ALPHA_CURRENT && defined(VFX_VARYING_ALPHA)
|
|
\n\t\t\t\t\t\to.VFX_VARYING_ALPHA = alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef
|
|
VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
|
|
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
|
|
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
USE_ALPHA_TEST && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
|
|
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= o.VFX_VARYING_UV.xy * uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if
|
|
USE_FLIPBOOK\n\t\t\t\t\t\tfloat2 flipBookSize = (float2)0;\n\t\t\t\t\t\t{\n\t\t\t\t\t\t
|
|
\ \n\t\t\t\t\t\t flipBookSize = float2(8,64);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tfloat2
|
|
invFlipBookSize = (float2)0;\n\t\t\t\t\t\t{\n\t\t\t\t\t\t \n\t\t\t\t\t\t
|
|
\ invFlipBookSize = float2(0.125,0.015625);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tVFXUVData
|
|
uvData = GetUVData(flipBookSize, invFlipBookSize, o.VFX_VARYING_UV.xy, texIndex);\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= uvData.uvs.xy;\n\t\t\t\t\t\t#if USE_FLIPBOOK_INTERPOLATION\n\t\t\t\t\t\to.VFX_VARYING_UV.zw
|
|
= uvData.uvs.zw;\n\t\t\t\t\t\to.VFX_VARYING_FRAMEBLEND = uvData.blend;\n\t\t\t\t\t\t#if
|
|
USE_FLIPBOOK_MOTIONVECTORS\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_MOTIONVECTORSCALE
|
|
= motionVectorScale * invFlipBookSize;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\treturn
|
|
o;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.cginc\"\n\t\t\t\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\tps_output frag(ps_input i)\n\t\t\t{\n\t\t\t\tps_output
|
|
o = (ps_output)0;\n\t\t\t\tVFXTransformPSInputs(i);\n\t\t\t\t\n\t\t\t\t#define
|
|
VFX_TEXTURE_COLOR VFXGetTextureColor(VFX_SAMPLER(mainTexture),i)\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tfloat4
|
|
color = VFXGetFragmentColor(i);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifndef VFX_TEXTURE_COLOR\n\t\t\t\t\t\t\t#define
|
|
VFX_TEXTURE_COLOR float4(1.0,1.0,1.0,1.0)\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_DEFAULT\n\t\t\t\t\t\t\to.color = color * VFX_TEXTURE_COLOR;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_GRADIENTMAPPED\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\to.color = SampleGradient(gradient,
|
|
VFX_TEXTURE_COLOR.a * color.a) * float4(color.rgb,1.0);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\n\t\t\t\to.color
|
|
= VFXApplyPreExposure(o.color, i);\n\t\t\t\to.color = VFXApplyFog(o.color,i);\n\t\t\t\tVFXClipFragmentColor(o.color.a,i);\n\t\t\t\to.color.a
|
|
= saturate(o.color.a);\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\n\t\t\n\t}\n}\n"
|
|
- compute: 1
|
|
name: '[CrossHair]Initialize'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_USE_POSITION_CURRENT
|
|
1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\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 SetAttribute_CAC29747(inout float3 position,
|
|
float3 Position) /*attribute:position Composition:Overwrite Source:Slot Random:Off
|
|
channels:XYZ */\n{\n position = Position;\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
|
|
\ maxThreadId = min(maxThreadId, nbMax); //otherwise, nbSpawned already clamped
|
|
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
|
|
sourceIndex = 0;\n /*//Loop with 1 iteration generate a wrong IL Assembly
|
|
(and actually, useless code)\n uint currentSumSpawnCount = 0u;\n for
|
|
(sourceIndex=0; sourceIndex<1; sourceIndex++)\n {\n currentSumSpawnCount
|
|
+= uint(asfloat(sourceAttributeBuffer.Load((sourceIndex * 0x1 + 0x0) << 2)));\n
|
|
\ if (id < currentSumSpawnCount)\n {\n break;\n
|
|
\ }\n }\n */\n \n\n#endif\n float3 position
|
|
= float3(0,0,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 SetAttribute_CAC29747(
|
|
/*inout */position, float3(0,0,0.03001));\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.Store3((index
|
|
* 0x4 + 0x0) << 2,asuint(position));\n \n\n }\n#else\n uint
|
|
index = particleIndex;\n attributeBuffer.Store3((index * 0x4 + 0x0) <<
|
|
2,asuint(position));\n \n\n#endif\n }\n}\n"
|
|
- compute: 1
|
|
name: '[CrossHair]Update'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_HAS_INDIRECT_DRAW
|
|
1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\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;\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\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\t\n\t\tif (alive)\n\t\t{\n\t\t\t\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\tif
|
|
(alive)\n\t\t\t{\n\t\t\t\t\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\t\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\t\n\t\t\n#if
|
|
VFX_USE_OLDPOSITION_CURRENT\n\t\toldPosition = position;\n#endif\n\t\t\n\t\t\n\t\t\n#if
|
|
VFX_HAS_INDIRECT_DRAW\n uint indirectIndex = indirectBuffer.IncrementCounter();\n\t\tindirectBuffer[indirectIndex]
|
|
= index;\n#endif\n#endif\n\t}\n}\n"
|
|
- compute: 0
|
|
name: '[CrossHair]Line Output'
|
|
source: "Shader \"Hidden/VFX/CrossHair/Line Output\"\n{\n\tSubShader\n\t{\t\n\t\tTags
|
|
{ \"Queue\"=\"Transparent+700\" \"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\t\n\t\t\n\t\tBlend
|
|
SrcAlpha OneMinusSrcAlpha , Zero OneMinusSrcAlpha\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 1\n\t\t#endif\n\t\t\n\t\t#define
|
|
NB_THREADS_PER_GROUP 64\n\t\t#define VFX_USE_POSITION_CURRENT 1\n\t\t#define
|
|
VFX_USE_COLOR_CURRENT 1\n\t\t#define VFX_USE_ALPHA_CURRENT 1\n\t\t#define VFX_USE_ALIVE_CURRENT
|
|
1\n\t\t#define VFX_USE_PIVOTX_CURRENT 1\n\t\t#define VFX_USE_PIVOTY_CURRENT
|
|
1\n\t\t#define VFX_USE_PIVOTZ_CURRENT 1\n\t\t#define VFX_USE_ANGLEX_CURRENT
|
|
1\n\t\t#define VFX_USE_ANGLEY_CURRENT 1\n\t\t#define VFX_USE_ANGLEZ_CURRENT
|
|
1\n\t\t#define VFX_USE_AXISX_CURRENT 1\n\t\t#define VFX_USE_AXISY_CURRENT 1\n\t\t#define
|
|
VFX_USE_AXISZ_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_SCALEY_CURRENT 1\n\t\t#define VFX_USE_SCALEZ_CURRENT
|
|
1\n\t\t#define VFX_USE_TARGETPOSITION_CURRENT 1\n\t\t#define VFX_COLORMAPPING_DEFAULT
|
|
1\n\t\t#define IS_TRANSPARENT_PARTICLE 1\n\t\t#define VFX_BLENDMODE_ALPHA 1\n\t\t#define
|
|
VFX_HAS_INDIRECT_DRAW 1\n\t\t#define TARGET_FROM_ATTRIBUTES 1\n\t\t\n\t\t\n\t\t\n\t\t#define
|
|
VFX_LOCAL_SPACE 1\n\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t
|
|
\ float Alive_c;\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\n\t\tByteAddressBuffer
|
|
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\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\n\t\t\tHLSLPROGRAM\n\t\t\t#pragma target 4.5\n\t\t\t\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 IS_TRANSPARENT_PARTICLE\n\t\t\t\tnoperspective
|
|
float pixelOffset : TEXCOORD0; // for AA\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_COLOR_INTERPOLATOR\n\t\t\t\tnointerpolation
|
|
float4 color : COLOR0;\n\t\t\t\t#endif\n\t\t\t\t#if USE_SOFT_PARTICLE || USE_ALPHA_TEST
|
|
|| USE_EXPOSURE_WEIGHT\n\t\t\t\tnointerpolation float3 builtInInterpolants :
|
|
TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t\tfloat3
|
|
posWS : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\t};\n\t\t\t\n\t\t\tstruct ps_output\n\t\t\t{\n\t\t\t\tfloat4
|
|
color : SV_Target0;\n\t\t\t};\n\t\t\n\t\t#define VFX_VARYING_PS_INPUTS ps_input\n\t\t#define
|
|
VFX_VARYING_POSCS pos\n\t\t#define VFX_VARYING_COLOR color.rgb\n\t\t#define
|
|
VFX_VARYING_ALPHA color.a\n\t\t#define VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
builtInInterpolants.x\n\t\t#define VFX_VARYING_ALPHATHRESHOLD builtInInterpolants.y\n\t\t#if
|
|
IS_TRANSPARENT_PARTICLE\n\t\t#define VFX_VARYING_PIXELOFFSET pixelOffset\n\t\t#endif\n\t\t#if
|
|
VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t#define VFX_VARYING_POSWS posWS\n\t\t#endif\n\t\t#if
|
|
USE_EXPOSURE_WEIGHT\n\t\t#define VFX_VARYING_EXPOSUREWEIGHT builtInInterpolants.z\n\t\t#endif\n\t\t\t\n\t\t\t#if
|
|
!(defined(VFX_VARYING_PS_INPUTS) && defined(VFX_VARYING_POSCS))\n\t\t\t#error
|
|
VFX_VARYING_PS_INPUTS and VFX_VARYING_POSCS must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXCommon.cginc\"\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\t\t\t\n\n\t\t\tvoid
|
|
SetAttribute_65DEC940(inout float pivotX, inout float pivotY, inout float pivotZ,
|
|
float3 Pivot) /*attribute:pivot Composition:Overwrite Source:Slot Random:Off
|
|
channels:XYZ */\n\t\t\t{\n\t\t\t pivotX = Pivot.x;\n\t\t\t pivotY = Pivot.y;\n\t\t\t
|
|
\ pivotZ = Pivot.z;\n\t\t\t}\n\t\t\tvoid SetAttribute_3278B229(inout float
|
|
size, float Size) /*attribute:size Composition:Overwrite Source:Slot Random:Off
|
|
channels:X */\n\t\t\t{\n\t\t\t size = Size;\n\t\t\t}\n\t\t\tvoid SetAttribute_ED2BDC15(inout
|
|
bool alive, bool Alive) /*attribute:alive Composition:Overwrite Source:Slot
|
|
Random:Off channels:XYZ */\n\t\t\t{\n\t\t\t alive = Alive;\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t#pragma
|
|
vertex vert\n\t\t\t\n\t\t\tfloat4 ClipOnNearPlane(float4 pos, float4 other)\n\t\t\t{\n\t\t\t\tif
|
|
(pos.w >= _ProjectionParams.y || other.w < _ProjectionParams.y)\n\t\t\t\t\treturn
|
|
pos;\n\t\t\t\t\t\n\t\t\t\t// Project on near plane\n\t\t\t\tfloat ratio = (_ProjectionParams.y
|
|
- pos.w) / (other.w - pos.w);\n\t\t\t\treturn pos + (other - pos) * ratio;\n\t\t\t}\n\t\t\t\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\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#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn; //
|
|
cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\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 * 0x4 + 0x0) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,1);\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\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
|
|
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\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
|
|
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\tfloat3
|
|
targetPosition = float3(0,0,0);\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
|
|
* 0x4 + 0x0) << 2));\n\t\t\t\t\t\tfloat3 color = float3(1,1,1);\n\t\t\t\t\t\tfloat
|
|
alpha = (float)1;\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 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\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
|
|
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\tfloat3
|
|
targetPosition = float3(0,0,0);\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_65DEC940( /*inout */pivotX, /*inout */pivotY, /*inout */pivotZ,
|
|
float3(0,0.5,0));\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t SetAttribute_3278B229(
|
|
/*inout */size, (float)0.0003);\n\t\t\t\t}\n\t\t\t\tSetAttribute_ED2BDC15( /*inout
|
|
*/alive, (bool)asuint(Alive_c));\n\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\tif (!alive)\n\t\t\t\t\treturn
|
|
o;\n\t\t\t\n\t\t\t\t#if TARGET_FROM_ATTRIBUTES\n\t\t\t\t\n\t\t\t\t\t\tfloat3
|
|
size3 = float3(size,size,size);\n\t\t\t\t\t\t#if VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x
|
|
*= scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y
|
|
*= scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z
|
|
*= scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\tfloat4x4 elementToVFX
|
|
= GetElementToVFXMatrix(axisX,axisY,axisZ,float3(angleX,angleY,angleZ),float3(pivotX,pivotY,pivotZ),size3,position);\n\t\t\t\n\t\t\t\tposition
|
|
= mul(elementToVFX,float4(0,0,0,1)).xyz;\n\t\t\t\t\n\t\t\t\tfloat3 targetOffset
|
|
= (float3)0;\n\t\t\t\t{\n\t\t\t\t \n\t\t\t\t targetOffset = float3(0,1,0);\n\t\t\t\t}\n\t\t\t\t\n\n\t\t\t\ttargetPosition
|
|
= mul(elementToVFX,float4(targetOffset,1)).xyz;\n\t\t\t\t#endif\n\t\t\t\t\t\n\t\t\t\tfloat4
|
|
pos0 = TransformPositionVFXToClip(position);\n\t\t\t\tfloat4 pos1 = TransformPositionVFXToClip(targetPosition);\n\t\t\t\t\n\t\t\t\tpos0
|
|
= ClipOnNearPlane(pos0, pos1);\n\t\t\t\tpos1 = ClipOnNearPlane(pos1, pos0);\n\t\t\t\t\n\t\t\t\tfloat2
|
|
ndcPos0 = pos0.xy / pos0.w;\n\t\t\t\tfloat2 ndcPos1 = pos1.xy / pos1.w;\n\t\t\t\t\n\t\t\t\tfloat2
|
|
dir = ndcPos0 - ndcPos1;\n\t\t\t\tfloat2 normal = normalize(dir.yx * float2(-1,-UNITY_MATRIX_P[1][1]
|
|
/ UNITY_MATRIX_P[0][0]));\n\t\t\t\t\n\t\t\t#if IS_OPAQUE_PARTICLE\n\t\t\t\tconst
|
|
float thicknessMul = 1.0f; // pixel perfect\n\t\t\t#else\n\t\t\t\tconst float
|
|
thicknessMul = 2.0f; // for AA\n\t\t\t#endif\n\t\t\t\tnormal *= thicknessMul
|
|
/ _ScreenParams.xy;\n\t\t\t\t\n\t\t\t\tfloat4 dPos0 = float4(normal * pos0.w,
|
|
0.0f, 0.0f);\n\t\t\t\tfloat4 dPos1 = float4(normal * pos1.w, 0.0f, 0.0f);\n\t\t\t\tfloat4
|
|
vPosArray[4] = { pos0 + dPos0, pos0 - dPos0, pos1 + dPos1, pos1 - dPos1};\n\t\t\t\t\n\t\t\t\t#ifdef
|
|
VFX_VARYING_PIXELOFFSET\n\t\t\t\to.VFX_VARYING_PIXELOFFSET = (id & 1) ? -1.0f
|
|
: 1.0f;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t// If ever used we need the position
|
|
in vfx space (we dont take into account the pixel offset)\n\t\t\t\tfloat3 vPos
|
|
= ((id >> 1) & 1) ? position : targetPosition;\n\t\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS
|
|
= vPosArray[id & 3];\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if VFX_USE_COLOR_CURRENT
|
|
&& defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR = color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
|
|
VFX_USE_ALPHA_CURRENT && defined(VFX_VARYING_ALPHA) \n\t\t\t\t\t\to.VFX_VARYING_ALPHA
|
|
= alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
|
|
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
|
|
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
USE_ALPHA_TEST && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
|
|
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= o.VFX_VARYING_UV.xy * uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\treturn
|
|
o;\n\t\t\t}\n\t\t\t\n\t\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.cginc\"\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t#pragma
|
|
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\tVFXTransformPSInputs(i);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tfloat4
|
|
color = VFXGetFragmentColor(i);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifndef VFX_TEXTURE_COLOR\n\t\t\t\t\t\t\t#define
|
|
VFX_TEXTURE_COLOR float4(1.0,1.0,1.0,1.0)\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_DEFAULT\n\t\t\t\t\t\t\to.color = color * VFX_TEXTURE_COLOR;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_GRADIENTMAPPED\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\to.color = SampleGradient(gradient,
|
|
VFX_TEXTURE_COLOR.a * color.a) * float4(color.rgb,1.0);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t//
|
|
Line AA\n\t\t\t\t#if IS_TRANSPARENT_PARTICLE\t\n\t\t\t\to.color.a *= 1.0f -
|
|
abs(i.pixelOffset);\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\to.color = VFXApplyPreExposure(o.color,
|
|
i);\n\t\t\t\to.color = VFXApplyFog(o.color,i);\n\t\t\t\tVFXClipFragmentColor(o.color.a,i);\n\t\t\t\to.color.a
|
|
= saturate(o.color.a);\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\n\t\t\n\t}\n}\n"
|
|
- compute: 0
|
|
name: '[CrossHair]Line Output'
|
|
source: "Shader \"Hidden/VFX/CrossHair/Line Output\"\n{\n\tSubShader\n\t{\t\n\t\tTags
|
|
{ \"Queue\"=\"Transparent+700\" \"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\t\n\t\t\n\t\tBlend
|
|
SrcAlpha OneMinusSrcAlpha , Zero OneMinusSrcAlpha\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 1\n\t\t#endif\n\t\t\n\t\t#define
|
|
NB_THREADS_PER_GROUP 64\n\t\t#define VFX_USE_POSITION_CURRENT 1\n\t\t#define
|
|
VFX_USE_COLOR_CURRENT 1\n\t\t#define VFX_USE_ALPHA_CURRENT 1\n\t\t#define VFX_USE_ALIVE_CURRENT
|
|
1\n\t\t#define VFX_USE_PIVOTX_CURRENT 1\n\t\t#define VFX_USE_PIVOTY_CURRENT
|
|
1\n\t\t#define VFX_USE_PIVOTZ_CURRENT 1\n\t\t#define VFX_USE_ANGLEX_CURRENT
|
|
1\n\t\t#define VFX_USE_ANGLEY_CURRENT 1\n\t\t#define VFX_USE_ANGLEZ_CURRENT
|
|
1\n\t\t#define VFX_USE_AXISX_CURRENT 1\n\t\t#define VFX_USE_AXISY_CURRENT 1\n\t\t#define
|
|
VFX_USE_AXISZ_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_SCALEY_CURRENT 1\n\t\t#define VFX_USE_SCALEZ_CURRENT
|
|
1\n\t\t#define VFX_USE_TARGETPOSITION_CURRENT 1\n\t\t#define VFX_COLORMAPPING_DEFAULT
|
|
1\n\t\t#define IS_TRANSPARENT_PARTICLE 1\n\t\t#define VFX_BLENDMODE_ALPHA 1\n\t\t#define
|
|
VFX_HAS_INDIRECT_DRAW 1\n\t\t#define TARGET_FROM_ATTRIBUTES 1\n\t\t\n\t\t\n\t\t\n\t\t#define
|
|
VFX_LOCAL_SPACE 1\n\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\t\t\n\n\t\tCBUFFER_START(parameters)\n\t\t
|
|
\ float Alive_d;\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\n\t\tByteAddressBuffer
|
|
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\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\n\t\t\tHLSLPROGRAM\n\t\t\t#pragma target 4.5\n\t\t\t\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 IS_TRANSPARENT_PARTICLE\n\t\t\t\tnoperspective
|
|
float pixelOffset : TEXCOORD0; // for AA\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_COLOR_INTERPOLATOR\n\t\t\t\tnointerpolation
|
|
float4 color : COLOR0;\n\t\t\t\t#endif\n\t\t\t\t#if USE_SOFT_PARTICLE || USE_ALPHA_TEST
|
|
|| USE_EXPOSURE_WEIGHT\n\t\t\t\tnointerpolation float3 builtInInterpolants :
|
|
TEXCOORD1;\n\t\t\t\t#endif\n\t\t\t\t#if VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t\t\tfloat3
|
|
posWS : TEXCOORD2;\n\t\t\t\t#endif\n\t\t\t};\n\t\t\t\n\t\t\tstruct ps_output\n\t\t\t{\n\t\t\t\tfloat4
|
|
color : SV_Target0;\n\t\t\t};\n\t\t\n\t\t#define VFX_VARYING_PS_INPUTS ps_input\n\t\t#define
|
|
VFX_VARYING_POSCS pos\n\t\t#define VFX_VARYING_COLOR color.rgb\n\t\t#define
|
|
VFX_VARYING_ALPHA color.a\n\t\t#define VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
builtInInterpolants.x\n\t\t#define VFX_VARYING_ALPHATHRESHOLD builtInInterpolants.y\n\t\t#if
|
|
IS_TRANSPARENT_PARTICLE\n\t\t#define VFX_VARYING_PIXELOFFSET pixelOffset\n\t\t#endif\n\t\t#if
|
|
VFX_NEEDS_POSWS_INTERPOLATOR\n\t\t#define VFX_VARYING_POSWS posWS\n\t\t#endif\n\t\t#if
|
|
USE_EXPOSURE_WEIGHT\n\t\t#define VFX_VARYING_EXPOSUREWEIGHT builtInInterpolants.z\n\t\t#endif\n\t\t\t\n\t\t\t#if
|
|
!(defined(VFX_VARYING_PS_INPUTS) && defined(VFX_VARYING_POSCS))\n\t\t\t#error
|
|
VFX_VARYING_PS_INPUTS and VFX_VARYING_POSCS must be defined.\n\t\t\t#endif\n\t\t\t\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXCommon.cginc\"\n\t\t\t#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\t\t\t\n\n\t\t\tvoid
|
|
SetAttribute_65DEC940(inout float pivotX, inout float pivotY, inout float pivotZ,
|
|
float3 Pivot) /*attribute:pivot Composition:Overwrite Source:Slot Random:Off
|
|
channels:XYZ */\n\t\t\t{\n\t\t\t pivotX = Pivot.x;\n\t\t\t pivotY = Pivot.y;\n\t\t\t
|
|
\ pivotZ = Pivot.z;\n\t\t\t}\n\t\t\tvoid SetAttribute_48A7BEFB(inout float
|
|
angleZ, float Angle) /*attribute:angle Composition:Overwrite Source:Slot Random:Off
|
|
channels:Z */\n\t\t\t{\n\t\t\t angleZ = Angle.x;\n\t\t\t}\n\t\t\tvoid SetAttribute_3278B229(inout
|
|
float size, float Size) /*attribute:size Composition:Overwrite Source:Slot Random:Off
|
|
channels:X */\n\t\t\t{\n\t\t\t size = Size;\n\t\t\t}\n\t\t\tvoid SetAttribute_ED2BDC15(inout
|
|
bool alive, bool Alive) /*attribute:alive Composition:Overwrite Source:Slot
|
|
Random:Off channels:XYZ */\n\t\t\t{\n\t\t\t alive = Alive;\n\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t#pragma
|
|
vertex vert\n\t\t\t\n\t\t\tfloat4 ClipOnNearPlane(float4 pos, float4 other)\n\t\t\t{\n\t\t\t\tif
|
|
(pos.w >= _ProjectionParams.y || other.w < _ProjectionParams.y)\n\t\t\t\t\treturn
|
|
pos;\n\t\t\t\t\t\n\t\t\t\t// Project on near plane\n\t\t\t\tfloat ratio = (_ProjectionParams.y
|
|
- pos.w) / (other.w - pos.w);\n\t\t\t\treturn pos + (other - pos) * ratio;\n\t\t\t}\n\t\t\t\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\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#if USE_GEOMETRY_SHADER\n\t\t\t\t\t\t\treturn; //
|
|
cull\n\t\t\t\t\t\t#else\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t#endif\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 * 0x4 + 0x0) << 2));\n\t\t\t\t\t\tfloat3
|
|
color = float3(1,1,1);\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\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
|
|
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\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
|
|
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\tfloat3
|
|
targetPosition = float3(0,0,0);\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
|
|
* 0x4 + 0x0) << 2));\n\t\t\t\t\t\tfloat3 color = float3(1,1,1);\n\t\t\t\t\t\tfloat
|
|
alpha = (float)1;\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 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\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
|
|
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\tfloat3
|
|
targetPosition = float3(0,0,0);\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_65DEC940( /*inout */pivotX, /*inout */pivotY, /*inout */pivotZ,
|
|
float3(0,0.5,0));\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t SetAttribute_48A7BEFB(
|
|
/*inout */angleZ, (float)90);\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t SetAttribute_3278B229(
|
|
/*inout */size, (float)0.0003);\n\t\t\t\t}\n\t\t\t\tSetAttribute_ED2BDC15( /*inout
|
|
*/alive, (bool)asuint(Alive_d));\n\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\tif (!alive)\n\t\t\t\t\treturn
|
|
o;\n\t\t\t\n\t\t\t\t#if TARGET_FROM_ATTRIBUTES\n\t\t\t\t\n\t\t\t\t\t\tfloat3
|
|
size3 = float3(size,size,size);\n\t\t\t\t\t\t#if VFX_USE_SCALEX_CURRENT\n\t\t\t\t\t\tsize3.x
|
|
*= scaleX;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEY_CURRENT\n\t\t\t\t\t\tsize3.y
|
|
*= scaleY;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if VFX_USE_SCALEZ_CURRENT\n\t\t\t\t\t\tsize3.z
|
|
*= scaleZ;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\tfloat4x4 elementToVFX
|
|
= GetElementToVFXMatrix(axisX,axisY,axisZ,float3(angleX,angleY,angleZ),float3(pivotX,pivotY,pivotZ),size3,position);\n\t\t\t\n\t\t\t\tposition
|
|
= mul(elementToVFX,float4(0,0,0,1)).xyz;\n\t\t\t\t\n\t\t\t\tfloat3 targetOffset
|
|
= (float3)0;\n\t\t\t\t{\n\t\t\t\t \n\t\t\t\t targetOffset = float3(0,1,0);\n\t\t\t\t}\n\t\t\t\t\n\n\t\t\t\ttargetPosition
|
|
= mul(elementToVFX,float4(targetOffset,1)).xyz;\n\t\t\t\t#endif\n\t\t\t\t\t\n\t\t\t\tfloat4
|
|
pos0 = TransformPositionVFXToClip(position);\n\t\t\t\tfloat4 pos1 = TransformPositionVFXToClip(targetPosition);\n\t\t\t\t\n\t\t\t\tpos0
|
|
= ClipOnNearPlane(pos0, pos1);\n\t\t\t\tpos1 = ClipOnNearPlane(pos1, pos0);\n\t\t\t\t\n\t\t\t\tfloat2
|
|
ndcPos0 = pos0.xy / pos0.w;\n\t\t\t\tfloat2 ndcPos1 = pos1.xy / pos1.w;\n\t\t\t\t\n\t\t\t\tfloat2
|
|
dir = ndcPos0 - ndcPos1;\n\t\t\t\tfloat2 normal = normalize(dir.yx * float2(-1,-UNITY_MATRIX_P[1][1]
|
|
/ UNITY_MATRIX_P[0][0]));\n\t\t\t\t\n\t\t\t#if IS_OPAQUE_PARTICLE\n\t\t\t\tconst
|
|
float thicknessMul = 1.0f; // pixel perfect\n\t\t\t#else\n\t\t\t\tconst float
|
|
thicknessMul = 2.0f; // for AA\n\t\t\t#endif\n\t\t\t\tnormal *= thicknessMul
|
|
/ _ScreenParams.xy;\n\t\t\t\t\n\t\t\t\tfloat4 dPos0 = float4(normal * pos0.w,
|
|
0.0f, 0.0f);\n\t\t\t\tfloat4 dPos1 = float4(normal * pos1.w, 0.0f, 0.0f);\n\t\t\t\tfloat4
|
|
vPosArray[4] = { pos0 + dPos0, pos0 - dPos0, pos1 + dPos1, pos1 - dPos1};\n\t\t\t\t\n\t\t\t\t#ifdef
|
|
VFX_VARYING_PIXELOFFSET\n\t\t\t\to.VFX_VARYING_PIXELOFFSET = (id & 1) ? -1.0f
|
|
: 1.0f;\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\t// If ever used we need the position
|
|
in vfx space (we dont take into account the pixel offset)\n\t\t\t\tfloat3 vPos
|
|
= ((id >> 1) & 1) ? position : targetPosition;\n\t\t\t\t\n\t\t\t\to.VFX_VARYING_POSCS
|
|
= vPosArray[id & 3];\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#if VFX_USE_COLOR_CURRENT
|
|
&& defined(VFX_VARYING_COLOR)\n\t\t\t\t\t\to.VFX_VARYING_COLOR = color;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t#if
|
|
VFX_USE_ALPHA_CURRENT && defined(VFX_VARYING_ALPHA) \n\t\t\t\t\t\to.VFX_VARYING_ALPHA
|
|
= alpha;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifdef VFX_VARYING_EXPOSUREWEIGHT\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_EXPOSUREWEIGHT
|
|
= exposureWeight;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_SOFT_PARTICLE
|
|
&& defined(VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_INVSOFTPARTICLEFADEDISTANCE
|
|
= invSoftParticlesFadeDistance;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
USE_ALPHA_TEST && defined(VFX_VARYING_ALPHATHRESHOLD)\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_ALPHATHRESHOLD
|
|
= alphaThreshold;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if USE_UV_SCALE_BIAS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\to.VFX_VARYING_UV.xy
|
|
= o.VFX_VARYING_UV.xy * uvScale + uvBias;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
defined(VFX_VARYING_POSWS)\n\t\t\t\t\t\to.VFX_VARYING_POSWS = TransformPositionVFXToWorld(vPos);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\treturn
|
|
o;\n\t\t\t}\n\t\t\t\n\t\t\t#include \"Packages/com.unity.visualeffectgraph/Shaders/VFXCommonOutput.cginc\"\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t#pragma
|
|
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\tVFXTransformPSInputs(i);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tfloat4
|
|
color = VFXGetFragmentColor(i);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#ifndef VFX_TEXTURE_COLOR\n\t\t\t\t\t\t\t#define
|
|
VFX_TEXTURE_COLOR float4(1.0,1.0,1.0,1.0)\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_DEFAULT\n\t\t\t\t\t\t\to.color = color * VFX_TEXTURE_COLOR;\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if
|
|
VFX_COLORMAPPING_GRADIENTMAPPED\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\to.color = SampleGradient(gradient,
|
|
VFX_TEXTURE_COLOR.a * color.a) * float4(color.rgb,1.0);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t//
|
|
Line AA\n\t\t\t\t#if IS_TRANSPARENT_PARTICLE\t\n\t\t\t\to.color.a *= 1.0f -
|
|
abs(i.pixelOffset);\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\to.color = VFXApplyPreExposure(o.color,
|
|
i);\n\t\t\t\to.color = VFXApplyFog(o.color,i);\n\t\t\t\tVFXClipFragmentColor(o.color.a,i);\n\t\t\t\to.color.a
|
|
= saturate(o.color.a);\n\t\t\t\treturn o;\n\t\t\t}\n\t\t\tENDHLSL\n\t\t}\n\t\t\n\n\t\t\n\t}\n}\n"
|
|
- compute: 1
|
|
name: '[Background Random Code Lines]CameraSort'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_USE_POSITION_CURRENT
|
|
1\n#define USE_DEAD_LIST_COUNT 1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\n\nCBUFFER_START(parameters)\n
|
|
\ float4x4 localToWorld;\nCBUFFER_END\n\n\n#include \"Packages/com.unity.visualeffectgraph/Shaders/Common/VFXCommonCompute.cginc\"\n#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\n\n\nCBUFFER_START(params)\n
|
|
\ uint nbMax;\n uint dispatchWidth;\nCBUFFER_END\n\nCBUFFER_START(cameraParams)\n
|
|
\ float3 cameraPosition;\nCBUFFER_END\n\nByteAddressBuffer attributeBuffer;\nStructuredBuffer<uint>
|
|
inputBuffer;\n\n#if USE_DEAD_LIST_COUNT\nByteAddressBuffer deadListCount;\n#endif\n\nstruct
|
|
Kvp\n{\n\tfloat sortKey;\n\tuint index;\n};\n\nRWStructuredBuffer<Kvp> outputBuffer;\n\n[numthreads(NB_THREADS_PER_GROUP,1,1)]\nvoid
|
|
CSMain(uint3 groupId : SV_GroupID,\n uint3 groupThreadId
|
|
\ : SV_GroupThreadID)\n{\n\tuint threshold = nbMax;\n#if USE_DEAD_LIST_COUNT\n\tthreshold
|
|
-= deadListCount.Load(0);\n#endif\n\tuint id = groupThreadId.x + groupId.x *
|
|
NB_THREADS_PER_GROUP + groupId.y * dispatchWidth * NB_THREADS_PER_GROUP;\n\tif
|
|
(id < threshold)\n\t{\n\t\tuint index = inputBuffer[id];\n\t\tfloat3 position
|
|
= asfloat(attributeBuffer.Load3((index * 0x4 + 0x0) << 2));\n\t\t\n\n\t\t\n#if
|
|
VFX_LOCAL_SPACE\n\t\tfloat3 wPos = mul(localToWorld,float4(position,1.0f)).xyz;\n#else\n\t\tfloat3
|
|
wPos = position;\n#endif\n\t\tfloat3 camToPos = wPos - cameraPosition;\n\t\t\n\t\tKvp
|
|
kvp;\n\t\tkvp.sortKey = dot(camToPos,camToPos); // sqr distance to the camera\n\t\tkvp.index
|
|
= index;\n\n\t\toutputBuffer[id] = kvp;\n\t}\n}\n"
|
|
- compute: 1
|
|
name: '[Boot Text]CameraSort'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_USE_POSITION_CURRENT
|
|
1\n#define USE_DEAD_LIST_COUNT 1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\n\nCBUFFER_START(parameters)\n
|
|
\ float4x4 localToWorld;\nCBUFFER_END\n\n\n#include \"Packages/com.unity.visualeffectgraph/Shaders/Common/VFXCommonCompute.cginc\"\n#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\n\n\nCBUFFER_START(params)\n
|
|
\ uint nbMax;\n uint dispatchWidth;\nCBUFFER_END\n\nCBUFFER_START(cameraParams)\n
|
|
\ float3 cameraPosition;\nCBUFFER_END\n\nByteAddressBuffer attributeBuffer;\nStructuredBuffer<uint>
|
|
inputBuffer;\n\n#if USE_DEAD_LIST_COUNT\nByteAddressBuffer deadListCount;\n#endif\n\nstruct
|
|
Kvp\n{\n\tfloat sortKey;\n\tuint index;\n};\n\nRWStructuredBuffer<Kvp> outputBuffer;\n\n[numthreads(NB_THREADS_PER_GROUP,1,1)]\nvoid
|
|
CSMain(uint3 groupId : SV_GroupID,\n uint3 groupThreadId
|
|
\ : SV_GroupThreadID)\n{\n\tuint threshold = nbMax;\n#if USE_DEAD_LIST_COUNT\n\tthreshold
|
|
-= deadListCount.Load(0);\n#endif\n\tuint id = groupThreadId.x + groupId.x *
|
|
NB_THREADS_PER_GROUP + groupId.y * dispatchWidth * NB_THREADS_PER_GROUP;\n\tif
|
|
(id < threshold)\n\t{\n\t\tuint index = inputBuffer[id];\n\t\tfloat3 position
|
|
= asfloat(attributeBuffer.Load3((index * 0x4 + 0x0) << 2));\n\t\t\n\n\t\t\n#if
|
|
VFX_LOCAL_SPACE\n\t\tfloat3 wPos = mul(localToWorld,float4(position,1.0f)).xyz;\n#else\n\t\tfloat3
|
|
wPos = position;\n#endif\n\t\tfloat3 camToPos = wPos - cameraPosition;\n\t\t\n\t\tKvp
|
|
kvp;\n\t\tkvp.sortKey = dot(camToPos,camToPos); // sqr distance to the camera\n\t\tkvp.index
|
|
= index;\n\n\t\toutputBuffer[id] = kvp;\n\t}\n}\n"
|
|
- compute: 1
|
|
name: '[CrossHair]CameraSort'
|
|
source: "#pragma kernel CSMain\n#define NB_THREADS_PER_GROUP 64\n#define VFX_USE_POSITION_CURRENT
|
|
1\n#define VFX_LOCAL_SPACE 1\n#include \"Packages/com.unity.visualeffectgraph/Shaders/RenderPipeline/HDRP/VFXDefines.hlsl\"\n\n\nCBUFFER_START(parameters)\n
|
|
\ float4x4 localToWorld;\nCBUFFER_END\n\n\n#include \"Packages/com.unity.visualeffectgraph/Shaders/Common/VFXCommonCompute.cginc\"\n#include
|
|
\"Packages/com.unity.visualeffectgraph/Shaders/VFXCommon.cginc\"\n\n\n\nCBUFFER_START(params)\n
|
|
\ uint nbMax;\n uint dispatchWidth;\nCBUFFER_END\n\nCBUFFER_START(cameraParams)\n
|
|
\ float3 cameraPosition;\nCBUFFER_END\n\nByteAddressBuffer attributeBuffer;\nStructuredBuffer<uint>
|
|
inputBuffer;\n\n#if USE_DEAD_LIST_COUNT\nByteAddressBuffer deadListCount;\n#endif\n\nstruct
|
|
Kvp\n{\n\tfloat sortKey;\n\tuint index;\n};\n\nRWStructuredBuffer<Kvp> outputBuffer;\n\n[numthreads(NB_THREADS_PER_GROUP,1,1)]\nvoid
|
|
CSMain(uint3 groupId : SV_GroupID,\n uint3 groupThreadId
|
|
\ : SV_GroupThreadID)\n{\n\tuint threshold = nbMax;\n#if USE_DEAD_LIST_COUNT\n\tthreshold
|
|
-= deadListCount.Load(0);\n#endif\n\tuint id = groupThreadId.x + groupId.x *
|
|
NB_THREADS_PER_GROUP + groupId.y * dispatchWidth * NB_THREADS_PER_GROUP;\n\tif
|
|
(id < threshold)\n\t{\n\t\tuint index = inputBuffer[id];\n\t\tfloat3 position
|
|
= asfloat(attributeBuffer.Load3((index * 0x4 + 0x0) << 2));\n\t\t\n\n\t\t\n#if
|
|
VFX_LOCAL_SPACE\n\t\tfloat3 wPos = mul(localToWorld,float4(position,1.0f)).xyz;\n#else\n\t\tfloat3
|
|
wPos = position;\n#endif\n\t\tfloat3 camToPos = wPos - cameraPosition;\n\t\t\n\t\tKvp
|
|
kvp;\n\t\tkvp.sortKey = dot(camToPos,camToPos); // sqr distance to the camera\n\t\tkvp.index
|
|
= index;\n\n\t\toutputBuffer[id] = kvp;\n\t}\n}\n"
|
|
m_Infos:
|
|
m_Expressions:
|
|
m_Expressions:
|
|
- op: 1
|
|
valueIndex: 0
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 3
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 4
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 6
|
|
- op: 1
|
|
valueIndex: 5
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 6
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 9
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 6
|
|
- op: 1
|
|
valueIndex: 10
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 6
|
|
- op: 1
|
|
valueIndex: 11
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 6
|
|
- op: 1
|
|
valueIndex: 12
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 6
|
|
- op: 1
|
|
valueIndex: 13
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 14
|
|
- op: 1
|
|
valueIndex: 14
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 17
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 18
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 57
|
|
valueIndex: 19
|
|
data[0]: 9
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 0
|
|
- op: 1
|
|
valueIndex: 20
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 23
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 24
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 27
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 4
|
|
- op: 1
|
|
valueIndex: 31
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 6
|
|
valueIndex: 32
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: -1
|
|
- op: 1
|
|
valueIndex: 33
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 34
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 13
|
|
- op: 1
|
|
valueIndex: 35
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 8
|
|
valueIndex: 38
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: -1
|
|
- op: 1
|
|
valueIndex: 39
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 6
|
|
- op: 1
|
|
valueIndex: 40
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 56
|
|
valueIndex: 41
|
|
data[0]: 21
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 0
|
|
- op: 1
|
|
valueIndex: 45
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 48
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 26
|
|
valueIndex: 51
|
|
data[0]: 19
|
|
data[1]: 20
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 52
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 26
|
|
valueIndex: 55
|
|
data[0]: 19
|
|
data[1]: 25
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 56
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 17
|
|
- op: 1
|
|
valueIndex: 57
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 60
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 63
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 62
|
|
valueIndex: 64
|
|
data[0]: 24
|
|
data[1]: 23
|
|
data[2]: -1
|
|
data[3]: 6
|
|
- op: 26
|
|
valueIndex: 65
|
|
data[0]: 29
|
|
data[1]: 25
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 66
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 69
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 73
|
|
valueIndex: 72
|
|
data[0]: 32
|
|
data[1]: 31
|
|
data[2]: 37
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 73
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 76
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 77
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 72
|
|
valueIndex: 80
|
|
data[0]: 35
|
|
data[1]: 1
|
|
data[2]: -1
|
|
data[3]: 4
|
|
- op: 1
|
|
valueIndex: 81
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 84
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 87
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 88
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 73
|
|
valueIndex: 91
|
|
data[0]: 32
|
|
data[1]: 42
|
|
data[2]: 47
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 92
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 14
|
|
- op: 1
|
|
valueIndex: 93
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 94
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 73
|
|
valueIndex: 95
|
|
data[0]: 44
|
|
data[1]: 46
|
|
data[2]: 43
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 98
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 14
|
|
- op: 1
|
|
valueIndex: 99
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 100
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 14
|
|
- op: 1
|
|
valueIndex: 101
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 14
|
|
- op: 1
|
|
valueIndex: 102
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 104
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 106
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 108
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 110
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 112
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 114
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 116
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 118
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 120
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 122
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 124
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 126
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 128
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 130
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 132
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 133
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 136
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 139
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 7
|
|
- op: 1
|
|
valueIndex: 140
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 142
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 144
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 145
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 148
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 149
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 150
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 151
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 5
|
|
- op: 1
|
|
valueIndex: 152
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 153
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 155
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 158
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 4
|
|
- op: 1
|
|
valueIndex: 162
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 15
|
|
- op: 1
|
|
valueIndex: 163
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 31
|
|
valueIndex: 165
|
|
data[0]: 49
|
|
data[1]: 47
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 166
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 168
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 171
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 172
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 173
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 174
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 6
|
|
- op: 1
|
|
valueIndex: 175
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 57
|
|
valueIndex: 176
|
|
data[0]: 54
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 177
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 179
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 181
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 7
|
|
- op: 1
|
|
valueIndex: 182
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 1
|
|
valueIndex: 183
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 186
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 1
|
|
- op: 34
|
|
valueIndex: 187
|
|
data[0]: 45
|
|
data[1]: 43
|
|
data[2]: 53
|
|
data[3]: -1
|
|
- op: 1
|
|
valueIndex: 203
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 15
|
|
- op: 57
|
|
valueIndex: 204
|
|
data[0]: 56
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 205
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 7
|
|
- op: 1
|
|
valueIndex: 206
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 15
|
|
- op: 57
|
|
valueIndex: 207
|
|
data[0]: 57
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 208
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 210
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 212
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 4
|
|
- op: 1
|
|
valueIndex: 216
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 218
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 7
|
|
- op: 1
|
|
valueIndex: 219
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 221
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 57
|
|
valueIndex: 223
|
|
data[0]: 50
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 4
|
|
- op: 1
|
|
valueIndex: 224
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 3
|
|
- op: 1
|
|
valueIndex: 227
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 1
|
|
valueIndex: 229
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: 2
|
|
- op: 9
|
|
valueIndex: 231
|
|
data[0]: -1
|
|
data[1]: -1
|
|
data[2]: -1
|
|
data[3]: -1
|
|
m_NeedsLocalToWorld: 1
|
|
m_NeedsWorldToLocal: 0
|
|
m_NeededMainCameraBuffers: 0
|
|
m_PropertySheet:
|
|
m_Float:
|
|
m_Array:
|
|
- m_ExpressionIndex: 1
|
|
m_Value: 0.5
|
|
- m_ExpressionIndex: 3
|
|
m_Value: 1
|
|
- m_ExpressionIndex: 11
|
|
m_Value: 128
|
|
- m_ExpressionIndex: 12
|
|
m_Value: 6.2831855
|
|
- m_ExpressionIndex: 15
|
|
m_Value: 63
|
|
- m_ExpressionIndex: 18
|
|
m_Value: 31
|
|
- m_ExpressionIndex: 20
|
|
m_Value: -1
|
|
- m_ExpressionIndex: 25
|
|
m_Value: 3
|
|
- m_ExpressionIndex: 35
|
|
m_Value: 0
|
|
- m_ExpressionIndex: 42
|
|
m_Value: 1000
|
|
- m_ExpressionIndex: 47
|
|
m_Value: 0
|
|
- m_ExpressionIndex: 51
|
|
m_Value: 0.33
|
|
- m_ExpressionIndex: 52
|
|
m_Value: 0.03001
|
|
- m_ExpressionIndex: 55
|
|
m_Value: 64
|
|
- m_ExpressionIndex: 73
|
|
m_Value: 0.0003
|
|
- m_ExpressionIndex: 79
|
|
m_Value: 4
|
|
- m_ExpressionIndex: 81
|
|
m_Value: 360
|
|
- m_ExpressionIndex: 82
|
|
m_Value: 511
|
|
- m_ExpressionIndex: 83
|
|
m_Value: 0.2
|
|
- m_ExpressionIndex: 85
|
|
m_Value: 0.1
|
|
- m_ExpressionIndex: 94
|
|
m_Value: 0.01
|
|
- m_ExpressionIndex: 95
|
|
m_Value: 0.3
|
|
- m_ExpressionIndex: 96
|
|
m_Value: 256
|
|
- m_ExpressionIndex: 98
|
|
m_Value: 0.018
|
|
- m_ExpressionIndex: 103
|
|
m_Value: 90
|
|
- m_ExpressionIndex: 105
|
|
m_Value: 5
|
|
m_Vector2f:
|
|
m_Array:
|
|
- m_ExpressionIndex: 58
|
|
m_Value: {x: 0, y: 0}
|
|
- m_ExpressionIndex: 59
|
|
m_Value: {x: 0.3, y: 0.3}
|
|
- m_ExpressionIndex: 60
|
|
m_Value: {x: 0.9, y: 0.9}
|
|
- m_ExpressionIndex: 61
|
|
m_Value: {x: 12, y: 12}
|
|
- m_ExpressionIndex: 62
|
|
m_Value: {x: 1, y: 1}
|
|
- m_ExpressionIndex: 63
|
|
m_Value: {x: 1.1, y: 1.1}
|
|
- m_ExpressionIndex: 64
|
|
m_Value: {x: 1.7, y: 1.7}
|
|
- m_ExpressionIndex: 65
|
|
m_Value: {x: 1.9, y: 1.9}
|
|
- m_ExpressionIndex: 66
|
|
m_Value: {x: 2.1, y: 2.1}
|
|
- m_ExpressionIndex: 67
|
|
m_Value: {x: 2.6, y: 2.6}
|
|
- m_ExpressionIndex: 68
|
|
m_Value: {x: 2.9, y: 2.9}
|
|
- m_ExpressionIndex: 69
|
|
m_Value: {x: 0.5, y: 0.5}
|
|
- m_ExpressionIndex: 70
|
|
m_Value: {x: 2, y: 2}
|
|
- m_ExpressionIndex: 71
|
|
m_Value: {x: 1, y: 3}
|
|
- m_ExpressionIndex: 72
|
|
m_Value: {x: 0.04, y: 0.5}
|
|
- m_ExpressionIndex: 77
|
|
m_Value: {x: 0.125, y: 0.015625}
|
|
- m_ExpressionIndex: 78
|
|
m_Value: {x: 8, y: 64}
|
|
- m_ExpressionIndex: 86
|
|
m_Value: {x: 3, y: 3}
|
|
- m_ExpressionIndex: 90
|
|
m_Value: {x: 32, y: 32}
|
|
- m_ExpressionIndex: 92
|
|
m_Value: {x: 128, y: 128}
|
|
- m_ExpressionIndex: 100
|
|
m_Value: {x: 16, y: 16}
|
|
- m_ExpressionIndex: 101
|
|
m_Value: {x: 0.0625, y: 0.0625}
|
|
- m_ExpressionIndex: 112
|
|
m_Value: {x: 2.5, y: 0.0666}
|
|
- m_ExpressionIndex: 113
|
|
m_Value: {x: 3.37, y: 3.37}
|
|
- m_ExpressionIndex: 115
|
|
m_Value: {x: 5, y: 5}
|
|
- m_ExpressionIndex: 117
|
|
m_Value: {x: 1, y: 0.03125}
|
|
- m_ExpressionIndex: 118
|
|
m_Value: {x: 1, y: 32}
|
|
- m_ExpressionIndex: 121
|
|
m_Value: {x: 0.2, y: 0.01}
|
|
- m_ExpressionIndex: 122
|
|
m_Value: {x: 3.7, y: 3.7}
|
|
m_Vector3f:
|
|
m_Array:
|
|
- m_ExpressionIndex: 0
|
|
m_Value: {x: 1, y: 1, z: 0}
|
|
- m_ExpressionIndex: 4
|
|
m_Value: {x: 1, y: 0, z: 0}
|
|
- m_ExpressionIndex: 10
|
|
m_Value: {x: 31, y: 31, z: 1}
|
|
- m_ExpressionIndex: 14
|
|
m_Value: {x: 2, y: 2, z: 2}
|
|
- m_ExpressionIndex: 16
|
|
m_Value: {x: 1, y: 1, z: 1}
|
|
- m_ExpressionIndex: 22
|
|
m_Value: {x: 0, y: -0.3, z: 0}
|
|
- m_ExpressionIndex: 27
|
|
m_Value: {x: 0, y: 1, z: 0}
|
|
- m_ExpressionIndex: 28
|
|
m_Value: {x: -1, y: 0, z: 0}
|
|
- m_ExpressionIndex: 30
|
|
m_Value: {x: 0, y: -0.24, z: 0}
|
|
- m_ExpressionIndex: 33
|
|
m_Value: {x: 0, y: -0.2, z: 0}
|
|
- m_ExpressionIndex: 34
|
|
m_Value: {x: -0.26, y: 0.15, z: 0}
|
|
- m_ExpressionIndex: 38
|
|
m_Value: {x: -0.28, y: 0.12, z: 0}
|
|
- m_ExpressionIndex: 39
|
|
m_Value: {x: 0.3, y: 0, z: 0}
|
|
- m_ExpressionIndex: 41
|
|
m_Value: {x: 0.0008, y: 0.0008, z: 0.0008}
|
|
- m_ExpressionIndex: 43
|
|
m_Value: {x: 0, y: 0, z: 0}
|
|
- m_ExpressionIndex: 45
|
|
m_Value: {x: 0, y: 0, z: 0.03001}
|
|
- m_ExpressionIndex: 46
|
|
m_Value: {x: 0.0015, y: 0.0015, z: 0.0015}
|
|
- m_ExpressionIndex: 48
|
|
m_Value: {x: 0.01555, y: 0.01555, z: 0.01555}
|
|
- m_ExpressionIndex: 74
|
|
m_Value: {x: 0, y: 0.5, z: 0}
|
|
- m_ExpressionIndex: 75
|
|
m_Value: {x: 0.16, y: 0.16, z: 0.16}
|
|
- m_ExpressionIndex: 80
|
|
m_Value: {x: 0, y: 0.0013333322, z: 0.008}
|
|
- m_ExpressionIndex: 87
|
|
m_Value: {x: 0.14, y: 0.14, z: 0.14}
|
|
- m_ExpressionIndex: 93
|
|
m_Value: {x: 0, y: 0, z: 0.3}
|
|
- m_ExpressionIndex: 104
|
|
m_Value: {x: 0, y: 0, z: 0.2}
|
|
- m_ExpressionIndex: 120
|
|
m_Value: {x: -0.5, y: 0, z: 0}
|
|
m_Vector4f:
|
|
m_Array:
|
|
- m_ExpressionIndex: 17
|
|
m_Value: {x: 0, y: 0.015810808, z: 0.051999997, w: 0.43529412}
|
|
- m_ExpressionIndex: 88
|
|
m_Value: {x: 1, y: 1, z: 1, w: 0}
|
|
- m_ExpressionIndex: 114
|
|
m_Value: {x: 0, y: 0, z: 0, w: 0.5}
|
|
m_Uint:
|
|
m_Array:
|
|
- m_ExpressionIndex: 2
|
|
m_Value: 1024
|
|
- m_ExpressionIndex: 5
|
|
m_Value: 32
|
|
- m_ExpressionIndex: 6
|
|
m_Value: 1
|
|
- m_ExpressionIndex: 7
|
|
m_Value: 128
|
|
- m_ExpressionIndex: 8
|
|
m_Value: 64
|
|
- m_ExpressionIndex: 24
|
|
m_Value: 0
|
|
- m_ExpressionIndex: 97
|
|
m_Value: 4294967295
|
|
m_Int:
|
|
m_Array:
|
|
- m_ExpressionIndex: 84
|
|
m_Value: 1
|
|
m_Matrix4x4f:
|
|
m_Array: []
|
|
m_AnimationCurve:
|
|
m_Array:
|
|
- m_ExpressionIndex: 21
|
|
m_Value:
|
|
serializedVersion: 2
|
|
m_Curve:
|
|
- serializedVersion: 3
|
|
time: 0
|
|
value: 0
|
|
inSlope: 2.773055
|
|
outSlope: 2.773055
|
|
tangentMode: 0
|
|
weightedMode: 0
|
|
inWeight: 0
|
|
outWeight: 0
|
|
- serializedVersion: 3
|
|
time: 1
|
|
value: 1
|
|
inSlope: -0.024295244
|
|
outSlope: -0.024295244
|
|
tangentMode: 0
|
|
weightedMode: 0
|
|
inWeight: 0
|
|
outWeight: 0
|
|
m_PreInfinity: 2
|
|
m_PostInfinity: 2
|
|
m_RotationOrder: 4
|
|
m_Gradient:
|
|
m_Array:
|
|
- m_ExpressionIndex: 9
|
|
m_Value:
|
|
serializedVersion: 2
|
|
key0: {r: 0, g: 0, b: 0, a: 0}
|
|
key1: {r: 1, g: 1, b: 1, a: 1}
|
|
key2: {r: 0, g: 0, b: 0, a: 1}
|
|
key3: {r: 0, g: 0, b: 0, a: 0}
|
|
key4: {r: 0, g: 0, b: 0, a: 0}
|
|
key5: {r: 0, g: 0, b: 0, a: 0}
|
|
key6: {r: 0, g: 0, b: 0, a: 0}
|
|
key7: {r: 0, g: 0, b: 0, a: 0}
|
|
ctime0: 43562
|
|
ctime1: 44140
|
|
ctime2: 0
|
|
ctime3: 0
|
|
ctime4: 0
|
|
ctime5: 0
|
|
ctime6: 0
|
|
ctime7: 0
|
|
atime0: 43176
|
|
atime1: 44525
|
|
atime2: 65535
|
|
atime3: 0
|
|
atime4: 0
|
|
atime5: 0
|
|
atime6: 0
|
|
atime7: 0
|
|
m_Mode: 0
|
|
m_NumColorKeys: 2
|
|
m_NumAlphaKeys: 3
|
|
- m_ExpressionIndex: 50
|
|
m_Value:
|
|
serializedVersion: 2
|
|
key0: {r: 0, g: 0.16862746, b: 0.5, a: 0.53333336}
|
|
key1: {r: 0, g: 0.19888358, b: 0.48700982, a: 0.02745098}
|
|
key2: {r: 0, g: 0, b: 0, a: 0.02745098}
|
|
key3: {r: 0, g: 0, b: 0, a: 0}
|
|
key4: {r: 0, g: 0, b: 0, a: 0}
|
|
key5: {r: 0, g: 0, b: 0, a: 0}
|
|
key6: {r: 0, g: 0, b: 0, a: 0}
|
|
key7: {r: 0, g: 0, b: 0, a: 0}
|
|
ctime0: 0
|
|
ctime1: 11951
|
|
ctime2: 0
|
|
ctime3: 0
|
|
ctime4: 0
|
|
ctime5: 0
|
|
ctime6: 0
|
|
ctime7: 0
|
|
atime0: 0
|
|
atime1: 3662
|
|
atime2: 61102
|
|
atime3: 65535
|
|
atime4: 0
|
|
atime5: 0
|
|
atime6: 0
|
|
atime7: 0
|
|
m_Mode: 0
|
|
m_NumColorKeys: 2
|
|
m_NumAlphaKeys: 4
|
|
- m_ExpressionIndex: 54
|
|
m_Value:
|
|
serializedVersion: 2
|
|
key0: {r: 0.048988387, g: 0.40279338, b: 1.0396423, a: 0.09803922}
|
|
key1: {r: 0.17058155, g: 0.2737964, b: 0.8820315, a: 0.09803922}
|
|
key2: {r: 0, g: 0, b: 0, a: 0}
|
|
key3: {r: 0, g: 0, b: 0, a: 0}
|
|
key4: {r: 0, g: 0, b: 0, a: 0}
|
|
key5: {r: 0, g: 0, b: 0, a: 0}
|
|
key6: {r: 0, g: 0, b: 0, a: 0}
|
|
key7: {r: 0, g: 0, b: 0, a: 0}
|
|
ctime0: 0
|
|
ctime1: 27949
|
|
ctime2: 65535
|
|
ctime3: 0
|
|
ctime4: 0
|
|
ctime5: 0
|
|
ctime6: 0
|
|
ctime7: 0
|
|
atime0: 0
|
|
atime1: 65535
|
|
atime2: 0
|
|
atime3: 0
|
|
atime4: 0
|
|
atime5: 0
|
|
atime6: 0
|
|
atime7: 0
|
|
m_Mode: 0
|
|
m_NumColorKeys: 3
|
|
m_NumAlphaKeys: 2
|
|
- m_ExpressionIndex: 56
|
|
m_Value:
|
|
serializedVersion: 2
|
|
key0: {r: 0.048988387, g: 0.40279338, b: 1.0396423, a: 0.09803922}
|
|
key1: {r: 0.17058155, g: 0.2737964, b: 0.8820315, a: 0.09803922}
|
|
key2: {r: 0, g: 0, b: 0, a: 0}
|
|
key3: {r: 0, g: 0, b: 0, a: 0}
|
|
key4: {r: 0, g: 0, b: 0, a: 0}
|
|
key5: {r: 0, g: 0, b: 0, a: 0}
|
|
key6: {r: 0, g: 0, b: 0, a: 0}
|
|
key7: {r: 0, g: 0, b: 0, a: 0}
|
|
ctime0: 1173
|
|
ctime1: 27949
|
|
ctime2: 65535
|
|
ctime3: 0
|
|
ctime4: 0
|
|
ctime5: 0
|
|
ctime6: 0
|
|
ctime7: 0
|
|
atime0: 0
|
|
atime1: 65535
|
|
atime2: 0
|
|
atime3: 0
|
|
atime4: 0
|
|
atime5: 0
|
|
atime6: 0
|
|
atime7: 0
|
|
m_Mode: 0
|
|
m_NumColorKeys: 3
|
|
m_NumAlphaKeys: 2
|
|
- m_ExpressionIndex: 57
|
|
m_Value:
|
|
serializedVersion: 2
|
|
key0: {r: 0, g: 0.3036649, b: 0.9999999, a: 1}
|
|
key1: {r: 0, g: 0.20705484, b: 0.772549, a: 0.23921569}
|
|
key2: {r: 0, g: 0, b: 0, a: 0}
|
|
key3: {r: 0, g: 0, b: 0, a: 0}
|
|
key4: {r: 0, g: 0, b: 0, a: 0}
|
|
key5: {r: 0, g: 0, b: 0, a: 0}
|
|
key6: {r: 0, g: 0, b: 0, a: 0}
|
|
key7: {r: 0, g: 0, b: 0, a: 0}
|
|
ctime0: 0
|
|
ctime1: 1928
|
|
ctime2: 0
|
|
ctime3: 0
|
|
ctime4: 0
|
|
ctime5: 0
|
|
ctime6: 0
|
|
ctime7: 0
|
|
atime0: 0
|
|
atime1: 60138
|
|
atime2: 65535
|
|
atime3: 0
|
|
atime4: 0
|
|
atime5: 0
|
|
atime6: 0
|
|
atime7: 0
|
|
m_Mode: 0
|
|
m_NumColorKeys: 2
|
|
m_NumAlphaKeys: 3
|
|
m_NamedObject:
|
|
m_Array:
|
|
- m_ExpressionIndex: 76
|
|
m_Value: {fileID: 2800000, guid: 8eb88e901d7d6004d8773c99a160e235, type: 3}
|
|
- m_ExpressionIndex: 102
|
|
m_Value: {fileID: 2800000, guid: f862439e215185f42ae8c32cb7831015, type: 3}
|
|
- m_ExpressionIndex: 109
|
|
m_Value: {fileID: 2800000, guid: 74e896a19278a1048978c24f721a426f, type: 3}
|
|
- m_ExpressionIndex: 116
|
|
m_Value: {fileID: 2800000, guid: 334b7d2bced85cd4e99cfeae42035f9a, type: 3}
|
|
- m_ExpressionIndex: 89
|
|
m_Value: {fileID: 4300000, guid: bc31775c24e3b8f41be97aa27409e4b3, type: 2}
|
|
- m_ExpressionIndex: 107
|
|
m_Value: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
|
|
- m_ExpressionIndex: 110
|
|
m_Value: {fileID: 4300000, guid: 2ebe19eb4ec080544bbeb6cdc97750bf, type: 2}
|
|
m_Bool:
|
|
m_Array:
|
|
- m_ExpressionIndex: 32
|
|
m_Value: 0
|
|
m_ExposedExpressions:
|
|
- nameId: ARUI-Hover
|
|
index: 32
|
|
- nameId: ARUI-Reticula
|
|
index: 35
|
|
m_Buffers:
|
|
- type: 1
|
|
size: 7120
|
|
layout:
|
|
- name: position
|
|
type: 3
|
|
offset:
|
|
bucket: 0
|
|
structure: 4
|
|
element: 0
|
|
- name: texIndex
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 4
|
|
element: 3
|
|
- name: lifetime
|
|
type: 1
|
|
offset:
|
|
bucket: 4096
|
|
structure: 1
|
|
element: 0
|
|
- name: alive
|
|
type: 17
|
|
offset:
|
|
bucket: 5120
|
|
structure: 2
|
|
element: 0
|
|
- name: age
|
|
type: 1
|
|
offset:
|
|
bucket: 5120
|
|
structure: 2
|
|
element: 1
|
|
capacity: 1000
|
|
stride: 4
|
|
- type: 1
|
|
size: 512
|
|
layout:
|
|
- name: position
|
|
type: 3
|
|
offset:
|
|
bucket: 0
|
|
structure: 4
|
|
element: 0
|
|
- name: lifetime
|
|
type: 1
|
|
offset:
|
|
bucket: 256
|
|
structure: 1
|
|
element: 0
|
|
- name: texIndex
|
|
type: 1
|
|
offset:
|
|
bucket: 320
|
|
structure: 1
|
|
element: 0
|
|
- name: alive
|
|
type: 17
|
|
offset:
|
|
bucket: 384
|
|
structure: 2
|
|
element: 0
|
|
- name: age
|
|
type: 1
|
|
offset:
|
|
bucket: 384
|
|
structure: 2
|
|
element: 1
|
|
capacity: 64
|
|
stride: 4
|
|
- type: 1
|
|
size: 256
|
|
layout:
|
|
- name: position
|
|
type: 3
|
|
offset:
|
|
bucket: 0
|
|
structure: 4
|
|
element: 0
|
|
- name: lifetime
|
|
type: 1
|
|
offset:
|
|
bucket: 128
|
|
structure: 1
|
|
element: 0
|
|
- name: texIndex
|
|
type: 1
|
|
offset:
|
|
bucket: 160
|
|
structure: 1
|
|
element: 0
|
|
- name: alive
|
|
type: 17
|
|
offset:
|
|
bucket: 192
|
|
structure: 2
|
|
element: 0
|
|
- name: age
|
|
type: 1
|
|
offset:
|
|
bucket: 192
|
|
structure: 2
|
|
element: 1
|
|
capacity: 32
|
|
stride: 4
|
|
- type: 1
|
|
size: 1152
|
|
layout:
|
|
- name: position
|
|
type: 3
|
|
offset:
|
|
bucket: 0
|
|
structure: 8
|
|
element: 0
|
|
- name: targetPosition
|
|
type: 3
|
|
offset:
|
|
bucket: 0
|
|
structure: 8
|
|
element: 4
|
|
- name: size
|
|
type: 1
|
|
offset:
|
|
bucket: 1024
|
|
structure: 1
|
|
element: 0
|
|
capacity: 128
|
|
stride: 4
|
|
- type: 1
|
|
size: 45
|
|
layout:
|
|
- name: position
|
|
type: 3
|
|
offset:
|
|
bucket: 0
|
|
structure: 8
|
|
element: 0
|
|
- name: alpha
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 8
|
|
element: 3
|
|
- name: texIndex
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 8
|
|
element: 4
|
|
- name: angleZ
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 8
|
|
element: 5
|
|
- name: lifetime
|
|
type: 1
|
|
offset:
|
|
bucket: 32
|
|
structure: 1
|
|
element: 0
|
|
- name: alive
|
|
type: 17
|
|
offset:
|
|
bucket: 36
|
|
structure: 1
|
|
element: 0
|
|
- name: particleId
|
|
type: 6
|
|
offset:
|
|
bucket: 40
|
|
structure: 1
|
|
element: 0
|
|
- name: age
|
|
type: 1
|
|
offset:
|
|
bucket: 44
|
|
structure: 1
|
|
element: 0
|
|
capacity: 1
|
|
stride: 4
|
|
- type: 1
|
|
size: 4
|
|
layout:
|
|
- name: position
|
|
type: 3
|
|
offset:
|
|
bucket: 0
|
|
structure: 4
|
|
element: 0
|
|
capacity: 1
|
|
stride: 4
|
|
- type: 1
|
|
size: 7168
|
|
layout:
|
|
- name: position
|
|
type: 3
|
|
offset:
|
|
bucket: 0
|
|
structure: 4
|
|
element: 0
|
|
- name: texIndex
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 4
|
|
element: 3
|
|
- name: lifetime
|
|
type: 1
|
|
offset:
|
|
bucket: 4096
|
|
structure: 1
|
|
element: 0
|
|
- name: alive
|
|
type: 17
|
|
offset:
|
|
bucket: 5120
|
|
structure: 2
|
|
element: 0
|
|
- name: age
|
|
type: 1
|
|
offset:
|
|
bucket: 5120
|
|
structure: 2
|
|
element: 1
|
|
capacity: 1024
|
|
stride: 4
|
|
- type: 1
|
|
size: 1
|
|
layout:
|
|
- name: spawnCount
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 1
|
|
element: 0
|
|
capacity: 1
|
|
stride: 4
|
|
- type: 4
|
|
size: 1000
|
|
layout: []
|
|
capacity: 0
|
|
stride: 4
|
|
- type: 1
|
|
size: 1
|
|
layout: []
|
|
capacity: 0
|
|
stride: 4
|
|
- type: 1
|
|
size: 512
|
|
layout:
|
|
- name: position
|
|
type: 3
|
|
offset:
|
|
bucket: 0
|
|
structure: 4
|
|
element: 0
|
|
- name: lifetime
|
|
type: 1
|
|
offset:
|
|
bucket: 256
|
|
structure: 1
|
|
element: 0
|
|
- name: texIndex
|
|
type: 1
|
|
offset:
|
|
bucket: 320
|
|
structure: 1
|
|
element: 0
|
|
- name: alive
|
|
type: 17
|
|
offset:
|
|
bucket: 384
|
|
structure: 2
|
|
element: 0
|
|
- name: age
|
|
type: 1
|
|
offset:
|
|
bucket: 384
|
|
structure: 2
|
|
element: 1
|
|
capacity: 64
|
|
stride: 4
|
|
- type: 1
|
|
size: 1
|
|
layout:
|
|
- name: spawnCount
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 1
|
|
element: 0
|
|
capacity: 1
|
|
stride: 4
|
|
- type: 4
|
|
size: 64
|
|
layout: []
|
|
capacity: 0
|
|
stride: 4
|
|
- type: 1
|
|
size: 1
|
|
layout: []
|
|
capacity: 0
|
|
stride: 4
|
|
- type: 4
|
|
size: 64
|
|
layout: []
|
|
capacity: 0
|
|
stride: 4
|
|
- type: 0
|
|
size: 64
|
|
layout: []
|
|
capacity: 0
|
|
stride: 8
|
|
- type: 0
|
|
size: 64
|
|
layout: []
|
|
capacity: 0
|
|
stride: 8
|
|
- type: 1
|
|
size: 256
|
|
layout:
|
|
- name: position
|
|
type: 3
|
|
offset:
|
|
bucket: 0
|
|
structure: 4
|
|
element: 0
|
|
- name: lifetime
|
|
type: 1
|
|
offset:
|
|
bucket: 128
|
|
structure: 1
|
|
element: 0
|
|
- name: texIndex
|
|
type: 1
|
|
offset:
|
|
bucket: 160
|
|
structure: 1
|
|
element: 0
|
|
- name: alive
|
|
type: 17
|
|
offset:
|
|
bucket: 192
|
|
structure: 2
|
|
element: 0
|
|
- name: age
|
|
type: 1
|
|
offset:
|
|
bucket: 192
|
|
structure: 2
|
|
element: 1
|
|
capacity: 32
|
|
stride: 4
|
|
- type: 1
|
|
size: 1
|
|
layout:
|
|
- name: spawnCount
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 1
|
|
element: 0
|
|
capacity: 1
|
|
stride: 4
|
|
- type: 4
|
|
size: 32
|
|
layout: []
|
|
capacity: 0
|
|
stride: 4
|
|
- type: 1
|
|
size: 1
|
|
layout: []
|
|
capacity: 0
|
|
stride: 4
|
|
- type: 4
|
|
size: 32
|
|
layout: []
|
|
capacity: 0
|
|
stride: 4
|
|
- type: 0
|
|
size: 32
|
|
layout: []
|
|
capacity: 0
|
|
stride: 8
|
|
- type: 0
|
|
size: 32
|
|
layout: []
|
|
capacity: 0
|
|
stride: 8
|
|
- type: 1
|
|
size: 1152
|
|
layout:
|
|
- name: position
|
|
type: 3
|
|
offset:
|
|
bucket: 0
|
|
structure: 8
|
|
element: 0
|
|
- name: targetPosition
|
|
type: 3
|
|
offset:
|
|
bucket: 0
|
|
structure: 8
|
|
element: 4
|
|
- name: size
|
|
type: 1
|
|
offset:
|
|
bucket: 1024
|
|
structure: 1
|
|
element: 0
|
|
capacity: 128
|
|
stride: 4
|
|
- type: 1
|
|
size: 1
|
|
layout:
|
|
- name: spawnCount
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 1
|
|
element: 0
|
|
capacity: 1
|
|
stride: 4
|
|
- type: 1
|
|
size: 48
|
|
layout:
|
|
- name: position
|
|
type: 3
|
|
offset:
|
|
bucket: 0
|
|
structure: 8
|
|
element: 0
|
|
- name: alpha
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 8
|
|
element: 3
|
|
- name: texIndex
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 8
|
|
element: 4
|
|
- name: angleZ
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 8
|
|
element: 5
|
|
- name: lifetime
|
|
type: 1
|
|
offset:
|
|
bucket: 32
|
|
structure: 1
|
|
element: 0
|
|
- name: alive
|
|
type: 17
|
|
offset:
|
|
bucket: 36
|
|
structure: 1
|
|
element: 0
|
|
- name: particleId
|
|
type: 6
|
|
offset:
|
|
bucket: 40
|
|
structure: 1
|
|
element: 0
|
|
- name: age
|
|
type: 1
|
|
offset:
|
|
bucket: 44
|
|
structure: 1
|
|
element: 0
|
|
capacity: 4
|
|
stride: 4
|
|
- type: 1
|
|
size: 1
|
|
layout:
|
|
- name: spawnCount
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 1
|
|
element: 0
|
|
capacity: 1
|
|
stride: 4
|
|
- type: 4
|
|
size: 1
|
|
layout: []
|
|
capacity: 0
|
|
stride: 4
|
|
- type: 1
|
|
size: 1
|
|
layout: []
|
|
capacity: 0
|
|
stride: 4
|
|
- type: 1
|
|
size: 16
|
|
layout:
|
|
- name: position
|
|
type: 3
|
|
offset:
|
|
bucket: 0
|
|
structure: 4
|
|
element: 0
|
|
capacity: 4
|
|
stride: 4
|
|
- type: 1
|
|
size: 1
|
|
layout:
|
|
- name: spawnCount
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 1
|
|
element: 0
|
|
capacity: 1
|
|
stride: 4
|
|
- type: 4
|
|
size: 1
|
|
layout: []
|
|
capacity: 0
|
|
stride: 4
|
|
- type: 0
|
|
size: 1
|
|
layout: []
|
|
capacity: 0
|
|
stride: 8
|
|
- type: 0
|
|
size: 1
|
|
layout: []
|
|
capacity: 0
|
|
stride: 8
|
|
m_TemporaryBuffers: []
|
|
m_CPUBuffers:
|
|
- capacity: 1
|
|
stride: 1
|
|
layout:
|
|
- name: spawnCount
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 1
|
|
element: 0
|
|
initialData:
|
|
data: 00000000
|
|
- capacity: 1
|
|
stride: 1
|
|
layout:
|
|
- name: spawnCount
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 1
|
|
element: 0
|
|
initialData:
|
|
data: 00000000
|
|
- capacity: 1
|
|
stride: 1
|
|
layout:
|
|
- name: spawnCount
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 1
|
|
element: 0
|
|
initialData:
|
|
data: 00000000
|
|
- capacity: 1
|
|
stride: 1
|
|
layout:
|
|
- name: spawnCount
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 1
|
|
element: 0
|
|
initialData:
|
|
data: 00000000
|
|
- capacity: 1
|
|
stride: 1
|
|
layout:
|
|
- name: spawnCount
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 1
|
|
element: 0
|
|
initialData:
|
|
data: 00000000
|
|
- capacity: 1
|
|
stride: 1
|
|
layout:
|
|
- name: spawnCount
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 1
|
|
element: 0
|
|
initialData:
|
|
data: 00000000
|
|
- capacity: 1
|
|
stride: 1
|
|
layout:
|
|
- name: spawnCount
|
|
type: 1
|
|
offset:
|
|
bucket: 0
|
|
structure: 1
|
|
element: 0
|
|
initialData:
|
|
data: 00000000
|
|
m_Events:
|
|
- name: OnPlay
|
|
playSystems: 000000000100000002000000
|
|
stopSystems:
|
|
- name: OnStop
|
|
playSystems:
|
|
stopSystems: 000000000100000002000000
|
|
- name: InitSequence
|
|
playSystems: 050000000400000003000000
|
|
stopSystems:
|
|
m_RuntimeVersion: 10
|
|
m_RendererSettings:
|
|
motionVectorGenerationMode: 1
|
|
shadowCastingMode: 0
|
|
receiveShadows: 0
|
|
reflectionProbeUsage: 0
|
|
lightProbeUsage: 0
|
|
m_CullingFlags: 3
|
|
m_UpdateMode: 0
|
|
m_PreWarmDeltaTime: 0.05
|
|
m_PreWarmStepCount: 0
|
|
m_Systems:
|
|
- type: 0
|
|
flags: 0
|
|
capacity: 0
|
|
layer: 4294967295
|
|
buffers:
|
|
- nameId: spawner_output
|
|
index: 1
|
|
values: []
|
|
tasks:
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 62
|
|
- nameId: Delay
|
|
index: 58
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 0
|
|
flags: 0
|
|
capacity: 0
|
|
layer: 4294967295
|
|
buffers:
|
|
- nameId: spawner_output
|
|
index: 2
|
|
values: []
|
|
tasks:
|
|
- type: 268435456
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Rate
|
|
index: 91
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 0
|
|
flags: 0
|
|
capacity: 0
|
|
layer: 4294967295
|
|
buffers:
|
|
- nameId: spawner_output
|
|
index: 3
|
|
values: []
|
|
tasks:
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 92
|
|
- nameId: Delay
|
|
index: 58
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 0
|
|
flags: 0
|
|
capacity: 0
|
|
layer: 4294967295
|
|
buffers:
|
|
- nameId: spawner_output
|
|
index: 4
|
|
values: []
|
|
tasks:
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 70
|
|
- nameId: Delay
|
|
index: 58
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 70
|
|
- nameId: Delay
|
|
index: 59
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 70
|
|
- nameId: Delay
|
|
index: 69
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 61
|
|
- nameId: Delay
|
|
index: 60
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 62
|
|
- nameId: Delay
|
|
index: 63
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 62
|
|
- nameId: Delay
|
|
index: 64
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 70
|
|
- nameId: Delay
|
|
index: 65
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 62
|
|
- nameId: Delay
|
|
index: 66
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 70
|
|
- nameId: Delay
|
|
index: 67
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 62
|
|
- nameId: Delay
|
|
index: 68
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 62
|
|
- nameId: Delay
|
|
index: 86
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 62
|
|
- nameId: Delay
|
|
index: 113
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 268435457
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Count
|
|
index: 115
|
|
- nameId: Delay
|
|
index: 122
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 0
|
|
flags: 0
|
|
capacity: 0
|
|
layer: 4294967295
|
|
buffers:
|
|
- nameId: spawner_output
|
|
index: 5
|
|
values: []
|
|
tasks:
|
|
- type: 268435458
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: nb
|
|
index: 71
|
|
- nameId: period
|
|
index: 72
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 268435460
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: LoopCount
|
|
index: 84
|
|
- nameId: LoopDuration
|
|
index: 79
|
|
- nameId: Delay
|
|
index: 3
|
|
params: []
|
|
processor: {fileID: 11500000, guid: 6f6b8e2489fd4ea47b25d989c51b9f76, type: 3}
|
|
shaderSourceIndex: -1
|
|
- type: 0
|
|
flags: 0
|
|
capacity: 0
|
|
layer: 4294967295
|
|
buffers:
|
|
- nameId: spawner_output
|
|
index: 6
|
|
values: []
|
|
tasks:
|
|
- type: 268435456
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Rate
|
|
index: 42
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: -1
|
|
- type: 268435460
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: LoopCount
|
|
index: 84
|
|
- nameId: LoopDuration
|
|
index: 3
|
|
- nameId: Delay
|
|
index: 85
|
|
params: []
|
|
processor: {fileID: 11500000, guid: 6f6b8e2489fd4ea47b25d989c51b9f76, type: 3}
|
|
shaderSourceIndex: -1
|
|
- type: 1
|
|
flags: 1
|
|
capacity: 1000
|
|
layer: 4294967295
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 0
|
|
- nameId: sourceAttributeBuffer
|
|
index: 7
|
|
- nameId: deadList
|
|
index: 8
|
|
- nameId: deadListCount
|
|
index: 9
|
|
- nameId: spawner_input
|
|
index: 6
|
|
values:
|
|
- nameId: bounds_center
|
|
index: 43
|
|
- nameId: bounds_size
|
|
index: 14
|
|
tasks:
|
|
- type: 536870912
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 0
|
|
- nameId: deadListIn
|
|
index: 8
|
|
- nameId: deadListCount
|
|
index: 9
|
|
- nameId: sourceAttributeBuffer
|
|
index: 7
|
|
temporaryBuffers: []
|
|
values: []
|
|
params:
|
|
- nameId: bounds_center
|
|
index: 43
|
|
- nameId: bounds_size
|
|
index: 14
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 0
|
|
- type: 805306368
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 0
|
|
- nameId: deadListOut
|
|
index: 8
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: deltaTime_a
|
|
index: 19
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 1
|
|
- type: 1073741826
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 0
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: gradient_c
|
|
index: 99
|
|
- nameId: mainTexture
|
|
index: 102
|
|
params:
|
|
- nameId: sortPriority
|
|
index: 0
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 2
|
|
- type: 1073741826
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 0
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: gradient_c
|
|
index: 108
|
|
- nameId: distortionBlurMap
|
|
index: 102
|
|
params:
|
|
- nameId: sortPriority
|
|
index: 0
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 9
|
|
- type: 1
|
|
flags: 3
|
|
capacity: 64
|
|
layer: 4294967295
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 1
|
|
- nameId: sourceAttributeBuffer
|
|
index: 11
|
|
- nameId: deadList
|
|
index: 12
|
|
- nameId: deadListCount
|
|
index: 13
|
|
- nameId: spawner_input
|
|
index: 5
|
|
- nameId: indirectBuffer
|
|
index: 14
|
|
- nameId: sortBufferA
|
|
index: 15
|
|
- nameId: sortBufferB
|
|
index: 16
|
|
values:
|
|
- nameId: bounds_center
|
|
index: 43
|
|
- nameId: bounds_size
|
|
index: 14
|
|
tasks:
|
|
- type: 536870912
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 1
|
|
- nameId: deadListIn
|
|
index: 12
|
|
- nameId: deadListCount
|
|
index: 13
|
|
- nameId: sourceAttributeBuffer
|
|
index: 11
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: uniform_b
|
|
index: 36
|
|
params:
|
|
- nameId: bounds_center
|
|
index: 43
|
|
- nameId: bounds_size
|
|
index: 14
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 3
|
|
- type: 805306368
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 1
|
|
- nameId: deadListOut
|
|
index: 12
|
|
- nameId: indirectBuffer
|
|
index: 14
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: deltaTime_a
|
|
index: 19
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 4
|
|
- type: 805306369
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 1
|
|
- nameId: inputBuffer
|
|
index: 14
|
|
- nameId: outputBuffer
|
|
index: 15
|
|
- nameId: deadListCount
|
|
index: 13
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: localToWorld
|
|
index: 123
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 21
|
|
- type: 1073741826
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 1
|
|
- nameId: indirectBuffer
|
|
index: 14
|
|
- nameId: deadListCount
|
|
index: 13
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: gradient_e
|
|
index: 119
|
|
- nameId: mainTexture
|
|
index: 116
|
|
params:
|
|
- nameId: sortPriority
|
|
index: 0
|
|
- nameId: indirectDraw
|
|
index: 1
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 5
|
|
- type: 1
|
|
flags: 3
|
|
capacity: 32
|
|
layer: 4294967295
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 2
|
|
- nameId: sourceAttributeBuffer
|
|
index: 18
|
|
- nameId: deadList
|
|
index: 19
|
|
- nameId: deadListCount
|
|
index: 20
|
|
- nameId: spawner_input
|
|
index: 4
|
|
- nameId: indirectBuffer
|
|
index: 21
|
|
- nameId: sortBufferA
|
|
index: 22
|
|
- nameId: sortBufferB
|
|
index: 23
|
|
values:
|
|
- nameId: bounds_center
|
|
index: 43
|
|
- nameId: bounds_size
|
|
index: 14
|
|
tasks:
|
|
- type: 536870912
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 2
|
|
- nameId: deadListIn
|
|
index: 19
|
|
- nameId: deadListCount
|
|
index: 20
|
|
- nameId: sourceAttributeBuffer
|
|
index: 18
|
|
temporaryBuffers: []
|
|
values: []
|
|
params:
|
|
- nameId: bounds_center
|
|
index: 43
|
|
- nameId: bounds_size
|
|
index: 14
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 6
|
|
- type: 805306368
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 2
|
|
- nameId: deadListOut
|
|
index: 19
|
|
- nameId: indirectBuffer
|
|
index: 21
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: deltaTime_a
|
|
index: 19
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 7
|
|
- type: 805306369
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 2
|
|
- nameId: inputBuffer
|
|
index: 21
|
|
- nameId: outputBuffer
|
|
index: 22
|
|
- nameId: deadListCount
|
|
index: 20
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: localToWorld
|
|
index: 123
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 22
|
|
- type: 1073741826
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 2
|
|
- nameId: indirectBuffer
|
|
index: 21
|
|
- nameId: deadListCount
|
|
index: 20
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: gradient_d
|
|
index: 111
|
|
- nameId: mainTexture
|
|
index: 109
|
|
params:
|
|
- nameId: sortPriority
|
|
index: 0
|
|
- nameId: indirectDraw
|
|
index: 1
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 8
|
|
- type: 2
|
|
flags: 0
|
|
capacity: 0
|
|
layer: 4294967295
|
|
buffers: []
|
|
values:
|
|
- nameId: mesh
|
|
index: 107
|
|
- nameId: transform
|
|
index: 106
|
|
- nameId: subMeshMask
|
|
index: 97
|
|
tasks:
|
|
- type: 1073741824
|
|
buffers: []
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: subMeshMask
|
|
index: 97
|
|
- nameId: _BackgroundColor
|
|
index: 114
|
|
- nameId: _DotColor
|
|
index: 88
|
|
params:
|
|
- nameId: sortPriority
|
|
index: 0
|
|
processor: {fileID: -6465566751694194690, guid: 5b5d3a7b134e5f442a542a4c83065311,
|
|
type: 3}
|
|
shaderSourceIndex: -1
|
|
- type: 1
|
|
flags: 0
|
|
capacity: 128
|
|
layer: 4294967295
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 3
|
|
- nameId: sourceAttributeBuffer
|
|
index: 25
|
|
- nameId: spawner_input
|
|
index: 3
|
|
values:
|
|
- nameId: bounds_center
|
|
index: 43
|
|
- nameId: bounds_size
|
|
index: 14
|
|
tasks:
|
|
- type: 536870912
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 3
|
|
- nameId: sourceAttributeBuffer
|
|
index: 25
|
|
temporaryBuffers: []
|
|
values: []
|
|
params:
|
|
- nameId: bounds_center
|
|
index: 43
|
|
- nameId: bounds_size
|
|
index: 14
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 10
|
|
- type: 805306368
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 3
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: uniform_b
|
|
index: 40
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 11
|
|
- type: 1073741826
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 3
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: uniform_b
|
|
index: 26
|
|
- nameId: uniform_c
|
|
index: 13
|
|
- nameId: Alive_f
|
|
index: 44
|
|
params:
|
|
- nameId: sortPriority
|
|
index: 0
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 12
|
|
- type: 1
|
|
flags: 1
|
|
capacity: 1
|
|
layer: 4294967295
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 4
|
|
- nameId: sourceAttributeBuffer
|
|
index: 27
|
|
- nameId: deadList
|
|
index: 28
|
|
- nameId: deadListCount
|
|
index: 29
|
|
- nameId: spawner_input
|
|
index: 2
|
|
values:
|
|
- nameId: bounds_center
|
|
index: 43
|
|
- nameId: bounds_size
|
|
index: 14
|
|
tasks:
|
|
- type: 536870912
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 4
|
|
- nameId: deadListIn
|
|
index: 28
|
|
- nameId: deadListCount
|
|
index: 29
|
|
- nameId: sourceAttributeBuffer
|
|
index: 27
|
|
temporaryBuffers: []
|
|
values: []
|
|
params:
|
|
- nameId: bounds_center
|
|
index: 43
|
|
- nameId: bounds_size
|
|
index: 14
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 13
|
|
- type: 805306368
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 4
|
|
- nameId: deadListOut
|
|
index: 28
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: deltaTime_a
|
|
index: 19
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 14
|
|
- type: 1073741828
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 4
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Alive_d
|
|
index: 44
|
|
- nameId: mainTexture
|
|
index: 76
|
|
params:
|
|
- nameId: mesh
|
|
index: 89
|
|
- nameId: subMeshMask
|
|
index: 97
|
|
- nameId: sortPriority
|
|
index: 0
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 15
|
|
- type: 1073741828
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 4
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: uniform_b
|
|
index: 23
|
|
- nameId: Alive_e
|
|
index: 44
|
|
- nameId: mainTexture
|
|
index: 76
|
|
params:
|
|
- nameId: mesh
|
|
index: 110
|
|
- nameId: subMeshMask
|
|
index: 97
|
|
- nameId: sortPriority
|
|
index: 0
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 16
|
|
- type: 1
|
|
flags: 2
|
|
capacity: 1
|
|
layer: 4294967295
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 5
|
|
- nameId: sourceAttributeBuffer
|
|
index: 31
|
|
- nameId: spawner_input
|
|
index: 1
|
|
- nameId: indirectBuffer
|
|
index: 32
|
|
- nameId: sortBufferA
|
|
index: 33
|
|
- nameId: sortBufferB
|
|
index: 34
|
|
values:
|
|
- nameId: bounds_center
|
|
index: 43
|
|
- nameId: bounds_size
|
|
index: 14
|
|
tasks:
|
|
- type: 536870912
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 5
|
|
- nameId: sourceAttributeBuffer
|
|
index: 31
|
|
temporaryBuffers: []
|
|
values: []
|
|
params:
|
|
- nameId: bounds_center
|
|
index: 43
|
|
- nameId: bounds_size
|
|
index: 14
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 17
|
|
- type: 805306368
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 5
|
|
- nameId: indirectBuffer
|
|
index: 32
|
|
temporaryBuffers: []
|
|
values: []
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 18
|
|
- type: 805306369
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 5
|
|
- nameId: inputBuffer
|
|
index: 32
|
|
- nameId: outputBuffer
|
|
index: 33
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: localToWorld
|
|
index: 123
|
|
params: []
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 23
|
|
- type: 1073741826
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 5
|
|
- nameId: indirectBuffer
|
|
index: 32
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Alive_c
|
|
index: 44
|
|
params:
|
|
- nameId: sortPriority
|
|
index: 0
|
|
- nameId: indirectDraw
|
|
index: 1
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 19
|
|
- type: 1073741826
|
|
buffers:
|
|
- nameId: attributeBuffer
|
|
index: 5
|
|
- nameId: indirectBuffer
|
|
index: 32
|
|
temporaryBuffers: []
|
|
values:
|
|
- nameId: Alive_d
|
|
index: 44
|
|
params:
|
|
- nameId: sortPriority
|
|
index: 0
|
|
- nameId: indirectDraw
|
|
index: 1
|
|
processor: {fileID: 0}
|
|
shaderSourceIndex: 20
|
|
--- !u!114 &8926484042661614579
|
|
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: c1d66f9e59448b247b62112124b23213, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 114350483966674976}
|
|
m_Children: []
|
|
m_UIPosition: {x: -1165, y: -1213}
|
|
m_UICollapsed: 0
|
|
m_UISuperCollapsed: 0
|
|
m_InputSlots: []
|
|
m_OutputSlots:
|
|
- {fileID: 8926484042661615688}
|
|
--- !u!114 &8926484042661614823
|
|
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: 330e0fca1717dde4aaa144f48232aa64, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 114350483966674976}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 0
|
|
m_UISuperCollapsed: 0
|
|
m_InputSlots: []
|
|
m_OutputSlots:
|
|
- {fileID: 8926484042661614824}
|
|
m_ExposedName: ARUI-Hover
|
|
m_Exposed: 1
|
|
m_Order: 1
|
|
m_Category:
|
|
m_Min:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Max:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_IsOutput: 0
|
|
m_Tooltip:
|
|
m_Nodes:
|
|
- m_Id: 2
|
|
linkedSlots:
|
|
- outputSlot: {fileID: 8926484042661614824}
|
|
inputSlot: {fileID: 8926484042661615953}
|
|
position: {x: -483, y: -721}
|
|
expandedSlots: []
|
|
expanded: 0
|
|
--- !u!114 &8926484042661614824
|
|
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: b4c11ff25089a324daf359f4b0629b33, 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: 8926484042661614824}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661614823}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject: False
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: o
|
|
m_serializedType:
|
|
m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots:
|
|
- {fileID: 8926484042661615953}
|
|
--- !u!114 &8926484042661615108
|
|
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: c7acf5424f3655744af4b8f63298fa0f, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 114350483966674976}
|
|
m_Children: []
|
|
m_UIPosition: {x: -824, y: -1082}
|
|
m_UICollapsed: 0
|
|
m_UISuperCollapsed: 0
|
|
m_InputSlots:
|
|
- {fileID: 8926484042661615110}
|
|
- {fileID: 8926484042661615915}
|
|
m_OutputSlots:
|
|
- {fileID: 8926484042661615111}
|
|
m_Operands:
|
|
- name: b
|
|
type:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
- name: c
|
|
type:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
--- !u!114 &8926484042661615110
|
|
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: 8926484042661615110}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615108}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject: 0
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: b
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 0
|
|
m_LinkedSlots:
|
|
- {fileID: 8926484042661615113}
|
|
--- !u!114 &8926484042661615111
|
|
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: 8926484042661615111}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615108}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name:
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots:
|
|
- {fileID: 8926484042661615943}
|
|
- {fileID: 8926484042661615966}
|
|
--- !u!114 &8926484042661615112
|
|
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: 5d91ea3b9260bac49abf986d8a29ae4e, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 114350483966674976}
|
|
m_Children: []
|
|
m_UIPosition: {x: -1141, y: -1103}
|
|
m_UICollapsed: 0
|
|
m_UISuperCollapsed: 0
|
|
m_InputSlots: []
|
|
m_OutputSlots:
|
|
- {fileID: 8926484042661615113}
|
|
--- !u!114 &8926484042661615113
|
|
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: 8926484042661615113}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615112}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: "\u03B5"
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots:
|
|
- {fileID: 8926484042661615110}
|
|
--- !u!114 &8926484042661615579
|
|
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: 330e0fca1717dde4aaa144f48232aa64, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 114350483966674976}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 0
|
|
m_UISuperCollapsed: 0
|
|
m_InputSlots: []
|
|
m_OutputSlots:
|
|
- {fileID: 8926484042661615580}
|
|
m_ExposedName: Bounds
|
|
m_Exposed: 0
|
|
m_Order: 2
|
|
m_Category:
|
|
m_Min:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Max:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_IsOutput: 0
|
|
m_Tooltip:
|
|
m_Nodes: []
|
|
--- !u!114 &8926484042661615580
|
|
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: 1b605c022ee79394a8a776c0869b3f9a, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 0}
|
|
m_Children:
|
|
- {fileID: 8926484042661615581}
|
|
- {fileID: 8926484042661615585}
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615580}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615579}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: UnityEditor.VFX.AABox, Unity.VisualEffectGraph.Editor,
|
|
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
|
m_SerializableObject: '{"center":{"x":0.0,"y":0.0,"z":0.0},"size":{"x":2.0,"y":2.0,"z":2.0}}'
|
|
m_Space: 0
|
|
m_Property:
|
|
name: o
|
|
m_serializedType:
|
|
m_SerializableType: UnityEditor.VFX.AABox, Unity.VisualEffectGraph.Editor, Version=0.0.0.0,
|
|
Culture=neutral, PublicKeyToken=null
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615581
|
|
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: ac39bd03fca81b849929b9c966f1836a, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 8926484042661615580}
|
|
m_Children:
|
|
- {fileID: 8926484042661615582}
|
|
- {fileID: 8926484042661615583}
|
|
- {fileID: 8926484042661615584}
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615580}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: center
|
|
m_serializedType:
|
|
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
|
|
Culture=neutral, PublicKeyToken=null
|
|
attributes:
|
|
- m_Type: 3
|
|
m_Min: -Infinity
|
|
m_Max: Infinity
|
|
m_Tooltip: The centre of the box.
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615582
|
|
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: 8926484042661615581}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615580}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: x
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615583
|
|
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: 8926484042661615581}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615580}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: y
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615584
|
|
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: 8926484042661615581}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615580}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: z
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615585
|
|
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: ac39bd03fca81b849929b9c966f1836a, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 8926484042661615580}
|
|
m_Children:
|
|
- {fileID: 8926484042661615586}
|
|
- {fileID: 8926484042661615587}
|
|
- {fileID: 8926484042661615588}
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615580}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: size
|
|
m_serializedType:
|
|
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
|
|
Culture=neutral, PublicKeyToken=null
|
|
attributes:
|
|
- m_Type: 3
|
|
m_Min: -Infinity
|
|
m_Max: Infinity
|
|
m_Tooltip: The size of the box along each axis.
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615586
|
|
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: 8926484042661615585}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615580}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: x
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615587
|
|
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: 8926484042661615585}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615580}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: y
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615588
|
|
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: 8926484042661615585}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615580}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: z
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615688
|
|
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: 1b605c022ee79394a8a776c0869b3f9a, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 0}
|
|
m_Children:
|
|
- {fileID: 8926484042661615689}
|
|
- {fileID: 8926484042661615702}
|
|
- {fileID: 8926484042661615703}
|
|
- {fileID: 8926484042661615704}
|
|
- {fileID: 8926484042661615705}
|
|
- {fileID: 8926484042661615706}
|
|
- {fileID: 8926484042661615709}
|
|
- {fileID: 8926484042661615710}
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661614579}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: UnityEditor.VFX.CameraType, Unity.VisualEffectGraph.Editor,
|
|
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
|
m_SerializableObject: '{"transform":{"position":{"x":0.0,"y":0.0,"z":0.0},"angles":{"x":0.0,"y":0.0,"z":0.0},"scale":{"x":0.0,"y":0.0,"z":0.0}},"fieldOfView":0.0,"nearPlane":0.0,"farPlane":0.0,"aspectRatio":0.0,"pixelDimensions":{"x":0.0,"y":0.0},"depthBuffer":{"instanceID":0},"colorBuffer":{"instanceID":0}}'
|
|
m_Space: 1
|
|
m_Property:
|
|
name: o
|
|
m_serializedType:
|
|
m_SerializableType: UnityEditor.VFX.CameraType, Unity.VisualEffectGraph.Editor,
|
|
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615689
|
|
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: 3e3f628d80ffceb489beac74258f9cf7, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 8926484042661615688}
|
|
m_Children:
|
|
- {fileID: 8926484042661615690}
|
|
- {fileID: 8926484042661615694}
|
|
- {fileID: 8926484042661615698}
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 0
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: transform
|
|
m_serializedType:
|
|
m_SerializableType: UnityEditor.VFX.Transform, Unity.VisualEffectGraph.Editor,
|
|
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
|
attributes:
|
|
- m_Type: 3
|
|
m_Min: -Infinity
|
|
m_Max: Infinity
|
|
m_Tooltip: The camera's Transform in the world.
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615690
|
|
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: ac39bd03fca81b849929b9c966f1836a, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 8926484042661615689}
|
|
m_Children:
|
|
- {fileID: 8926484042661615691}
|
|
- {fileID: 8926484042661615692}
|
|
- {fileID: 8926484042661615693}
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: position
|
|
m_serializedType:
|
|
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
|
|
Culture=neutral, PublicKeyToken=null
|
|
attributes:
|
|
- m_Type: 3
|
|
m_Min: -Infinity
|
|
m_Max: Infinity
|
|
m_Tooltip: The transform position.
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615691
|
|
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: 8926484042661615690}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: x
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615692
|
|
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: 8926484042661615690}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: y
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615693
|
|
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: 8926484042661615690}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: z
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615694
|
|
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: ac39bd03fca81b849929b9c966f1836a, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 8926484042661615689}
|
|
m_Children:
|
|
- {fileID: 8926484042661615695}
|
|
- {fileID: 8926484042661615696}
|
|
- {fileID: 8926484042661615697}
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: angles
|
|
m_serializedType:
|
|
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
|
|
Culture=neutral, PublicKeyToken=null
|
|
attributes:
|
|
- m_Type: 4
|
|
m_Min: -Infinity
|
|
m_Max: Infinity
|
|
m_Tooltip:
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
- m_Type: 3
|
|
m_Min: -Infinity
|
|
m_Max: Infinity
|
|
m_Tooltip: The euler angles of the transform.
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615695
|
|
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: 8926484042661615694}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: x
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615696
|
|
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: 8926484042661615694}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: y
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615697
|
|
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: 8926484042661615694}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: z
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615698
|
|
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: ac39bd03fca81b849929b9c966f1836a, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 8926484042661615689}
|
|
m_Children:
|
|
- {fileID: 8926484042661615699}
|
|
- {fileID: 8926484042661615700}
|
|
- {fileID: 8926484042661615701}
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: scale
|
|
m_serializedType:
|
|
m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0,
|
|
Culture=neutral, PublicKeyToken=null
|
|
attributes:
|
|
- m_Type: 3
|
|
m_Min: -Infinity
|
|
m_Max: Infinity
|
|
m_Tooltip: The scale of the transform along each axis.
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615699
|
|
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: 8926484042661615698}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: x
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615700
|
|
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: 8926484042661615698}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: y
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615701
|
|
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: 8926484042661615698}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: z
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615702
|
|
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: 8926484042661615688}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: fieldOfView
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes:
|
|
- m_Type: 4
|
|
m_Min: -Infinity
|
|
m_Max: Infinity
|
|
m_Tooltip:
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
- m_Type: 0
|
|
m_Min: 0
|
|
m_Max: 3.1415927
|
|
m_Tooltip:
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
- m_Type: 3
|
|
m_Min: -Infinity
|
|
m_Max: Infinity
|
|
m_Tooltip: The field of view.
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615703
|
|
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: 8926484042661615688}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: nearPlane
|
|
m_serializedType:
|
|
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_Tooltip: The near plane.
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615704
|
|
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: 8926484042661615688}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: farPlane
|
|
m_serializedType:
|
|
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_Tooltip: The far plane.
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615705
|
|
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: 8926484042661615688}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: aspectRatio
|
|
m_serializedType:
|
|
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_Tooltip: The aspect ratio.
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615706
|
|
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: 1b2b751071c7fc14f9fa503163991826, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 8926484042661615688}
|
|
m_Children:
|
|
- {fileID: 8926484042661615707}
|
|
- {fileID: 8926484042661615708}
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: pixelDimensions
|
|
m_serializedType:
|
|
m_SerializableType: UnityEngine.Vector2, UnityEngine.CoreModule, Version=0.0.0.0,
|
|
Culture=neutral, PublicKeyToken=null
|
|
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_Tooltip: The width and height of the camera in pixels.
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615707
|
|
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: 8926484042661615706}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: x
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615708
|
|
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: 8926484042661615706}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: y
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615709
|
|
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: 70a331b1d86cc8d4aa106ccbe0da5852, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 8926484042661615688}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: depthBuffer
|
|
m_serializedType:
|
|
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
|
|
Culture=neutral, PublicKeyToken=null
|
|
attributes:
|
|
- m_Type: 3
|
|
m_Min: -Infinity
|
|
m_Max: Infinity
|
|
m_Tooltip: The depth buffer of the camera
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615710
|
|
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: 70a331b1d86cc8d4aa106ccbe0da5852, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 8926484042661615688}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 1
|
|
m_UISuperCollapsed: 0
|
|
m_MasterSlot: {fileID: 8926484042661615688}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 0}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: colorBuffer
|
|
m_serializedType:
|
|
m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0,
|
|
Culture=neutral, PublicKeyToken=null
|
|
attributes:
|
|
- m_Type: 3
|
|
m_Min: -Infinity
|
|
m_Max: Infinity
|
|
m_Tooltip: The color buffer of the camera
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 1
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615828
|
|
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: 330e0fca1717dde4aaa144f48232aa64, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 114350483966674976}
|
|
m_Children: []
|
|
m_UIPosition: {x: 0, y: 0}
|
|
m_UICollapsed: 0
|
|
m_UISuperCollapsed: 0
|
|
m_InputSlots: []
|
|
m_OutputSlots:
|
|
- {fileID: 8926484042661615829}
|
|
m_ExposedName: ARUI-Reticula
|
|
m_Exposed: 1
|
|
m_Order: 0
|
|
m_Category:
|
|
m_Min:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_Max:
|
|
m_Type:
|
|
m_SerializableType:
|
|
m_SerializableObject:
|
|
m_IsOutput: 0
|
|
m_Tooltip:
|
|
m_Nodes:
|
|
- m_Id: 0
|
|
linkedSlots:
|
|
- outputSlot: {fileID: 8926484042661615829}
|
|
inputSlot: {fileID: 8926484042661615831}
|
|
position: {x: -1057, y: -567}
|
|
expandedSlots: []
|
|
expanded: 0
|
|
--- !u!114 &8926484042661615829
|
|
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: 8926484042661615829}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615828}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject: 0
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: o
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots:
|
|
- {fileID: 8926484042661615831}
|
|
--- !u!114 &8926484042661615830
|
|
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: e25f6e0f52a260847818fb8b116806ae, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 114350483966674976}
|
|
m_Children: []
|
|
m_UIPosition: {x: -848, y: -628}
|
|
m_UICollapsed: 0
|
|
m_UISuperCollapsed: 0
|
|
m_InputSlots:
|
|
- {fileID: 8926484042661615831}
|
|
- {fileID: 8926484042661615832}
|
|
m_OutputSlots:
|
|
- {fileID: 8926484042661615833}
|
|
condition: 4
|
|
--- !u!114 &8926484042661615831
|
|
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: 8926484042661615831}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615830}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject: 0
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: left
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes:
|
|
- m_Type: 3
|
|
m_Min: -Infinity
|
|
m_Max: Infinity
|
|
m_Tooltip: The left operand.
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 0
|
|
m_LinkedSlots:
|
|
- {fileID: 8926484042661615829}
|
|
--- !u!114 &8926484042661615832
|
|
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: 8926484042661615832}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615830}
|
|
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: right
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes:
|
|
- m_Type: 3
|
|
m_Min: -Infinity
|
|
m_Max: Infinity
|
|
m_Tooltip: The right operand.
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 0
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615833
|
|
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: b4c11ff25089a324daf359f4b0629b33, 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: 8926484042661615833}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615830}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject: False
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: res
|
|
m_serializedType:
|
|
m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes:
|
|
- m_Type: 3
|
|
m_Min: -Infinity
|
|
m_Max: Infinity
|
|
m_Tooltip: The result of the comparison.
|
|
m_Regex:
|
|
m_RegexMaxLength: 0
|
|
m_Direction: 1
|
|
m_LinkedSlots:
|
|
- {fileID: 8926484042661615955}
|
|
--- !u!114 &8926484042661615912
|
|
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: 955b0c175a6f3bb4582e92f3de8f0626, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 114350483966674976}
|
|
m_Children: []
|
|
m_UIPosition: {x: -1153, y: -974}
|
|
m_UICollapsed: 0
|
|
m_UISuperCollapsed: 0
|
|
m_InputSlots:
|
|
- {fileID: 8926484042661615913}
|
|
m_OutputSlots:
|
|
- {fileID: 8926484042661615914}
|
|
m_Type:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
--- !u!114 &8926484042661615913
|
|
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: 8926484042661615913}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615912}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject: 0.03
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name:
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 0
|
|
m_LinkedSlots: []
|
|
--- !u!114 &8926484042661615914
|
|
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: 8926484042661615914}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615912}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject:
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name:
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 1
|
|
m_LinkedSlots:
|
|
- {fileID: 8926484042661615915}
|
|
--- !u!114 &8926484042661615915
|
|
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: 8926484042661615915}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615108}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject: 0
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: c
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 0
|
|
m_LinkedSlots:
|
|
- {fileID: 8926484042661615914}
|
|
--- !u!114 &8926484042661615942
|
|
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: 9207a95457a3f994581249dbe0a3409d, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 114350483966674976}
|
|
m_Children: []
|
|
m_UIPosition: {x: -287, y: -1243}
|
|
m_UICollapsed: 0
|
|
m_UISuperCollapsed: 0
|
|
m_InputSlots:
|
|
- {fileID: 8926484042661615943}
|
|
m_OutputSlots: []
|
|
m_Label:
|
|
m_Data: {fileID: 0}
|
|
m_InputFlowSlot:
|
|
- link: []
|
|
- link:
|
|
- context: {fileID: 8926484042661615944}
|
|
slotIndex: 0
|
|
m_OutputFlowSlot:
|
|
- link: []
|
|
m_Subgraph: {fileID: 8926484042661614526, guid: a012d7e2d1963b5439bccd6478791f75,
|
|
type: 3}
|
|
m_InputFlowNames:
|
|
- OnStop
|
|
- InitSequence
|
|
--- !u!114 &8926484042661615943
|
|
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: 8926484042661615943}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615942}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject: 0.03
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: NearPlaneDistance
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 0
|
|
m_LinkedSlots:
|
|
- {fileID: 8926484042661615111}
|
|
--- !u!114 &8926484042661615944
|
|
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: 2461f61b3c026d54db1951a4e17ab20e, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 114350483966674976}
|
|
m_Children: []
|
|
m_UIPosition: {x: -274, y: -1437}
|
|
m_UICollapsed: 0
|
|
m_UISuperCollapsed: 0
|
|
m_InputSlots: []
|
|
m_OutputSlots: []
|
|
m_Label:
|
|
m_Data: {fileID: 0}
|
|
m_InputFlowSlot:
|
|
- link: []
|
|
m_OutputFlowSlot:
|
|
- link:
|
|
- context: {fileID: 8926484042661615942}
|
|
slotIndex: 1
|
|
eventName: InitSequence
|
|
--- !u!114 &8926484042661615952
|
|
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: 9207a95457a3f994581249dbe0a3409d, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_Parent: {fileID: 114350483966674976}
|
|
m_Children: []
|
|
m_UIPosition: {x: -281, y: -803}
|
|
m_UICollapsed: 0
|
|
m_UISuperCollapsed: 0
|
|
m_InputSlots:
|
|
- {fileID: 8926484042661615953}
|
|
- {fileID: 8926484042661615966}
|
|
- {fileID: 8926484042661615955}
|
|
m_OutputSlots: []
|
|
m_Label:
|
|
m_Data: {fileID: 0}
|
|
m_InputFlowSlot:
|
|
- link: []
|
|
- link: []
|
|
m_OutputFlowSlot:
|
|
- link: []
|
|
m_Subgraph: {fileID: 8926484042661614526, guid: b5da5f3c58215f3418e2f4836c7ac94f,
|
|
type: 3}
|
|
m_InputFlowNames:
|
|
- OnPlay
|
|
- OnStop
|
|
--- !u!114 &8926484042661615953
|
|
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: b4c11ff25089a324daf359f4b0629b33, 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: 8926484042661615953}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615952}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject: False
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: Hover
|
|
m_serializedType:
|
|
m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 0
|
|
m_LinkedSlots:
|
|
- {fileID: 8926484042661614824}
|
|
--- !u!114 &8926484042661615955
|
|
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: b4c11ff25089a324daf359f4b0629b33, 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: 8926484042661615955}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615952}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject: True
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: Visible
|
|
m_serializedType:
|
|
m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 0
|
|
m_LinkedSlots:
|
|
- {fileID: 8926484042661615833}
|
|
--- !u!114 &8926484042661615966
|
|
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: 8926484042661615966}
|
|
m_MasterData:
|
|
m_Owner: {fileID: 8926484042661615952}
|
|
m_Value:
|
|
m_Type:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
m_SerializableObject: 0.03
|
|
m_Space: 2147483647
|
|
m_Property:
|
|
name: Near Plane Distance
|
|
m_serializedType:
|
|
m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral,
|
|
PublicKeyToken=b77a5c561934e089
|
|
attributes: []
|
|
m_Direction: 0
|
|
m_LinkedSlots:
|
|
- {fileID: 8926484042661615111}
|