언리얼(Unreal) - 적 위치 판단, 각도 구하기(CosineAngle2D, DotProduct, CrossProduct)


언리얼(Unreal) - 적 위치 판단, 각도 구하기(CosineAngle2D, DotProduct, CrossProduct)

플레이어가 공격이나 스킬을 시전 시 적이 맞는 범위에 있는지 판단을 해야한다. 충돌영역을 지정하여 오버랩되는지 판단하면 되지만 부채꼴 형태의 범위나 기타 형태의 범위라면 그 범위를 지정해야한다. 좌우 45도로 벌어진 부채꼴 형태라면 구 형태의 충돌범위를 구현 후 액터가 좌우 45도보다 안에 있는지 밖에 있는지 판단해야한다. 테스트를 통해 두 액터사이의 각도를 구해보겠다. 두 액터는 플레이어와 적으로 간주하며, 모든 것은 플레이어 기준이다. 테스트에는 3가지 함수가 이용된다. CosineAngle2D : 플레이어와 적의 각도 2D가 붙어있는 이유는 높이 축인 Z축은 무시하고 XY평면에 투영하여 각도를 코사인으로 계산한 값을 반환하기 때문이다. DotProduct : 적의 앞/뒤 위치 판단 벡터의 내적 CrossProduct : 적의 좌/우 위치 판단 벡터의 외적 플레이어로 사용할 액터와 적으로 사용할 액터 클래스를 만든 후 적으로 사용할 액터는 메쉬를 입혀준다. (코드는 생략) 플레이...


#적 #Unreal #언리얼 #CosineAngle2D #위치 #외적 #벡터 #내적 #각도 #Vector #DotProduct #CrossProduct #판단

원문링크 : 언리얼(Unreal) - 적 위치 판단, 각도 구하기(CosineAngle2D, DotProduct, CrossProduct)