Particle System Surface/Vertex Location bugged?

Hi,

this is my first experience with UE. I’ve read a lot about particle systems, since I need to use them and I saw that are very powerful here in UE.
My point is that I need to spawn them uniformly along all the surfaces of an actor. I’ve noticed that with the most simple actor (a skeletal cube) it spawn only in 2 fixed positions per surface instead of spawn them uniformly.
As far as I understood it spawn only in the exact position of the normal.
Did I miss some steps or it is not doing what is suppose to do?
Is it possible to create a C++ script to spawn uniformly along every surface?

Thanks

Andrea

Hey iferoporefi -

I am not seeing the exact behavior you are experiencing? Can you let me know what version of the editor you are using? The Particle Sprites should spawn anywhere along the surface but should face the normal of the surface they are spawning.

The spawning in a uniform amount along each plane would be difficult from just one emitter. You could use a single particle system and enforce a Normal Check, assigning the correct normal to each face (Top = 0,0,1, Bottom, 0,0,-1, etc.) for the test and then spawn an exact number in each emitter.

Let me know -

Eric Ketchum

Hi,

sorry, this were busy days and I totally forgot to reply back.
I’m using 4.6.1 OSX version of the editor.

29814-schermata+2015-02-07+alle+09.12.45.png

this is what append, it looks like is spawning only on the exact point of the Normals.

Hey iferoporefi -

I am not getting the same results on our Mac here. Would it be possible to send me a test level which shows this error for you? In the meantime, as a general test make sure you test with the Engine Scalability Settings set to EPIC if you have not already.

Thank You

Eric Ketchum

I’ve tried even with the EPIC settings, nothing new under the sun.

link text

I’ve attached the particle system created. maybe the problem is some wrong setting.

here it is the test level requested

link text

Hey iferoporefi -

After a bit of research and looking at the code to confirm, the Surface selection for this module does return only the normal locations for each triangle in the mesh as a spawn point. I happen to be using a Skeletal Mesh Cube that had multiple (read MANY) verts and hence I glanced at it and it looked correct for me. Sorry for the confusion. However the answer to you is increase the subdivisions for your mesh to get increasingly smaller triangle subdivisions. Unless you are trying to get a single source in the center of each face on the cube, in which case I would place a socket at each location and use the socket location module to pull that spawn point into Cascade.

Thank You for your Question and again sorry for the earlier confusion.

Eric Ketchum

Hey Eric,

thank you for the quick response. I want the emitter to spawn along the whole surface, so I do have to increase the subdivision of the mesh.
Since I need to do that to a lot of objects in a scene maybe it will decrease fps.

Thanks for the answer.
Is there a way to add my needs on a “to-do list” of yours?
Or is there a way to edit the code in some specific position to do it myself? (it is better to know already where to look at)

Regards

Andrea Pacino

Hey Andrea -

Sorry for the delayed response. The Code for this check can be found in the ParticleModules_Location.cpp file beginning around ln. 1997 (you can also run a find search for SkelVertSurface in that file and you should find it that way as well.)

Thank You

Eric Ketchum