Uniform nParticle surface emission?

589 views
Skip to first unread message

Steve Davy

unread,
Feb 9, 2013, 3:27:48 PM2/9/13
to Maya Group
I'm emitting nParticles from geometry with the intention of using them to generate a mesh afterwards. I have very long, thin strands of perfectly straight geo to do this, and ideally want perfectly straight lines of corresponding particles to generate a clean, straight mesh.

However, it seems like no matter how narrow these strands of geo, the nParticles emit somewhat randomly across the geo width, resulting in a knobbly effect, which translates into a knobbly mesh. It doesn't seem to matter how narrow I make the geo -- to the point of it being basically non existent except mathematically and having to pick it in the hypergraph -- there is always a certain amount of deviation from perfectly straight in the nParticles' emission positions.

I've been right through all the attrs on both emitter and particles, and turned any attributes that I thought might be causing this to zero (conserve of course included), but it's still happening. There are no forces or anything else affecting the particles -- once they emit they don't do anything else.

Is there some tolerance setting buried somewhere that may be causing this?

Alternatively, is there any way to emit particles directly from poly edges?

Sachin Shrestha

unread,
Feb 9, 2013, 3:39:41 PM2/9/13
to maya...@googlegroups.com
Haven't tried this with nParticles but in the old classic particle I could connect the outMesh or worldMesh from the poly to the inputGeometry of the particle shape node. This creates a particle at every vertex. So if you have a mesh where the edges are already lined up and the mesh is dense enough then you can get the particles per vertex. If this does not work with nParticles then maybe simply emit again from the old particle.

Or you can use SOuP nodes to emit from every vertex position using pointCloudEmitter.
--
You received this message because you are subscribed to the Google Groups "maya_he3d" group.
To unsubscribe from this group and stop receiving emails from it, send an email to maya_he3d+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 


--
Sent from iPad

Steve Davy

unread,
Feb 9, 2013, 4:17:51 PM2/9/13
to Maya Group
Actually I want to emit enough particles to mesh, so need way more than I'd get just at verts (for my purposes the lighter the generating geo the better, but I need lots and lots of particles). But I want them to emit cleanly -- essentially along edges, with their centers accurately aligned along the edge, not deviating randomly from it, if that makes sense.


Date: Sun, 10 Feb 2013 02:09:41 +0530
Subject: Re: [maya_he3d] Uniform nParticle surface emission?
From: noizf...@gmail.com
To: maya...@googlegroups.com

matt estela

unread,
Feb 9, 2013, 5:05:54 PM2/9/13
to maya...@googlegroups.com
Might have to get cheaty...

Apply a uniform per-face uv mapping, set an expression that only allows particles to live if their parent uv position is one of (0.5,0), (0.5,1), (0,0.5), (1,0.5)?

Steve Davy

unread,
Feb 9, 2013, 5:22:54 PM2/9/13
to Maya Group
Hm, UVs aren't really a practical option as I have tons of organically generated geo.

Anyone know why the deviation is occuring though? Assuming a particle is really only defined by its center, I don't understand why this is happening. If it's just mathematical imprecision it seems to be pretty bad -- I might expect to see that if I looked at particle emission coordinates (e.g. with say 0.0001 % inaccuracy, or some other such number based on Maya's limitations), but I wouldn't expect to be able to eyeball it. But this is quite noticeable even in the viewport.

Or maybe I'm misinterpreting how particles are emitted -- I'm certainly no dynamics expert.

Is there any way to emit directly from poly edges? The only reason the geometry exists is due to the absence of the built-in ability to do this in Maya.


Date: Sun, 10 Feb 2013 09:05:54 +1100

Subject: Re: [maya_he3d] Uniform nParticle surface emission?

matt estela

unread,
Feb 9, 2013, 9:55:01 PM2/9/13
to maya...@googlegroups.com
Its been aaages since I've used maya dynamics in anger, but there's a few things I think I remember:

-the random emission thing is a 'feature', once you make an object a geometry emitter, it'll emit from the entire surface randomly by design. The occasional behaviour of particles only emitting from vertices is a mis-feature, when the emission type is set to point.

-particles and emitters understand very little of the geometry they emit from. you get parentU and parentV, but thats about it. you could maybe hijack a samplerinfo node, and use mel calls from within your particle expression to query things like the closest edge to a worldspace point, but obviously thats going to get incredibly slow very quickly

-you might be able to get this info very quickly via SOuP, I haven't tried

-my uv suggestion was because last i checked there's an almost instant method to take every face of a shape and map each face into the 0-1 uv square. from that point it'd be easy to query the parentU parentV per particle attribute as i suggested.

-yet another cheaty option would be to convert all edges to curves, then emit from curves, again querying the parentU to make sure its at 0.5. i'm positive there's a way to do that internally these days (if not from the convert menu, then via paintfx, or toon, or bonus tools), there'd be a creative crash script floating around I'm sure.



Duncan Brinsmead

unread,
Feb 10, 2013, 11:43:07 PM2/10/13
to maya...@googlegroups.com
If the particles have emission velocity then the positions will not start exactly on the surface because the emission time is also randomized within the frame. One can back up the particles to the exact surface based on their age and velocity. (I've got a script that does this, but I'm currently away from the office the next week, so I can't get it for you)

If the surface and particles are not moving then I'm not sure of your problem.

Also to emit from edges you could create a toon line object for the mesh and convert that to poly, then emit from the resulting mesh. On the toon line node turn off all edges except for creases and make the creaseAngle min/max zero.(hardEdges only off) Also make the crease line width very small, but not zero. This will create triangle tubes along all edges after convert to poly.

Duncan

From: maya...@googlegroups.com [maya...@googlegroups.com] on behalf of Steve Davy [stevi...@hotmail.com]
Sent: Sunday, February 10, 2013 11:22 AM
To: Maya Group
Subject: RE: [maya_he3d] Uniform nParticle surface emission?

Steve Davy

unread,
Feb 11, 2013, 10:13:45 PM2/11/13
to Maya Group
Neither the geo nor the particles are moving -- I'm simply using geo to emit static particles to generate a model.

I'm using the Multitool plugin from Ticket01 to generate geo from edges:

http://ticket01.com/multitool/

The offset on the resulting multitool node is being set to several decimal places to keep the width of the geo to an absolute minimum (at around 0.00001 the particle emission stops working properly), so it sounds like this is very similar to going the toon line route? But, still not getting perfectly aligned particles. I will try toon lines though and see if that makes any difference.


Subject: RE: [maya_he3d] Uniform nParticle surface emission?
Date: Mon, 11 Feb 2013 04:43:07 +0000

Steve Davy

unread,
Feb 13, 2013, 3:35:49 AM2/13/13
to Maya Group
Seems like this is mostly a world scale issue... I hadn't realized but I was working at a pretty small scale.

Increasing overall scale so that particles had a radius of around 1 seemed to see the problem start to become less noticeable.


To: maya...@googlegroups.com
Subject: RE: [maya_he3d] Uniform nParticle surface emission?
Date: Mon, 11 Feb 2013 19:13:45 -0800

Duncan Brinsmead

unread,
Feb 13, 2013, 9:40:05 PM2/13/13
to maya...@googlegroups.com
Perhaps you have self collision enabled on your particle system, in which case they push apart based on the radius at collision time.


Sent: Wednesday, February 13, 2013 9:35 PM
Reply all
Reply to author
Forward
0 new messages