Mesh - create shell around it


i have a mesh, and i want to create a shell around it like on the pic. my idea was to spread the mesh and change size and colour.

but as this always seems to be done in 3d space? the spreaded instances are shifted according to perspective. is there a way to disable this, or an other workaround?


drag.gif (1.4 kB)

is Cel (EX9.Effect) good for you?

thx, but i can’t use the cel shader. i need to create 3 different shells, coloured R, G and B.

i remember, that in an older release you had to add a camera or projectiontransform to the renderer, to get it working perspectively correct.

there has to be an easyer way.
f…k logical correct 3d!! ;)

can you mock up a patch with your simplified setup? it’s really hard to talk about this without knowing.
you still have to hook up view & projection transforms to the renderer to get it out of orthographic / ‘flat’ mode. you can do that manually, or use the convenient Camera (Transform Softimage) module. now, depending on how you place your meshes and how your camera looks at them, there are a couple different ways to make them always face the viewer. most probably you are looking for the Billboard (Transform) or the WithinSomewhere (Transform) nodes like WithinProjection (Transform) .


here is my patch. i track with contour, pick out one mesh, draw these outlines around it, and finally do some collission detection between two of them.

greets (127.1 kB)

i don’t have a clue!
my method seems to work regardless if i use a simple quad, or a mesh within a shader.

i think the problem is somewhere within this “countour filler”. so where exactly is the difference between the mesh this filler patch puts out, and an other mesh i get from a 3d object??

any tipps appreciated

yours truly

patch.v4p (12.5 kB)

i don’t know if this is the problem you encounter, but i guess it’s related:
the shaper module outputs one single mesh (without subsets) for all the contours given to it. that means that any scaling / transformation on this mesh applies to all contours at the same time. that way, getting a ‘hull’ around each single object becomes impossible.
i’ve attached a patch (put it in the same .\tracker - folder) with the problem; if that’s what you encounter, there’s a tricky workaround for it. i’ll only explain it if that is really the problem :P

test v0.v4p (16.7 kB)

yes, yes exactly!!
but that contour helper you patched me… it extracts the coordinates of just one object. i don’t understand why this still won’t work?

greets (127.8 kB)

hi schlonzo,
sorry for the late answer! the problems you encounter are tricky, and there are a few possible solutions; but they are all quite involved. for example, in that last patch you posted, it becomes clear that the Shaper module creates the mesh in such a way that it’s origin always lies at 0,0 - which would generally be fine, but is a problem when trying to create the ‘shells’ you want by scaling the mesh (they are scaled in relation to their origin, which introduces an unwanted offset; it only works correctly if their origin is also their real center, not simply the center of the screen). also, the way you separate your two contours works, but can (in theory) be accomplished using only one set of nodes - duplicating nodes generally creates less dynamic programs that are also harder to maintain & should never be necessary. to solve all that, it’s probably necessary to repatch the Shaper module so that is creates the ‘shells’ by itself. i’m afraid that’s quite a bit of work & thinking… i would hope that maybe there’s a workaround that hasn’t occured to us yet :(

solution for the public - since schlonzo was here yesterday and we solved it:

before feeding the coords to shaper, subtract the center (bounds) per dimension. that way you get a 0,0 centered object. and then feed the (moving) center into a transform to get back the original translation.
this way you can easily upscale the object to get a border (although x and y borders not equally thick)