前几天,看人宅的塔防视频教程,他使用了塔的成员变量rotator。我可能在哪里少写了,所以,老是朝向不对。
跟踪调试了下,发现FRotator是由pitch,roll,yaw三个部分组成,而pitch,roll,yaw是局部坐标系中的朝向,那就设置局部朝向不就ok了么?
FVector targetLocation = target->GetActorLocation();
FVector towerLocation = GetPawn()->GetActorLocation();
FVector deltaVec = targetLocation - towerLocation;
deltaVec.Z = 0;(这里设置为0,是为了只水平偏移)
FRotator theRotator = FRotationMatrix::MakeFromX(deltaVec).Rotator();
GetPawn()->SetActorRelativeRotation(theRotator);
即,deltavec是目标和塔之间的向量,是在局部坐标系下进行的
。
并且正常触发了BeginOverlap事件,

ok,就这样吧
游戏开发:修复塔防游戏中塔的朝向问题
博主通过跟踪调试发现,FRotator的pitch, roll, yaw组件影响了塔的朝向。他们调整了目标和塔之间的向量deltaVec,并使用FRotationMatrix::MakeFromX(deltaVec)生成了新的旋转器,从而解决了塔防游戏中塔的定向不正确的问题。此过程涉及游戏中的局部坐标系和向量操作。
5893

被折叠的 条评论
为什么被折叠?



