Jump to content

Emit Particles from Texture, low res model


oaschwab

Recommended Posts

OK I've been trying to do a tutorial and then do it again my own way to make sure I'm understanding it. I've watched the applied houdini particles 1, and the entagma particles tutorial where they emit particles using the point color. The problem is that both of them do it by using a high res model or subdividing it to get high res. Is there a way to get it to work on a lower resolution model and scattering points on it like I have in my attachment? It looks like Houdini only allows the emission attribute if you use the "scatter on surface" in the Pop source. The problem is that then it inherits a low resolution version of the color attribute.

I did search and there is an old thread about this but I guess the HIP files are a much older version that does not open correctly in my houdini 18 apprentice.

particles 1.hipnc

Link to comment
Share on other sites

well I just did the logical thing, either do the noise on your prims...or transfer the noise on points to the prims

- then popnet will work in surface mode...lowres. That what you want ?

(the transfer method seem to be nicer...up the Max Sample Count, while the do direct to prims is harsher)

 

vu_particles_lowres.hipnc

Edited by Noobini
Link to comment
Share on other sites

6 hours ago, Noobini said:

well I just did the logical thing, either do the noise on your prims...or transfer the noise on points to the prims

- then popnet will work in surface mode...lowres. That what you want ?

(the transfer method seem to be nicer...up the Max Sample Count, while the do direct to prims is harsher)

 

vu_particles_lowres.hipnc

Thank you for taking the time to do this. Neither of those quite work. If you wire in a Cube primitive then you'll see that it still only emits from a corner gradient. I understand in these instances it would be easiest just to apply a subdivide node but I'm just imagining a mesh that has both high and low density areas and it's not practical to keep subdividing. I guess one could remesh it but that seem computationally intensive. I just figured there has to be a way to use the point color from the scatter node.

Below is the example. The first image shows the scatter node colors. The second shows how it transfers to the low res cube when it comes time to emit. It's only transferring a little white to the one corner.

 

Capture.PNG

Capture2.PNG

Link to comment
Share on other sites

seems like you use a very bias situation (an extremely basic box) to make your point.

to me this is like asking...how do i bend a 1x1x1 box ? well you can't...coz there's not enough segments for it to bend.

here I used a 8x8x8 box, with Scale Point Count by Area

Scale Point Count by Area will help...but if you use a 1x1x1 box...goodluck with doing anything decent with a 1x1x1 box.

(yeah alright, that makes it a 7x7x7 segments box).

 

Area.jpg

Edited by Noobini
Link to comment
Share on other sites

3 minutes ago, Noobini said:

seems like you use a very bias situation (an extremely basic box) to make your point.

to me this is like asking...how do i bend a 1x1x1 box ? well you can't...coz there's not enough segments for it to bend.

here I used a 8x8x8 box, with Scale Point Count by Area

Scale Point Count by Area will help...but if you use a 1x1x1 box...goodluck with doing anything decent with a 1x1x1 box.

 

 

Area.jpg

No it’s just the easiest way to show the problem. Like I said it’s not difficult to find yourself using a model that has very high density parts and low density parts like a car. Obviously subdividing some already high poly models doesn’t make sense just to add points to larger areas that don’t have a lot of detail. Remesh would work but it seems computationally intensive. 

Link to comment
Share on other sites

since you are scattering points onto your low res geo and then creating the emission mask, you can just delete by that value and source from points, so:

- set Global Seed on your Scatter to $FF so that it's random every timestep

- add point wrangle right before popnet with something like this: 

float w = luminance(v@Cd);
if (rand(@ptnum) > w) removepoint(0, @ptnum);

- set Emission Type to All Points (and conrol the actual density in your scatter) or Points (and use birthrate, but that will potentially reuse emission points)

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...