*tit 3D actor object
*des The 3D actor object allows you to access the properties of your 3D actors. 3D actor objects are created by loading an actor definition file using the Game.LoadActor3D or Scene.LoadActor3D methods.


*grp Actions

*met GoTo(X, Y)
*mt2 GoToAsync(X, Y)
*des Makes the actor walk to a given point.
*par X The X coordinate of the target walking point
*par Y The Y coordinate of the target walking point
*rem The GoTo method blocks the script execution until the walking is over, while the GoToAsync method returns immediately.

*met GoToObject(Entity)
*mt2 GoToObjectAsync(Entity)
*des Makes the actor walk to a specified entity.
*par Entity The entity object the actor should walk and turn to
*rem This method utilizes the WalkToX, WalkToY and WalkToDirection properties of the target entity. They can be set directly in SceneEdit.


*met TurnTo(Direction)
*mt2 TurnTo(Object)
*mt2 TurnToAsync(Direction)
*mt2 TurnToAsync(Object)
*des Makes actor turn to the given direction or to a given object.
*par Direction The direction to turn to
*par Object The object to turn to
*rem The TurnTo method blocks the script execution until the turning is over, while the TurnToAsync method returns immediately. The direction can be one of the following constants: DI_UP, DI_UPRIGHT, DI_RIGHT, DI_DOWNRIGHT, DI_DOWN, DI_DOWNLEFT, DI_LEFT or DI_UPLEFT (those equal to numbers 0 to 7).

*met TurnToAngle(Angle)
*mt2 TurnToAngleAsync(Angle)
*des Makes actor turn to the given angle.
*par Angle The angle to turn to, in degrees
*rem The TurnToAngle method blocks the script execution until the turning is over, while the TurnToAngleAsync method returns immediately.

*met IsWalking()
*des Queries whether the actor is currently walking.
*ret Returns <b>true</b> if the actor is walking.

*met PlayAnim(AnimName)
*mt2 PlayAnimAsync(AnimName)
*des Plays an animation.
*par AnimName The name of the animation sequence to be played
*ret Returns <b>true</b> if the animation has been played successfuly.
*rem The PlayAnim method blocks the script execution until the animation is over, while the PlayAnimAsync method returns immediately. <b>PlayAnim</b> is equivalent to <b>PlayAnimChannel</b> with channel set to zero.

*met PlayAnimChannel(Channel, AnimName)
*mt2 PlayAnimChannelAsync(Channel, AnimName)
*des Plays an animation in a specified channel.
*par Channel The channel to be used by this animation (0 - 9)
*par AnimName The name of the animation sequence to be played
*ret Returns <b>true</b> if the animation has been played successfuly.
*rem The PlayAnimChannel method blocks the script execution until the animation is over, while the PlayAnimChannelAsync method returns immediately.

*met StopAnim()
*des Stops a currently playing animation.
*ret Returns <b>true</b> if the animation has been stopped successfuly.

*met StopAnimChannel(Channel)
*des Stops a currently playing animation in the specified channel.
*par Channel The channel in which the animation should be stopped (0 - 9)
*ret Returns <b>true</b> if the animation has been stopped successfuly.

*met SkipTo3D(X, Y, Z)
*des Moves the actor to a specified point in 3D space
*par X The X coordinate
*par Y The Y coordinate
*par Z The Z coordinate


*grp Direct control

*met DirectWalk(Velocity, Animation)
*des Makes the character walk forward.
*par Velocity The walking velocity to be used (optional, defaults to standard velocity)
*par Animation The animation to be used (optional, defaults to standard animation)

*met DirectWalkBack(Velocity, Animation)
*des Makes the character walk backwards.
*par Velocity The walking velocity to be used (optional, defaults to standard velocity)
*par Animation The animation to be used (optional, defaults to standard animation)

*met DirectWalkStop()
*des Stops character from walking.

*met DirectTurnLeft(Velocity, Animation)
*des Makes the character turn counter-clockwise.
*par Velocity The turning velocity to be used (optional, defaults to standard velocity)
*par Animation The animation to be used (optional, defaults to standard animation)

*met DirectTurnRight(Velocity, Animation)
*des Makes the character turn clockwise.
*par Velocity The turning velocity to be used (optional, defaults to standard velocity)
*par Animation The animation to be used (optional, defaults to standard animation)

*met DirectTurnStop()
*des Stops character from turning.


*grp Shadow related functions

*met SetShadowImage(Filename)
*des Sets and image to be used as a simple shadow for this actor
*par Filename The filename of an image to be used
*ret Returns <b>true</b> if the image has been successfuly set.

*met GetShadowImage()
*des Gets the currently assigned image to be used as a simple shadow for this actor
*ret Returns the filename of currently assigned shadow image or <b>null</b> if no image is set.

*met SetLightPosition(X, Y, Z)
*des Sets the position of a light to project a real-time shadow
*par X The X coordinate of the light
*par Y The Y coordinate of the light
*par Z The Z coordinate of the light
*rem The light position is relative to actor's position.


*grp Mesh related functions

*met HideMesh(MeshName)
*des Hides a specified part (mesh) of this actor
*par MeshName The mesh to be hidden
*ret Returns <b>true</b> if the mesh has been successfuly hidden.

*met ShowMesh(MeshName)
*des Shows a specified part (mesh) of this actor
*par MeshName The mesh to be shown
*ret Returns <b>true</b> if the mesh has been successfuly shown.

*met AddMesh(Filename, MeshName, ParentBone)
*des Load a new model from a file and attaches it to a specified bone of this actor
*par Filename Filename of the model file to be loaded (MS3D file)
*par MeshName The name of the mesh to be loaded
*par ParentBone The name of the bone (joint) the loaded mesh will be attached to
*ret Returns <b>true</b> if the mesh has been successfuly loaded and attached.

*met RemoveMesh(MeshName)
*des Permanently removes a specified mesh from this actor
*par MeshName The mesh to be removed
*ret Returns <b>true</b> if the mesh has been successfuly removed.



*inc inc_inventory.inc 

*inc inc_object_cursor.inc
*inc inc_object_script.inc
*inc inc_object_sound.inc
*inc inc_object_events.inc
*inc inc_adobject_methods.inc
*inc inc_object_misc.inc

*grp 

*atr Type
*des Returns always "actor3d"
*ro

*atr Direction
*des The direction the actor is currently facing

*atr DirectionAngle
*des The angle the actor is currently facing, in degrees


*inc inc_adobject_attr.inc 
*inc inc_object_attr.inc

*atr Scale
*des The scale of this character in percent. The scale affects both the character model and its shadow.

*atr PosX
*des The 3D X coordinate of the actor's current position

*atr PosY
*des The 3D Y coordinate of the actor's current position

*atr PosZ
*des The 3D Z coordinate of the actor's current position

*atr Velocity
*des The movement velocity to be used for walking

*atr AngularVelocity
*des The turning velocity to be used for turning

*atr Shadow
*des Specified if this character casts shadow

*atr SimpleShadow
*des Specifies if simple shadow is used instead of real-time one (has no effect if real-time shadows are unsupported)

*atr ShadowColor
*des The RGBA color of the real-time shadow cast by this character

*atr TalkAnimName
*des The name of an animation sequence to be used for talking

*atr WalkAnimName
*des The name of an animation sequence to be used for walking

*atr IdleAnimName
*des The name of an animation sequence to be used for standing still


