In a nutshell
The procedural studio's program builds on the procedural tools plugin and provides the tools to generate different TV studio layouts. To understand how the procedural geometry works, refer to the "Procedural tools plugin" page.
The reason this product exists is to make it cheaper and quicker for anyone wanting to create a customized virtual studio to place themselves in. Normally, getting a tailored TV studio with built-in knowledge of lighting/talent placement/decoration requires its own dedicated and knowledgeable (and expensive) 3D modeler. This program attempts to remove the need for that.
Apart from complete studios, an experienced user might create smaller parts of a studio and export them (the program supports exporting any part as static meshes), or use the tool for rapid prototyping.
Using the plugin
Simple studio creation
This is the quick and simple pipeline that should be used by inexperienced users to be able to create a "quick and dirty" studio, with simple controls and clear feedback.
The primary interface used here would be the window brought up by clicking the "Procedural Studio" button that should be visible in the upper toolbar of the editor. In this window, the user can configure most of the basic properties such as shape, height, size, etc.
The idea in this basic interface is that the more fundamental an option is, the further to the left it is. Keep in mind that this interface is very likely to change significantly and often.
To the very left, you can switch between different presets as well as save/load a scene.
In the middle, you can specify the number of stages, as well as change the theme.
In the rightmost column, you can change details, studio shape, studio size/height, add new decorators, etc.
A very important part of the studio is the concept of decorators. These are (mostly) independent decorations that can be added to the studio, adapting to the general shape and height, and can be customized independently.
As of October 2018, these are the existing decorators:
RoofGridDecorator, the optional grid of beams in the roof
StageDecorator, a marked stage, optionally with placeholder table/chairs and small decorations
SinglePolygonDecorator, an arbitrary polygon expanded into a pillar, with extrusions on bottom and top
SingleTVDecorator, one or more static mesh TV screens
PillarWallDecorator, customizable pillars along the walls of the studio
BoxesWallDecorator, customizable wall extrusions along the walls of the studio
WindowWallDecorator, a wall encompassing the studio with an optional window in it
TVWallDecorator, a customizable TV screen that follows along the walls of the studio
RimWallDecorator, an extruded "ring" that follows along the walls of the studio
OverhangDecorator, a customizable overhang
FloorEdgeDecorator, similar to RimWallDecorator, exists on the floor, with optional lights on the sides
The details of the decorators can be configured by left-clicking them in the scene and changing parameters in the "details" panel (by default to the right). They vary depending on the chosen decorator but can be things like dimensions, position and polygon building options.
In this example, we have selected a StageDecorator.
Custom shape creation
Although there are a set of predefined shapes available to use, it's also possible for the user to create custom shapes, to use both as the base of the studio and in some of the decorators. In order to do this you'll want to extend the base class *BP_SplineCreator* and then interact with the spline inside this actor to align them as you want your shape to look, optionally adding and/or removing spline points. The shape will be the shape of the spline curve projected on the XY-axis and the first and last point connected. An example is available in the actor CloverCreator.
A simple class that is responsible for parts of the scene that do not directly relate to the procedural studio, such as backdrop and skylights. A single instance of this class is supposed to exist in the level.
Contains structs and enums used throughout the plugin as well as a few static helper functions.
A pretty much deprecated class providing functions for placing meshes procedurally in a studio.
A wrapper class around ProcMeshBuilder in the ProceduralTools plugin that also spawns static meshes and child actors.
The most important class in the Plugin contains essential logic for generating the procedural studio, primarily using functions from the ProceduralTools plugin and exposed parameters that change how these functions are called.
The logic for the interface that is brought up by clicking the "Procedural Studio" button in the editor.
Boilerplate plugin code.
Styles for the procedural studio plugin.
The "Decorator" classes meant to be added, removed and changed in a modular way in relation to the studio. These include, for example, the lights that can be added along the floor edges or the pillar along the sides.
Fairly niche class that is responsible for the logic for the optional table and chairs on the stage decorators.