Vray lights as part of block-instance


Imagine having a job where placing spotlights and other directional lights is something you do alot - and then imagine you are designing a tradeshow stand with a rig and 50 spotligts attached to that rig. The spotlights are imported as blocks - which is good - but now you have to manually insert 50 vray ies spotligts. This is time consuming and the solution seems so simple yet it is not possible.

Having lights as an ordinary object i Rhino to work in blocks has been requested since 2014 and I can see that there is no development on this. What is the forecast of this feature being implemented in R8?

I believe a lot of people could benefit from this feature and in this day and age I think it is a small request to be able to have lights in block definitions and instances.


I don’t think it is exclusive to V-ray, since this is a Rhino issue when you cannot add lights as a part of the block, now something I used to scatter lights in scenes, you can use V-Ray Grasshopper. with some basic settings you can build a really good distribution of lights that you can control the placement of lights parametrically.
@Nikolay input please.


Yes, the main problem is that Rhino does not allow lights in blocks as a whole. V-Ray lights are simply Rhino lights + some extra data. The reason for that is to be able to see them in the viewport. Certain lights have 100% match - Rectangular, Point, Directional and Spot lights are exactly the same, so we use them directly. This is important in order to be able to visually modify their properties in the viewport - like cone angle, penumbra, etc. That also includes the intensity, color, attenuation (coming soon)

For IES, Sphere, Dome, Sun, we use one of the above types, with certain limitations - like the spot angle of the IES light - it obviously does nothing if you edit it in Rhino.

Imagine if we decide to make our lights custom objects - e.g. not native lights. You will directly loose these abilities:

  1. See them in the light panel
  2. Modify parameters, transformations, visibility, etc in the viewport
  3. Lit the viewport (in rendered viewport they will not be a light source)
  4. Probably more…

And you gain this:

  1. Place them in blocks
  2. Probably more…

I’m not a modeller, but just counting the points, it looks like what will everyone loose is more than some might gain. (unless you have very good ideas for the “Probably More” categories)

As @tay.othman said - there are number of ways to overcome the issue with the automation. It basically means some sort of scripting - Python, Basic, C# or Grasshopper (which is just very inefficient C#). You just need to link up your BIM data (lights locations) with a couple of lines of python code.

V-Ray will also benefit from having lights in blocks. We have a very efficient light instancing in the renderer, so having 1 block with 100 lights instanced 100 times will render fast and efficient. However Rhino does not have that feature


The biggest problem is that light objects in Rhino aren’t objects in actuality, which makes adding them to blocks very hard.

It is on the todo list though to get fixed eventually.

Maybe a new set of light objects could be introduced, that actually are ‘real’ objects, and leave the old ones as they are, in a programmatical sense.
The old ones would ve left for compatibility, and the new ones are those easier to find in the UI, to promote them.
Does that make sense?


It sure does, it still is going to be a tough project to tackle.

And all render engines would have to support those new light objects, too… sounds fun.

@Jacob_Thuesen @Nikolay
How about exporting the tradeshow lighting fixtures geometry along with the associated lights as a .vrayscene and then embedding the ,vrayscene into a block. I have tested the .vrayscene ability to save lighting information and it should work.

I’ve been following the “Lights in Blocks” threads for a long time. I have a question for ya’ll. Wouldn’t Vray Light Meshes solve this problem? I’ve tested it and it can be instanced along with blocks. No problem putting it in a Block. Maybe we can treat that Light Mesh almost as an actual physical Light Source as in an actual Filament in a bulb. However, I’m not sure though if it would have the same lighting effect as , say for example ,the Spotlight or Planar Lights etc. would. What I mean is if I create a recessed spotlight block containing a Mesh Light as a source of illuminance, would it have the same output and lighting/visual effect if I used a Vray Spotlight? In terms of Lumens.

The problem of mesh lights is that they have no defined direction, they are not focused. And you can’t use IES data. Mesh lights are like emissive materials, only the calculation is an other type. Or is not so?