Constructor
new HumanoidAvatar(scene, folder, shadowGenerator)
Parameters:
Name | Type | Description |
---|---|---|
scene |
||
folder |
ServerFolder with the content | |
shadowGenerator |
optional to cast shadows |
- Source:
Classes
Members
animations
Optional custom animations
- Source:
body
Once the avatar is loaded an processed, body contains body parts, e.g. body.leftArm, body.rightLeg, body.neck
- Source:
cache
fetch API cache control - use no-cache in development
- Source:
debug
Debug output, default false
- Source:
file
File name, default scene.gltf
- Source:
fixes
Object containing fixes
- Source:
folder
ServerFolder with content path
- Source:
fps
Animation frames per second, default 10
- Source:
generateAnimations
Wheter to generate animations for arms, legs and body (crouch/jump) movement, default true
- Source:
groundHeight
Height of the ground, default 0
- Source:
info
Object containing author, license, source, title
- Source:
parentMesh
Parent mesh of the avatar, used for movement and attachment
- Source:
returnToRest
Return to rest after cloning, default true (otherwise keeps the pose)
- Source:
rootMesh
Original root mesh of the avatar, used to scale the avatar
- Source:
shadowGenerator
Optional ShadowGenerator
- Source:
skeleton
Contains the skeleton once the avatar is loaded and processed
- Source:
turnAround
GLTF characters are facing the user when loaded, turn it around, default false.
Does not apply to cloned characters, only to the first one actually loaded.
- Source:
Methods
(async, static) createFromUrl()
Create a HumanoidAvatar from given url. Does not load it though.
- Source:
absVector(vec)
Returns absolute value of vector, i.e. Math.abs() of every value
Parameters:
Name | Type | Description |
---|---|---|
vec |
Vector3 to get absolute |
- Source:
animationBlending()
Enable or disable animation blending for all animation of all groups
- Source:
armDirectionCharacter()
Point arm to given direction, in character space
- Source:
armDirectionLocal()
Point arm to given direction, in arm space
- Source:
attachAnimations()
Create an animation group from given object and attach it to the character.
- Source:
baseMesh()
Avatar base class method
- Source:
basePosition()
Avatar base class method
- Source:
bendArm()
Bend/stretch arm to a length
- Source:
bendLeg(leg, length)
Bend/stretch leg to a length
Parameters:
Name | Type | Description |
---|---|---|
leg |
||
length |
- Source:
calcLength(limb)
Returns lenght of an arm or leg, in absolute world coordinates.
Parameters:
Name | Type | Description |
---|---|---|
limb |
an arm or leg |
- Source:
Returns:
total length of lower and upper arm/leg
castShadows(shadowGenerator)
Adds or remove all avatar meshes to given ShadowGenerator.
Parameters:
Name | Type | Description |
---|---|---|
shadowGenerator |
removes shadows if null |
- Source:
changed()
TODO Called when avatar size/height changes, supposed move name/text above the head, notify listeners
- Source:
crouch(height)
Crouch a bit
Parameters:
Name | Type | Description |
---|---|---|
height |
how much |
- Source:
disableNodes()
Disable nodes marked in fixes file
- Source:
dispose()
Dispose of everything
- Source:
drawVector()
Debugging helper, draws a vector between given points
- Source:
enableNodes(nodeIds, enable)
Enable/disable given nodes
Parameters:
Name | Type | Description |
---|---|---|
nodeIds |
array of node identifiers | |
enable |
true/false |
- Source:
euler(node)
Converts rotation quaternion of a node to euler angles
Parameters:
Name | Type | Description |
---|---|---|
node |
- Source:
Returns:
Vector3 containing rotation around x,y,z
getAnimationGroups()
Returns all animation groups of this avatar.
Applies fixes first, if any.
- Source:
getUrl()
Returns file name of this avatar, consisting of folder name and scene file name
- Source:
groundLevel(y)
Sets the ground level
Parameters:
Name | Type | Description |
---|---|---|
y |
height of the ground at current position |
- Source:
head()
Returns head 'bone'
- Source:
headPos()
Returns absolute position of the the head 'bone'
- Source:
height()
Returns current height - distance head to feet
- Source:
jump(height)
Moves the avatar to given height above the ground
Parameters:
Name | Type | Description |
---|---|---|
height |
jump how high |
- Source:
load(success, failure)
Loads the avatar.
Parameters:
Name | Type | Description |
---|---|---|
success |
callback to execute on success | |
failure |
executed if loading fails |
- Source:
loadAnimations()
Load an animation group from an url
- Source:
(async) loadFixes()
Load fixes from json file in the same folder, with the same name, and suffix .fixes.
Called from load().
- Source:
lookAt(t)
Look at given target. Head position is calculated without any bone limits.
Parameters:
Name | Type | Description |
---|---|---|
t |
target Vector3 |
- Source:
postProcess()
Apply fixes after loading/instantiation
- Source:
processAnimations()
Processes all animation in an animation group.
- Source:
Returns:
object suitable for saving
reachFor(arm, t)
Move given arm towards given target. Uses simplified 2-joint IK.
Parameters:
Name | Type | Description |
---|---|---|
arm |
arm to move | |
t |
target position |
- Source:
recompute()
After resizing and some other manipulations, matrices may need to be recomputed in a reliable way.
How to do it depends on babylon.js version.
- Source:
renderBodyPosition()
Renders crouch/raise changes to body: either generates the animation, or changes this.rootMesh position right away,
depending on this.generateAnimations flag.
- Source:
renderLimbRotation()
Move an arm or leg, optionally creates/updates arm animation depending on this.generateAnimations flag
- Source:
replace(avatar)
Utility method, dispose of avatar and return this one.
Parameters:
Name | Type | Description |
---|---|---|
avatar |
optional avatar to dispose of |
- Source:
resize()
Resize the avatar taking into account userHeight and headPos.
- Source:
rise(height)
Rise a bit
Parameters:
Name | Type | Description |
---|---|---|
height |
rise how much |
- Source:
roundVector(vec)
Returns rounded value of vector, i.e. Math.round() of every value
Parameters:
Name | Type | Description |
---|---|---|
vec |
Vector3 to round |
- Source:
saveAnimations()
Saves all animations in given animation group.
Opens save file dialog.
- Source:
setPosition(pos)
Set avatar position.
Parameters:
Name | Type | Description |
---|---|---|
pos |
postion |
- Source:
setRotation(quat)
Set avatar rotation
Parameters:
Name | Type | Description |
---|---|---|
quat |
Quaternion |
- Source:
sliceAnimation(animation, start, end)
Slice an animation
Parameters:
Name | Type | Description |
---|---|---|
animation |
Animation to slice | |
start |
starting key | |
end |
ending key |
- Source:
Returns:
new Animation containing slice of original animation
sliceGroup(group, startTime, endTime)
Slice an animation group
Parameters:
Name | Type | Description |
---|---|---|
group |
AnimationGroup to slice | |
startTime |
slice starting time | |
endTime |
slice ending time |
- Source:
Returns:
new AnimationGroup containing slice of original animations
standUp()
Stand up straight, at the ground, legs fully stretched
- Source:
startAnimation(animationName, loop, speedRatio)
Start a given animation
Parameters:
Name | Type | Description |
---|---|---|
animationName |
animation to start | |
loop |
if set, changes AnimationGroup.loopAnimation property | |
speedRatio |
if set, changes AnimationGroup.speedRatio |
- Source:
stopAnimation()
Stop an animation. To allow for blending, just turns off looping rather than stopping it right away, unless forced.
- Source:
sum(vector)
Returns total weight of a vector, x+y+z
Parameters:
Name | Type | Description |
---|---|---|
vector |
Vector3 to sum |
- Source:
toDegrees(rot)
Converts euler radians to degrees
Parameters:
Name | Type | Description |
---|---|---|
rot |
Vector3 rotation around x,y,z |
- Source:
Returns:
Vector3 containing degrees around x,y,z
trackHeight(height)
Track user height: character may crouch or raise, or jump,
depending on heights of avatar and user.
Parameters:
Name | Type | Description |
---|---|---|
height |
current user height |
- Source: