본문 바로가기
반응형

전체 글374

Godot 엔진 시작하기 - 스크립팅 스크립팅 언어 사용 가능한 스크립팅 언어 Godot는 GDNative 기술을 통해 GDScript, C#, VisualScript, C++ 의 4가지 게임플레이 프로그래밍 언어를 공식적으로 제공합니다 . 커뮤니티에서 지원하는 언어로 Python, Lua, Rust 등도 있습니다. 단일 프로젝트에서 여러 언어를 사용할 수 있습니다. 예를 들어 팀에서 GDScript로 게임 플레이 로직을 코딩할 수 있습니다. 작성 속도가 빠르기 때문에 레벨 디자이너가 그래픽 언어 VisualScript로 퀘스트를 스크립팅하도록 하고, C# 또는 C++를 사용하여 복잡한 알고리즘을 구현하고 성능을 극대화할 수 있습니다. 또는 GDScript 또는 C#으로 모든 것을 작성할 수 있습니다. 어떤 언어를 사용해야 하는가? GDSc.. 2022. 1. 12.
Godot 엔진 시작하기 - 인스턴스 생성 요약 인스턴싱은 편리함이 많습니다. 장면을 세분화하고 관리하기 쉽게 만드는 기능. 여러 노드 인스턴스를 한 번에 관리하고 편집하는 기능. 복잡한 게임 흐름 또는 UI를 나누어 구성하고 포함하는 기능. (Godot에서 UI 요소도 노드(장면)임). 소개 Scene & Node 에서 씬은 하나의 루트 노드에서 시작되는 트리 구조의 노드 모음임을 배웠습니다. 원하는 만큼 장면을 만들어 디스크에 저장할 수 있습니다. 이러한 방식으로 저장된 장면을 "Packed Scene"이라고 하며 .tscn 확장자의 파일로 저장됩니다. 씬이 저장되면 다른 씬에서 노드처럼 인스턴싱 할 수 있습니다. 위 그림에서 Scene B는 Scene A에 인스턴스로 추가되었습니다. 인스턴싱 예시 샘플 프로젝트: instancing.zip... 2022. 1. 12.
Godot 엔진 시작하기 - Node 와 Scene Node(노드) 노드는 게임 구축의 기본 블록입니다. 이미지를 표시하고, 사운드를 재생하고, 카메라 뷰를 표현하는 등 수행할 수 있는 기능에 따라 수십가지 종류가 있습니다. 모든 노드에는 다음 속성이 있습니다. 이름. 편집 가능한 속성. 매 프레임마다 업데이트될 콜백함수 새로운 속성과 기능으로 확장 다른 노드에 자식으로 추가 마지막 속성이 키포인트입니다. 여러 다른 기능의 노드를 결합하면 더 복잡한 동작을 하는 노드가 생성됩니다. 이전에 보았듯이 "Character" 노드는 KenematicBody2D 노드, Sprite2D 노드, Camera2D 노드 및 CollisionShape2D 노드를 사용하여 카메라가 따라가며 뷰가 전환되는 캐릭터를 만들 수 있었습니다. Scene(장면) 캐릭터 씬과 같이 하나.. 2022. 1. 12.
Godot 엔진 시작하기 - 에디터 [Godot 엔진 다운로드] 프로젝트 매니저 Godot를 실행하면 가장 먼저 보게 될 창은 프로젝트 매니저입니다. 최초 실행시에는 프로젝트가 없으므로 애셋 라이브러리를 열 것인지 묻는 팝업이 표시됩니다. 우선 취소하고 신규 프로젝트 생성을 하겠습니다. 이제 프로젝트 관리자가 표시되면 게임 프로젝트를 생성, 제거, 가져오기 또는 시작(열기)할 수 있습니다. 오른쪽 상단에는 편집자의 언어를 변경할 수 있는 드롭다운 메뉴가 있습니다. 애셋 라이브러리 프로젝트 탭에서 오픈 소스 프로젝트 템플릿과 데모를 다운로드하여 빠른 시작을 할 수 있습니다. 원하는 템플릿이나 데모를 선택하여 다운로드가 완료되면 설치를 클릭하고 프로젝트 경로를 선택하면 됩니다. 프로젝트 생성 또는 가져오기 새 프로젝트를 생성하려면 오른쪽에 있.. 2022. 1. 12.
Godot 엔진 시작하기 - Godot(Godette) 엔진이란 Godot엔진에 대해 알아보겠습니다. 이름(...이라기보다는 발음)에 대한 논란이 지속적으로 발생하여 새로운 이름에 대해 커뮤니티를 중심으로 끊이지 않자, 최근 새로운 이름 Godette로 변경하였습니다. 아울러 마스코트도 이상한 톱니머리 얼굴이 아닌 예쁘장한 여학생 캐릭터를 만들었는데요. 머리에 뿔은 이 엔진의 동질성일까요? 계속 동일한 뿔모양을 가져가는 모습입니다. 본 포스팅에서는 기존부터 익숙히 알고 있던 이름인 관계로 Godot라는 명칭을 사용하겠습니다. 아르헨티나에 본사를 둔 OKAM이라는 회사에서 인하우스 툴로 사용하던 게임엔진으로 이를 MIT 라이센스하에 오픈소스로 배포한 것이라고 합니다. 주요 특징으로는 1. 완전 무료 MIT 라이센스 하에 배포되다보니 다른 제한사항도 없고 사용은 물론 수.. 2022. 1. 12.
고도엔진 2D 슈팅게임 - 12 최고점과 Saving - stage_menu.tscn에서 새 스크립트를 추가 - game.gd로 저장 - Project Settings > Autoload 에 game.gd파일 추가 - hud에 최고기록을 표시하는 라벨 추가 - stage_game.tscn > tex_score 노드 추가 - 노드 이름을 tex_bestscore로 변경 - 스크립트를 clear해주고, 다시 builtin script 추가 - 스크립트 이름을 tex_bestscore로 지정 - stage_game.tscn씬 > tex_score노드 > tex_score스크립트 수정 ...길다.... - 끝 - 2022. 1. 8.
고도엔진 2D 슈팅게임 - 11 Sounds - 새로운 씬 생성 - 빈 Node 추가 후 audio_player로 이름 변경, audio_player.tscn으로 저장 - Music 추가하기 - AudioStreamPlayer노드 2개 추가 - 하나는 배경음악 설정을 위한 노드 (background로 이름 변경), Sound에 music.ogg설정 - 다른하나는 효과음 설정을 위한 노드 (effect로 이름 변경) - Autoplay에 체크하여 시작 후 계속 플레이되도록 설정 - audio_player.gd 스크립트 추가 extends Node func _ready(): pass func play(sample_name): #get_node("AudioStreamPlayer").play(sample_name) get_node("effect").str.. 2022. 1. 8.
고도엔진 2D 슈팅게임 - 10 Power Up - 새로운 씬 생성 후, Area2D노드 추가 - 이름을 powerup으로 변경 후 powerup.tscn으로 저장 - Sprite노드 추가 후 이름을 sprite로 변경 - CollisionShape2D노드 추가 후 이름을 shape으로 변경 - New RectangleShape2D 지정 - Extends: (7,7)로 변경 - powerup노드에 powerup.gd스크립트 추가 - 상속씬으로부터 만들기 > powerup.tscn선택 - 이름을 powerup_armor로 변경하고 powerup_armor.tscn으로 저장 - 기존의 스크립트를 제거 - powerup_armor.gd스크립트 새로 추가 스크립트 수정 - 새로운 상속씬 생성 - powerup.tscn을 상속하여 powerup_laser.ts.. 2022. 1. 8.
고도엔진 2D 슈팅게임 - 9 HUD & Menu - ship.gd스크립트 수정 - armor_changed 시그널 추가 - set_armor함수에 emit_signal 추가 - Canvas2D노드 추가 후 hud로 이름 변경 - 하위에 sprite노드 추가 후 spr_armor로 이름 변경 - Sprite Texture에 armor.png파일 지정 - Centered는 해제하고, - 총 수평방향으로 5개의 프레임이 존재(Hframes:5) 인식 - 현재 프레임은 4번째 프레임을(Frame: 4)인식시켜준다. - spr_armor노드에 스크립트 추가 (Built-In-Script형태로 추가해준다.) - TextureFrame TextureRect노드를 추가 후 tex_score로 이름 변경 - Texture에 score.png 파일 추가 - 노드 사이즈.. 2022. 1. 8.
고도엔진 2D 슈팅게임 - 8 카메라 진동 - world씬에 camera2D노드 추가 - 카메라 스크립트 추가 수정 수정 수정 - 새로운 씬 생성하고 sprite노드를 추가하여 flash라고 이름을 바꿔 flash.tscn으로 저장한다. - Texture에 rectangle.png파일을 지정하고 - Centered를 해제한 뒤, 화면 사이즈보다 약간 크게 확장한다. - Modulate에 빨간색을 지정한다. - Z값을 15로 지정한다. - 하위노드로 Merge from Scene > flare.tscn > anim노드를 추가한다. - Make Sub-Resources Unique로 고유하게 변경한다. - 재생 길이를 0.3으로 변경하고 마지막 프레임도 0.3 위치에 놓는다. - 다시 0프레임에 위치시킨 후 스크립트를 추가한다. - 적용을 위해 sh.. 2022. 1. 8.
반응형