View Full Version : Box#3 Beginner question - Data Channels
I'm simply trying to get information from one event to another using a data channel.
Both events have a data operator.
The first event scales particles randomly and I want the particles in the second event to use that scaling data.
I've got a Output New suboperator in the first event set to global, and i've got a Input Custom suboperator in the second event to pick up the data channel. However I can't seem to pick up any data from the channel. The output is always zero.
How do I get the data from a data channel from one event to the other?
05 May 2011, 07:57 PM
I really have no idea what you are trying to do. How do you want to use that scale data?
Here is an example:
Thanks a lot for the example John!
It looks pretty much spot on for what I need. Mainly it would seem I need to spend a lot more time figuring out how exactly box#3 and the mechanics behind particles work.
What I was trying to do is have a particle increase in size as it moved away from a mesh, which was pretty simple to do in Box#3. (Not sure if it matters, but I used average scale instead of vector scale in the data channel).
Then I wanted to use the scale data together with the particle's age to change the size of the particles in another event (These are particles which which spawn the particle that moves away from mesh and these are glued to a control particle on the mesh and each other).
I'll have to look at your example file in more detail to make sure this will work for me. If not i'll be back! Thanks again for the example :)
05 May 2011, 09:09 PM
np, Cool sounds interesting. Let me know :)
So, after a lot of fiddling around with your rig i've managed to to utilize data channels up to a certain degree. Although I confess, I'm still not entirely sure how they actually work.
The main issue i'm running into is the data channel picking up information from other particles in other events. I'm sure this is intended, however i've got no idea how to work around it. I need the data from a single particle in a event to use on all the particles in another event, but I get all the particle data, which is then used for the calculations.
I've attached a simplified example to show what i'm trying to do.
The idea here is that the the spawned particles make an hourglass shape, using the single particle distance from mesh data in the "spawn" event. What I would guess happens is the particle distance from mesh data from the "sit" event is used instead.
05 May 2011, 05:51 PM
Hmm, well when using Scale Average, IIRC, it is best represented with the use of percentages and not world units.
Switching all of your world units to percentages yields a matching result. Is this what you where trying to achieve? The Scale matching from Spawn and Sit?
06 June 2011, 11:08 AM
Hey John, thanks again! That wasn't quiet the issue I was struggling with but it's still an really nice tip. Makes the flow more accurate and a lot neater!
What i'm trying to achieve is getting the particle distance from the mesh from the spawn event and using that to effect the size of the particles in the sit event. Half the of particles should match (the ones closer to the spawn event particle), the other half should use the particle distance from the mesh from the spawn event to effect scale. The further the particle in event one the bigger the particle. The way I planned it, the first particle should match the size of the last particle, and the second particle should match the size of the second last particle and so on.
I'll give you an example to try and clear things up.
This is what I want: At frame 160, the particle in the spawn event has a distance of 78,5 from the mesh. The "middle" sub operator in the sit event should read 39,25.
Particle 0 has a distance of 1 from them mesh. 39,25 > 1. Meaning the pipe line will use R3.
R3 = (78,5 - 1)*0.05 = 3,875 which is used as the average scale.
This is what happens: At frame 160, the particle in the spawn even has a distance of 78,5 from the mesh. The "middle" sub operator in the sit event reads 0,25 (This is where my flow messes up. Sub operator Middle gives the particle distance from the mesh from particle 0 in the sit event, I need it to give the particle distance from the mesh from particle 0 in the spawn event).
Particle 0 has a distance of 1 from them mesh. 0,25 > 1. Meaning the pipe line will use R2.
R2 = 1*0,05 = 0,05 which will be used as the average scale.
I hope this clears up what i'm trying to do and the problem i'm running into. Again thanks for all the help and sorry if the description wasn't clear enough last time!
06 June 2011, 07:09 PM
Well I chose to use Age and Distance instead of just Distance. There may be a better approach this seemed the easiest most straightforward and stick with what you originally wanted to do, which was use a control particle. For instance the rescale growth for the second half particles are a manual setting (it is currently set to frame 160) a little more work you could automate it.
Any questions just ask :)
06 June 2011, 08:32 AM
Extremely helpful! Especially the CenterParticleIndex to divide the particles into two groups. Your flow is pretty straight forward and I don't really have any questions (yet)! ;)
There's so many ways to solve a problem in box#3. Using the particle age is probably a more practical solution. For me it's quiet hard to to get a good overview of all the options available, and then picked the right one. I guess that's just a matter of time, once i've worked with box#3 more often it should be easier.
Thanks again, for all the help and the modified flow! Once i've finished this project i'll be sure to post some results :)
06 June 2011, 08:32 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.