[3/3] SFM Tutorial: Advanced Element Viewer
Part 3 of my advanced Element Viewer tutorial, where I will create some more complicated animation set controls, introducing the concept of operators.
Links:
Expression Operator: https://developer.valvesoftware.com/wiki/SFM/Expression_Operator
Part 1: https://youtu.be/1zNxG4M_EOc
Part 2: https://youtu.be/4-nzKKCrxUo
Timestamps:
0:00 Intro
1:27 Creating a remappable control
4:08 About operators
6:27 Expression operator and min/max controls
11:22 Creating a rainbow slider
25:24 Some additional information
Creating a min/max adjustable animation set control, step by step:
1) Create a regular control and pump its value into a channel
2) Create a new "DmeExpressionOperator" and place it inside of the "operators" list of your animation set
It requires the following float attributes: "lo", "hi" and "value"
3) The "toElement" should be the operator, with the "toAttribute" set to "value"
4) Create a second channel with the "fromElement" being the operator again, "fromAttribute" being "result"
5) The channel should point to whatever element/attribute you wish to modify
I briefly mentioned the limitations of the channels/operators/controls system, here's a more complete list of them:
- No operators/expressions for manipulating strings
- Only allows transfer between attribute values - can't change references
- Animation set controls can only animate Float, Vector3 and Quaternion values
- Only allows for direct interaction with the movie world - the game world is completely out of the picture