8 Index

1 Welcome to Xpressionist

1.1 What's new in Xpressionist 3.5
1.2 What is an expression?
1.3 What does Xpressionist do?
1.4 Me and math? No way!
1.5 About this Documentation
1.6 Credits

2 Quick Start

2.1 Creating a simple expression
2.2 Editing the expression
2.3.1 Controlling multiple channels of an object 1
2.3.2 Controlling multiple channels of an object 2
2.4 Controlling two and more objects
2.5 Linking objects
2.6 Using functions
2.7.1 Using conditional statements 1
2.7.2 Using conditional statements 2
2.8.1 creating objects 1
2.8.2 creating objects 2

3.1 Xpressionist Interface - the Editor Tab overview

3.1.1 Text Editor
3.1.2 Active Channel List when Editor Tab is upfront
3.1.3 Active Channels list Text Filter
3.1.4 Active Channels list Channel Filter
3.1.5 Check Syntax button
3.1.6 Update Project button
3.1.7 Compiler Mode checkbox
3.1.8 Cancel and OK buttons
3.1.9 Value Display

3.1.10 File Menu
3.4.11 Edit Menu
3.4.12 Functions Menu
3.4.13 Help Menu

3.2 Xpressionist Interface - the Channel Tab overview

3.2.1 Object Selector
3.2.2 Object Filter
3.2.3 Object Selector Text Filter
3.2.4 Channel Selector
3.2.5 Channel Filter
3.2.6 Active Channel list when channel tab upfront
3.2.7 Active Channel list Text Filter
3.2.8 Active Channel list Channel Filter
3.2.9 Cancel and OK buttons

3.3 Xpressionist Interface - the Preferences Tab overview

3.3.1 Execution Options
3.3.2 Editor Options
3.3.3 Global Options
3.3.4 Custom Channels
3.3.5 Active Channel list when preferences tab is upfront
3.3.6 Active Channel list Text Filter
3.3.7 Active Channel list Channel Filter
3.3.8 Cancel and OK buttons

4 Syntax

4.1 Parts of an expression
4.2 Data types
4.3 Variables
4.4 Strings and string variables
4.5. Constants
4.6 Understanding vectors
4.7 Arythmetic, relational and logic operators
4.8 Operator precedence
4.9 Functions

4.9.0 Setup for the examples
4.9.1 Limit functions

4.9.1.1 absolute value - abs( x )
4.9.1.2 round - round( x )
4.9.1.3 truncate - trunc(x )
4.9.1.4 ceiling - ceil( x )
4.9.1.5 floor - floor( x )
4.9.1.6 clamp - clamp( min, max, parameter )
4.9.1.7 maximum - max( x, y, ..., n )
4.9.1.8 minimum - min( x, y, ..., n )

4.9.2 Exponential functions

4.9.2.1 to the power of - pow( base, exponent )
4.9.2.2 square - sqr( x )
4.9.2.3 square root - sqrt( x )
4.9.2.4 natural logarithm - log( x )
4.9.2.5 base 10 logarithm - log10( x )
4.9.2.6 exponential - exp( x )

4.9.3 Trigonometric functions

4.9.3.1 sine - sin( x )
4.9.3.2 cosine - cos( x )
4.9.3.3 tangent - tan( x )
4.9.3.4 arcsine - asin( x )
4.9.3.5 arccosine - acos( x )
4.9.3.6 arctangent - atan( x )
4.9.3.7 radians to degree - deg( x )
4.9.3.8 degree to radians - rad( x )

4.9.4 Random functions

4.9.4.1 random - rand( x ), rand( x, y), rand( vec ), rand( vec1, vec2 )
4.9.4.2 noise - noise( x )
4.9.4.3 noise 2D - noise2d( vec )
4.9.4.4 noise 3D - noise3d( vec )
4.9.4.5 noise 4D - noise4d( vec4 )
4.9.4.6 noise of vector - dnoise( vec )

4.9.5 Vector functions

4.9.5.1 length - length( vec )
4.9.5.2 angle - angle( vec1, vec2 )
4.9.5.3 cross product - cross( vec1, vec2 )
4.9.5.4 spat product - spat( vec1, vec2 )
4.9.5.5 distance - distance( vec1, vec2 )
4.9.5.6 dot product (see also arithmetic operators)
4.9.5.7 vector definition (see also data types)
4.9.5.8 RGBtoHSV and HSVtoRGB
4.9.5.9 XZYtoXYZ etc.

4.9.6 Other math functions

4.9.6.1 delta - delta( x ), delta( vec )
4.9.6.2 average - av( x, y, ..., n ), av( vec1, vec2, ..., vecn )
4.9.6.3 speed - speed( vec )
4.9.6.4 component speed - vspeed( vec )
4.9.6.5 fmod( x, y )
4.9.6.6 fact( n )

4.9.7 Curve functions

4.9.7.1 linear step - linstep( min, max, parameter )
4.9.7.2 smooth step - smoothstep( min, max, parameter )
4.9.7.3 hermite spline - hermite( start, end, tan1, tan2, parameter )

4.9.8 Utility functions

4.9.8.1 setup enclosure - setup() { ... }
4.9.8.2 alias - alias( newname, channel )
4.9.8.3 print to console - ( value, string )
4.9.8.4 beep - beep( x )
4.9.8.5 evaluate string - eval( string )

4.9.9 Create functions

4.9.9.1 create effector: cross
4.9.9.2 create effector: box
4.9.9.3 create effector: joint
4.9.9.4 create effector: bone
4.9.9.5 create camera
4.9.9.6 create light: camera
4.9.9.7 create light: parallel
4.9.9.8 create light: radial
4.9.9.9 create light: ambient
4.9.9.10 create light: spot
4.9.9.11 create light: tube
4.9.9.12 create illuminator: radial dome
4.9.9.13 create illuminator: radial box
4.9.9.14 create smoker

4.9.10 Constraint functions

4.9.10.1 absolute coordinates - coord( Position ), coord( Position, frame )
4.9.10.2 place at - placeat( child.Position, object.Position )
4.9.10.3 look at - lookat( obj1.Position, obj2.Position )

4.10 Conditional statements
4.11 Adressing of Xpressionists Relatives
4.12 Commets
4.13 For Next Loops
4.14 General syntax rules
4.15 Errors

5 Compiler

5.1 What is compiling
5.2 Installtion of a GCC compiler in your system
5.3 Xpressionist in Compiler Mode
5.4 3 simple rules for C++ compatible expression code

6 How to...

6.1 ...animate Sprockets
6.2 ...script a turning wheel
6.3 ...automate muscles
6.4 ...make an animation rig for a hand
6.5 ...make custom control sliders
6.6 ...automate Z-buffer ranges
6.7 ...drive deformations
6.8 ...animate springs (advanced)

7 Kontrolleur

7.1 What is the idea behind Kontrolleur?
7.2 When to use Kontrolleur
7.3 How to set up Kontrolleur
7.4 How to use Kontrolleur
7.5 Kontrolleur preferences

8 Index


 

 

Xpressionist 3.5