Build Options
This section will control how the assembly animation happens. It has a lot of options to control how an element is positioned, if it rotates, scales, moves along a path, bounces etc. etc. It also controls how quickly an object is built and how quickly parts are positioned. Also in this section is where you can chain together multiple assembly, setup events, using custom builders and more.

Build Time
How quickly the object will build in seconds. Note the total time will also have the place time added for the final element to be put in place.
Use Build Time Curve
Allows you to use a curve to control the build speed throughout the animation, this means you can slow down the build around a complex part if you want or speed it up through not so interesting parts.
Build Time Curve
The curve that controls the build speed. The curve value will be clamped to be above 0.01 so that the animation does not stop. Lower values will slow the build animation.
Build Distance
Sets how far from their final destination the element will start their animation. This value can either be a single value used for all elements or by clicking the right hand down arrow you can choose to use random values between two values to add variation if required.
Build Style
Various options for how the elements will animate to their destinations. Note this like other values can be overridden per object or using the Adjust system.
None - No animation will happen
Appear - The element will just appear at its destination
Radial - This and vertical currently do the same thing. The starting point for the element will be on the line from the Origin through the elements final position and at a distance of the Build Distance. Adjust the origin and projection value will control the direction of the movement.
Vertical - This is the same as the Radial option and uses the origin position and project value to control the animation direction.
Transform - If you use the Spline option then use this mode to make use of the spline either to move along or to build from.
Origin
This is the point the elements move towards and controls the direction of the movement. Changing this value will control say whether the object builds from the front, or from behind or above etc. You can also use the editor tool to drag the origin directly in the scene view, and like other params this can be overridden per object etc. so different parts of the object can build from different directions.
Place Mode
Says whether the placement of the element is speed based or tiem based. It can be useful to say use time if the build distance varies so they will build in order for example.
Time - Use the place time value for the element animation
Speed - Use the Speed value for the element animation
Place Time
If time mode selected then this is how long in seconds it will take for the element to position itself. You can use either a single value or you can have it use a random value between two constants for more variation.
Place Speed
If speed mode selected then this is the speed at which the element will position itself. You can use either a single value or you can have it use a random value between two constants for more variation.
Build On Awake
Says whether the object should build itself when it appears in the scene. It is better to use the Start Mode option at the top of the inspector as this is likely to be removed at some point.
Mesh Pivot Mode
For each element this will control where the pivot is, this is important if you have any rotation or scaling on the build animation as it will control how it looks as it rotates etc.
Object - Element will use the main objects position as the pivot.
Center - Element will use its vertices center point as the pivot.
Bottom - Element will use the center bottom point as the pivot.
Top - Element will use the center top point as the pivot.
Rotate Mode
There maybe a case where you don't want the same rotation direction for all the pieces, for example elements that are on different sides of a car, it might look odd if they rotate the same direction for each side of the car so in that case you would select Flip X Axis which would mean the elements on each side of the car would rotate in different directions as they build which would look more correct.
Normal - Use the same rotate value for all elements
Flip X Axis - Negate the rotation value is element is on the other side of the X axis
Flip Y Axis - Negate the rotation value is element is on the other side of the Y axis
Flip Z Axis - Negate the rotation value is element is on the other side of the Z axis
Rotate Range
You can set how much each element rotates as it builds. You can have either a single value for all the elements or you can have it set a value between two constants for more variation.
Projection
This is an important value to help control the build direction of the elements. For example if you wanted all the parts to drop straight down you would set this to 0 1 0 so that only the y part of the direction is used. If you wanted sideways movement you would use 1 0 0. You can set these top any value to remove or amplify the direction value, or negate if if needed.
Random Seed
For the random value between two constants this will set the initial seed value.
Build From Section
You can find info on the Build From Section
Use Place Curve
By default elements will animate to their end position in a linear way which can be a little dull so there is an option to use various curves to control the behaviour of the element as it moves into position. The place curve will control the position along the path to its position with 0 being the start point and 1 being the final end point, so you could add a bounce by doing a simple place curve that reaches 1 early and then reduces before going back to 1 like in the example below. You can off course have multiple bounces, change the amount of bounce or generally control the speed of the placement animation in way.

To enable the use of the place curve you need to check the box to the left of the curve that will then enable the curve and allow you to edit the curve.
Use Rot Curve
You can also use a curve to control any rotation that is applied to the element as it positions itself.
Use Scale Curve
The same for the scaling of the element, scaling as extra options to either use uniform scaling or there is also the option to have a per axis scale curve which might be useful for doing stretch and squash effects on elements. If the use scale curve option is disabled Artificer will default to a linear scaling of the element from 0 to 1 as it is placed. If you don't want this behaviour and say want to have the elements be the same original size then enable the use scale curve option and set a straight line with values of 1 at both ends for example.
Per Axis Scale
Enable the per axis scale curves.
Scale Curves
Depending on the Per Axis value you will see either one or three scale curves. If one curve then that will apply uniform scaling to the element, if three curves then you can control each axis scaling separately.
Use Unscaled Time
For the animation of the elements moving Artificer uses the default Time.defaultTime for moving items, if you enable this option unscaled time will be used which is great if you want objects to build while the game is paused etc.
Custom Builder
Artificer has various built in methods to control the animation of the building process but it also allows for you to use your own custom builders if you need something very specific. You do this by coding your own method for placement in an overridden CustomBuilder class. If you have your own builder on and object in the scene then you can select it here and it will be used instead of Artificer values. Check the Custom Builder section of the docs for more info on this.
Placing
Another useful feature of Artificer is that you can have you own script that tracks the placement of elements as they are built, this could be used to add particle effects, sound effects, trails etc. to elements. This is done by an overriden class on a gameobject, if you have one then you select it here. See the Placing section for more info on this feature.
Last updated