Iris Implementation

Last week, I was asked to look into the Iris function of our lighting system. We needed a dynamic iris that could scale and blend with the resulting image of our gobo wheels. The role of the iris seemed rather simple, so I looked for examples of a motorized iris in modern lights. The result seemed to require a circular mask that could expand and contract from the perimeter of our lens radius.

Motorized Iris:

Real-world examples use a series of curved blades to create this behavior. Luckily for me, I can create a nearly similar look from some rather simple math equations. We multiply these equations through a radius length we control, apply it over our gobo image, and ta-dah! Our system now has a dynamic iris function.

Getting the iris to blur or blend with the gobo image it masks requires a little more work. UE4 implements an edge hardness system on their masks, which I felt would do a great job here. Adding in a scalar value for the hardness of our iris edge now allows us to control the transition strength between where our iris mask starts and ends its occlusion.

A rather simple, but powerful tool, the iris system in Carbon is ready to go. Not only will this functionality help us better simulate our lights, but it’s another tool our artists can use to create a truly unique visual footprint.

-Joe Bonura