전체 글54 멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 39일차 목차이전 시간에 랜덤으로 조가 편성되었고, 거기에 각자의 아이디어를 문서화하여 공유했었는데 오늘 서로의 아이디어 중 가장 좋은 한 가지를 선택하는 시간이 있었다.감사하게도 나의 아이디어가 선택되었다. 그래서 아이디어를 좀 더 구체화 해나가야겠다.게임 소프트웨어 공학25.01.16게임의 시장성: 게임이 상업적으로 성공할 수 있는 가능성이 얼마나 될 것인가? --> 게임을 구매할 유저의 규모가 얼마나 되며, 어떤 플랫폼을 대상으로 게임을 만들 것인가? 시장성 조사 사이트한국콘텐츠진흥원 연구 보고서 - https://www.kocca.kr통계청 - https://kostat.go.kr스팀DB - https://steamdb.info/charts/Data.ai - https://www.data.ai SWOT.. 2025. 1. 16. 멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 38일차 목차강사님이 새롭게 교체되었다. 이에 기존의 실습적인 강의와 다르게 이론 수업을 시작했다. 아이디어 강의에서 직접 아이디어를 내고, 그 아이디어를 문서화하는 과제를 내주셨다. 무언가 아이디어를 내고 글로 적어보는 것이 처음이라 걱정이었는데, 생각보다 나쁘지 않은 아이디어가 나온 것 같다. 앞으로도 자주 생각나면 메모하는 습관을 들여야 겠다.전체 강의 스케줄게임 소프트웨어 공학틱택토, 3매치 퍼즐그래픽 최적화메모리 최적화프로세싱 최적화프로파일링클라우드 서비스오목 인공지능 대전근접 전투 기반 핵 앤 슬래시 대전게임 소프트웨어 공학25.01.15- 처음에 게임을 만들 때는 어떻게든 돌아가도록 만드는 것이 중요하다. 게임 소프트웨어 공학을 배워야 하는 이유다른 게임 개발자들이 겪은 시행착오를 바탕으로 안정적인 .. 2025. 1. 15. 멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 32~37일차 목차Design Pattern을 배우는 과정 중에 어려움이 많았고 놓친 부분이 많았다.이에 우선 간단히 정리해두고 나중에 하나씩 짚어보려 한다. ※ 코드 비교해주는 사이트https://www.diffchecker.com/ Diffchecker - Compare text online to find the difference between two text filesDiffchecker will compare text to find the difference between two text files. Just paste your files and click Find Difference!www.diffchecker.com ※ Design Pattern 공부 자료 사이트https://refactoring.guru.. 2025. 1. 15. 멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 31일차 목차Design Pattern25.01.03Singleton: 클래스가 자신의 인스턴스 하나만 인스턴스화 할 수 있도록 보장해준다. --> 해당 단일 인스턴스에 대한 손쉬운 전역 엑세스를 제공한다.>> 하나의 객체만 존재할 필요가 있을 때 사용된다. ex) 상태창, 게임 매니저, 오디오 매니저, 파일 관리자, UI Setting 등등 >> Singleton.csusing UnityEngine;// T는 MonoBehaviour를 상속하는 형식만 가능public abstract class Singleton : MonoBehaviour where T : MonoBehaviour{ private static T instance; public static T Instance { ge.. 2025. 1. 13. 멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 30일차 목차Design Pattern25.01.02: Design Pattern을 공부할 때는 왜 쓰는지? 어떤 목적으로 쓰는지? 그 맥락을 아는 것이 중요하다. 초기 세팅>> 새 프로젝트 생성 >> Unity Chan 추가 >> 깨지는 Material을 바로잡기 위해 Toon Shader 추가- package manager에서 toon shader 추가 >> Plane의 Material을 Toon으로 변경 >> UnityChan의 Material을 Toon으로 변경 >> 홍조 세부 조정 >> UnityChan Prefab을 복사하여 Transform과 Animator만 남기고 전부 삭제 >> Animator Controller 생성 후 세팅- Blend Tree 생성 - Parameter 이름 변경 및 Mot.. 2025. 1. 11. 멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 27일차 목차앵그리버드 만들기24.12.27Bird 체력 구현 및 상태 업데이트>> Monster.csusing System;using System.Collections;using System.Collections.Generic;using Unity.Mathematics;using Unity.VisualScripting;using UnityEngine;public class Monster : MonoBehaviour{ public ParticleSystem destroyEffect; public int maxHp, hp = 3; public Sprite damagedSprite; public Sprite moreDamagedSprite; public Action State.. 2024. 12. 27. 멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 26일차 목차앵그리버드 만들기24.12.26발사 궤적 구현: Slingshot.cs에 코드 추가>> 발사 궤적 구현을 위한 변수 선언public GameObject trajectory;private List trajectoryObjects = new List();public int maxStep = 20; // 궤적의 최대 점 수 --> 작을수록 궤적이 짧아진다public float timeStep = 0.1f; // 시간 간격 --> 작을수록 점이 촘촘해진다 >> 발사 궤적 구현void PredictTrajectory(Vector3 force){ ClearTrajectory(); Vector3 position = center.position; Vector3 velocity = force / bi.. 2024. 12. 26. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 18일차 목차2D 게임 맛보기우선 'Universal 2D'로 새 Project를 만든다. 이후, 받은 Asset 4개를 Import 해준다.>> .unitypackage 파일은 그냥 실행하면 설치되며, .psd 파일은 따로 드래그&드롭으로 Import2D 캐릭터 Import1. 2D Animation 할 캐릭터의 png를 준비 2. 준비한 캐릭터 Slice>> 세부 설정 후, Sprite Editor 열기※ 원래 Pivot은 Center였는데, 그렇게 하니 Rigidbody 2D를 적용했을 때 캐릭터가 붕 떠서 수정 3. 빈 게임 오브젝트 만들어서 Sprite Renderer, Animator 추가한 뒤, Slice한 캐릭터 바인딩 4. Animation 추가>> Animation 열기 --> 단축키 : Ctr.. 2024. 12. 19. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 17일차 목차Unity 다뤄보기GameObject 범위 제한using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class MaterialColorChange : MonoBehaviour{ public GameObject cube; void Update() { BoxCollider boxCollider = cube.GetComponent(); //if (transform.position.x = boxCollider.bounds.max.x || // transform.position.z >= boxCollider.bounds.max... 2024. 12. 13. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 16일차 목차알고리즘알고리즘이란?: 프로그래밍에서 문제를 해결하기 위한 단계적인 절차나 방법>> 효율적인 알고리즘은 프로그램의 성능을 크게 향상시키고, 복잡한 문제를 해결하는데 필수적이다. 특징입력 : 하나 이상의 입력을 받는다.출력 : 하나 이상의 결과를 생성한다.명확성 : 각 단계는 모호하지 않고 명확해야 한다.유한성 : 유한한 수의 단계 후에 반드시 종료되어야 한다.효율성 : 가능한 한 효율적으로 설계되어야 한다.종류정렬 알고리즘 : 버블 정렬, 퀵 정렬, 병합 정렬 등 --> 사실상 퀵 정렬만 알고 있어도 된다. 나머지는 대기업 면접 대비검색 알고리즘 : 선형 검색, 이진 검색 등그래프 알고리즘 : 깊이 우선 탐색(DFS), 너비 우선 탐색(BFS), 다익스트라 알고리즘 등동적 프로그래밍 : 최적화 문제를.. 2024. 12. 11. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 15일차 목차자료구조Tree: 계층적 구조를 표현하는 비선형 자료구조 --> 노드와 노드를 연결하는 간선으로 구성※ 이때까지 배운 자료구조 (Array, LinkedList, Stack, Queue)는 선형적인 자료구조 특징하나의 root 노드를 가진다.각 노드는 0개 이상의 자식 노드를 가질 수 있다.사이클이 존재하지 않는다.용어노드(Node) : 트리를 구성하는 기본요소로, 데이터를 저장한다.간선(Edge) : 노드와 노드를 연결하는 선루트 노드(Root Node) : 트리의 최상위에 있는 노드부모 노드(Parent Node) : 직접적인 상위 노드자식 노드(Child Node) : 직접적인 하위 노드리프 노드(Leaf Node) : 자식이 없는 노드로, 트리의 끝단에 위치깊이 (Depth) : 루트에서 특정.. 2024. 12. 10. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 14일차 목차자료구조Queue: First In First Out (FIFO) 원칙을 따르는 선형 자료구조 Queue의 주요 연산Enqueue : Queue의 뒤쪽(rear)에 새로운 요소를 추가한다.Dequeue : Queue의 앞쪽(front)에서 요소를 제거하고 반환한다.Peek/Front : Queue의 맨 앞 요소를 조회한다. (제거 X)IsEmpty : Queue가 비어있는지 확인한다.Size : Queue에 있는 요소의 개수를 반환한다.Queue 구현해보기└ 배열 기반 Queue 구현하기 구현한 Queue의 특징Generic 타입을 사용하여 다양한 데이터 타입을 저장할 수 있다.배열을 기반으로 한 원형 Queue 구조를 사용하여 메모리를 효율적으로 사용한다.Queue가 가득 찼을 때, 자동으로 크기를.. 2024. 12. 7. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 13일차 목차Stack을 활용하여 Undo와 Redo 만들기 (with Command)>> 전체 코드using System.Collections;using System.Collections.Generic;using UnityEngine;public interface ICommand{ void Execute(); void Undo();}public class CommandManager : MonoBehaviour{ private Stack undoStack = new Stack(); private Stack redoStack = new Stack(); public void ExecuteCommand(ICommand command) { command.Execute(); /.. 2024. 12. 6. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 12일차 목차자료구조Stack: Last In First Out (LIFO) 원칙을 따르는 자료구조 Stack의 연산Push(x) : 주어진 요소 x를 Stack의 맨 위에 추가한다.Pop() : 스택이 비어있지 않으면 맨 위에 있는 요소를 삭제하고 반환한다.Peek() : 스택이 비어있지 않으면 맨 위에 있는 요소를 반환한다. Stack 구현해보기 using System.Collections;using System.Collections.Generic;using UnityEngine;public class StackNode{ public T data; public StackNode prev;}public class StackCustom where T : new(){ public StackNode .. 2024. 12. 4. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 11일차 목차자료구조연결 리스트(Linked List): 데이터 요소들을 순차적으로 연결한 자료구조각 노드는 데이터와 다음 노드를 가리키는 포인터로 구성메모리 상에서 연속적이지 않은 위치에 저장 가능구조Node : 데이터를 저장하는 기본 단위Data : 실제 저장되는 정보Next : 다음 노드를 가리키는 포인터(참조)null : 리스트의 끝을 나타냄종류단일 연결 리스트(Singly Linked List) : 각 노드가 다음 노드만을 가리킴이중 연결 리스트(Doubly Linked List) : 각 노드가 이전 노드와 다음 노드를 모두 가리킴원형 연결 리스트(Circular Linked List) : 마지막 노드가 첫 번째 노드를 가리켜 원형을 이룸장점동적 크기 : 필요에 따라 크기 조절 가능삽입/삭제의 효율성 :.. 2024. 12. 3. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 10일차 목차자료구조정의: 데이터 요소들을 체계적으로 구조화하는 방식 목적데이터의 효율적인 저장과 검색메모리 사용 최적화알고리즘의 성능 향상주요 자료구조배열(Array)연결 리스트(Linked List)스택(Stack)큐(Queue)트리(Tree)그래프(Graph)해시 테이블(Hash Table)배열(Array): 동일한 데이터 타입의 요소들을 연속된 메모리 공간에 저장 장점빠른 요소 접근 : Index를 통한 O(1) 시간 복잡도 --> Random Access 가능메모리 효율성 : 연속된 메모리 할당으로 캐시 효율 높음간단한 구현 : 기본적인 프로그래밍 구조로 쉽게 사용 가능다차원 데이터 표현 : 행렬, 이미지 등의 데이터 표현에 적합※ 임의 접근(Random Access): 무작위로 뽑아서 출력하는 것을 의.. 2024. 12. 2. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 9일차 목차[실습] Flappy Bird 2D_02Title 꾸미기: 폰트의 Material 수정하기Button: Image + Button + Text >> 만드는 법 >> 버튼 크기 조절: Scale 말고 Width와 Height로 하기 >> 버튼에 이미지 넣고 해상도 맞추기Set Native Size : Image 해상도 맞추기 만든 Intro를 하나로 그룹화 하기: Intro UI 안에 자식으로 Image, Title, Button 넣기 --> UI는 Hierarchy에 있는 순서가 중요>> Start를 눌렀을 때 한꺼번에 Off하기 위해 ※ 그룹화 및 Anchor, Position 설정※ UI를 그리는 Object인 Canvas에 Create Empty하면 자동으로 UI용 GameObject가 만들어짐.. 2024. 11. 30. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 8일차 목차[예제] 캐릭터 애니메이션 만들기1. 캐릭터 Leg에 Empty GameObject를 추가하여 Anchor 변경하기 2. Animation 사용하여 걷는 모션 만들기 3. Animator 수정: Key는 bool 타입4. Character에 Code 추가using System.Collections;using System.Collections.Generic;using UnityEngine;public class CharacterMovement : MonoBehaviour{ private float h = 0f; private float v = 0f; public float moveSpeed = 5f; public float jumpPower = 5f; public bool i.. 2024. 11. 28. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 7일차 목차RigidbodyDrag : Position 공기 저항Angular Drag : Rotation 공기 저항 --> 회전하지 않게 고정시키기 위해 'Infinity'라는 값을 넣을 수 있음특정 축 제약ex) 캐릭터가 Object에 부딪혔을 때, 안 넘어지게 하기 Transform vs RigidbodyTransform : 위치값을 순간이동 --> 값을 바꿔버리는 기능Rigidbody : 물리적으로 이동충돌 레이어 설정Physic Material: 탄성과 마찰력 ※ 만드는 법Dynamic Friction : 움직이는 대상에 대해서 마찰력Static Friction : 멈춰있는 대상에 대해서 마찰력Bounciness : 튕기는 탄성 (값의 범위 : 0 ~ 1) --> 충돌하는 Object에만 작용, 감지하.. 2024. 11. 27. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 6일차 목차Rotation (회전)오일러 회전 (Euler Rotation): 순서대로 하나의 축씩 회전 --> 0 ~ 360도로 표시하여 사람이 알아보기 쉬움 ※ 오일러 회전의 문제점 --> 짐벌락 : 축이 회전하다가 다른 축과 겹치면 두 축이 합쳐졌다고 생각하여 어떤 축이 회전 중인지 구분할 수 없게 되는 현상, 축이 잠겨서 계산을 멈추게 된다.쿼터니언 회전 (Quaternion Rotation): 가상의 축을 기반으로 세 축이 동시에 회전 --> 사람이 알아보기 힘든 회전값을 사용 ※ Unity에서 보는 법 Code로 Rotation값 넣기: 오일러 회전 방식으로 작성한 다음 쿼터니언 회전 방식으로 변환하여 입력오일러 쿼터니언 변환public float rot = 30f;void Start(){ Vect.. 2024. 11. 26. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 5일차 목차UnityComponent: GameObject에 붙이는 기능Transform: GameObject의 위치, 회전, 크기 정보※ Scene 상에 존재하기 위해서 모든 GameObject가 갖고 있는 ComponentMesh Filter: Mesh는 GameObject의 모양 또는 형태 데이터Mesh Renderer: GameObject의 Mesh를 그리는 Component ※ Active vs Render: Active는 존재 자체를 끄고 켜는 거지만, Render는 존재하는 것을 그릴지 말지 정하는 것--> 벽을 만들고 벽의 Render를 Off하면 투명벽이 됨Unity C#Code로 Component 접근: GetComponent().내부 변수 or 내부 함수; GameObject 이름 바꾸기us.. 2024. 11. 25. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 4일차 목차Unity어몽어스 캐릭터 만들기: Hierarchy의 Primitive Object를 활용하여 만들기 (Capsule, Cylinder, Cube 등)Material: Game Object가 입는 옷Material 생성 방법Material의 텍스쳐 종류- Albedo : Main(Color)- Metallic : 정반사- Smoothness : 난반사- Normal Map : 울퉁불퉁하게 만듦- Height Map : 빛의 깊이, 빛이 들어간 표현- Occlusion : 환경 차폐(OA)Game Object에 Material 적용 ※ 여러 Game Object에 한꺼번에 적용 ※ 적용했던 색을 원래대로 바꾸기 Rendering Mode: 랜더링 모드에 따라 다양한 랜더링 가능- Opaque : 단단한.. 2024. 11. 22. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 3일차 목차UnityPlay 단축키 : Ctrl + PScene View스냅(Snap): 값을 딱 떨어지게 변경하는 기능 --> 단축키 Ctrl + 이동정점 스냅(Vertex Snap): 모서리에 딱 붙이는 기능 --> 단축키 V + 이동평면 스냅(Surface Snap): 표면에 딱 붙이는 기능 --> Ctrl + Shift + 이동Hierarchy View (하이어라키 뷰): Scene에 배치된 Game Object들의 Text 목록※ 단축키Object 이름 바꾸기 : F2그룹화 : Ctrl + Shift + GCreate Empty 생성 : Ctrl + Shift + NCreate Empty Child 생성 : Alt + Shift + N그룹화 해제: 해제할 Object 클릭 후 드래그하여 원하는 곳에 .. 2024. 11. 21. [멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임 개발 3기 2일차 목차Render Pipeline: 모니터와 같은 스크린에 무언가를 그리는 방법https://artsung410.tistory.com/90Built-in Render Pipeline와 Universal Render Pipeline 의 차이: 그리는 방법의 차이로, Built-in이 구버전, Universal이 최신 버전이다.--> 두 Render Pipeline의 차이는 Material에서 확인 가능하다.Visual Studio 2022 세팅1. 테마 변경 방법방법 1. 방법 2. 2. 폰트 변경 방법 ※ 폰트 다운 받는 사이트https://devfonts.gafi.dev/?fbclid=IwAR22QIGaseXOELpxviEjNIrkId9SPx6DJ0fAGJtG50wk1QWZPGWuopAu5ro ※ 폰트 .. 2024. 11. 20. 이전 1 2 다음