レベルシーケンスのトランスフォームトラックでシーンコンポーネントを移動させるとき、
Engine/Source/Runtime/MovieSceneTracks/Private/MovieSceneTracksCustomAccessors.cpp
の中の
void SetComponentTransform(USceneComponent* SceneComponent, const FIntermediate3DTransform& Transform)
という関数が使われると思います。
こちらの関数の中に
SceneComponent->SetRelativeLocation_Direct(Translation);
SceneComponent->SetRelativeRotation_Direct(Rotation);
という2行があるのですがこれはどういう働きをするものでしょうか?
<br/>
そのすぐ上の
SceneComponent->SetRelativeTransform(NewTransform, false, nullptr, bIsSimulatingPhysics ? ETeleportType::ResetPhysics : ETeleportType::None);
でシーンコンポーネントの移動自体はしているのでこの2行は無くても良さそうに見えるのですが違いますでしょうか?
試しにこの2行を消してみましたが違いは判りませんでした。特殊な条件下で違いが出たりするのでしょうか?
<br/>
<br/>
問題がなければ、この2行は消して、
SceneComponent->SetRelativeTransform(NewTransform, false, nullptr, bIsSimulatingPhysics ? ETeleportType::ResetPhysics : ETeleportType::None);
の方だけにして、こちらをスイープ移動にしたいと思っています(上記の2行があると、ここをスイープ移動にしても意味が無いです)。