Jump to content
snd200x

How to add continuously generated geometry into simulation?

Recommended Posts

I was trying to re-create the effect in this video

So I was trying to set up a cloth simulation that take in continuously generated geometry.
I could make the geo in SOP with a very simple set up.(scene file attached)
But I couldn't find a way to take it into DOP.
Anyone know how to do it?
 

generate_geo.hipnc

Share this post


Link to post
Share on other sites

Well, it's just geometry, so you just use whatever type of DOP you want to deform it like cloth or FEM.

Alternatively, you could just run some noise through it, which is way faster and easier to control.

generate_geo_KF.hipnc
 

Share this post


Link to post
Share on other sites

Thanks for reply~
Adding noise is nice but I think using simulation still offer you more option if you want collision or interaction.
If I simply import this procedural generated geo into DOP, it will stay in the state of the frame it was created instead of generating new geo every frame.

This is the problem I was trying to solve.

Share this post


Link to post
Share on other sites

since anim pointed out the 'all geometry' mode for pops recently, i've been throwing all sorts of things at it. here i get a cross section curve of the mocap guy, run it into pops with some wind, interact, drag, then skin it. sorta works.

cloth_style_trails.hipnc

cloth_trails.gif

Share this post


Link to post
Share on other sites

Those are nice examples. Any tips on how to get the UVs to work correctly so they don't stretch?

Share this post


Link to post
Share on other sites

I tried keeping @age from the pop sim, and do this in a wrangle:

v@uv = set(@P.y, @age, 0);

 

 

cloth_trails_uv.gif

Edited by mestela
  • Like 3

Share this post


Link to post
Share on other sites
14 hours ago, snd200x said:

Thanks for reply~
Adding noise is nice but I think using simulation still offer you more option if you want collision or interaction.
If I simply import this procedural generated geo into DOP, it will stay in the state of the frame it was created instead of generating new geo every frame.

This is the problem I was trying to solve.

right. So just generate all the geometry first, then simulate it. This would work fine, unless you are trying to do something where there is some sort of behavior you need connected to the exact emission point. You could blend between the static model and the simulated model after it's been simulated. for example if you had the full mesh simulated, then had an attribute applied by it's length, you could blend from simulated to not simulated. the Geometry could be revealed with a carve, in comp, or just post simulation point cull.

I should add that I'm talking about the video you posted which doesn't have much movement and basically no (some well hidden) interaction.

 

kf

Edited by kungFu

Share this post


Link to post
Share on other sites

@Matt: Pulling the @age down to re-include it later does work. I have placed the MocapBiped on a curve to try to extend the length of the animation. I do get a trail of geometry behind the walking biped but I am wondering how to cause the newly created geometry to fade. Or how to specify some kind of trail length? In the PopNet if I reduce Life Expectancy it does cause the trail to start to disappear, but as soon as the first particle dies all the geometry generated disappears..?

ap_me_cloth_style_trails_with_UVs.hipnc

Screen Shot 2016-05-12 at 10.49.42 AM.png

 

In the example video it looks like the trail is made up of the same fabric/texture that the subject is wearing. Is that just carefully crafted texture work or is there a way to transfer the texture from the subject to the trail?

Screen Shot 2016-05-12 at 11.18.09 AM.png

Edited by Atom

Share this post


Link to post
Share on other sites

Just typing out loud before going to bed, you should be able to do something after you skin the geometry using @age, either blasting (eg @age>0.5), or maybe setting @Alpha in a wrangle( eg @Alpha = fit(@age,0,0.7,1,0); ). 

 

Re texturing, hmm. I wager for a production shot you'd probably want to generate a texture from the plate, similar to what Sid at the Mill did for that chemical brothers clip to generate a clean plate; using a tracked camera, combine all the frames of the video to get a combined high res texture that chooses the best pixels from each moment in time, like a slit scan. You can see there's more to it than that in the lyrca commercial, there's nice repeating patterns. Maybe they were rolling the virtual scanline back and forth to generate those patterns, or they just got the resulting pattern, unwrapped it onto a flat uv texture as a guide, then repainted up a nice high-res map.

For a a mocap guy demo like this, you could go more low tech, copy the uv's from the source shape onto the curve, then in a point vop drive @Cd from the same texture map that is used for the mocap guy. 

 (edit)

Damnit Atom, had to give it a go... ;)

cloth_trails_alpha_cd.hipnc

 

cloth_trails_basic_col_and_fade.gif

Edited by mestela

Share this post


Link to post
Share on other sites

The delete by age does certainly work. I added a little lift in the PopNetwork via a LocalForce to keep the trail up off the ground. I am not familiar with the @Alpha. Does that affect the Material at render time?

Screen Shot 2016-05-12 at 12.08.34 PM.png

ap_me_cloth_style_trails_with_UVs.hipnc

Share this post


Link to post
Share on other sites

I bet this will be another gold thread to follow !

thanks guys !

 

the connection of the "trail geo" to the subject can be hard to manage, no?

 

Share this post


Link to post
Share on other sites

Depends on the material; if it does a bind to @Alpha, yes. I think the standard mantra material does that, not sure about the others.

Share this post


Link to post
Share on other sites
20 minutes ago, 6ril said:

I bet this will be another gold thread to follow !

thanks guys !

 

the connection of the "trail geo" to the subject can be hard to manage, no?

 

I just did it in the laziest way possible, if you cared you'd properly draw a curve (or curves) on your geo, not just do a hacky cookie+smooth like I did.

The point deform to bind the curve to the moving geo seems pretty solid, you can see its mainly where the curve isn't direclty stuck to the surface on the bind pose (or it smears between areas it shouldn't, like going from the arm to the hips), that it gets mildly confused.

 

Share this post


Link to post
Share on other sites

I added a UV Transform and tried out an equatorial map for the diffuse texture. I think a long thin texture might be the way to go for this style effect.

 

Untitled-1.jpg

Share this post


Link to post
Share on other sites

@Matt: I just noticed your Alpha example file and thought I'd give it a try. I went ahead and installed an alternate MOCAP file (playground - climb, hang, hold self up with arms straight, swing, drop, sit, dangle legs, go under) to drive the biped to see what affect real world data might have on the effect. While I do see the alpha effect in the viewport I don't see it in the render.

ap_me_cloth_trails_alpha_cd.hipnc

Untitled-1.jpg

Edited by Atom

Share this post


Link to post
Share on other sites

I guess you have to actually add a Mantra surface to the Trail object. Once I did that, the alpha on the render trail started matching the viewport.

 

Here is a slow basketball dribble .bclip driving the biped. A hard coded 1 second fade.

Untitled-1.jpg

 

A longer trail with fade linked to particle life expectancy.

Untitled-1.jpg

 

Here is a dance .bclip with a mid-air spin.Untitled-1.jpg

 

More basketball dribble.

Untitled-1.jpg

 

Another trail mistake.

Untitled-1.jpg

ap_me_cloth_uv_trails_1a.hipnc

 

Edited by Atom

Share this post


Link to post
Share on other sites

I made an attempt at trying to simplify Matt's setup so I could get a better "seal" between the original object and the trail generated object. In this setup I use an animated font. I discarded any rest geometry and just fed the font into the cookie. The animation of the source does happen along another line. I removed the FOREACH loop and just skin directly, it does seem to work.

Untitled-1.jpg

ap_font_continuous_trail.hipnc

Edited by Atom
  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×