I’m getting my head around the new POPs and there are a few things I could use some help with. I’m hoping it’ll help me get a better grasp on certain workflows so I can keep digging through the new operators.
In the example I’ve attached there are three field operators making ripples on a very subdivided box POP. This is kind of cool but I want to be able to be “dropping” these ripples using an event CHOP with sampled XYZ coordinates and such.
In this form it would mean I’d have to create and field POP per instance which sounds… awful.
I’m that I should probably be rendering out some kind of texture using a cube-map and then using a texture lookup POP to create my new “displacement attributes” which I can then add to The P attributes of my cube using a math mix POP or something like that.
Would this be a correct approach? If so, I haven’t been able figure out the sampling of my cube-map into POP attributes. I could use some direction regarding that.
Otherwise, would there be any other approaches using POPs that I should be looking at for this type of thing?
in short: how can I use an event CHOP to dynamically create or modify attributes?
I think there is something to be said of fields and other ops not being able to act on individual points from a second input or something. I had a situation yesterday like that where I wanted to rotate points around different pivots so being able to use a pivot attribute for a single transform POP would’ve been cool…I think we’re all going to encounter different variations of this same problem.
In regards to your example though I’d just use six XYZ = RGB style ramp TOPs to a UV Map and then use that UV Map into a lookup texture for your box. Then you can just displace via that.
I’ve attached how I’d approach it…a couple of notes…
I facet the cube so I can convert the Tex coords (UVs) to point coordinates from vertex coords. I don’t consolidate those points back in this example but you could just use a facet for that.
The ramp resolution in my case is 512x512 which isn’t the resolution of the cube…you could match it to that. fieldPOPtorus_Rich.toe (7.7 KB)
Indeed that would be the approach for now using only native POPs.
Having a way to specify multiple field at once (using points from a second input) with different compositing modes (add, intersect…) could be a cool feature indeed.
I’ll make a note internally. I’ll try to share a quick GLSL POP prototype in a bit.
I think that’s a bit of a different use case. In Owen’s case he’d like all the points to be affected by multiple fields.
We’ve actually started implementing the case you’re describing if you look at /perPoint_Parameter_Values in Overview.toe, using a special python expression.
It’s only in Transform POP and Noise POP for now.
Let us know what you think and if you think specific POPs/parameters would be especially useful - though we’re planning on adding to more POPs
I’ve just had a look at the prototype and it’s totally the type of workflow I would expect. Seems very powerful and also fairly intuitive to since it follows the same principles as instancing. Super fun!
I’m hoping there will be more similar types of things going on with the other POPs but haven’t been using them long enough to have any strong opinions yet. Perhaps yet another input for the field “mode” so you could input other POPs from your network and have them act as a field onto another POP?
I’ve attached a follow-up example using it the way I had previously been wanting to using the event CHOP (although I’ve still got to work out something regarding my object orientation).
There seems to be a bit of a bias in the the displacement effect but I could be just using it wrong. It seems like the further out I go from coordinates 0,0,0, the more the displacement is biased towards the relative direction to that point I’m in as opposed to strictly towards where the torus is.
@Ennui thanks for your the previous response. I’ve managed to get something cool going using a cube-map but it’s more difficult to rescale the torus shape if my box isn’t a cube. However it’s also a lot more flexible to use than the basic shapes offered in the field POP.
Thanks everyone, very excited about this stuff.
edit: oops I had a locked POP in there but it doesn’t seem to have saved to my file.
Specifying multiple fields in one Field POP (and multiple forces in one Force POP, maybe SDFs, or …) is something we’ve been thinking of. It is like the Geo Text COMP does it with its spec DAT table, and Timer CHOP and its segment table… using one POP with one field per point, and replacing specific parameters for each field using par name-matching… I think it’s a good common workflow, and we’re considering adding that as a feature.
It would be a welcome “native” addition for sure. I went Vincent way for filtering (glsl), but this was I was talking about (with you Greg) for effective multizone filtering solution for tracking with Lidars (which are all coming in pointclouds), Kinects, other sources. Glad it will be less laborious and more effective. It will cut of a lot of conversion steps actually. Thank you!
just adding to this post that this would be a super great addition and workflow for me as well.
I use the field to do volumetric effects from instrument input and have previously been spawning multiple instances using replicator and event type workflow. Would love to stress test this feature for the installation I have coming up in May!
you can already kind of do it in glsl whether with the shader vincent provided or with more traditional instancing workflow and glsl compute shader + glsl material. depending on number, sdf can be long to calculate. up to 100 should be alright though imho.