附加


只有场景组件(USceneComponent 及其子类)可以彼此附加,因为需要变换来描述子项和父项组件之间的空间关系。

虽然场景组件可以拥有任意数量的子项,但只能拥有一个父项,或可直接放置在场景中。

场景组件系统不支持附加循环。

附加组件的方法分别是 SetupAttachment 和 AttachToComponent。

SetupAttachment:

void SetupAttachment
(
    USceneComponent * InParent,
    FName InSocketName
)
  • 通常在构造函数中、以及处理尚未注册的组件时调用。

AttachToComponent:

void AttachToComponent
(
    USceneComponent * Parent,
    const FAttachmentTransformRules & AttachmentRules,
    FName SocketName
)
  • 立即将场景组件附加到另一个组件,通常在游戏进行中调用。
  • 允许Actor彼此之间进行附加,方法是将一个Actor的根组件附加到属于另一个Actor的组件。

FAttachmentTransformRules:

  • KeepRelativeTransform(保持两个物体之间的相对位置不变)
  • KeepWorldTransform(保持连个物体在世界的位置不变)
  • SnapToTargetNotIncludingScale(保持物体的缩放对齐到目标上)
  • SnapToTargetIncludingScale(随目标的缩放)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM