modelling with particle flow (lizard skin) problem with setting particles.


#1

Hi

i’m making dragon scales on the dragon’s skin with shape instance, but when i make the particle count dense enough so that it covers all vertices, there are a lot of places that have multiple shape instances on a single vert.

Can i set it up so that only one particle is attached to one vert only?

i’m using position object (plane) with distribute to vertices and shape instance and tried all options in these 2 nodes. nothing works.


#2

as much as I know, there is no direct way to distribute particles from every single vertex; at least without using ToolBoxes.
though you can always use script operators to do so. Imagine your object is called “Dragon_Skin”. First create a pflow and replace the Birth operator with a Birth Script and replace the default script with the following code:


on ChannelsUsed pCont do
(
	 pCont.useTime = true
	 pCont.useAge = true
	 pCont.usePosition = true

)

on Init pCont do 
(
 
)

on Proceed pCont do 
(

	t1 = pCont.getTimeEnd() as float

	
	if t1 == 0 do

		(
			local theMesh = snapshotAsMesh $Dragon_Skin
			local theCount = theMesh.numVerts
			for i = 1 to theCount do
			(
				curTime = 8*i as float
				pCont.AddParticle()
				pCont.particleIndex = pCont.NumParticles()
				pCont.particleTime = 0
				pCont.particleAge = 0
				pCont.particlePosition = getVert theMesh i
			)
			delete theMesh1
		)

)

on Release pCont do 
(
 
)

then you can use a “Speed by Surface” operator with zero speed to get their rotation correct
but there is a problem with this code: It does not work with animated object. What you can do is to get a snapshot from your particles and attach this object to your main object.


#3

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.