You are on page 1of 2

Problem:

I would like to use animated people (i.e. walking people) and change the animation of the person in the model.
Categories:
Animation, Entity Characteristics
Key Concepts:
Active Symbol, Assign Step, Current Animation Index
Assumption:
This model assumes the user is using the animated people symbols that are available in the Simio Project Symbol
library available with the Simio installation (Library\People\Animated).
Technical Approach:
This model demonstrates how to use the animation features available with some of the animated symbols
provided in the Simio Symbol Library. Once an animated symbol is placed in the Facility window, right click onto
the symbol and select List Animations of Active Symbol to see what options are available for animation of this
symbol.
When an entity is selected, there are two properties on the entity which control the animation for the symbol. The
Current Animation Index returns the numeric index or string name of the current animation of the current active
symbol. By default, the value of this property is ModelEntity.Animation, which is a String State on the
ModelEntity object.
The other property on the ModelEntity that controls animation is the Default Animation Action property. This
indicates if and how Simio will animate objects that dont have an explicit animation set via the Current Animation
Index expression. The possible values for this property are None, Moving and MovingAndIdle. None means that
no action will be taken. Moving indicates actively moving entities will be animated with any available forward
movement animations from the active symbol. MovingAndIdle indicates actively moving entity and idle objects
will be animated with any available forward movement or idle animations from the active symbol.
Details:
Simple System Setup
Place four Source objects and four Sink objects. Connect the first three Source objects to the first three
Sink objects with a Path.
Place a TransferNode between Source4 and Sink4 and connect Source4 to the TransferNode with a Path
and connect the TransferNode to Sink4 with a Path.
Randomly Assign Animation Example (Source1)

Drag an entity into the Facility window from the Project Library. Rename this entity Person1.
With this entity selected, select one of the Male icons from the Project Symbols drop down menu in the
ribbon (under Library\People\Animated).
With the male entity selected, right click and select List Animations of Active Symbol to see what options
are available for animation of this symbol. Notice the options for Walk and Run. Click OK to close the
window.
Select Source1 and open the Before Exiting Repeat Property Editor window. Click Add and enter the State
Variable Name, ModelEntity.Animation. Set the New Value to Random.Discrete(Walk, .6, Run, 1) so
that 60% of the entities will walk and the other 40% will run.

Assign Numeric Value to Current Animation Index Property Example (Source2)

Place another entity into the Facility window from the Project Library. Rename this entity Person2.
With this entity selected, select one of the Female icons from the Project Symbols drop down menu in the
ribbon.

With the Female entity selected, right click and select List Animations of Active Symbol to see what
options are available for animation of this symbol. Notice that number 5 is Scared_Walk. Click OK to
close the window.
With the Female entity selected, expand the Animation property category and find the Current Animation
Index property. This property will accept either an expression that returns the numeric index or string
name of the current animation of the active symbol. Put the value of 5 into this property so that the
entities will Scared_Walk.
Click onto Source2 and change the Entity Type property to Person2 so that it produces this new entity
type.

Simio Determines Animation Based on Speed Example (Source3)

Place an entity into the Facility window from the Project Library. Rename this entity Person3.
With this entity selected, select a Male from the Project Symbols drop down menu in the ribbon.
Click onto Source2 and change the Entity Type property to Person3 so that it produces this new entity
type.
With Source3 selected, open the Before Exiting Repeat Property Editor window. Click Add and enter the
State Variable Name, ModelEntity.DesiredSpeed. Set the New Value to Random.Uniform(.1,3) and
Units to Meters per Second so that some entities travel slow and others fast. Simio will determine
which animation to use, based on the speed. Notice that some entities will walk, while others will run.
Change the Allow Passing property on the path between the Source and Sink to be False, so that the
slower walking people cause others to slow down as well.

Change Animation in Logic Example (Source4)

Select Source4 and open the Before Exiting Repeat Property Editor window. Click Add and enter the State
Variable Name, ModelEntity.Animation. Set the New Value to Random.Discrete(Run, .5, Jump, 1) so
that 50% of the entities will run and the other 50% will jump.
Click onto TransferNode1 and create a new Add-On Process in the Entered Add On Process trigger (select
Create New from the drop of the Entered property).
In the Processes window, place an Assign step in this new process. Set the State Variable Name to
ModelEntity.Animation and the New Value to Walk. When the entity enters this TransferNode, it will
change from its current animation of Jump or Run to Walk.

Embellishments:
Change the active animation to try different options, such as a swimming female symbol or a male symbol that is
attack kicking.

*IMPORTANT NOTE: Animation options, such as Walk, Run, Jump, etc. are case-sensitive.

You might also like