行人角色类,继承自Actor类。 更多...
#include <Walker.h>
Public 类型 | |
using | BoneControlIn = rpc::WalkerBoneControlIn |
行人骨骼控制输入的类型别名,对应rpc::WalkerBoneControlIn。 | |
using | BoneControlOut = rpc::WalkerBoneControlOut |
行人骨骼控制输出的类型别名,对应rpc::WalkerBoneControlOut。 | |
using | Control = rpc::WalkerControl |
行人控制指令的类型别名,对应rpc::WalkerControl。 | |
Public 成员函数 | |
void | ApplyControl (const Control &control) |
应用控制指令给这个行人。 | |
void | BlendPose (float blend) |
混合姿态,通过给定的混合因子调整当前姿态和动画姿态之间的比例。 | |
BoneControlOut | GetBonesTransform () |
获取行人骨骼的变换信息。 | |
void | GetPoseFromAnimation () |
从动画中获取姿态。 | |
Control | GetWalkerControl () const |
获取最后应用给Walker对象的控制指令。 | |
void | HidePose () |
隐藏动画姿态。 | |
void | SetBonesTransform (const BoneControlIn &bones) |
设置行人骨骼的变换信息。 | |
void | ShowPose () |
显示动画姿态。 | |
Walker (ActorInitializer init) | |
构造函数,使用ActorInitializer初始化Walker对象。 | |
![]() | |
Actor (ActorInitializer init) | |
void | AddAngularImpulse (const geom::Vector3D &vector) |
对行为体施加角冲量。 | |
void | AddForce (const geom::Vector3D &force) |
在行为体的质心施加力。 | |
void | AddForce (const geom::Vector3D &force, const geom::Vector3D &location) |
在某个位置对行为体施加力。 | |
void | AddImpulse (const geom::Vector3D &impulse, const geom::Vector3D &location) |
在某个位置对行为体施加冲量。 | |
void | AddImpulse (const geom::Vector3D &vector) |
在行为体的质心施加冲量。 | |
void | AddTorque (const geom::Vector3D &vector) |
对行为体施加扭矩。 | |
virtual bool | Destroy () |
告诉模拟器销毁该行为体,并返回行为体是否成功被销毁的结果。 | |
void | DisableConstantVelocity () |
禁用恒定速度模式。 | |
void | EnableConstantVelocity (const geom::Vector3D &vector) |
启用恒定速度模式。 | |
geom::Vector3D | GetAcceleration () const |
返回行为体的当前3D加速度。 | |
rpc::ActorState | GetActorState () const |
geom::Vector3D | GetAngularVelocity () const |
返回行为体的当前3D角速度。 | |
std::vector< std::string > | GetBoneNames () const |
std::vector< geom::Transform > | GetBoneRelativeTransforms () const |
std::vector< geom::Transform > | GetBoneWorldTransforms () const |
std::vector< std::string > | GetComponentNames () const |
geom::Transform | GetComponentRelativeTransform (const std::string componentName) const |
获取指定组件相对于Actor的相对坐标变换。 这个函数返回一个包含位置、旋转和平移信息的Transform对象, 表示指定组件相对于Actor原点的位置和方向。 | |
geom::Transform | GetComponentWorldTransform (const std::string componentName) const |
获取指定组件的世界坐标变换。 这个函数返回一个包含位置、旋转和平移信息的Transform对象, 表示指定组件在世界坐标系中的位置和方向。 | |
geom::Location | GetLocation () const |
返回行为体的当前位置。 | |
std::vector< std::string > | GetSocketNames () const |
std::vector< geom::Transform > | GetSocketRelativeTransforms () const |
std::vector< geom::Transform > | GetSocketWorldTransforms () const |
geom::Transform | GetTransform () const |
返回行为体的当前变换(位置和方向)。 | |
geom::Vector3D | GetVelocity () const |
返回行为体的当前3D速度。 | |
bool | IsActive () const |
bool | IsAlive () const |
bool | IsDormant () const |
const auto & | Serialize () const |
void | SetActorDead () |
将行为体标记为已死亡并开始其生命周期。 | |
void | SetCollisions (bool enabled=true) |
启用或禁用该行为体的碰撞。 | |
void | SetEnableGravity (bool enabled=true) |
启用或禁用该行为体的重力。 | |
void | SetLocation (const geom::Location &location) |
将行为体传送到 location。 | |
void | SetSimulatePhysics (bool enabled=true) |
启用或禁用该行为体的物理模拟。 | |
void | SetTargetAngularVelocity (const geom::Vector3D &vector) |
在应用物理之前设置行为体的角速度。 | |
void | SetTargetVelocity (const geom::Vector3D &vector) |
在应用物理之前设置行为体的速度。 | |
void | SetTransform (const geom::Transform &transform) |
将行为体传送并旋转到 transform。 | |
virtual | ~Actor ()=default |
![]() | |
const std::vector< ActorAttributeValue > & | GetAttributes () const |
const std::string & | GetDisplayId () const |
ActorId | GetId () const |
SharedPtr< Actor > | GetParent () const |
ActorId | GetParentId () const |
const std::vector< uint8_t > & | GetSemanticTags () const |
const std::string & | GetTypeId () const |
World | GetWorld () const |
Private 属性 | |
Control | _control |
最后应用给Walker对象的控制指令。 | |
额外继承的成员函数 | |
![]() | |
ActorState (rpc::Actor description, EpisodeProxy episode) | |
const rpc::Actor & | GetActorDescription () const |
const geom::BoundingBox & | GetBoundingBox () const |
EpisodeProxy & | GetEpisode () |
const EpisodeProxy & | GetEpisode () const |
|
inlineexplicit |
void carla::client::Walker::ApplyControl | ( | const Control & | control | ) |
应用控制指令给这个行人。
control | 控制指令,类型为Control。 |
在文件 Walker.cpp 第 15 行定义.
引用了 _control, carla::client::detail::ActorState::GetEpisode() , 以及 carla::client::detail::EpisodeProxyImpl< PointerT >::Lock().
void carla::client::Walker::BlendPose | ( | float | blend | ) |
混合姿态,通过给定的混合因子调整当前姿态和动画姿态之间的比例。
blend | 混合因子,范围在0.0到1.0之间。0.0表示完全隐藏动画姿态,1.0表示完全显示动画姿态。 |
在文件 Walker.cpp 第 44 行定义.
引用了 carla::client::detail::ActorState::GetEpisode() , 以及 carla::client::detail::EpisodeProxyImpl< PointerT >::Lock().
被这些函数引用 HidePose() , 以及 ShowPose().
Walker::BoneControlOut carla::client::Walker::GetBonesTransform | ( | ) |
获取行人骨骼的变换信息。
在文件 Walker.cpp 第 32 行定义.
引用了 carla::client::detail::ActorState::GetEpisode() , 以及 carla::client::detail::EpisodeProxyImpl< PointerT >::Lock().
void carla::client::Walker::GetPoseFromAnimation | ( | ) |
从动画中获取姿态。
这个函数会更新行人的姿态以匹配当前动画的状态。
在文件 Walker.cpp 第 50 行定义.
引用了 carla::client::detail::ActorState::GetEpisode() , 以及 carla::client::detail::EpisodeProxyImpl< PointerT >::Lock().
Walker::Control carla::client::Walker::GetWalkerControl | ( | ) | const |
获取最后应用给Walker对象的控制指令。
在文件 Walker.cpp 第 26 行定义.
引用了 carla::client::detail::ActorState::GetEpisode() , 以及 carla::client::detail::EpisodeProxyImpl< PointerT >::Lock().
|
inline |
void carla::client::Walker::SetBonesTransform | ( | const BoneControlIn & | bones | ) |
设置行人骨骼的变换信息。
bones | 行人骨骼的变换信息,类型为BoneControlIn。 |
在文件 Walker.cpp 第 38 行定义.
引用了 carla::client::detail::ActorState::GetEpisode() , 以及 carla::client::detail::EpisodeProxyImpl< PointerT >::Lock().
|
inline |
|
private |