액터 움직이기
무브먼트 컴포넌트를 이용하여 움직이기
MovingActor
1. 액터 블루프린트 생성

2. 블루프린트에서 스태틱 메시 컴포넌트를 추가하고 디테일 - 스태틱 메시에 floor을 넣어준다.

3. 스태틱 메시에 무브먼트 컴포넌트에 보간을 추가한다.(Interp 무브먼트)

4. Inter 무브먼트 컴포넌트의 디테일창에서 다양한 세팅이 가능하다.

- 컨트롤 - 기간 : 지정된 포인트를 몇 초에 걸쳐서 이동할지(속도 조절 가능)
- 컨트롤 포인트 : 배치된 곳으로부터 어느 포인트로 이동할 것인지.(Y축으로 2000)
- 비헤이비어
비헤이비어 텔레포트 타입에는 4가지가 있다.

Car
1. 폰 블루프린터 클래스 생성

2. 스태틱 메시 컴포넌트 추가하고 디테일 - 스태틱 메시에 Power Car를 넣어준다.

3. FloatingPawnMovement 컴포넌트를 추가한다.

4. Car가 움직일 수 있도록 이벤트 그래프에서 이동하는 노드를 생성한다.

노드와 타임라인을 이용하여 움직이기
MovingActor
1. 시작 위치, 속도, 이동 거리 변수 3개 생성

2. 프로젝트 시작 시 MovingActor의 시작 위치를 저장함.

3. P=P0+vt 공식을 사용하여 로직을 구현한다.

- P는 업데이트 된 액터의 위치
- P0는 현재 액터의 위치 = Get Actor Location
- v는 속도 = Velocity 변수
- t는 시간 = Event Tick의 Delta Seconds

4. 현재 한 방향으로만 움직이는 액터를 왕복하는 로직을 구현한다.

- Start Location과 Get Actor Location의 Distance를 구한다.
- 구한 값이 Move Distance(이동할 거리)보다 크거나 같다면 반대편으로 이동한다.(돌아감)
- 돌아가기 위해 Velocity를 Negate Vector 노드를 이용하여 반전 시켜준다.

이동하는것과 목표 지점(Move Distance)까지 도착한 후 반대 방향으로 이동하는 것을 동시에 판단하기 위해 Sequence 노드를 이용한다.
위처럼 하면 목표지점에 도착하고 돌아가지만 시작지점을 지나쳐 더 움직이는 문제가 발생한다.
과제 - 왕복 후 시작지점 도착 시 다시 반대방향으로 가도록 구현하기

방향 전환 전에 Start Location 값을 액터의 현재 위치로 SET 하고 방향 전환 후 다시 1000만큼 이동하도록 한다.
Car
타임라인 노드를 이용하여 Car를 이동시켜보자.
1. 벡터 변수 2개 생성.

2. 시작 지점과 끝 지점을 정해주고 타임라인 노드 생성.

3. 타임라인 더블 클릭 후 Float 트랙 추가


마우스 휠로 그래프 확대 축소 가능, 오른쪽버튼으로 드래그 하면 그래프 이동가능
4. 우클릭으로 키를 3개 추가하고 키 보간 설정을 이용함.(쉬프트 + 좌클릭으로 키 추가 가능)

5. 차가 부드럽게 이동할 수 있도록 노드 생성함.

Lerp 노드 : A위치에서 B위치까지 자연스럽게 이동을 하는 값을 반환하는 노드.(보간)
Alpha에 만들었던 타임라인의 새 트랙을 연결해준다.
Alpha는 A에서 B까지 얼마나 가까워 졌는지를 결정하는 값(=정밀도)
액터 회전 시키기
1. 액터 블루프린트 생성

2. 회전시키는 노드 생성

Local과 World의 차이
Local은 액터를 기준으로 회전을 시킨다.
World는 레벨에 배치된 기준으로 회전을 시킨다.
액터의 기울기를 20도 기울인다음 두 노드를 각 연결 시켜보면 차이점을 알 수 있다.
'Unreal 게임개발종합반 2주차' 카테고리의 다른 글
| 9일차 250724 (강의 2-6) (0) | 2025.07.29 |
|---|---|
| 9일차 250724 (강의 2-5) (0) | 2025.07.29 |
| 8일차 250723 (강의 2-4) (0) | 2025.07.28 |
| 8일차 250723 (강의 2-3) (0) | 2025.07.28 |
| 7일차 250722 (강의 2-2) (0) | 2025.07.28 |