View Full Version : Why is surface cloner mode not random?
rirad 10-07-2006, 02:40 PM I am playing with the r10 demo and started to look into MoGraph. What I noticed is that the surface cloner mode not randomly places clones along the surface of the object but is biased towards high density polygon areas. I did a search but aparently nobody seems to bother. Don't people find this a severe limitation, or is there an other way to do it?
|
|
AdamT
10-07-2006, 02:45 PM
Change the default "Mode" from vertex to surface.
rirad
10-07-2006, 02:49 PM
I did. Also the random seed does not help. For example, clone a platonic object onto Meg's mesh. In surface mode, you will endup with meg wearing, gloves socks and a mask ;)
I hope I am doing someting wrong...
JoelOtron
10-07-2006, 02:56 PM
Nevermind--I was wrong
AdamT
10-07-2006, 02:56 PM
Yeah, it does seem to still take mesh density into account. As a workaround you could use two cloners with selection sets, assigning fewer clones to the high-density selections.
rirad
10-07-2006, 02:56 PM
Try applying to her base mesh--not the HN
Thats what I did...
rirad
10-07-2006, 02:59 PM
Yeah, it does seem to still take mesh density into account. As a workaround you could use two cloners with selection sets, assigning fewer clones to the high-density selections.
Yes that should do the trick but not realy a nice solution. I hope maxon considers this as a bug and is able to fix it. Seems important to me.
AdamT
10-07-2006, 03:05 PM
Yes that should do the trick but not realy a nice solution. I hope maxon considers this as a bug and is able to fix it. Seems important to me.
Already reported. :)
JoelOtron
10-07-2006, 03:06 PM
Another workaround would be to use the shader effector with a black and white noise shader in it. Set the effector to visibility only.
If you want to animate the clone growth, keyframe the shader noise color values.
If you want random placement--add a randomize effector with position turned on on the x and y.
AdamT
10-07-2006, 03:09 PM
Another workaround would be to use the shader effector with a black and white noise shader in it. Set the effector to visibility only.
If you want to animate the clone growth, keyframe the shader noise color values.
If you want random placement--add a randomize effector with position turned on on the x and y.
Good one. Shoulda thought of that myself.
JoelOtron
10-07-2006, 03:14 PM
Good one. Shoulda thought of that myself.
Yes--I'm very dissapointed, Adam. ;)
I think you can also animate growth without messing with ths shader values---Min and Max keyframing might do it.
I've noticed this issue too (getting true random placement)--but wasnt sure of it was something I was just doing wrong. Glad its being reported.
rirad
10-07-2006, 03:30 PM
Another workaround would be to use the shader effector with a black and white noise shader in it. Set the effector to visibility only.
If you want to animate the clone growth, keyframe the shader noise color values.
If you want random placement--add a randomize effector with position turned on on the x and y.
Makes sense but I can't get it to work. If I use the shader effector I get less clones but on the places where clones are the density is still high for the high poly areas.
With the randomize effector I can't get the clones to stay on the mesh. The clones are repositioned in 3D instead of texture space.
JoelOtron
10-07-2006, 03:44 PM
Makes sense but I can't get it to work. If I use the shader effector I get less clones but on the places where clones are the density is still high for the high poly areas.
With the randomize effector I can't get the clones to stay on the mesh. The clones are repositioned in 3D instead of texture space.
You know--I think your right--your still going to get more clones where theres higher mesh density no matter what you do. The shader effector will just randomly make those clones visible.
I'll look into the randomize positioning.
rirad
10-07-2006, 04:59 PM
Try adding fur to the meg mesh. It's the same problem. She will be growing a beard and has hairy hands and feet. Growing hair on her does work (hairs are equally distributed in the render) although the splines generated in the editor window also concentrate in poly dense areas.
--so, another bug?---
AdamT
10-07-2006, 05:28 PM
Try adding fur to the meg mesh. It's the same problem. She will be growing a beard and has hairy hands and feet. Growing hair on her does work (hairs are equally distributed in the render) although the splines generated in the editor window also concentrate in poly dense areas.
--so, another bug?---
First of all, I think the MoGraph thing is probably a limitation rather than a bug.
Second, it's not true of Hair if you set guide placement to polygon area or several of the other modes. You have to change "Map" to "New" and you may have to update the guides.
rirad
10-07-2006, 05:49 PM
First of all, I think the MoGraph thing is probably a limitation rather than a bug.
Maybe. But it would be much better if it was a real random surface distribution.
Second, it's not true of Hair if you set guide placement to polygon area or several of the other modes. You have to change "Map" to "New" and you may have to update the guides.
You are right. I am not familiar with hair. I just noticed that the guides localized like the cloner objects but when rendering the hairs were distributed randomly. But changing the root field to polygon area resulted in a random distribution of the guides.
But i did not find the distibution option in the fur object. And here, rendered hairs are, unlike the hair object, distributed according to mesh density. The density field could be used to correct for this I guess but that would require to make a texture map and set the grey intensities by trial and error.
AdamT
10-07-2006, 07:01 PM
Yep, the fur object is just intended to be a quick solution. If you need finer control use the hair object.
Per-Anders
10-07-2006, 07:36 PM
It is random. However as when modifying the clone count rather than completely regenerating the whole dataset it adds to it which results in when you slowly slider the clone count up new clones getting placed more frequently on denser mesh areas. Just change the random seed, or play the document and rewind (or even save and load) for it to settle into the correct distribution for the number of clones. This is why surface distribution was set to not animate previously, it's a current limitation.
rirad
10-08-2006, 12:00 PM
It is random. However as when modifying the clone count rather than completely regenerating the whole dataset it adds to it which results in when you slowly slider the clone count up new clones getting placed more frequently on denser mesh areas.
Makes sense..
Just change the random seed, or play the document and rewind (or even save and load) for it to settle into the correct distribution for the number of clones.
I tried this but it does not seem to help. The default 20 clones are already concentrated especially on her hands. I figured from your reply that if I typed 200 clones and pressed enter (instead of dragging the slider) they would be more random organized but it didn't. Changing the random seed still concentrated the clones on the dense areas. Play and rewind did not reorganize the clones. I can't try the save and reload option since I use the demo.
But thanks for all the help guys. I hope this limitation can an will be solved.
Per-Anders
10-08-2006, 08:04 PM
What are you cloning on? Can you explain yrou scene setup please? (also a screen grab would be useful).
rirad
10-09-2006, 07:29 PM
This is what I did.
I opened Meg from the content browser (Maxon->Cinema 4D->Humans). I moved the mesh object (called Mesh) out of the hiarchy, deleted the rest (hypernurbs object with childs) . I ending up with only the mesh object. I created a cloner object and a cube. Dragged the cube as child of the cloner object.
|Cloner
-Cube
|Mesh
Select the cloner object. In the OM, set mode to object and drag the mesh object to the object field. Set mode to surface. Increase the clone count to 200.
The cube clones will be concentrated on her hands, feet and face (ears as well). Changing the random seed does not help. The cubes change position but are still concentrated on the hands feet and face.
I hope this is a bit more clear.
rirad
10-09-2006, 07:40 PM
I tried the same with a standard Sphere Mesh. Initially when increasing the clone count, clones accumulate at the poles as expected. However, when changing the random seed, as you suggested, the clones now become repositioned in a random fashion. So your suggestion that in my hands does not work on the Meg mesh, seems to work in the sphere. I have no clue why??
AdamT
10-09-2006, 08:04 PM
I tried the same with a standard Sphere Mesh. Initially when increasing the clone count, clones accumulate at the poles like expected. However, when changing the random seed as you suggested, clones now indeed become repositioned in a random fashion. So your suggestion that in my hands does not work on the Meg mesh seems to work in the sphere. I have no clue why??
I found the same thing here. Only thing I can think of is that there's actually a lot of surface area at the hands due to the fingers. Still, it doesn't seem quite right.
rirad
10-12-2006, 09:59 PM
Per, is there still need for a screenshot?
flingster
10-12-2006, 11:37 PM
heh heh...is this rirad of ditools rirad...lol...come back all is forgiven...
i've not looked into mograph yet i really should looks amazing...
i've always fancied something that clones on different things like angle of curvature also calculating this so clones don't intersect...but also cloning that looks at mesh densities...the problem with all these cloning routines is they look to clean and mesh dependant...they just look like the poly mesh with cubes/spheres on the surface. i'd like to be able to clone according to polygon size...proportionality...so big poly..big clone...small poly small clone....but also a method to deal with dense poly areas of this type of mesh..eg eyes...mouth...hands..feet...they always look the same all these results....would be interesting to see if mograph can do this sort of thing?
JoelOtron
10-12-2006, 11:42 PM
. i'd like to be able to clone according to polygon size...proportionality...so big poly..big clone...small poly small clone......would be interesting to see if mograph can do this sort of thing?
JEnna mesharray did that--and ditools does as well under the advanced tab--(or whatever it was called).
Mograph cloner does that when in edge mode--havent come across a way to do it in poly mode yet.
Mylenium
10-13-2006, 06:09 AM
I found the same thing here. Only thing I can think of is that there's actually a lot of surface area at the hands due to the fingers. Still, it doesn't seem quite right.
I think the problem may be that it works based on calculating the polygon areas for each one of them separately without figuring in the actual spacing of a given span of polys and normal angles between them. This leads to the strange effect of several polygons technically having a certain area, yet their vertices being so close together that it leads to clustering of the clones. I suppose the only way to avoid that is to introduce some convexity checking or (invisible to the user) calculate a convex mesh internally on which to place the clones and then project calculated positions back onto the original mesh.
Mylenium
Per-Anders
10-13-2006, 08:05 AM
Per, is there still need for a screenshot?
No, that is not necesary, thank-you, Adam has reported the bug to Maxon.
I think the problem may be that it works based on calculating the polygon areas for each one of them separately without figuring in the actual spacing of a given span of polys and normal angles between them. This leads to the strange effect of several polygons technically having a certain area, yet their vertices being so close together that it leads to clustering of the clones. I suppose the only way to avoid that is to introduce some convexity checking or (invisible to the user) calculate a convex mesh internally on which to place the clones and then project calculated positions back onto the original mesh.
The reason it's doing this with certain meshes is simply a bug to do with polygon indexing and statistical probability, surface area is surface area regardless of shape, curvature or facing direction.
Mylenium
10-13-2006, 08:15 AM
The reason it's doing this with certain meshes is simply a bug to do with polygon indexing and statistical probability, surface area is surface area regardless of shape, curvature or facing direction.
Dunno how this works internally. I was assuming that after calculating the area, the clones would still be placed relative to the vertices describing the polygons which could have lead to such strange behaviors, if they were to close together or overlapping in some way. But hey, what do I know - you're the programmer ;O).
Mylenium
CGTalk Moderation
10-13-2006, 08:15 AM
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.
vBulletin v3.0.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.