반응형
Path2D노드 사용법에 대해 알아보겠습니다.
Path2D노드를 사용하면 단순히 움직이는 캐릭터들(Enemy 나 NPC 등)의 단순 이동동작을 최소한의 코딩으로 구현할 수 있는 유용한 노드입니다.
1. 적당한 Enemy 노드가 있을 경우, 전체 동작하는 Scene에서 아래와 같이 구성을 하였습니다. Path2D노드는 하위에 항상 PathFollow2D를 자식으로 담고 있어야 합니다. Path2D노드가 포인트를 이용하여 라인을 생성하는 노드라면, PathFollow2D노드는 그 선을 어떤 방식으로 따라가는지를 설정하는 노드입니다.
2. Path2D노드를 다시 선택하면 아래 그림과 같이 에디터 상단에 포인터 추가/삭제/편집할 수 있는 버튼이 활성화됩니다. 적당히 이동 경로를 그려줍니다. 이 중 5번째 아이콘은 경로를 닫아주는 버튼입니다. 라인을 완전히 그리지 말고, 적당히 그린 후 이 버튼을 누르면 라인을 닫으면서 닫힌 도형으로 만들어줍니다.
3. PathFollow2D노드를 선택한 후 Rotate를 체크 해제합니다. (경우에 따라 다릅니다만, 저는 라인을 따라 회전하지 않고, 좌우 평행이동만 하려고 합니다.
4. Enemy.gd스크립트 내부에 아래의 라인을 추가해줍니다. (_process(delta)가 없다면, _physics_process(delta)함수에 추가해주시기 바랍니다.)
# 변수로 선언하여 PathFollow2D를 불러옴
onready var path_follow = get_parent()
var speed = 20 # 움직이는 속도
func _process(delta):
path_follow.set_offset(path_follow.get_offset() + speed *delta)
반응형
'Programming > Godot' 카테고리의 다른 글
Godot사용팁-AnimationTree노드의 Blendmode2D로 애니메이션 컨트롤 (0) | 2022.03.12 |
---|---|
Godot GUI프로그래밍 예제 - 시계만들기 (4) | 2022.02.24 |
Godot GUI 프로그래밍 - 컨테이너 (0) | 2022.01.25 |
Godot 엔진 시작하기 - Signal (0) | 2022.01.12 |
Godot 엔진 시작하기 - 스크립팅 2 (0) | 2022.01.12 |