Driving keyer parameters with camera (or other) values
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 zmq
to install the required librariesIn 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.ini
file (check the default file for examples):DriverService
: The name of the service to listen to, most likelySOMETHING
-EngineDriverName
: 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 targetTargetService
: Target service to send updates to, usually Store unless you are doing something freakyTargetName
: Location of new values that are sent, change this to be the camera name you want to make changes toUpdateInterval
: 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.py
to 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: