3D bone hierarchy + bind-pose local TRS for skeletal animation. Independent of ik::Skeleton3D (FABRIK). Script type: AnimSkeleton.
更多...
#include <AnimSkeleton.h>
Public 成员函数 | |
| AnimSkeleton ()=default | |
| Anim skeleton. | |
| ~AnimSkeleton ()=default | |
| Anim skeleton. | |
| AnimSkeleton (const AnimSkeleton &)=delete | |
| AnimSkeleton & | operator= (const AnimSkeleton &)=delete |
| int | addBone (const std::string &name, int parentIndex=-1) |
| Append a bone. parentIndex = -1 for root. | |
| int | getBoneCount () const |
| Returns the bone count. | |
| std::string | getBoneName (int boneIndex) const |
| Returns the bone name. | |
| int | findBone (const std::string &name) const |
| Finds bone. | |
| int | getParent (int boneIndex) const |
| Returns the parent. | |
| void | setBindPosition (int boneIndex, float x, float y, float z) |
| Sets the bind position. | |
| void | setBindRotation (int boneIndex, float x, float y, float z, float w) |
| Sets the bind rotation. | |
| void | setBindScale (int boneIndex, float x, float y, float z) |
| Sets the bind scale. | |
| float | getBindPositionX (int boneIndex) const |
| Returns the bind position x. | |
| float | getBindPositionY (int boneIndex) const |
| Returns the bind position y. | |
| float | getBindPositionZ (int boneIndex) const |
| Returns the bind position z. | |
| float | getBindRotationX (int boneIndex) const |
| Returns the bind rotation x. | |
| float | getBindRotationY (int boneIndex) const |
| Returns the bind rotation y. | |
| float | getBindRotationZ (int boneIndex) const |
| Returns the bind rotation z. | |
| float | getBindRotationW (int boneIndex) const |
| Returns the bind rotation w. | |
| float | getBindScaleX (int boneIndex) const |
| Returns the bind scale x. | |
| float | getBindScaleY (int boneIndex) const |
| Returns the bind scale y. | |
| float | getBindScaleZ (int boneIndex) const |
| Returns the bind scale z. | |
| void | setBoneLodLimit (int boneIndex, int highestLod) |
| Set the highest animation LOD at which this bone is sampled (0 = full-detail only). Descendants can use lower limits than gameplay-critical roots and effectors. | |
| int | getBoneLodLimit (int boneIndex) const |
| Highest LOD at which the bone is sampled; defaults to all LODs. | |
| const TransformTRS & | bindLocal (int boneIndex) const |
| Binds local. | |
| void | applyBindPose (class AnimPose *pose) const |
| Fill pose locals with bind pose. | |
详细描述
3D bone hierarchy + bind-pose local TRS for skeletal animation. Independent of ik::Skeleton3D (FABRIK). Script type: AnimSkeleton.
在文件 AnimSkeleton.h 第 16 行定义.
构造及析构函数说明
◆ AnimSkeleton() [1/2]
|
default |
Anim skeleton.
◆ ~AnimSkeleton()
|
default |
Anim skeleton.
◆ AnimSkeleton() [2/2]
|
delete |
成员函数说明
◆ addBone()
| int eve::animation::AnimSkeleton::addBone | ( | const std::string & | name, |
| int | parentIndex = -1 |
||
| ) |
Append a bone. parentIndex = -1 for root.
- 返回
- bone index
在文件 AnimSkeleton.cpp 第 14 行定义.
引用了 b, findBone(), getBoneCount(), eve::animation::TransformTRS::identity() , 以及 name.
◆ applyBindPose()
| void eve::animation::AnimSkeleton::applyBindPose | ( | class AnimPose * | pose | ) | const |
Fill pose locals with bind pose.
在文件 AnimSkeleton.cpp 第 132 行定义.
引用了 getBoneCount() , 以及 pose.
被这些函数引用 eve::animation::AnimLayerMixer::AnimLayerMixer(), eve::animation::AnimPlayer::AnimPlayer(), eve::animation::AnimStateMachine::AnimStateMachine(), eve::animation::buildSmrFeatures(), eve::animation::ControlPose::ControlPose(), eve::animation::MontageCoordinator::MontageCoordinator(), eve::animation::MotionMatcher::MotionMatcher(), eve::animation::PhysicalBalancePose::PhysicalBalancePose(), eve::animation::MontageCoordinator::pose(), eve::animation::AnimClip::retargetWithProfile() , 以及 eve::animation::AnimPlayer::stop().
◆ bindLocal()
| const TransformTRS & eve::animation::AnimSkeleton::bindLocal | ( | int | boneIndex | ) | const |
Binds local.
在文件 AnimSkeleton.cpp 第 127 行定义.
被这些函数引用 eve::animation::MontageCoordinator::compose(), eve::animation::AnimSmrSensorCloud::fromSkeleton(), eve::animation::AnimSmrSensorCloud::fromSkeletonDense(), eve::animation::MotionDatabase::SchemaSampler::raw(), eve::animation::AnimClip::retargetWithProfile() , 以及 eve::animation::AnimClip::sampleLod().
◆ findBone()
| int eve::animation::AnimSkeleton::findBone | ( | const std::string & | name | ) | const |
Finds bone.
在文件 AnimSkeleton.cpp 第 37 行定义.
引用了 getBoneCount() , 以及 name.
被这些函数引用 addBone(), eve::animation::DynamicBoneSolver::addChainByName(), eve::animation::MotionDatabase::addFeatureBoneByName(), eve::animation::hair::addHeadCollider(), eve::animation::DynamicBoneConfig::apply(), eve::animation::DynamicBoneConfig::apply(), eve::avatar::AvatarInstance::attachToBone(), eve::particles::ParticleEmitter::attachToBoneByName(), eve::avatar::AvatarInstance::autoMapHumanoidBones(), eve::climbing::beginClimbingAnimation(), eve::animation_editing::AnimationClipRuntimeBuilder::build(), eve::animation::AnimSkin::fromModel(), eve::animation::loadAnimationTracks(), eve::animation::AnimImporter::loadClip(), eve::avatar::AvatarInstance::mapHumanoidBone(), eve::animation::AnimClip::retargetWithProfile(), eve::avatar::AvatarInstance::sampleAttachmentPoint(), eve::animation::AnimBoneMask::setBoneAndChildren(), eve::animation::AnimBoneMask::setBoneWeightByName(), eve::animation::MotionDatabase::setRootBoneByName() , 以及 eve::particles::ParticleEmitter::setSkinBoneFilterByName().
◆ getBindPositionX()
| float eve::animation::AnimSkeleton::getBindPositionX | ( | int | boneIndex | ) | const |
Returns the bind position x.
在文件 AnimSkeleton.cpp 第 86 行定义.
被这些函数引用 eve::animation::AnimImporter::exportAnimationFixtureText().
◆ getBindPositionY()
| float eve::animation::AnimSkeleton::getBindPositionY | ( | int | boneIndex | ) | const |
Returns the bind position y.
在文件 AnimSkeleton.cpp 第 90 行定义.
被这些函数引用 eve::animation::AnimImporter::exportAnimationFixtureText().
◆ getBindPositionZ()
| float eve::animation::AnimSkeleton::getBindPositionZ | ( | int | boneIndex | ) | const |
Returns the bind position z.
在文件 AnimSkeleton.cpp 第 94 行定义.
被这些函数引用 eve::animation::AnimImporter::exportAnimationFixtureText().
◆ getBindRotationW()
| float eve::animation::AnimSkeleton::getBindRotationW | ( | int | boneIndex | ) | const |
Returns the bind rotation w.
在文件 AnimSkeleton.cpp 第 110 行定义.
被这些函数引用 eve::animation::AnimImporter::exportAnimationFixtureText().
◆ getBindRotationX()
| float eve::animation::AnimSkeleton::getBindRotationX | ( | int | boneIndex | ) | const |
Returns the bind rotation x.
在文件 AnimSkeleton.cpp 第 98 行定义.
被这些函数引用 eve::animation::AnimImporter::exportAnimationFixtureText().
◆ getBindRotationY()
| float eve::animation::AnimSkeleton::getBindRotationY | ( | int | boneIndex | ) | const |
Returns the bind rotation y.
在文件 AnimSkeleton.cpp 第 102 行定义.
被这些函数引用 eve::animation::AnimImporter::exportAnimationFixtureText().
◆ getBindRotationZ()
| float eve::animation::AnimSkeleton::getBindRotationZ | ( | int | boneIndex | ) | const |
Returns the bind rotation z.
在文件 AnimSkeleton.cpp 第 106 行定义.
被这些函数引用 eve::animation::AnimImporter::exportAnimationFixtureText().
◆ getBindScaleX()
| float eve::animation::AnimSkeleton::getBindScaleX | ( | int | boneIndex | ) | const |
Returns the bind scale x.
在文件 AnimSkeleton.cpp 第 114 行定义.
被这些函数引用 eve::animation::AnimImporter::exportAnimationFixtureText().
◆ getBindScaleY()
| float eve::animation::AnimSkeleton::getBindScaleY | ( | int | boneIndex | ) | const |
Returns the bind scale y.
在文件 AnimSkeleton.cpp 第 118 行定义.
被这些函数引用 eve::animation::AnimImporter::exportAnimationFixtureText().
◆ getBindScaleZ()
| float eve::animation::AnimSkeleton::getBindScaleZ | ( | int | boneIndex | ) | const |
Returns the bind scale z.
在文件 AnimSkeleton.cpp 第 122 行定义.
被这些函数引用 eve::animation::AnimImporter::exportAnimationFixtureText().
◆ getBoneCount()
|
inline |
Returns the bone count.
在文件 AnimSkeleton.h 第 33 行定义.
被这些函数引用 addBone(), eve::animation::MotionDatabase::addFeatureBone(), eve::animation::AnimBoneMask::AnimBoneMask(), eve::animation::AnimGraph::AnimGraph(), eve::animation::AnimLayerMixer::AnimLayerMixer(), eve::animation::AnimPlayer::AnimPlayer(), eve::animation::AnimStateMachine::AnimStateMachine(), eve::animation::FootIKSolver::apply(), applyBindPose(), eve::climbing::applyClimbingPose(), eve::animation::MotionDatabase::bake(), eve::climbing::beginClimbingAnimation(), eve::animation_editing::AnimationSkeletonOverlayAdapter::build(), eve::animation_editing::AnimationClipRuntimeBuilder::build(), eve::animation::buildSmrFeatures(), eve::animation::MontageCoordinator::compose(), eve::animation::AnimPose::computeWorld(), eve::animation::OrientationWarping::configure(), eve::animation::ControlPose::ControlPose(), eve::animation::AnimImporter::exportAnimationFixtureText(), findBone(), eve::animation::AnimSmrSensorCloud::fromSkeleton(), eve::animation::AnimSmrSensorCloud::fromSkeletonDense(), eve::animation::loadAnimationTracks(), eve::animation::MotionDatabase::MotionDatabase(), eve::animation::MotionMatcher::MotionMatcher(), eve::animation::AnimClip::retargetWithProfile(), eve::animation::AnimClip::sampleLod(), eve::animation::AnimBoneMask::setBoneAndChildren(), eve::animation::AnimGraph::setBoneMask(), eve::animation::MotionDatabase::setFeatureLayout(), eve::animation::MotionMatcher::setFeatureQuery(), eve::animation::MontageCoordinator::setLayerBoneMask(), eve::animation::MotionDatabase::setLocomotionFeatures(), eve::animation::FootIKSolver::setPelvisBone(), eve::animation::MotionDatabase::setRootBone(), eve::animation::AnimPlayer::setRootMotionBone() , 以及 eve::animation::PhysicalBalancePose::setTargetPose().
◆ getBoneLodLimit()
| int eve::animation::AnimSkeleton::getBoneLodLimit | ( | int | boneIndex | ) | const |
Highest LOD at which the bone is sampled; defaults to all LODs.
在文件 AnimSkeleton.cpp 第 81 行定义.
◆ getBoneName()
| std::string eve::animation::AnimSkeleton::getBoneName | ( | int | boneIndex | ) | const |
Returns the bone name.
在文件 AnimSkeleton.cpp 第 32 行定义.
引用了 name.
被这些函数引用 eve::animation_editing::AnimationSkeletonOverlayAdapter::build(), eve::animation_editing::AnimationClipRuntimeBuilder::build(), eve::animation::AnimImporter::exportAnimationFixtureText(), eve::animation::AnimSmrSensorCloud::fromSkeleton(), eve::animation::AnimSmrSensorCloud::fromSkeletonDense() , 以及 eve::animation::AnimClip::retargetWithProfile().
◆ getParent()
| int eve::animation::AnimSkeleton::getParent | ( | int | boneIndex | ) | const |
Returns the parent.
在文件 AnimSkeleton.cpp 第 44 行定义.
引用了 parent.
被这些函数引用 eve::animation_editing::AnimationSkeletonOverlayAdapter::build(), eve::animation::AnimPose::computeWorld(), eve::animation::AnimImporter::exportAnimationFixtureText(), eve::animation::AnimSmrSensorCloud::fromSkeleton(), eve::animation::AnimSmrSensorCloud::fromSkeletonDense(), eve::animation::MotionDatabase::SchemaSampler::raw(), eve::animation::AnimClip::retargetWithProfile(), eve::animation::AnimBoneMask::setBoneAndChildren() , 以及 eve::animation::AnimGraph::setBoneMask().
◆ operator=()
|
delete |
◆ setBindPosition()
| void eve::animation::AnimSkeleton::setBindPosition | ( | int | boneIndex, |
| float | x, | ||
| float | y, | ||
| float | z | ||
| ) |
◆ setBindRotation()
| void eve::animation::AnimSkeleton::setBindRotation | ( | int | boneIndex, |
| float | x, | ||
| float | y, | ||
| float | z, | ||
| float | w | ||
| ) |
◆ setBindScale()
| void eve::animation::AnimSkeleton::setBindScale | ( | int | boneIndex, |
| float | x, | ||
| float | y, | ||
| float | z | ||
| ) |
◆ setBoneLodLimit()
| void eve::animation::AnimSkeleton::setBoneLodLimit | ( | int | boneIndex, |
| int | highestLod | ||
| ) |
Set the highest animation LOD at which this bone is sampled (0 = full-detail only). Descendants can use lower limits than gameplay-critical roots and effectors.
在文件 AnimSkeleton.cpp 第 75 行定义.
该类的文档由以下文件生成:
- src/modules/animation/AnimSkeleton.h
- src/modules/animation/AnimSkeleton.cpp