I was wondering what mesh data is being passed from the visual fx graph to a custom shader graph when using particle output quad. Right now it seems to be just uvs and position? Vertex color just comes out black.
When using the standard shader its working fine though.
No additional data. This works like normal shader with predefined quad mesh. This quad has standard UV, but vertex color is black for all of them and I think that is all. However if you use custom mesh you can read vertex color and it will be the one you provided.
If you want to get particle attribute in shader you can just pass it as shader property.
That’s a shame - to do proper particle shaders the particle color (usually passed as vertex color) is incredibly useful. I suppose the feature is still preview but I hope that will be supported!
@HouseofSecrets Sorry, I’m not sure I’m following (but I’m also new to vfx graph). Just to clarify, I mean per particle color, do shaders for vfx graph follow different rules? Usually per particle color and such is passed in via mesh data.
In shuriken particle system. All Vfx graph calculations and particles data are on GPU. Data is stored as attributes, when you click the system you can see data structure in the inspector - each particle has one and they are sotred in array. When you add block like “Set Color” or “Set Size” it sets attribute for given particle, and later when you render the particle you can pass anything you want to the output shader. You just need to expose the property and feed with any data you want.