일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 인터페이스
- skybox
- inputsystem
- FSM
- UI
- script
- 메서드
- 장애물달리기
- 프로그래머스
- 스택
- InputManager
- 효과음
- delegate
- 비선형자료구조
- BGM
- 코루틴
- Generic
- 유니티
- soundmanager
- 람다식
- ObjectPool
- 배열
- invokec#events
- c#
- 직렬화
- 자료구조
- unity
- 스파르타내일배움캠프
- LINQ
- 유한상태머신
- Today
- Total
목록c# (38)
Unity 개발일지

[서브모듈이란?]서브모듈은 하나의 Git 레포지토리 내에 다른 Git 레포지토리를 포함시키는 기능으로, 이를 통해 큰 프로젝트를 여러 독립적인 모듈로 나누어 관리하고나, 여러 프로젝트에서 공통된 라이브러리를 재사용할 수 있다. 주로 GameManager, PlayerController, Singleton, ObjectPool 등의 주로 사용하는 스크립트들을 재사용할 수 있어서 프로젝트 초반 개발 속도를 매우 단축시켜준다. [서브모듈 사용 이유]1. 코드 재사용성 향상여러 프로젝트에서 동일한 라이브러리나 모듈을 사용할 때, 해당 모듈을 서브모듈로 포함시켜 코드 중복 감소유지보수와 업데이트 편리함2. 독립적인 버전 관리서브모듈은 독립적으로 버전 관리가 가능하여, 특정 프로젝트에 맞는 버전을 지정하고 사용할 ..

현재 개발중인 3D Top뷰 러너 게임의 Player Animation을 Mixamo를 이용해 적용해보았다.Mixamo에서는 다양한 Animation들을 제공해주는데 Spine이 심어져있는 캐릭터에 Animation을 적용해줄 수 있다. 원하는 애니메이션을 선택한 후 DownLoad를 누르면 다음과 같이 창이 뜨는데 다음과 같이 설정하고 다운로드 하자.FormatFBX Binary (.fbx)Unity는 Binary 형식이 안정적으로 잘 작동함SkinWithout Skin이미 모델(캐릭터)을 Unity에 따로 쓰고 있으므로 메시 없이 본 정보만 필요함Frames per Second30일반적인 게임 애니메이션 FPS. Unity 기본 FPS와도 잘 맞음Keyframe ReductionNone편집 시 모든..

필요한 리소스들을 다운받고 Github에 레포지토리를 생성해서 Init하던 중 약 3만건의 changed files가 발생했고,100MB가 넘는 파일들이 있어 Commit되지 않는 현상이 발생했다. ✅ 주요 원인.gitignore가 없어서 불필요한 대용량 파일 포함Library/, Temp/, Build/, *.mp4, *.psd, *.exe, *.apk 등 Unity 일반 프로젝트에서 필요 없는 파일이 올라가는 경우.대용량 파일이 포함되어 GitHub의 파일 용량 제한 초과GitHub는 단일 파일 100MB 이상 금지, 전체 저장소는 1GB 이하 권장.Assets 폴더 내 리소스가 너무 큼원본 리소스를 그대로 업로드한 경우 (예: 고해상도 텍스처, 동영상, 음악 등) 이를 해결하기 위해서는 Conso..

BGDatabase는 Background Game Database로 Unity 에셋스토어에서 판매되는 에셋이다. [Asset Store] BG Database | Data editor with Google Sheets and Excel syncing | 기능 통합 | Unity Asset StoreUse the BG Database | Data editor with Google Sheets and Excel syncing from BansheeGz on your next project. Find this integration tool & more on the Unity Asset Store.assetstore.unity.com 게임 내 데이터(캐릭터, 아이템, 퀘스트 등)를 구조화해서 관리할 수 있는 데..

모바일 게임을 기획하던 중 화면을 Swipe 해서 보여주는 방식에 대해 고민을 해보았다. 1. World Space에 맞춘 Canvas 구성 [장점]1. 카메라가 직관적으로 이동하여 몰입감이 강함2. 월드 공간에서 카메라의 이동을 자유롭게 제어 가능3. 2D 환경에 적합 [단점]1. UI가 월드 좌표에 배치되어 UI관리가 복잡2. 2D UI보다 렌더링 성능에 더 많은 자원을 사용3. UI를 World Canvas에 대응시키려면 너무 작은 화면에 대응해야 함 2. Scroll View를 이용한 입력을 감지하고, 카메라가 따라가도록 코딩하여 장면전환 [장점]1. 스와이프나 터치 제스처를 총해 자연스러운 화면 전환2. 간편한 구현3. 다양한 해상도에서 일관된 사용자 경험 제공 [단점]1. UI요소의 렌더링..

[확인문제] 1. Tree가 무엇인지 알고 있나요? Tree의 종류에는 어떤 것들이 있나요?더보기Tree는 계층적인 구조를 가지는 데이터 구조로, 노드(Node)와 간선(Edge)으로 이루어져 있다. 루트 노드(Root Node)에서 시작하여 각 노드는 자식 노드(Child Node)를 가질 수 있다. 대표적인 트리의 종류로는 이진 트리(Binary Tree), AVL 트리, 이진 탐색 트리(Binary Search Tree), B 트리, 힙(Heap) 등이 있다. 2. 다음의 트리를 DFS로 방문할 때와 BFS로 방문할 때의 순서가 어떻게 될까요?더보기DFS (Depth-First Search) 순서: 1 -> 2 -> 6 -> 9 -> 3 -> 7 -> 4 -> 8 -> 5BFS (Breadth-Fi..

[확인문제] 1. InvokeRepeating을 통해 반복 실행 중인 메서드는 오브젝트를 비활성화하면 멈출까요?더보기InvokeRepeating은 MonoBehaviour와 연관되어 있기 때문에 오브젝트가 비활성화 되더라도 계속 실행된다.(오브젝트 비활성화는 MonoBehaviour 자체의 기능을 막지 못하기 때문!) 오브젝트 비활성화를 통해 InvokeRepeating 메서드를 멈추고 싶다면 CancelInvoke()를 직접 호출하거나,OnDisable() 콜백 함수를 사용하여 오브젝트 비활성화 시점에 InvokeRepeating을 중단하도록 코드를 작성한다. 2. Coroutine을 통해 반복 실행 중인 메서드는 오브젝트를 비활성화하면 멈출까요?더보기Coroutine은 MonoBehaviour와 연관..

[확인문제] 1. Time.timeScale을 0으로 하면 Update와 FixedUpdate는 모두 호출이 되지 않을까요? 그 이유는 무엇일까요?더보기Update와 FixedUpdate 모두 호출되지 않는다.Time.timeScale은 게임의 시간 흐름을 제어하며, 0으로 설정하면 일반적인 프레임 업데이트가 멈춘다.따라서, Time.timeScale을 0으로 사용하면 게임을 일시정지하거나 특정 이펙트를 구현하는 데 유용할 수 있으나 게임 오브젝트의 로직을 제어하는데 사용해서는 안된다. 로직 제어에는 Start, Awake, OnEnable, OnDisable과 같은 MonoBehaviour 생명주기 메서드를 사용해야한다.2. Update의 호출주기에 영향을 주는 것은 무엇일까요?더보기프레임 레이트Upd..