Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Question Efficient way to have radial mirror of output?

Discussion in 'Visual Effect Graph' started by FuzzyOnion, Feb 26, 2023.

  1. FuzzyOnion

    FuzzyOnion

    Joined:
    Aug 22, 2014
    Posts:
    33
    Hi,

    I'm trying to get a kaleidoscope effect using vfx graph and I'd like to have radial duplicates of a graph.
    My current solution is to have a separate output for each copy with a different rotation. I've been trying to find a better way.

    Any help is appreciated!
     
  2. DigitalChaotics

    DigitalChaotics

    Joined:
    Dec 18, 2013
    Posts:
    25
    You have to do the math in the graph.

    Set things up to switch the particle position/etc based upon 'particleId', combined with a modulo of your kaleido count. That is, if you're doing a six-way kaleidoscope, then every 6th particle belongs to the corresponding slice.
     
    FuzzyOnion likes this.
  3. FuzzyOnion

    FuzzyOnion

    Joined:
    Aug 22, 2014
    Posts:
    33
    I've considered going down that path but wouldn't I then have to duplicate the updates for each slice? I'm wondering if it's possible to slice things up after the turbulence/velocity/position are calculated. Maybe in a single output?

    I'm currently using multiple outputs from the same update context to do this and am wondering if there's a better way of doing this than a unique output for each slice.
     
  4. DigitalChaotics

    DigitalChaotics

    Joined:
    Dec 18, 2013
    Posts:
    25
    I do the split upstream, when I'm calculating the initial position. I do the modulo on the particleId, and the set the position. That IS the slice, in effect.

    Turbulence downstream is it's own math-universe. Let it be.