Green screen studio

Introduction

Chameleon includes a set of features that allow users to create 'green screen studio' scenarios.

A green screen studio is a simplified environment where objects of interest can be placed in order to generate images against various backgrounds in various lighting conditions from various camera angles. The objects themselves can also be automatically varied or swapped for new objects, increasing the range of diversity that can be automatically generated. A typical green screen environment can be created by surrounding the objects with an enclosing volume made either from simple geometric primitives or more complex geometries that have been prepared with alternate textures being made available to them

The elements that go into creating a green screen studio include:

  • Items specified as "TextureSwap".
  • Cameras specified as "Cloud" or "Drone"
  • Configurable or standard Actors
  • Generators

In principle, any asset can be placed into a green screen studio environment; the elements can be any valid asset and do not need to be an item with texture swap. The item (or vehicle) will simply be without the texture swapping capability but will still create a valid simulation scenario. Similarly, all the normal features of the simulator such as attractors and circuits are also available.

Functionality

Green screen functionality is available in any scene, although some scenes may be less suitable than others due to their specific content.

Cloud Camera

Any camera can be specified as "Cloud" when it is placed in the scenario editor. When the simulation is run, the camera will move to a new position every every n captured frames where n is set by the FrameStep property. Cloud cameras can be placed directly into the scenario or can be attached to other elements in the same way as ordinary cameras.

Cloud cameras must be given a generation volume inside which they will regenerate in a new location.

The generation volume is a hollow sphere where the user can specify the inner and outer limits. The volume can be further restricted to lie within bounds defined by min and max azimuth angles as well as within a certain radial angle centered on a direction.

The look-at direction is defined by a cuboid volume that can be placed anywhere in the scene and can have any dimensions. Each regeneration of the camera will choose to look through a random point in the volume.

When the camera is attached to an element, the look-at volume defaults to a size of zero and a location at the centre of the element it is attached to. It can be subsequently relocated and resized by the user if desired.
A full description of cloud cameras is at: Using Cameras

Texture Swap

Any item (but not actors or vehicles) can be specified as "TextureSwap" when it is placed in the scenario editor. When the simulation is run, the item will randomly swap its textures every n captured frames where n is set by the FrameStep property. The textures are read from a prepared source containing the textures to be used along with a json format configuration file.

Textures and other configuration information is stored in a user location according to a strict specification. A pointer to this location is provided by the user and can be changed on scenario initialisation.

The user can cause any type of texture to swap, including albedo, normal, ambient occlusion and various other textures with the proviso that the texture property exists in the shader and its keyword is accessible.

Other accessible properties of types Float and Color can also be modified.

Textures can be set to swap randomly based on a seed value or to display in directory order so that a movie effect can be created.

Properties of both cloud cameras and texture swap items are exposed through the pass system so that behaviors can be customized per-pass.
A full description of texture swap can be found at: Using Items