Wings 3D Development Forum
The ol' Combine & Separate issue - Printable Version

+- Wings 3D Development Forum (https://www.wings3d.com/forum)
+-- Forum: Wings 3D (https://www.wings3d.com/forum/forumdisplay.php?fid=1)
+--- Forum: Gripes & Grumbles (https://www.wings3d.com/forum/forumdisplay.php?fid=4)
+--- Thread: The ol' Combine & Separate issue (/showthread.php?tid=84)

Pages: 1 2


The ol' Combine & Separate issue - Geta-Ve - 12-04-2012

I am sure most will know what I am referring to simply by the title, but, for those that do not.
  1. Make a sphere
  2. rename it to "Bob"
  3. Make a cube
  4. rename it to "Suzy"
  5. Combine the sphere and the cube
  6. Now separate the two
    Tada! The naming structure is jacked.
This is an issue because the easiest way (objectively) to perform group based actions is by combining objects together. For instance.
  1. Create a Sphere
  2. Rotate sphere along X
    Done
  1. Create two Spheres (space them apart vertically)
  2. Select both and rotate along X
    Done
  1. Combine those two spheres
  2. Rotate along X
    Notice the difference?
While I can understand why this happens, I am hoping for some kind of 'fix' to this issue. Either in the form of Groups or some kind of object locking functionality, where we can temporarily lock objects together so that we may perform group based commands, like rotating a bunch of objects along their grouped axis.

While a context sensitive option would make the most sense, given the nature of Wings, I feel like that option may be too much work for the developers due to (I assume) needing to modify every command for group functionality. Which is why I suggested a temporary locking / grouping of objects.

Perhaps a context sensitive option for the Combine command? LMB - Permanently combine objects. RMB - Temporarily combine objects (maintaining their naming structure).

The difference between the two is that the LMB Combine will disregard the object order within the geometry graph, including pull objects out of Folders. Whilst the RMB Combine would keep everything ordered.

This begs the question though of why not use RMB Combine exclusively, for which I have no answer. I ask the developers, why doesn't combine work like this already? I can only assume that there is some kind of memory limitation?

Another possible solution would be to have a third window, a Groups window, wherein you can reorder objects in to groups, specifically for group command functionality (as in the rotate example above).

A third solution, playing off of the previous, is to have this grouping functionality within the Geometry Graph, you select which objects you want, RMB (in the GG) and select 'Group Temporary'. This would highlight (or give some kind of visual indication) each object stating that they have been temporarily grouped.

Perhaps have 10 available group states? Being able to step through them at the users leisure, kind of like the saved selections.


WELL, that is all I have to say about that.


RE: The ol' Combine & Separate issue - ggaliens - 12-04-2012

OK ... sorry about this ... but GROUPING coding has cause me some troubles ... I would ask anyone to proceed with extreme caution here and consider fixing existing grouping schemes with baby steps.

How about starting with ...

Why does my plugin need to call wings_shape:recreate_folders (or something nearly like that) every time I delete a We by way of plugin. This call should be made transparently or by was of something like a wings_shape:delete(#st{}) command ... which I don't think exists.

GetaVe ... what about selecting my partial name ? Will that help ?


RE: The ol' Combine & Separate issue - Geta-Ve - 12-04-2012

@GG

I will be entirely honest with you.

Huh?! ^_^

More to the point, and this may only be due to how tired I am, but I am a little confused as to your intention re 'selecting by partial name'.

My apologies, I am just a little dense this morning.


Select all objects where ... - ggaliens - 12-04-2012

Select all objects where ...

Name starts with "humanbody"

Selects humanbody_legs, humanbody_arms and humanbody_head objects.

I think ... maybe something like this is coming to a theater near you soon.


RE: The ol' Combine & Separate issue - Geta-Ve - 12-04-2012

Ahh! My bad.

Though my gripe wasn't so much with the selections themselves as it was with how selections are handled when combined vs not combined.

Perhaps though, this is what you meant when you said taking baby steps toward fixing / modifying the grouping functionality?


RE: The ol' Combine & Separate issue - ggaliens - 12-04-2012

OK ... for me the word "combine" carries a specific API / coding meaning. It is a pretty low-level internal operation. It is like "FUSION" of two objects ... yes you can separate again ... but then you might need to rename.

Dropping that ... I think if we work-on/discuss on how operations behave when you have one object ... or 20 objects selected ... there is room for improvement there. That's what I wanted to convey.


RE: The ol' Combine & Separate issue - puzzledpaul - 12-04-2012

(12-04-2012, 11:17 AM)Geta-Ve Wrote: This is an issue because the only way to perform group based actions is by combining objects together. For instance.

Nope.
Incorrect.
Just do a vector op - in this case, rotate.
Doing it this way

keeps the names
lets user select the rotate origin (in this case) ... rather than wings using one based on the geom.

If the geom is trivial / symmetrical (as with the 2 spheres ex) then it's also a trivial task to know what elements to choose to centralise the origin.

If you want / need a non-central rotate axis ... then you've got to do a vector rotate op anyway, since grouping won't guarantee the correct positioning.

Obviously I accept / acknowledge that there's general issues here that need sorting ... but the original statement is wrong.

ppa


RE: The ol' Combine & Separate issue - Geta-Ve - 12-04-2012

@ppaul

100% correct. I apologize! I should have specified, that the easiest way, objectively, is via the combination method.

One example that pops to mind, though perhaps you have an easy fix for, is a character with many many acessories (my JP Butterfoot character for instance, as seen in the Gallery section). If I wanted to rotate the character with all his gear on Y, the easiest way I can think of is to combine and rotate.

Another way I can think of is to create a dummy object, placed, wherever (origin for instance) and vector op rotate.

Another method, though less precise, is to vector op rotate around a selected point/s on a piece/s of the model.

Smile


RE: The ol' Combine & Separate issue - puzzledpaul - 12-04-2012

Re rotating your JPB model with all his gear on (around Y) ...depends how you *exactly* you want to do that Y rotate op?

If the basic figure is aligned to the origin - there's no way a rotate Y (after combine) will use the main Y axis once all his gear is added to the mix.

I'd marquee select the lot and do a vector rotate ... eitherusing a known centalised element (vert?) on the model ... or use a ref block.

Rotating something like this - using combine - and then expecting it remain on thye origin - is asking for trouble ... imo.

(there's no loss of precision using an element on the model ... provided you check its co-oords first ... and you don't move it by mistake during modelling using a magnet based op ... for example ... altho' using a (bigger) ref block is likely to be more convenient and less susceptible to being modified ... and can be easily hidden when not needed.)

pp


RE: The ol' Combine & Separate issue - ggaliens - 12-04-2012

"If I wanted to rotate the character with all his gear on Y, the easiest way I can think of is to combine and rotate."

There might be something for you in the next release that rotates all selected items around "Y" though the origin. Hold tight GetaVe.