C# & Unity 공부(34)
-
[Kitchen Chaos] Post Processing
강의 영상 (41:19 ~ 55:47)https://www.youtube.com/watch?v=AmGSEH7QcDg&t=17944s Post Processing이란?포스트 프로세싱(Post-Processing)은 작성한 씬에 다양한 화면 효과를 추가할 수 있는 기능이다. 포스트 프로세싱은 기존 콘텐츠를 수정할 필요 없이 시각적인 효과를 즉시 구현하고 씬의 품질을 한층 개선할 수 있다는 장점이 있다. Urp로 프로젝트를 제작했다면, 기본적으로 세팅이 되어있을 것이다.Globlal Volume 오브젝트 -> Volume 컴포넌트 -> Profile을 지워주고 새로 만든 다음,Profile 안에다가 원하는 시각적인 효과를 넣으면 된다. 이때 Post Processing이 적용이 안된다면, 1. Camera..
2024.05.02 -
[Kitchen Chaos] Code Style, Naming Rules
강의 영상 (35:39 ~ 39:30)https://www.youtube.com/watch?v=AmGSEH7QcDg&t=17944s 이 부분은 중요하다. 클래스를 여러 개 만들 때, 위의 것들이 정해져 있지 않다면,코드들이 매우 난잡해질 것이다. => 획일화된 코드 스타일이나 이름 짓는 방법이 필요하다. 파스칼 표기법 int PascalCase 첫 단어를 대문자로 표기하는 표기법이다. 낙타 표기법 int camalCase 첫 문자만 소문자로 표기하고, 그 이후의 단어의 첫 문자는 대문자로 표기하는 방법 스네이크 표기법 int snake_case 두 단어 사이에 _를 이용하여 쉽게 읽을 수 있도록 표기하는 방법이다. 각 표기법은 언제 사용하면 좋을까?파스칼 표기법 - 프로퍼티, 이벤트, 함수 이름 등낙타..
2024.05.02 -
Unity 2D RPG - 7. 서브 메뉴와 저장 기능 만들기
UI 구축하기 우선 Esc를 눌렀을 때 화면이 검게 나오는 것을 구현하자. 우클릭 하고 Ui > Image를 통하여 만든 후, Rect Transform에서 눌러서 화면을 가득 채운다. 그 후에, Sprite를 넣고 검정색으로 바꾼 뒤 알파값을 내려준다. 이후 버튼 판넬 (메뉴창)과 버튼 3개를 만들어주도록 하자. 버튼의 내용과 종료하기 버튼의 색깔을 바꾸어주자. 그리고 퀘스트 내용을 띄울 Image와 Text를 추가해주자. 계속하기 esc는 단타성 버튼이기 때문에 Update() 함수에 구현하도록 하자. 우선 아래 코드를 GameManager.cs에 작성하자. public GameObject menuSet; void Update() { //Sub Menu if (Input.GetButtonDown("C..
2023.08.23 -
Unity 2D RPG - 6. 대화 애니메이션 느낌있게 만들기
대화창 이펙트 캔버스 아래에 Talkset (대화창)에다가 넣을 애니메이션 컨트롤러를 하나 만들고 집어 넣은 뒤에 , 빈 상태를 하나 만들자. 그리고 보여줄 때와 숨길 때 차이를 두기 위하여 'isShow'라는 bool형 Parameters를 하나 만들자. 애니메이션 2가지를 만들자. 대화창을 보여주는 'TalkShow'와 대화창을 숨기는 'TalkHide'를 만들자. 보여주는 게 먼저고, 다음 단계가 숨기는 거다. 이것을 반복하기 때문에 Make Transition을 통한 화살표는 아래와 같다. 애니메이션 때 항상 하는 거지만 Has Exit Time을 꺼주고, TransitionDuration을 0으로 만들어 준다. 그리고 Conditions에 만들어준 Parameter 변수에 맞게 넣어준다. 이제 ..
2023.08.16 -
Unity 2D RPG - 5. 퀘스트 시스템 구현하기
퀘스트 대화 퀘스트를 시스템을 만들어 볼건데, 이를 또 관리해줄 매니저를 만들어 보자. Create Empty를 통해 QuestManager 오브젝트와 C# Script인 QuestManager을 만들고 오브젝트에 넣어주자. 그리고 저번에 오브젝트 데이터 관련 스크립트 ObjData.cs를 만들었었다. 이번에는 퀘스트와 관련된 데이터 스크립트 QuestData.cs를 만들자. 이번에는 ObjData처럼 오브젝트에다가 넣을 것이 아니다. 코드에서 불러서 쓸 것이다 QuestData의 MonoBehaviour을 지울 것이다. 그럼 ' using UnityEngine; '도 필요하지 않을 것이다. using System.Collections; using System.Collections.Generic; pub..
2023.08.14 -
Unity 2D RPG - 4. 대화 시스템 구현하기
저번에는 대상을 인식하여 대화창에 띄우는 것까지 했다면, 이번 시간에는 대상이 대사를 할 수 있도록 해보겠다. 오브젝트 관리 어느 사물을 정했을 때, 그 사물이 NPC인지 아니면 그냥 일반 사물인지 혹은 ID는 어떻게 되는지 그것을 정해주어야 한다. 우선 C# Script를 만들어보자. 이름은 'ObjData"라고 해두자. using System.Collections; using System.Collections.Generic; using UnityEngine; public class ObjData : MonoBehaviour { public int id; public bool isNpc; } 우선 위처럼 코드를 작성한 뒤 저장하자. 그리고 작성한 스크립트들을 오브젝트들에게 넣어주자. [예시] NPC A..
2023.08.13