PDA

View Full Version : Symmetry and instances for modeling...


Raynix
05-31-2006, 11:41 PM
ok I'll be very nice in asking my question cuz I've been quite angry this afternoon while I was trying to figure out how Symmetry / instances work in XSI.

I'm used to 3ds Max Symmetry (which create an instance that bridge to your character).

I want to do the same ; modeling half of a character while the other side updates at the same time. And I want to model to be 'bridged' constantly too so I can see a final result right away like in Max.

How do I do that ?

Thx

visualboo
06-01-2006, 03:03 AM
I come from max too and yes it's a little frustrating because max's sym modifier is very nice. Try not to get too frustrated though.

The closest way to make it behave the same is to clone half and scale -1 in the X axis. It won't auto weld and there will be a seam until you merge them but it's not the end of the world.

sciics
06-01-2006, 03:28 AM
the symetry mod does seem intersting but its limited to morph targets. as in when you do take your morph targ. and delete the halfso you can use the sym mod it just changes the vertex order.. so i guess that is really frustrating... where as the sym map in xsi... "No real Problems Here"

1nfern0
06-01-2006, 01:30 PM
What about clone the half and then modify>polygon>symmetrize the clone ?
Then you can translate the result so you can see the changes when you tweak the original. Or change the result to shaded and the original to wireframe.

Sorry, if this is not what you want ...

kevjon
07-23-2006, 11:13 PM
Being new to XSI and also coming from Max background, this is a great thread and question. Being trying to figure it out myself. 1nfern0, thanks, sounds like the best way to replicated Max's symmetry modifier in XSI.

Nemoid
07-25-2006, 09:29 AM
dunno about max, but the clone method on -x axis works well in XSI.

kevjon
07-25-2006, 01:09 PM
Cheers Nemoid

Scaling a clone in a -X axis to mirror a cloned object is illogical but it works. Thanks a lot.

Gotta a couple of options out of this thread now for dealing with symmetrical modelling.

visualboo
07-25-2006, 01:40 PM
Scaling a clone in a -X axis to mirror a cloned object is illogical but it works. Thanks a lot.
It's not illogical... it's just not as nice as Max's system.

ThE_JacO
07-25-2006, 02:36 PM
then don't scale it.
get a clone of the object, keep it selected as an object and not as subcomponents, then use symmetrize polygons and set the merging or anything else to what you want.

now, since the op has been applied to the object as a whole, if you modify the original, the cclone AND its merged symmetry will update accordingly.
also, on top of that clone you can add further modelling, which will be additive to what you do to the original mesh, which is outstanding to introduce asymmetries with deformers (especially volume based ones like lattices, another grandesouly unerstimated tool).

you can isolate the duped up clone and subdivide it in a window, this way you get the whole mesh as a RT preview, in another viewport isolate your base mesh and keep it unsibdivided and with wire on it to model.

this way you only have one other object around, you can freeze the originator freely while you model, and you can see both the unsubdivided flow on one side, and how it finalizes and smooths on the other.

add in the fact that XSI's viewports can be floating, like with the object viewer, and that the docked ones have some very convenient shortcuts, and you can get a very quick visual feedback, and to speed it up, instead of toggling, you can mute/reduce the view with the full model, making it possible to work comfortably up to several tens of thousands of vertices.

don't try to port old habits to XSI.
a virtual mirror, if it was full fledged, would be nice, but XSI's operators graph is fairly powerful, and can be exploited to get you in any condition you might want to be in to model anything, be it solid style modelling or organic.

Nemoid
07-25-2006, 04:41 PM
Cheers Nemoid

Scaling a clone in a -X axis to mirror a cloned object is illogical but it works. Thanks a lot.

Gotta a couple of options out of this thread now for dealing with symmetrical modelling.

I did that way just because it was the very first time i worked in XSI and didn't know other ways to do it better. it worked quite well.
thanx to The Jac0 to elaborating more on this subject any info is highly welcome.

what i'd like to have is something like a virtual mirror, with locked points at centerline and no creation of extra geometry at centerline either, but will surely try the method explained in The Jac0's post.

kevjon
07-25-2006, 11:27 PM
Cheers TJ and Nemoid. I have done extensive search on this forum and other forums on this topic to learn as much about it as possible as I try to figure out the best way to model in XSI.

The_Jaco
Thanks very much for elaborating and passing on some really good tips. That sounds like a great way to model objects and see what your final result is going to be. There is also some info on this topic on one of the DVD's that came with the software which I need to watch again, until I understand it fully.

Posted by The_Jaco
don't try to port old habits to XSI.
a virtual mirror, if it was full fledged, would be nice, but XSI's operators graph is fairly powerful, and can be exploited to get you in any condition you might want to be in to model anything, be it solid style modelling or organic.

Your quite right. To some extent I have to unlearn a lot and am really looking forward to coming to grips with this software.

kevjon
07-25-2006, 11:40 PM
Came across this little step by step tutorial at XSI - Wiki. Hopefully it will benefit others.

There are several ways to set up symmetrical modeling for polygon meshes in XSI. Some of the older techniques involve scaling by -1, and don't make the best use of some of the newer features available.

Here is a symmetrical modeling setup that is quick to create and easy to use:


Create the basic half-object that you will be working with, for example, half a cube or half a sphere. If necessary, you can use Modify > Poly. Mesh > Slice Polygons to cut an existing object in two.
Clone the half-object using Edit > Duplicate/Instantiate > Clone Single.
Symmetrize the clone using Modify > Poly. Mesh > Symmetrize Polygons. If you don't activate the Bridge option, you don't need to worry about border points lying exactly on the plane of symmetry; they will be merged to their average position.
Make the symmetrized clone unselectable by editing its Visibility property, or by adding it to an unselectable group or layer. This prevents you from accidentally selecting it in a geometry view, but you can still select it in an explorer or schematic.
Select the half-object and choose Get > Property > Display. Set the Selected: Static mode to Wireframe, then click Copy Static Selected Mode to All.
Make sure the viewports don't override the half-object's Display settings. To do this for an individual viewport, click the Display Mode menu at the upper right and uncheck Override Object Properties. To do this for all viewports, choose Display > Display Options (All Cameras), then click the Display Mode tab, and activate Mixed Viewing Mode. Now you can switch to, for example, Shaded mode, and the polygons of the half-object and the symmetrized clone won't overlap.
Now you can do all your modeling on the half object, and the symmetrized clone will update automatically.

ThE_JacO
07-26-2006, 12:14 AM
Your quite right. To some extent I have to unlearn a lot and am really looking forward to coming to grips with this software.

it isn't really about unlearning and re-learning.
compared to LW or MAX, XSI and Maya are a different breed (which is not to say better, so lets leave it at that).
the trick is thinking in building blocks.
nor XSI nor Maya (or Houdini for that matter) offer nearly as many canned solutions with a label on the tin in terms of tools, but that is, ironically, their main strength.

you're provided with building blocks that are solid and open enough to get wherever you want, the only trick there is to it is thinking of what you need, figuring out what bits make it, and putting those bits together.

it might sometimes take some lateral thinking, and the first few days-weeks you might find yourself suffering from a setup overhead. When you get used to it though you end up operating at just the same speed, but with a much more stable solution, that also happens to be open ended enough to introduce changes at any point to then see them propagating down, and in an industry where revisions are the norm and not the exception, it's a valuable thing to have.

kevjon
07-26-2006, 06:01 AM
Posted by The_Jaco
it might sometimes take some lateral thinking

True, but sometimes a little inside knowledge helps get you there. I'm looking forward to getting up to speed with the software.

Nemoid
07-26-2006, 09:44 AM
Came across this little step by step tutorial at XSI - Wiki. Hopefully it will benefit others.

There are several ways to set up symmetrical modeling for polygon meshes in XSI. Some of the older techniques involve scaling by -1, and don't make the best use of some of the newer features available.

Here is a symmetrical modeling setup that is quick to create and easy to use:

Create the basic half-object that you will be working with, for example, half a cube or half a sphere. If necessary, you can use Modify > Poly. Mesh > Slice Polygons to cut an existing object in two.
Clone the half-object using Edit > Duplicate/Instantiate > Clone Single.
Symmetrize the clone using Modify > Poly. Mesh > Symmetrize Polygons. If you don't activate the Bridge option, you don't need to worry about border points lying exactly on the plane of symmetry; they will be merged to their average position.
Make the symmetrized clone unselectable by editing its Visibility property, or by adding it to an unselectable group or layer. This prevents you from accidentally selecting it in a geometry view, but you can still select it in an explorer or schematic.
Select the half-object and choose Get > Property > Display. Set the Selected: Static mode to Wireframe, then click Copy Static Selected Mode to All.
Make sure the viewports don't override the half-object's Display settings. To do this for an individual viewport, click the Display Mode menu at the upper right and uncheck Override Object Properties. To do this for all viewports, choose Display > Display Options (All Cameras), then click the Display Mode tab, and activate Mixed Viewing Mode. Now you can switch to, for example, Shaded mode, and the polygons of the half-object and the symmetrized clone won't overlap.
Now you can do all your modeling on the half object, and the symmetrized clone will update automatically.

coolness thanx for sharing. i'm trying this mode.

it seems to work similarly to Maya way to work with smooth proxy method, but directly with sub ds
IMHO, tho these are alot of steps to setup it. i know i'm bothering the forum with my past Lw experience, but modelling with simmetry in Lw is a matter of hitting a button.

is it possible to save these commands to a script with a single button ?
lets say we hit the button and the script could create a cube, with some spans and rows, cloned and cloned simmetrized in this way ?

another trick i used in Maya was to set visibiliy so that i could see in one viewport(left) the smoothed object while in another view the cage (original object) this works great , allowing user not to have the UI cluttered with both original obj and subded mesh in the same view. is eventually possible in XSI either?
if not i think just moving at one side the original object can work as well.

grahamef
07-26-2006, 05:06 PM
IMHO, tho these are alot of steps to setup it. i know i'm bothering the forum with my past Lw experience, but modelling with simmetry in Lw is a matter of hitting a button.It looks like a lot when it's written out explicitly but in reality it takes about 10 seconds.

is it possible to save these commands to a script with a single button ?
lets say we hit the button and the script could create a cube, with some spans and rows, cloned and cloned simmetrized in this way ?It depends on your scripting skills but it's definitely possible.

another trick i used in Maya was to set visibiliy so that i could see in one viewport(left) the smoothed object while in another view the cage (original object) this works great , allowing user not to have the UI cluttered with both original obj and subded mesh in the same view. is eventually possible in XSI either?Yes, you can isolate an object in a viewport or use Object views.

vauric
07-26-2006, 05:58 PM
What I do (for modelling a head for example) is create a base mesh (cube, sphere,etc) then apply a symmetry map to it (get-property-symmetry map). Then activate symmetry on the transform panel on the right. Thats it...works great for me.

If after modelling a bit, you lose your symmetry, delete the symmetry map under clusters in the explorer, then reapply a new sym. map, voila...

If its really assymmetrical (for some reason), delete half your object, then "symmetrize polygons" (modify-polymesh) to get perfect symmetry, apply the sym. map again and re-voila.

Just a few clicks for me...I find it a fast workflow.

Maybe it was something else you were looking for. Anyway, hope this helps.

cheers

Nemoid
07-26-2006, 06:53 PM
hey thanx for the feedback . it seems like there are tons of ways to obtain good workflows. today i tried well the first one, and also visualized both original and simmetrized clone in ethe same view. i simply put the original half at one side and saw the clone updating.

hey vauric your way seems in some way similar to Lw one. :)

in facts , in Lw also you at times loose your simmetry and have to delete half /remirror your object to restore it.
i'll try that as well, especially if i reach to model without a centerline as i'm guessing (LOL)

3DDave
07-26-2006, 07:19 PM
What I do (for modelling a head for example) is create a base mesh (cube, sphere,etc) then apply a symmetry map to it (get-property-symmetry map). Then activate symmetry on the transform panel on the right. Thats it...works great for me.

If after modelling a bit, you lose your symmetry, delete the symmetry map under clusters in the explorer, then reapply a new sym. map, voila...

If its really assymmetrical (for some reason), delete half your object, then "symmetrize polygons" (modify-polymesh) to get perfect symmetry, apply the sym. map again and re-voila.

Just a few clicks for me...I find it a fast workflow.

Maybe it was something else you were looking for. Anyway, hope this helps.

cheers


Matt Stoehr made a script that would do everything in one click.

http://theladyandthelion.com/wordpress/index.php?paged=2

dwigfor
07-26-2006, 08:38 PM
Check out the scripts thread up above. You may find some useful. :)

vauric
07-26-2006, 10:09 PM
- Nemoid

I am an ex-LW user..lol ....that might explain it

- 3DDave

Hehe...aah those clever scripters....less clicks, always good. Thanks for the link (and thank you Matt).

cheers

kevjon
07-26-2006, 11:31 PM
Thanks for the additional input guys showing there are even easier ways to setup for modelling symmetrically.............I'll give these things a try too and the script.

Nemoid
07-27-2006, 08:32 AM
hey vauric i'm trying your method but it seems i'm not able for example to actually bevel or extrude components , like using the clone? only tweaking simmetically. if i do extrusion or cuts it tends to loose simmetry too(btw this is fixable through the matt script)

maybe i'm doing something wrong ?

however i'm doing quite good with a similar setup : on one side half of the model, on the other the cloned simmetrized one.

vauric
07-27-2006, 08:52 AM
- Nemoid

Thats true, this is a simpler way to get fast symmetry. Its not as powerful as cloning tho.

If I want to bevel or extrude, I'll select the polygons on each side (I know, defeats a bit the object of having symmetry. :))

But if u transform in local...u can do that on each side at the same time. Then u have to use that script as u would have probably lost ure symmetry.

I find it to be enough for the way I work, but if u need more power, maybe cloning is the way (I havnt used cloning much for modelling yet).

I personnally often delete half the object and symmetrize polygons. I guess a habit from my LW days ...lol

Find the workflow which works best for u. :)

cheers.

Nemoid
07-27-2006, 09:47 AM
Aha ok
i found the best way for complex modelling to be just go for the half mesh + simm clone setup.
but that's just me, btw .
but surely, the simmetry map is very good for tweaking simmetrically the mesh with tweak tool ( i think this is the main purpose for the simm map, together with the possibility to actually re-simmetrize your mesh, wich is great )

depol
07-28-2006, 11:44 AM
Raynix, check this script:

'SymmetryModeling (VBS) autors: Depol, Krol e-mails: depol@mail.ru, ramakrol@ukr.net
'select polygonal object and run the script
set XSIDial = CreateObject("XSIDial.XSIDialog")
aItems = Array("X","Y","Z")
indx = XSIDial.ComboEx("Select SYMMETRY AXIS", aItems, 0)
if (indx=-1) then
logmessage "User cancelled"
else
logmessage "User selected: " & aItems( indx )
set sel = GetValue("SelectionList")
for each i in sel
set sym = Clone( i )
AddProp "Display Property",i
set SymOp = ApplyTopoOp ("SymmetrizePolygon",sym)
SetValue SymOp&".symmetryplane",indx
SetValue SymOp&".weldtolerance", 1
'AddProp "GeomApprox",i
'AddProp "GeomApprox",sym
'CopyPaste i&".geomapprox.gapproxmoan", , sym&".geomapprox.gapproxmoan", 1
'CopyPaste i&".geomapprox.gapproxmosl", , sym&".geomapprox.gapproxmosl", 1
'CopyPaste i&".geomapprox.gapproxmordrsl", , sym&".geomapprox.gapproxmordrsl", 1
SetValue sym&".visibility.selectability", False
SetValue i&".display.staticsel", 0
SetValue i&".display..intsel", 0
SetValue i&".display.playbacksel", 0
SetValue i&".display.staticunselnear", 0
SetValue i&".display.intunselnear", 0
SetValue i&".display.playbackunselnear", 0
SetValue i&".display.staticunselfar", 0
SetValue i&".display.intunselfar", 0
SetValue i&".display.playbackunselfar", 0
next
SetValue "Camera.camdisp.mixviewmode", True
SetValue "Camera.camdisp.statsel", 1
SetValue "Camera.camdisp.intsel", 1
SetValue "Camera.camdisp.playbacksel", 1
SetValue "Camera.camdisp.statunselnear", 1
SetValue "Camera.camdisp.intunselnear", 1
SetValue "Camera.camdisp.playbackunselnear", 1

DeselectAll

end if

CGTalk Moderation
07-28-2006, 11:44 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.