Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice
  3. Dismiss Notice

VFX Graph - spawn a VFX Effect instance multiple times, randomly on the surface of a sphere

Discussion in 'Graphics Experimental Previews' started by bioflakesorg, Dec 11, 2019.

  1. bioflakesorg

    bioflakesorg

    Joined:
    Jun 14, 2019
    Posts:
    2
    Hey all, first post here

    I've been running into some trouble recently getting this to work as I'm very new to VFX Graph. I'm working on a little "realistic" sun project of mine that I've been trying to get where I want it to be.
    I got a sphere of particles and would like to spawn another different particle effect, something like a little explosion of smaller spheres, randomly on the surface of this main sphere. Iddeally, it'd be facing outwards of the sphere, with some turbulence applied later to make it look better.

    I've tried doing this with some randomized vector3 positions but I just can't get it to work. I'd be glad for any help.
     
  2. Olmi

    Olmi

    Joined:
    Nov 29, 2012
    Posts:
    1,553
    Hi,
    It's a bit hard to help when you just say "can't get it to work". How should that be interpreted? You don't know how to implement certain particle behavior or you the result does not look correct? Can you show some work in progress images or something. Dilmer and ErbGameArt and a few others have done some sun effect tutorials/videos so it might be worth checking those first.
     
  3. bioflakesorg

    bioflakesorg

    Joined:
    Jun 14, 2019
    Posts:
    2
    Hey, thanks for the quick reply. Indeed I could have explained it better.

    I have already gone through some of Dilmer and ErbGameArt's videos, which have helped me enormously to get to the point where I am at.

    To get particles to spawn on the surface of a sphere I have tried a bunch of things like conforming them to spheres, then spawning other effects with GPU Events, or using this blogpost:
    https://dev.to/_darrenburns/simulating-millions-of-particles-to-create-the-sun-2ppo
    for some information on this. He seems to do it with a "vector of random numbers" which I've also tried and could not get to work at all. What I instead get is more of a cylindrical sphere from this.

    All I want to do is spawn an effect - if necessary through events - on random positions on the surface of my spherical object.
     
  4. Olmi

    Olmi

    Joined:
    Nov 29, 2012
    Posts:
    1,553
    I can check that sun thing you mentioned a bit later today. But another way could be to create a few "trail makers" that spawn particles, and then you perturb those particle positions so that they don't just stay like a chain of particles in space. This is a bit too complicated to explain without images so I can do it later, maybe. But you can do this the same way as trails can be made - you could spawn a particle on death using GPUEvent, then make this particle travel the trajectory and live the time as you would want many particles to do, then in this particles update, trigger GPUEvent every frame. Now these final spawned particles will be your visible particles.

    EDIT: Latest versions of the VEG have new samples, there's Heads & Trails sample, it might give you some ideas.
     
    Last edited: Dec 11, 2019
    ATate likes this.