class FoxArmature
package foxlite.skin
extends FoxObjectGroup › FoxObject › FoxBasic
@:directlyUsedAn easy way of managing armatures for model groups
Constructor
Variables
Methods
Inherited Variables
Defined by FoxObjectGroup
@:value(new FlxTypedSignalImpl())finalonMemberAdded:FlxTypedSignalImpl<(member:FoxObject) ‑> Void> = new FlxTypedSignalImpl()
@:value(new FlxTypedSignalImpl())finalonMemberRemoved:FlxTypedSignalImpl<(member:FoxObject) ‑> Void> = new FlxTypedSignalImpl()
Defined by FoxObject
parent:FoxObject
If set, will adapt parent transform. Make sure the parent has a higher priority so it updates in order
@:value(EulerOrder.ZYX)rotationOrder:EulerOrder = EulerOrder.ZYX
This controls the way this object is rotated (via rotation)
The rotation is applied per-axis sequentially, meaning the way one axis rotate can influence the next rotation.
By default, the Z axis rotates first, this makes the object roll.
Then the Y axis is rotated next, this orients the rolled object horizontally, think of it as a swiveling floor fan.
And last, the X axis is rotated, this has the effect of tilting the Y rotation.
This is done in this order so there is no gimbal-lock when converting euler angles from quaternions. However, this order affects camera rotations.
Custom camera controllers should use ZXY order instead so no tilting occurs.
@:value(new Matrix3D())transform:Matrix3D = new Matrix3D()
This is the global transform for this Object, it encodes position, rotation and scale in a 4x4 matrix
Defined by FoxBasic
animation:FoxAnimationPlayer
An animation controller for this basic. Although properties have to be manually linked, this is intended to be a general-purpose animator for this object
Inherited Methods
Defined by FoxObjectGroup
@:value({ index : -1 })setOrder(member:FoxObject, index:Int = -1):FoxObject
Changes the index of a member so it's processed before or after other members
If index is smaller than 0, the member will move to the start of the list.
If the index exceeds member count, the member will move to the end of the list.
Note: If there index is a free null space, the object will occupy it.
Note 2: This doesn't affect anything visually aside from transformations, if you want members to show over other members, configure their materials or render passes
@:value({ recurse : false })inlineforEach(func:(member:FoxObject) ‑> Void, recurse:Bool = false):Void
computeBounds(output:BoundingBox):Void
Gets the expanded combined bounding box of all objects inside this group
Parameters:
output | the Bounding Box where to store the result |
|---|
Defined by FoxObject
@:value({ z : 0, y : 0, x : 0 })setAngle(x:Float = 0, y:Float = 0, z:Float = 0):Void
Same as setRotation() but for angle degrees.
getAngle(?output:Vector3D):Vector3D
Gets the object's rotation as degrees, as a Vector3D
Parameters:
output | (Optional) the output vector to store the angles without allocating a new one |
|---|
Returns:
a Vector3D containing angleX, angleY and angleZ
@:value({ w : 1, z : 0, y : 0, x : 0 })setRotationQuaternion(x:Float = 0, y:Float = 0, z:Float = 0, w:Float = 1):Vector3D
Sets the object's rotation from a Quaternion, which is needed for accurate rotation representation when interpolating.
How dows it work? hell if i know
copyComponentsFrom(object:FoxObject):Void
Copies position, rotation and scale from another FoxObject,
so the other object's components doesn't affect this one when changing them
Defined by FoxBasic
testAndCull(camera:FoxCamera):Void
Performs frustum culling by checking the bounding box against a camera frustum
isVisible():Bool
Template function that returns the final visibility for the basic. Frustum culling can affect this.
isActive():Bool
Template function that returns the final activated state for the basic. Frustum culling can affect this.