언리얼엔진/블루프린트
블루프린트 Vector
오늘의논리
2023. 3. 17. 03:12
728x90
블루프린트에서 변수선언시 Vector 타입이 있다.
Direction 이라는 벡터타이 변수 생성후 get을 꺼내면

이런모양이며 핀 분할을 하면

이렇게 XYZ 를 구할 수 있다. 핀 타입은 float

set 노드는 이렇게 생겼다.
두 물체 A, B 가 있다고 한다면 B 에좌표에서 A의 좌표를 빼주면 A,B 라는 벡터가 만들어 졌다고 할 수 있다.
player 와 monster의 좌표를 구한다고 하면

이렇게 Get Actor Location 이라는 함수를 이용하면된다.
이 두 값을 monster 벡터에서 player 벡터를 빼주면 몬스터를 향한 플레이어의 방향 벡터가 된다.

방향을 Direction 이라는 벡터에 넣어주고 끝에 저렇게 Vector Length 라는 노드로 거리를 구 할 수도 있다.
하지만 거리가 필요한게 아닌 player 가 monster에게 이동한다고 하면 Normalize 가 필요하다
Normalize를 구한후 플레이어가 해당 방향에 거리를 곱해주면 이동하게되는데 그 거리는 매 시간으로 한다.

현재 코드는 정리는 안되어있지만 이제 speed(시간)에 따른 속도로 monster 를 향해 player 가 이동하고 만약 거리가 200 미만으로 가까워지면 이동을 멈춘후 Arrived라는 메세지를 출력할 것이다.
728x90