New features added to Lights panel

rhino

(Max Söderström) #1

The Light Panel has been upgraded with new features that will help the user to create and manage lights more easy. Furthermore the new Light Panel supports custom lights, which means that third party Render Plug-in developers can create and implement own custom lights for their Renderer.

All feedback, comments, wishes and bug reports are more then welcome.

New features:

  1. Groups
    A. Lights can be displayed as groups. This feature is on by default.
    B. The name of the group can be edited
    C. Turn on/off whole group of lights.
    D. Varies support if group contains both on and off lights. The group icon will then display an on/off light icon next to the group.

  2. A new column displaying the layer has been added.

  3. Multiple selection
    A. Turn on/off multiple selected lights

  4. Lightmanager lights to viewport and viewport to lights selection. This feature is on by default.

  5. Sorting lights by columns. Sun and Skylight always on top.

  6. New Solo column. The solo column allows to isolate one or more light sources without the user having to change the visiblity of a light directly. By clicking Solo will hide all lights except the soloed light will be shown (even if the light was hidden before). By clicking “solo” on another light, the other light will be soloed. Multiple lights can be put into solo mode. After the last light has been unsoloed, the visibility of all lights as before soloing is restored.

Custom Light Support:

  1. Allows third party Render Plug-in developers to implement custom lights.

  2. The custom light manager does not need to be registered. It will be automatically registered when the plug-in is loaded.

  3. In order to create a custom light manager in C#, one needs to derive the LightManagerSupport class and override some functions. We have a sample code of a custom light manager implementation for a render plug-in in github: https://github.com/mcneel/Rhino6Samples_CS/tree/master/SampleCustomLightManager


(Pascal Golay) #2

Hi Max - a couple of things I noticed here -

  • If I double-click on the name, I get the Lights properties page - that is nice, but I think it ought to happen, if possible, when double clicking anyplace in the horizontal row. By restricting to the name, there’s a sort of built in possible conflict where a slow double-click wants to rename the light.

  • it’s a little hard to know what can be edited and what cannot just by looking - for instance the layer of a light cannot, as far as I can see, be changed in this dialog, but I cannot tell by looking at it and so I click, slow click, double click, right click…

-Pascal


(Max Söderström) #3

Thanks for the comments they are good points and I will make YT issues out of these


(Max Söderström) #4

More about Solo feature (will be available in the next WIP):

In the below example some of the lights are off in the middle of the model.

I set one of the middle lights into solo mode. The light in solo mode turns on and all the other lights will be turned off.

I can add more lights to solo mode.

After removing all the lights from solo mode, the state of all the lights are restored to as they where before entering solo mode.


#5

That all looks great, i am looking forward to testing the solo function - for guys like me working on rendering, this will be a really helpful feature.

To pascal’s feedback, I can say that it is always difficult to find out which parts of a UI are editable and which not - I guess, making the font dark gray could be something to try, but that would break the general look (same thing with making the font italic…) So I guess there is always something that users will just have to know or figure out.

One more thought about the solo-feature:
Typically clicking “solo” would put the one light source whose solo button was clicked in solo mode, disabling any other soloed light(s). A way to add more light to the solo state, is to hold down the Ctrl-key on windows and clicking the solo checkbox of other lights. This behavior would be the same as people know from a file explorer, where they select one single file per point and click and can add other files by holding down a modifier key.


#6

Just could lay my hand on the new WIP ((6.0.16313.10381, 11/8/2016) Beta)

Here is some light manager feedback:

  • When I create new lights, sometimes, they show up as “Unnamed”, later they can suddenly pick up the light name (Light01, Light02, etc…)
  • There is some very interesting behavior when right-clicking lights in a light group: Many time, it switches the light on and off plus showing the right-click context menu
  • I could reproduce a crash when enabling a light inside a light group and then double-clicking the groupname
  • I could reproduce a crash when right-clicking the groupname of a lightgroup and then trying to turn the group on or off

(Max Söderström) #7

@ruediger Thanks for the findings. I will start to fix these bugs right away.


(Pascal Golay) #8

Hi Max - a couple more things -

  • It would make sense, I think, to have Group on the context menu so that selecting and grouping can be done all within the panel. As is, you need to move focus deliberately to the command line or one of the selected lights will be named ‘Group’, if you just start typing the command while Lights has focus…

  • It might be nice to have ‘Unsolo all’ in the context menu.

  • Grouping groups does not nest the groups in the Lights panel. I don’t think there is an actual hierarchy in how groups are handled in Rhino is that correct? So I don’t know if it is fixable locally, but it ends up looking messy as lights are repeated in the panel.

  • A couple of plain old bugs, adding those to YT as I go.

thanks, this is good…

-Pascal


(Nathan 'jesterKing' Letwory) #9

This is not something from the new light manager though. But I do hope it gets fixed :slight_smile:

/Nathan


(Max Söderström) #10

Yes the grouping goes just one level down. Parent and children.


(Max Söderström) #11

I have implemented the Unsolo All feature, fixed two crashes and also fixed the checkbox/contextmenu switch problem.

I made YT bug of the naming issue (unnamed -> Light1, Light2).

Also we have an open YT issue about adding and deleteing lights when in Solo mode. Currently there is strange behavior when adding/deleting. RH-36181 SOLO Light: Add/Delete lights in Solo mode.

Thank you all very much for the findings!


(Pascal Golay) #12

Hi Max - it might be useful to set default light names according to the light type - PointLight 01, DirLight 01, etc.

-Pascal


(Pascal Golay) #13

Max, one other slightly bumpy behavior - it should be easier to delete lights from the panel. Currently, I can select a light or lights in the Panel but Delete does not work unless I click back in Rhino. If I click in the viewport, chances are I will lose my selection. I guess I’d add a Delete to the context menu if I were king of the world, or let the command work in the panel.

-Pascal


(Max Söderström) #14

There is a Delete command for lights in the Context Menu. However the delete command is only visible if lights are selected. The Sun, SkyLight and Groups cannot be deleted.

Also in the next WIP we have fixed the issue of adding and deleteing lights when in Solo mode. In short if a light is added when in Solo mode the new light will be on and have the on Solo state on.


#15

Hi there, we have been working with the Lighting UI for a while now and we found, that it might make sense to make grouping and ungrouping af lights also accessible via the right click menu. This would also indicate users that grouping of lights has an effect in the light list who have not been aware of that feature (as it is something new). See below a mockup of how this can look in the UI.
All the best,
Rüdiger


#16

I wanted to log a bug when folding and unfolding light groups in the Light List UI of Rhino WIP
(6.0.17031.12411, 1/31/2017)

See the repro steps in this video:
https://www.youtube.com/watch?v=CFMKan4xNKw

Best Regards,
Rüdiger


(Pascal Golay) #18

Hi Rudiger - I see that, thanks.
https://mcneel.myjetbrains.com/youtrack/issue/RH-37842

-Pascal


(Max Söderström) #19

Hi ruediger,

I fixed the problem with expanding groups that turned lights on/off.

I also fixed the issue that the Light Panel sometimes did not respond to added lights. Thank you very much for these findings.

I just comitted the fix and hope it will be available in time for the next WIP.

Best Regards
Max


(Max Söderström) #20

Hi @ruediger,

In the next WIP these features will be available:

  • Grouping and UnGrouping of lights in LightPanel is now possible using the ContextMenu.

  • Also the text alignemnt of text in each cell is centered.

There is still one bug when using Copy command to copy groups of Lights. If one copies a Group with two Lights, then a new Group is created containing two new lights. However the LightPanel displays the original Group to contain three lights and the new Group to contain only one light. This happens only using the Copy command. I have created a bug about this problem and we will fix it.