Author Topic: New selection methods for Mask RE - layers and name strings  (Read 1462 times)

2018-08-29, 12:13:53

pokoy

  • Active Users
  • **
  • Posts: 1850
    • View Profile
Everytime I have to set up masks for RE I wish we had easier selection methods - IDs are good but hard to visualize and to find once you've set them up, selections sets are a pain with bigger scenes since it takes quite a lot of time to open, browse and select from a object list with 10 000 or more items.

I'd like to request the following selection methods:

• Layer - a drop down list of current scene layers (which updates dynamically when new layers are added or changed). All objects on a selected layer would be rendered in the mask
• Name string - a string field that accepts wildcards and multiple strings (separated by semicolons for example, like this: tree*;*car*tire*), all objects where the name begins with 'tree' and all objects where the name contains 'car*tire' would be rendered in the mask. Strings could also be separated by a comma or brackets...

Once these methods are available, they could also be added to any other place where Corona uses Include/Exclude lists - CoronaCam, RoundedEdgesMap, CScatter objects etc...
Attached is a mockup for the Mask RE (the methods should be available in any channel of course).

I know it would make it a lot easier to setup masks for me and I bet for many others, too.

2018-08-29, 12:51:27
Reply #1

pokoy

  • Active Users
  • **
  • Posts: 1850
    • View Profile
Btw we could also extend this to include user properties... They're not as comfortable to use and setup but are used extensively by some studios.

2023-04-21, 12:50:19
Reply #2

Aram Avetisyan

  • Corona Team
  • Active Users
  • ****
  • Posts: 543
    • View Profile
Hi,

The information is gathered and a feature request is created.

As the things you propose are mostly name based, there is a workaround for objects I can provide.
For layers - Select child nodes > Add to masking selection (there is still manual selection, but I think this is fine)
For different objects - Max Select from Scene (H hotkey) supports basic wildcards. By default, it searches for objects starting with specified text and is case insensitive, e.g. "Tire" will find "tire", "tire_001", "tire_002_car" etc. If you want to select objects which contain "tire", you can type it with asterisk, e.g. "*tire". After this you can select the needed objects and create a selection set, which you can later add other objects to. In the mask include/exclude list, you can pick the selection set quickly and that's it. Of course this is not ideal and does not work for materials. But I would be more likely to add an object to a layer/set, than to remember to change its name.

(Internal ID=1099962731)
Aram Avetisyan | chaos-corona.com
Chaos Corona Support Representative | contact us

2023-04-21, 13:22:01
Reply #3

pokoy

  • Active Users
  • **
  • Posts: 1850
    • View Profile
Oh I totally know about the workarounds. But they're cumbersome, prone to error and by far not as flexible as they're not dynamic.

That's *exactly* why I created this topic - to make it easier and allow for a dynamic setup of masks (or inclusion of objects) at rendertime.
With thousands of objects in the scene and hundreds in a mask selection list you'll have a hard time opening and updating it and making sure your selection is correct. When the deadline is near and stress levels rise, it's 50/50 of introducing errors.

Also, the SE or 'Select from scene' in Max doesn't work nicely if you display hierarchy in it, it's a Max problem and more often than not it doesn't select anything or only the first thing in the list, and it doesn't properly highlight selection. Plus, wildcards can be utterly slow on a scene with 10K object, try it.

The suggestion, if implemented, would allow to be way more flexible and avoid errors, plus saving users quite some time.

Also, another problem is - Corona absolutely *needs* the automatic addition of hierarchy children in masks to be optional, it's automatic now and it really shouldn't.

2023-04-24, 20:01:24
Reply #4

dj_buckley

  • Active Users
  • **
  • Posts: 872
    • View Profile
For layers - Select child nodes > Add to masking selection (there is still manual selection, but I think this is fine)

Select Layer > Select Objects in Current Layer > Open Render Setup > Navigate to Render Elements > Add CMasking_Mask > Enable Manual Selection > Add Current Selection to Mask

That's the current workflow, if you ever add a new object to that layer, it won't be automatically picked up in the mask, you need to repeat the above with the new object(s).  There's also plenty of clicks involved giving a good chance of accidentally deselecting things.  If you ever want to change what that mask/channel is rendering, then you need to clear the selection from the mask then repeat the process for the new selection etc.  Rinse and repeat.  Over time all these clicks add up.

Open Render Setup > Navigate to Render Elements > Add CMasking_Mask > Choose Layer from Dropdown

Much more efficient, new elements added to the layer get added to the mask automatically, super simple to change which layer is being rendered by the mask.

2023-04-24, 20:08:48
Reply #5

pokoy

  • Active Users
  • **
  • Posts: 1850
    • View Profile
Exactly. 'Dynamic' masks, way easier to set up, less errors, better readability if you work with someone else's files... etc

The old workflow would be still available for those who favor slow and cumbersome include/exclude lists  :D