TargetLocation을 기즈모로 나타냄

UPROPERTY(EditAnywhere, Meta = (MakeEditWidget = true))
    FVector mTargetLocation;

mTargetLocation은 Actor의 자식 오브젝트이다.

상대좌표로 나오기에 의도하지 않은 방향으로 이동함.

 

 

mTargetLocation을 월드좌표로 변환해야함.

//방향은 목적지 - 현재위치에서 GetSafeNormal로 한다.
//자식 오브젝트인 mTargetLocation은 World좌표로 변환시킨다.
this->mDirection = (GetTransform().TransformPosition(mTargetLocation) - GetActorLocation()).GetSafeNormal();

 

void AMovingPlatform_B::Tick(float DeltaTime)
{
	//서버의 권한인가?, 서버에서 실행하나?
	//!HasAuthority일경우 클라이언트의 권한.
	//! 
	//! //서버에서만 작동.
	if (HasAuthority())
	{
		//이동
		FVector Location = GetActorLocation();

		Location += mDirection * DeltaTime * mSpeed;

		//위치 변경
		SetActorLocation(Location);
	}
}
bonnate