Mochie
5y 260d 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
5y 260d ago
that moment when mochie tries to put me on luka blacklist for some made up reason ;)
0
Mochie
5y 260d ago
Mochie#8794
0
CorpseGod003
Author
5y 260d ago
Like this?: [Toggle(_FADING_ON)] _UseSoft("Use Soft Particles", Int) = 0
0
CorpseGod003
Author
5y 260d ago
do you have a discord Mochie?
0
CorpseGod003
Author
5y 260d 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
5y 260d 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
5y 260d 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
5y 260d ago
You should try actually profiling these things before claiming they're providing a benefit.
0
Mochie
5y 260d 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
5y 260d ago
GPU instancing has been around for a long time
0
Mochie
5y 260d ago
GPU instanced particles weren't added until a later unity version, whatever you think you've done there doesn't actually work.
0