Here is a workflow that will allow you to control keyer parameters with the help of some value found in engine. By default we are using FOV, meaning we are using camera zoom as a driver to interpolate between keyer presets.
Learn more about how to create Presets
Setup
-
Download this folder in the DeveloperTools repository: https://bitbucket.org/futureuniverse/developertools/src/master/ParameterLERP/
-
containing
-
KeyerLERP.py -
config.ini
-
-
-
Install Python Python 3.10+
-
Run
pip install configparser zmqto install the required libraries -
In the Editor: Add an instance of the “Broadcaster” actor to your level, its very simple and can be made again, all content is in the event graph and runs on tick. By default it will broadcast the camera FOV
-
Edit the
config.inifile (check the default file for examples):-
DriverService: The name of the service to listen to, most likelySOMETHING-Engine -
DriverName: The name of the parameter you want to drive the data, for example camera FOV (this is the default opion), if you update this, be sure to also send updates on the new name (so update the Broadcaster actor in PixotopeTools/ParameterLERP) -
DriverPoint1: Defines the lowest point from which to LERP, for FOV, it will designate an FOV where for any lower value, it will use 100 % ofPreset1Name -
Preset2Name: Same but for Upper target -
TargetService: Target service to send updates to, usually Store unless you are doing something freaky -
TargetName: Location of new values that are sent, change this to be the camera name you want to make changes to -
UpdateInterval: Allows you to specify how frequently to send updates, value of 1 will update on every FOV change engine reports, so most likely every frame
-
Run script
-
Run
python KeyerLERP.pyto start the python script
The script will keep running in the background until closed
Here is an example of running with dummy data being broadcasted from engine as FOV, lerping between two presets: