UE4 C++实现视角锁定
1.实现原理
a.首先是检测玩家视角是否有可识别物,这个功能可以用SphereTraceSingleForObjects这个函数实现;
b.然后是设置控制器旋转朝向已锁定物,这个功能可以用MakeFromX这个函数实现;
2.编辑器设置
Edit->ProjectSetting->Collision->ObjectChannels->New Object Channel;
3.代码
void AHero::FindTarget()
{
FVector EyeLocation;
FRotator EyeRotation;
GetActorEyesViewPoint(EyeLocation,EyeRotation);
FVector TraceEnd = EyeLocation+(EyeRotation.Vector()*Range);
TArray < TEnumAsByte < EObjectTypeQuery > > ObjectTypeQuery;
TArray<AActor*>ActorsToIgnore;
//ActorsToIgnore.Add(this);
ObjectTypeQuery.Add(ObjectTypeQuery7);
FHitResult Hit