将Cube(Xscale=2)放在(220, 0, 0)处,对其进行Transform时,可以通过FTransform来进行,也可以通过Location与Rotation分量来分别进行,记住UE变换的大顺序为Scale->Rotate->Translate。
以下是两组等价的变换的示例:
- 对Cube->GetActorTransform()叠加FTransform(FVector(0,0,0), FRotator(0,0,-90)),其等价于:
- 用FRotator(0,0,-90)作用到Cube->GetActorLocation()上作为新的Actor Location
- 在Cube->GetActorRotation()上叠加FRotator(0,0,-90)作为新的Actor Rotation
- 对Cube->GetActorTransform()叠加FTransform(FVector(220,0,0), FRotator(0,0,-90)),其等价于:
- 用FRotator(0,0,-90)作用到Cube->GetActorLocation()上,再加上FVector(220, 0, 0)作为新的Actor Location
- 在Cube->GetActorRotation()上叠加FRotator(0,0,-90)作为新的Actor Rotation
很明显,第一种情况是第二种的特例:其FTransform的Translation为ZeroVector
|