Opened 12 years ago

Last modified 12 years ago

#1032 new enhancement

Further improvements to selection boxes

Reported by: vts Owned by:
Priority: Nice to Have Milestone: Backlog
Component: Core engine Keywords:
Cc: Patch:

Description

Ticket #914 implemented selection boxes that adhere better to the visual outline of the models, by taking rotation and submodels into account. This ticket intends to track some of the remaining issues surrounding the new selection box model.

A problem at the time was the decision which kinds of submodels to include; if you include too many, the boxes end up huge, thus defeating the original purpose. For the patch implemented in #914, the decision was made for decals and particle emitter submodels (e.g. gravel textures and fire emitters) to be excluded from the selection boxes.

Since that patch, it has become clear that more fine-grained control over what is included or excluded from the selection box is needed. Some issues are:

  • Selection box shapes are currently defined at the entity level. If a custom selection shape is used, then this implies that it will be the same regardless of the actual underlying actor variation model.

    This is particularly evident in the case of the fallen over palm tree actor of the gaia/flora_tree_date_palm.xml entity. Recall from #914 that trees have received the Footprint selection shape to prevent their sometimes huge bounding boxes from causing selection issues.
    However, the footprint shape of flora_tree_date_palm.xml matches a standing-up palm tree. Because the selection shape is defined at the entity level, the result is that the fallen-over actor model will receive the standing-up selection box.

    (For entities with the default <Bounds/> selection shape, this is not an issue as their selection shape is dynamically computed from on the current actor's models and submodels).
  • People have mentioned several cases where the default behaviour of including all submodels and excluding decals and particle emitters is undesirable. For instance, the spears of some infantry units should not be included in the selection boxes, because they cause it to be unnecessarily large. Another case where it's desirable to exclude certain models is e.g. the masts of the ships, which cause lots of empty selectable space.

    The need to omit e.g. the spears from the selection box requires a way to explicitly identify a particular submodel or prop to be excluded from the selection box. This issue is very much related to #810, which called for a way to mark props as selectable or not. (It was closed because the actual problem was not being able to select the trader, but the suggestion of marking props as selectable is still relevant here).

Philip had an interesting idea on IRC, which was to allow the artists to specify custom selection shape meshes directly inside the model, and then somehow import those into the game. (Modifying the collada importer was tentatively mentioned). This looks likte it would solve both issues at once, so it might be worth pursuing further. Still very much open to suggestions at this point though.

Change History (2)

comment:1 by vts, 12 years ago

Type: defectenhancement

comment:2 by ben, 12 years ago

In 11177:

Adds multiple entity selection to Atlas (including move/delete). Fixes #678.
Makes all actors selectable in Atlas and gives them selection rings (an EditorOnly flag is used in the template for Atlas-only selectables).
Adds player colors to Atlas selection rings.
Fixes decal selection by falling back to old-style AABBs. Refs #1032.
Replaces UnitManager selections with EntitySelection helpers.
Adds DrawOverlays to Atlas views, for Atlas-specific rendering.
Fixes bug where selection rings conflicted with Move/rotate tool in Atlas simulation test.

Note: See TracTickets for help on using tickets.