본문 바로가기

게임

(9)
Godot 스크립트 GDScript 작성 팁 및 서비스 관리 등에 다룬다. 3.5 버전 기준으로 작성된 점을 유의 하길 바랍니다. Godot Singleton Service 만들기 전역에서 무언가 관리하는 무언가를 만들 수 있는 방법을 소개한다. 그게 노드일 수도 있고, 서비스일 수도 있겠지만 노드라는 가정하에 설명하겠다. 1. 일단 빈 Node 를 만든다. (노드가 필요 없다면 그냥 Script 만 만들어도 된다.)2. Script 를 추가한다. 예제에서는 GlobalService 라는 이름으로 만들었다.3. 프로젝트 -> 프로젝트 설정 -> 오토로드 탭에 진입한다.경로쪽에 있는 폴더 아이콘을 눌러서 지정할 서비스 스크립트를 선택한 후, 오른쪽에 있는 추가 버튼을 눌러준다.4. 그럼 아래와 같이 자동으로 활성화가 체크되어..
Godot - UI CanvasLayer Godot 에 메뉴 같은 UI 적인 요소를 넣고 싶을 때는 일반적으로 씬의 루트를 CanvasLayer 를 선택해준다. (그래야 하위 노드들을 만들 때, 설정한 창 크기 기준에 맞춘다거나 할 수 있다.) MarginContainer 자식 요소를 자동으로 레이아웃하는 데 사용되는 노드다. MarginContainer를 사용하여 각 자식 요소의 마진을 설정하여 요소 간 간격을 만들고, 부모 요소의 크기 조정에 따라 자식 요소의 크기와 위치를 자동으로 조정할 수 있다. MarginContainer 를 선택하고 레이아웃에서 "사각형 전체" 를 선택하면 ViewPort 크기에 맞춰 넒어진다. 보통 MarginContainer 안에 있는 노드들을 중앙 정렬 시키고 싶을 때는 Size Flag ..
Godot - Animation Godot 에서 2D Animation 효과를 주기 위해 사용하는 노드들을 소개한다. AnimatedSprite 간단한 스프라이트 애니메이션을 만들 수 있는 노드다. AnimatedSprite 노드를 추가한 뒤, Frames 에서 새 SpritedFrames 를 추가한다. 그러면 오른쪽에 프레임 별 보여줄 이미지를 설정 할 수 있는 창이 뜬다. 설정한 뒤, Playing 을 enable 시켜야 애니메이션이 씬에 적용된다. Animation Player 해당 노드로 애니메이션을 좀더 디테일하게 다룰 수 있다. ex) 특정 오브제가 위아래로 움직이는 애니메이션 / 나타나거나 사라질 때 보여지는 애니메이션 등 Animation Player 노드를 추가하면 편집기 Inspector 에서 아래와 같은 화면을 볼 ..
Godot 노드들 Sprite 이미지를 넣어줄 때 사용하는 노드 원하는 이미지를 texture 속성에 넣어주면 된다. coliisionShape2D 충돌 관련 노드 ColorRect 그냥 직사각형 모양의 노드
Godot 편집기 Tip 단축키 모음 자식 노드 추가 : Ctrl + A 노드 복사 : Ctrl + D 노드 수평에 맞춰 움직이기 : Ctrl 키 누른채로 이동시키면 됨 특정 씬 검색해서 열기: Ctrl + Shift + O 편집기 유용한 기능들 1. 노드들 그룹핑 아래 사진에 표시된 아이콘을 누르면 자식 노드들을 한꺼번에 묶을 수 있다. 자식 노드를 한번에 이동시키고 싶을 때 편하다. 체인 모양 아이콘을 누르면 노드를 인스턴스화 시킬 수 있다. 인스터스화 된 노드느 다른 씬에 붙일 수 있다. 2. 씬의 편집화면 이동하기 씬 옆에 슬레이트 아이콘을 누르면 해당 해당 씬의 편집화면으로 이동할 수 있다. 노드 우클릭 메뉴 기능들 다른 씬에서 병합하기 다른 씬에서 가져오고 싶은 노드들을 내 하위 자식 노드로 가져올 수 있다. (복제 ..
Gotdot - Tutorial 게임 만들기 (1) gotdot 의 tutorial 에 있는 게임을 만들어봤다. 게임을 만들면서 알게된 것들 / 게임 구성요소 등을 정리해보려 한다. ** 수정 사항/잘못된 정보 등에 관한 피드백 환영합니다. :) 완성된 게임 https://docs.godotengine.org/ko/stable/getting_started/step_by_step/your_first_game.html 의 url 에 있는 게임을 따라 만들어 봤다. player가 몬스터들을 피하면서 점수를 획득하는 게임이다. 친구가 귀여운 햄버거 몬스터를 만들어줘서 추가해봤다. 게임 구성 씬 구성 씬은 총 4개로 구성되어져 있다. 씬의 구성은 아래와 같다. Main , Player, Mob , HUB Main : 게임의 최상위 씬이다. root 라고 생각해도 ..
Godot - Physics ※ 본 포스팅은 Godot 의 공식문서를 정리한 것입니다. 피드백 환영합니다 :) 원글은 https://docs.godotengine.org/ko/stable/tutorials/physics/physics_introduction.html 를 참고해주세요. 게임 개발 중에는 두 물체가 교차하거나 접촉할 때를 알아야 한다. 이런 상황을 충돌 감지 라고 한다. 그리고 충돌이 감지될 때의 반응을 충돌 응답 이라고 한다. Gotdot 에서는 충돌 감지와 응답을 제공하기 위해 2D,3D 충돌 객체를 제공한다. 해당 충돌 객체들의 작동 방식과 장단점을 이해해보자! 다음과 같은 내용들을 다룰 것이다. Godot 의 4가지 충돌 객체 타입 각 충돌 객체의 작동 방식 각 충돌 객체 타입을 선택하는 기준 팁 충돌 객체 Go..
Godot - Scripting Scripting godot 에서 node 에 행위를 추가하는 것. 노드 동작하는 방식 외에 자식,부모,형제 같은 다른 노드와 상호 작용하는 방식을 제어 스크립트의 지역 범위는 노드 Scripting 지원 언어 c++, c#, VisualScript 등도 지원 하지만 대부분 아직 부족하다는 평이 많다고 한다. GDScript 는 Godot 의 메인 언어이이기도 하다. GDSCript ? Godot 에서 사용되는 메인 언어. 다른 언어들에 비해 Godot 과 높은 결합 python 언어랑 비슷함 동적 언어 스레드 지원 primitive type 을 제외하고 값을 인자로 넘길 때는 참조값이 넘어감 (pass by reference) Garbage Collector 를 지원하지 않음. GDScript 메모리 ..