Animesh
Animesh is rigged mesh that has its own skeleton, so an object can play avatar-style animations by itself. Pets, NPCs, creatures and moving decor are typical uses.
It is not an avatar: there is no agent behind it. The object must be rigged mesh with the Animated Mesh option enabled in the build tools, and a script in the object starts and stops animations from the object’s own inventory.
No permission is needed, because the script animates its own object rather than an avatar.
Concepts
- An animesh object plays animations from its own inventory
- Animations are referred to by inventory name or asset key
- Several can run at once and blend by priority, as they do on avatars
- Stop one by name, or list what is playing
- Animesh moves like any other object
- For walking creatures, keyframed motion or pathfinding characters are the usual choices
- Start and stop animations to match the motion, for example when a character
startsorstopsmoving, or on a path update
- Appearance works like other mesh
- Faces take textures and materials
- Attachments can also be animesh; their animations play on the attachment, not on the wearer
Functions and events
void | llStartObjectAnimation(string anim) |
void | llStopObjectAnimation(string anim) |
list | llGetObjectAnimationNames() |
Move and steer
Walk a character to a point with llNavigateTo, or play back a fixed route with keyframed motion. See also movement.
Animesh User Guide
The Second Life Wiki user guide to animated mesh, archived locally.
Scripting Details
void | llStartObjectAnimation(string anim)Starts the specified animation anim (inventory or built-in) on the rigged mesh object associated with the current script. |
void | llStopObjectAnimation(string anim)Stops the specified animation anim (inventory, built-in, or UUID) on the rigged mesh object associated with the current script. |
list | llGetObjectAnimationNames()Returns a list of strings representing the names or UUIDs of all active animations currently playing on the object. |
void | llSetKeyframedMotion(list keyframes, list options)Smoothly moves a non-physical object between the positions, orientations, and times specified in the keyframes list, configured via options. Collisions with keyframed objects are ignored. An empty keyframes list terminates the motion. |
void | llCreateCharacter(list options)Converts the linkset containing the script into a pathfinding character entity (required to use pathfinding functions) using the specified options. |
void | llNavigateTo(vector pos, list options)Directs a pathfinding character to navigate to the position pos (located in the current or adjacent regions) using the parameters specified in options. |
event | moving_start()Triggered whenever the physical or moving object containing the script starts moving. |
event | moving_end()Triggered whenever the physical or moving object containing the script stops moving. |
event | path_update(integer type, list reserved)Triggered to inform the script of changes or failures in the pathfinding character's status. |
Related
Section titled “Related”See also Category Object AnimationFeature MovementFeature PathfindingFeature Textures & MaterialsFeature AvatarsSL Wiki Animesh User Guide