-获取鼠标位置有很多方法,这里说三种,但只是提供方法,具体并不是很清楚
一、GetHitResultUnderCursorByChannel
FHitResult TraceHitResult;//检测结果
GetHitResultUnderCursorByChannel(TraceTypeQuery1, true, TraceHitResult);
FVector pos = TraceHitResult.Location;//位置
看一下源码
bool APlayerController::GetHitResultUnderCursorByChannel(ETraceTypeQuery TraceChannel, bool bTraceComplex, FHitResult& HitResult) const
{
ULocalPlayer* LocalPlayer = Cast<ULocalPlayer>(Player);
bool bHit = false;
if (LocalPlayer && LocalPlayer->ViewportClient)
{
FVector2D MousePosition;
if (LocalPlayer->ViewportClient->GetMousePosition(MousePosition))
{
bHit = GetHitResultAtScreenPosition(MousePosition, TraceChannel, bTraceComplex, HitResult);
}
}
if(!bHit) //If there was no hit