Mochie
1570056985 ago
Sorry if I came off as a jerk, I genuinely laughed at the mixup of GPU particles and GPU instancing, wasn't trying to rub it in your face. But the other issue here is that KFX shaders are full of keywords, which is a massive problem for VRChat right now. There's a limit on the number of keywords your client can have stored at one time (256) and it's often reached within the first few worlds a person visits. This means anything toggled by a keyword not already stored will be ignored and not work correctly. Replace your keyword usage with branched if statements (place UNITY_BRANCH above it) using the actual property value as the condition. Change the toggle checkboxes to use an underscore like this [Toggle(_)] and it wont use a slot.
1
Aidan
1570060517 ago
that moment when mochie tries to put me on luka blacklist for some made up reason ;)
0
Mochie
1570057303 ago
Mochie#8794
0
CorpseGod003
Author
1570057246 ago
Like this?: [Toggle(_FADING_ON)] _UseSoft("Use Soft Particles", Int) = 0
0
CorpseGod003
Author
1570057188 ago
do you have a discord Mochie?
0
CorpseGod003
Author
1570056602 ago
oof well at least I know this will be better in lavender, but it still has a bunch of other features anyways
0
Mochie
1570056420 ago
LOL that's not what gpu particles are my dude, those are a special mesh split into a shitload of quads using a geometry shader, with positioning data encoded into render textures, it has nothing to do with GPU instancing. And Kripto makes his packs for many unity versions, the GPU instancing support is meant for newer versions, not ours.
0
CorpseGod003
Author
1570056159 ago
then explain GPU Particles I have seen everywhere, and the Unity shader this is based on. Remember this is the KFX Particle Shader with a few tweaks
0
Mochie
1570056115 ago
You should try actually profiling these things before claiming they're providing a benefit.
0
Mochie
1570056020 ago
Not for particles...
Many other engines already use instancing for the particle systems, but Unity's system constructs a unique mesh for each emitter every frame and uploads it to the GPU. This means no two particle systems are the same mesh and thus instancing won't work on them.
0
CorpseGod003
Author
1570055941 ago
GPU instancing has been around for a long time
0
Mochie
1570055379 ago
GPU instanced particles weren't added until a later unity version, whatever you think you've done there doesn't actually work.
0