전체 글
-
[TIL] 스파르타 메타버스 1카테고리 없음 2025. 5. 2. 21:03
전체 구조 [Main Map]캐릭터 이동 zone (타일맵 및 배경 구성)캐릭터 이동시 카메라가 쫓아오도록WASD를 통해 이동, 점프 구현맵의 가장자리는 이동 불가상호작용 zone 대화 가능한 NPC 상호작용 가능한 오브젝트Flappy Plane zone 상호작용The Stack zone 상호작용이벤트 영역 [Mini Game]게임 플레이미니게임 설명 UIFlappy PlaneThe Stack게임 종료점수 기록 (게임 종료 시에도 점수 유지 가능하도록, 최고점수 표시)맵으로 복귀 (점수를 포함한 게임 성공 및 실패 여부를 UI로 출력) 상속 선언일단 배운대로 BaseController와 PlayerController를 만들어서 캐릭터 움직임, 시선 구현부터 시작했다. 그리고 배운대로 잘 작성했는데 분명히..
-
[TIL] Unity 입문 3게임 기획/내일배움캠프 2025. 5. 1. 20:53
Vector3.~Vector3.Lerp()를 사용하며 이런 식으로 Vector3 (혹은 Vector2)와 함께 사용할 수 있는 함수가 더 있을 것 같아 찾아보았다. 사실 Vector3가 너무 기본적인 자료형이기 때문에 연산에 필요한 다양한 함수를 함께 사용할 수 있지만 기본적인 것들을 정리해보면 좋을 것 같았다! 역할사용기능벡터 생성new Vector3(x, y, z)위치, 방향 등을 설정해 새로운 벡터 생성방향 유지.normalized방향 유지, 벡터 유닛화(길이 1)거리 측정Vector3.Distance(a, b)두 점 사이의 거리 구함보간 이동Vector3.Lerp(a, b, t)a → b 사이를 부드럽게 이동길이 계산.magnitude벡터의 길이(거리)회전 계산Vector3.Angle(a, b)두..
-
[TIL] Unity 입문 2카테고리 없음 2025. 4. 30. 20:51
OnTriggerEnter2D충돌이 아닌 충돌 "감지" 이벤트Trigger: 충돌을 감지하지만 물리적인 동작을 하진 않음Collider: 충돌을 감지하고 물리적인 동작도 함 (isTrigger로 조절 가능)사용처- 아이템 영역에 들어왔을 때 아이템 획득 가능- 무기 콜라이더와 적이 접촉 했을 때 타격 판정 가능- NPC와 닿았을 때 대화 기능 활성화사용조건- 기능을 활성화 하고 싶은 오브젝트에 모두 Collider 적용 되어 있어야 함- isTrigger가 활성화 되어 있으면 물리적인 동작은 하지 않고 충돌 감지만 하게 됨- 적어도 하나의 오브젝트에는 Rigidbody가 적용되어 있어야 이벤트 실행 가능OnCollisionEnter2D는 물리적인 충돌 구현 가능! (단 isTrigger 꺼져있어야 함) ..
-
[TIL] Unity 입문 1게임 기획/내일배움캠프 2025. 4. 29. 21:05
Order in Layer이전 프로젝트들에선 항상 0,1로만 관리했었는데 이번 프로젝트에서는 0, 50, 100으로 작성했다. 항상 최적화가 중요하다고 배웠는데 숫자를 크게 잡으면 최적화에 문제가 되는 건 아닐까? 라는 생각에 찾아봤다. 결론적으로 Order in Layer의 숫자 크기는 메모리에 전혀 문제가 안 되는걸로..!! 오히려 처음에 작게 잡으면 중간에 오브젝트들이 추가 될 때마다 수정해줘야 하는 번거로움이 생길 수 있기 때문에 처음 설정할 때 간격을 크게 띄어주면 중간 수정이 쉬울 수 있겠다는 것을 알게 되었다! GetComponent오브젝트에 할당되어 있는 기능을 GetComponent를 이용해 반환해줄 수 있다. 예를 들어 Player에 Rigidbody를 적용해놨다면 GetCompont..
-
[TIL] Text RPG (Team Project) 4게임 기획/내일배움캠프 2025. 4. 25. 17:54
questList 호출오류 for (int i = 0; i GameManager.Instance.questManager.questList.Count여기서 오류 발생questManager에 오류 하나,GameManager.Instance.questManager가 아직 생성되지 않았거나 초기화되지 않아서 null 상태그걸 .questList.Count 하려고 하니 오류가 발생했다. GameManager, QuestManager 에서 다 호출 해줬다고 생각했는데 실행이 안 됐다.수정과정에서 GamaManager에 public Quest quest는 호출해줬는데 public QuestManager questManager 호출이 누락되어 있었다. 새로 호출해주고 시도했는데 questManager도 호출은 고쳐졌지..
-
[TIL] Text RPG (Team Project) 3카테고리 없음 2025. 4. 24. 20:45
Quest.cs를 만들면서 하고싶었던 것들!! 1. 퀘스트 리스트를 따로 만들어 거기에 작성하면 자동으로 퀘스트창에서 보이게 하기2. 퀘스트 항목이 많아지는 경우 오류없이 목록 선택할 수 있도록 하기(단순 if문 말고) 1. 퀘스트 리스트internal class QuestManager{ public List questList = new List(); public static void InitQuests() { Quest quest1 = new Quest(); quest1.title = ""; quest1.description = ""; quest1.goalCount = 5; quest1.rewardItem = "스파르타의 창..
-
[TIL] C# 개념정리게임 기획/내일배움캠프 2025. 4. 23. 20:20
도전과제를 진행하다가 내일 배치고사를 준비할 겸 아직 헷갈리는 문법들 정리할겸 개념 공부 중점으로 진행했다.오랜만에 노트도 꺼내 수기로 정리하면서 공부하고 간단하게 공부한 내용들만 적어두겠다.개념노트처럼 헷갈리는 문법들이 생길 때마다 추가로 정리해둘 예정이다! 1. 변수와 자료형int: 정수 (예: 10, -5)float: 실수. 소수점 가능. 반드시 f 붙임 (예: 3.14f)string: 문자열 (예: "Hello")char: 문자 하나만. 작은따옴표 사용 (예: 'A')bool: true / false 논리값2. 지역변수와 전역변수지역변수: 함수/블록 내부에서 선언되고, 그 내부에서만 사용 가능전역변수(필드): 클래스 안에서 선언된 변수. 여러 함수에서 공유 가능3. 매개변수 (Parameter)함..
-
[TIL] Text RPG (Team Project) 2게임 기획/내일배움캠프 2025. 4. 22. 21:15
도전과제 Quest 만들기InitQuest()게임 시작 할 때 퀘스트 목록을 만들어주기 위해 사용했다. questList에 원하는 퀘스트 목록을 추가만 해주면 자동으로 불러올 수 있어 사용해봤다! 퀘스트 리스트 출력for (int i = 0; i 이렇게 출력했는데 도대체 리스트를 왜 게임매니저에서부터 불러와야 하는지 이해를 못 해 잠시 헤맸다,, 따로 만드려고 QuestManager.cs를 만들었기 때문에 생각이 굳어버려서 GameManager에서 불러온다는 생각 자체를 못 했다ㅜㅜ..단순히 생각해보면 결국 questList가 어디에 속해있는지 알려주는 경로라고 생각하면 될 것 같은데 아직 코드를 그림,,? 처럼 보고 문자로 이해하기가 어려워 생각을 못 한 것 같다. 게임매니저에 퀘스트매니저 필드를 소환..