At Imaginary Labs, we spent some time perfecting our Gobo functionality. We’ve shifted away from Unreal’s Blueprints system and into C++. We found that it gave us an overall performance boost while still performing complex functions. Functions like constructing a dynamic gobo wheel from a list of individual texture masks. Using Carbon, we are able to dynamically add and apply gobo masks onto a wheel. These masks can be cycled through and manipulated individually, as well as a group.

Constructing Gobo Wheel from Texture Slots:

Adding Gobo Wheel Textures to Constructed Slots:


Indexing through Gobo Texture Wheel:


Creating a dynamic gobo wheel system from individual textures was admittedly a bit tricky at first, but was well worth the effort as we now have a great amount of functionality in both constructing unique gobo wheels, and modifying gobo textures down to an individual level.  We will delve a little deeper into these modifiers in part 2.

-Joe Bonura