Jump to content


Photo

Grouping Feature Feedback & Discussion


  • Please log in to reply
17 replies to this topic

#1 greebo

greebo

    Heroic Coder

  • Root
  • 15983 posts

Posted 19 September 2016 - 08:58 AM

With the 2.0.5pre4 build I linked in the other post, DR got support for what I call the Grouping feature.

 

Since grouping can mean a slightly different thing in every other app, I'll outline the feature by describing the behaviour:

 

- The feature can be accessed through the Edit Menu, the Orthoview-RMB Menu and the Toolbar, as well as keyboard shortcuts

- Default keyboard shortcut binding: Ctrl-Shift-G for Group Selection, Ctrl-Shift-U for UNgroup Selection

- To group items, select more than one element in the map and hit the Group Selection command

- To ungroup items, select one or more groups and hit Ungroup Selection

- Grouped items will get rendered as blue in the orthoview (instead of the default red colour)

- All other elements that are not part of a group keep rendering as red

 

Attached File  grouping01.png   239.9KB   0 downloads

 

- When clicking the group, it's not possible to select a single item out of it, everything gets selected and can be manipulated right away.

- You can still edit vertices, edges or faces that are part of a group element

- You can create groups on top of other groups, just select everything you want to be part of it and hit Ctrl-Shift-G. This will create a new "outer group", packing any selected group(s) into it

- The contained group is not removed by this operation, when ungrouping the outer group the contained group is still there

 

- When parts of a group is filtered out through the Filter System or other means it will be hidden from the views, UNLESS you select the group, in which case the hidden parts will become visible: in the screenie the one brush is filtered out by the visportal filter before and after the selection operation:

 

Attached File  grouping02.png   564.89KB   0 downloads

 

- When importing prefabs, there's an option to automatically group the prefab items (defaults to "yes")

- Cloning preserves group info: when duplicating grouped items, the cloned counter-parts will form a new group

 

- Grouping information is preserved in the map's .darkradiant file, you won't see the groups in the actual .map file

- You won't see the groups in the Entity List either

- The grouping information will be lost as soon as you save the .darkradiant file in any version prior to 2.0.5pre4 (these versions will ignore and strip this information)

 

- The Selection Set feature is still there, and remains independent from grouping

- Same holds for the Layer system

 

I'd like people to check it out and give feedback, and I do hope that I didn't mess up completely by implementing something that nobody wanted anyway.

 

I need feedback on whether this is an actual help during mapping. Feedback about bugs or misbehaviour, like undoing or redoing stuff, weird behaviour, group parts getting un-grouped on their own, something along these lines.



#2 nbohr1more

nbohr1more

    Darkmod PR, Wordsmith

  • Development Role
  • PipPipPipPipPip
  • 8137 posts

Posted 19 September 2016 - 09:16 AM

Looks like you made this one obsolete:

 

http://bugs.thedarkm...iew.php?id=4300

 

?

 

Or would it be a good idea to have a "convert from func_group" option to take func_group objects from non-TDM maps and use them with this new feature?


Please visit TDM's IndieDB site and help promote the mod:

http://www.indiedb.c...ds/the-dark-mod

(Yeah, shameless promotion... but traffic is traffic folks...)

#3 Destined

Destined

    Advanced Member

  • Member
  • PipPipPip
  • 1301 posts

Posted 19 September 2016 - 09:28 AM

I think grouping is very useful for mapping. Especially for prefabs. I don't know how many times I moved a chest and forgot some part that was filtered out. Great feature!



#4 grayman

grayman

    Master Builder, Coder

  • Active Developer
  • PipPipPipPipPip
  • 12000 posts

Posted 19 September 2016 - 09:29 AM

What's the advantage to using groups vs. layers? From the grouping description, it sounds like layers do the same things.



#5 greebo

greebo

    Heroic Coder

  • Root
  • 15983 posts

Posted 19 September 2016 - 10:08 AM

What's the advantage to using groups vs. layers? From the grouping description, it sounds like layers do the same things.

 

Legitimate question. There is a difference, apart from the technical aspects. Groups behave differently when parts are selected, in fact you can't select a single part on its own, you always select the group the clicked item is part of. Layered items don't respond to selection operations of a peer item, whereas the group will act as if it's one large piece. You can pick stuff from layers all across, without restrictions. Layers are more of a "put all path nodes in that layer" and "put all of that room into that layer", like logical heaps of items, whereas grouping is like glueing stuff together. While you can assign a layer to a single prefab, I doubt many people will do that, as the layers dialog will get horribly swamped. Groups are much cheaper to use, you can assign them with a shortcut, they're anonymous, whereas layers carry a name. You can have hundreds of groups in your map without noticing any downside. Selecting grouped items forces them to show up in the view, whereas layered items don't change their visibility, in fact hidden layered items can't be selected without being unfiltered first (at least that was the case until this pre4 build, I need to check whether that changed). You can distinguish group items when they are selected, you don't see a difference for layered items.

 

Technically, I guess you can do many of the things with layers or selection sets, but it ought to be much quicker and easier to do with grouped parts, at least that was the design goal.

 

I guess you need to try it out to feel the difference. ;)



#6 nbohr1more

nbohr1more

    Darkmod PR, Wordsmith

  • Development Role
  • PipPipPipPipPip
  • 8137 posts

Posted 19 September 2016 - 10:10 AM

Presumably this applies to rotation operations too? (The main reason for the interest in func_group.)


Please visit TDM's IndieDB site and help promote the mod:

http://www.indiedb.c...ds/the-dark-mod

(Yeah, shameless promotion... but traffic is traffic folks...)

#7 greebo

greebo

    Heroic Coder

  • Root
  • 15983 posts

Posted 19 September 2016 - 10:19 AM

Presumably this applies to rotation operations too? (The main reason for the interest in func_group.)

 

All parts that are selected will be affected by any manipulation, translation or rotation. Fixing the pivoted rotation code was a prerequisite for the grouping feature to be tackled. Before that, selecting many different items and rotating them was very problematic since parts went flying around the map.



#8 nbohr1more

nbohr1more

    Darkmod PR, Wordsmith

  • Development Role
  • PipPipPipPipPip
  • 8137 posts

Posted 19 September 2016 - 10:33 AM

Cool!

 

Yes, unless Spooks or SteveL mentions otherwise, I think you've made func_group obsolete now. The main use-case is covered here. :)


Please visit TDM's IndieDB site and help promote the mod:

http://www.indiedb.c...ds/the-dark-mod

(Yeah, shameless promotion... but traffic is traffic folks...)

#9 grayman

grayman

    Master Builder, Coder

  • Active Developer
  • PipPipPipPipPip
  • 12000 posts

Posted 19 September 2016 - 11:39 AM

So I can't select an object that's part of a group and move it and only it?

 

I'd have to select the group, ungroup everything, select the object, move it, and then put the group back together?



#10 kingsal

kingsal

    Member

  • Member
  • PipPip
  • 195 posts

Posted 19 September 2016 - 11:59 AM

This is awesome, I'd love to mess around with it.  

 

Looks like a great  way to deal with organization on a more granular level than layers. Layers still being the broader top down bit of the hierarchy. Being able to group prefabs is great.

Specifically stuff like door handles, that alone will save hours and hours of black hole DR time. 



#11 greebo

greebo

    Heroic Coder

  • Root
  • 15983 posts

Posted 19 September 2016 - 12:00 PM

So I can't select an object that's part of a group and move it and only it?

 

I'd have to select the group, ungroup everything, select the object, move it, and then put the group back together?

 

Yes, it's aimed at things like machines consisting of 12 cog wheels that should be treated as one object once it's complete. Or a candle with a light and dropshadow patch and a particle - should be selected and moved around like one object. Or a chest with a lock on the outside and some parts in it. Or street signs with patches on them. Or you name it.

 

It's like a "combine" feature. If you're likely having to un-group and re-group the parts all the time, then you're better off with Selection Sets or Layers until you're ready to group it. Group stuff you are done tweaking.



#12 greebo

greebo

    Heroic Coder

  • Root
  • 15983 posts

Posted 19 September 2016 - 12:03 PM

This is awesome, I'd love to mess around with it.

 

You can grab a pre-release build from the first post in the testing thread. But as always, be sure to keep backups around, as this is in fact a pre-release version.



#13 STiFU

STiFU

    Uber member

  • Development Role
  • PipPipPipPip
  • 3124 posts

Posted 20 September 2016 - 03:06 AM

Very cool, I was missing that neat feature from GTK-Radiant a lot. However, it did behave a little differently there in a way that single brush elements could also still be selected and altered. You could select any brush on its own, but press ctrl+e to select the whole group. This actually allowed for some pretty nice workflows. I am no mapper anymore, though, so feel free to ignore all my feedback! ^^



#14 Spooks

Spooks

    Member

  • Member
  • PipPip
  • 382 posts

Posted 20 September 2016 - 03:33 AM

Cool!

 

Yes, unless Spooks or SteveL mentions otherwise, I think you've made func_group obsolete now. The main use-case is covered here. :)

 

I suppose, func_group is still slightly different and some parts of the code there could be used for something like a func_instance (auto-updating prefabs basically). The main thing that's stopping func_group from being fully functional is the texture translation problem; I know SteveL has been around but I haven't seen him post a lot :(, hope he's alright. The tracker for it can be suspended, I guess.

 

Greebo, are you going to do something with grouping and the Select Group Parts button? Right now it does nothing with them (unless there are func_statics in the group, then it will allow you to select all func_static parts) and I think you may as well keep the status quo, but its name might need to be changed as not to confuse people.


My FMs: The King of Diamonds (2016)

 

Visit my Mapbook thread sometimes!


#15 greebo

greebo

    Heroic Coder

  • Root
  • 15983 posts

Posted 20 September 2016 - 05:51 AM

Greebo, are you going to do something with grouping and the Select Group Parts button? Right now it does nothing with them (unless there are func_statics in the group, then it will allow you to select all func_static parts) and I think you may as well keep the status quo, but its name might need to be changed as not to confuse people.


You're right the button doesn't interact with the new groups, I need to do something about that. Ideally it would actually do what its name says with the new groups as well, I have to check out how much work that would be.

#16 Spooks

Spooks

    Member

  • Member
  • PipPip
  • 382 posts

Posted 21 September 2016 - 02:33 AM

Is it possible to add a temporary vertice so you can rotate a group around an arbitrary point? One of the main things I'd use groups for is rotating a bunch of objects around a common point, but right now you can only rotate around the center of the group, whatever that may be, which is often not what you want.


My FMs: The King of Diamonds (2016)

 

Visit my Mapbook thread sometimes!


#17 greebo

greebo

    Heroic Coder

  • Root
  • 15983 posts

Posted 21 September 2016 - 09:46 AM

Is it possible to add a temporary vertice so you can rotate a group around an arbitrary point? One of the main things I'd use groups for is rotating a bunch of objects around a common point, but right now you can only rotate around the center of the group, whatever that may be, which is often not what you want.

I thought about such a feature while working on the pivot rotation code, but it's not as easy as it sounds. You can add it as a feature request, if you like though. No promises.



#18 New Horizon

New Horizon

    Mod hero

  • Active Developer
  • PipPipPipPipPip
  • 13783 posts

Posted 21 September 2016 - 11:10 AM

Really nice work there Greebo!  DR just keeps getting better and better!






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users