본문 바로가기

TIL

(55)
23.09.27 선발대 세션 자료구조와 DOTween, Ease Visualizer 그리고 Cinemachine에 관한 세션이였다. DOTween은 UI에 사용하면 정말 편할꺼 같았고, Cinemachine은 카메라를 설정하는데 도움이 많이 될 것 같아서 더 깊게 공부해봐야겠다. 제네릭 컬렉션 HashSet vs HashTable vs Dictionary Ease Visualizer DOTween 팀 프로젝트 : 3D Survivor 오늘은 건축물을 건설할 때 건축물의 높이 만큼 건설 위치를 보정해 주는 것과 벽을 설치할 때 바닥의 가장자리 부분에 위치가 자동으로 잡아지도록 하는 걸 했다. 건축물의 높이는 public으로 선언해서 인스펙터를 통해서 조금씩 높여보면서 보정했고, 바닥의 가장자리부분은 미리 좌표를 입력해 놔..
23.09.26 어제 진행한 건축에서 더 나아가서 건물을 preview에서 회전시킬 수 있고, 건설했을 때 도 적용되게 하였고, 건설에 특정 건물에 붙어있어야 한다거나 하는 특정 조건을 추가하였다.
23.09.25 Unity : 건축 시스템 3D 생존 게임으로 팀 프로젝트 주제를 정했는데 건축에 대한 역활을 맞게 되었다. 그래서 구글링으로 찾아봤다. 건축 시스템 건설하기 전에 미리 프리셋으로 건설이 가능한지 색으로 표현하고 건설이 가능할때 만 작동하도록 했다.
23.09.22 게임개발숙련 개인과제 해설 염예찬 튜터님 녹화하신 개인과제 해설 영상을 봤는데 팝업 캔버스와 UI 캔버스를 분리해서 구성하셨다. 선발대 강의에서도 그렇고 팝업을 따로 해놓는게 좋은 것 같아서 앞으로는 그렇게 해야겠다고 생각했다.
23.09.21 Unity : Pop Up 기능 오늘 선발대 세션이 있었는데 UI 프로그래밍에 대해 다뤘다. 그 중에서 팝업창을 띄우는 것에 대한 내용이 가장 중요하게 들렸다. 아래는 팝업과 관련된 기능이 있는 UIManager 클래스의 코드이다. 세션에서 보여주신 코드에는 더 많은 내용이 있었는데 그 중에 간단한 부분만 정리해서 올려주셨다. using System.Collections.Generic; using UnityEngine; ​ public class UIManager : MonoBehaviour { ​ private static UIManager _singleton = new UIManager(); public static UIManager Get() { return _singleton; } public s..
23.09.20 오늘은 과제2에 사용할 에셋을 찾았다. 무료 에셋중에서 찾았는데 에셋들은 많았지만 마음에 드는 건 잘 보이지 않았다. Unity : Add package from git Url Unity의 Packge Manager에서는 다른 사람이 만들어 놓은 에셋이나 기능을 가져와서 사용할 수 있다. 모서리가 둥근 사각형을 사용하기 위해서 구글링을 통해서 살펴 보던 도중 아래에 있는 깃허브 레포지토리를 찾아냈다. Unity-UI-Rounded-Corners These components and shaders allow you to add rounded corners to UI elements!? https://github.com/ 해당 레포지토리에 있는 README를 살펴보면 Unity에 적용하는 방법이 자세히 적혀..
23.09.19 Git Error : Filename too long error: unable to create file [long long file name]: Filename too long git add 를 하는 중에 다음과 같은 에러가 나왔다면 윈도우 파일 이름의 제한(255자) 때문이다. Git Bash에서 아래의 명령어를 입력해서 환경 설정을 변경할 수 있다. git config --system core.longpaths true 그러나 위의 명령어를 실행하면 권한이 부족하다고 나오기 때문에, Git Bash를 관리자 권한으로 실행해서 설정을 변경해 주어야 한다.
23.09.15 ## Unity Education Day Unity Education Day 2023를 맞이하여 Youtube Live를 통해서 앞으로 Unity의 방향성과 이번에 새로 바뀌게 될 요금 정책에 대해서 들었다. AI를 이용하여 새로운 시각과 창의력이 있다면 누구나 게임개발을 하기 쉽게 변하고 신규 개발자 들에게는 요금 부담이 심하지 않게 요금 정책이 바뀌였다고 설명하였느데, 정확한건 내년에 적용이 어떻게 될지에 따라서 다를 것 같다.
23.09.14 팀 프로젝트 오늘은 팀 프로젝트 마무리하는 날이여서 오전에는 UI를 깔끔하게 하거나 미처 완료하지 못한 기능을 완성하는데 집중했다. 그 후 다른 팀들의 프로젝트 발표를 듣고 회고를 진행하였다. Unity : Invoke와 Coroutine의 차이 🌐 코루틴 Coroutine은 함께, 같이, 서로를 의미하는 접두사 Co와 routine의 합성어로 여러개의 루틴을 동시에 실행하게 해주며 멀티 쓰레드가 아닌 Unity에서 멀티쓰레드처럼 병렬구조를 만드는 기능입니다. Coroutine을 사용할 때는 항상 yield return을 해주어야 하는데, 이를 통해서 현재 위치를 기억하고 다른 루틴에게 수행권한을 넘겨주고 다시 와서 처리하는 방식이다. 멀티 쓰레드 같지만 단일 쓰레드이기 때문에 Race Condition..
23.09.13 팀 프로젝트 아이템 기능을 맡은 팀원이 도와달라고 해서 그 부분을 도와줬다. 아이템을 플레이어에게 적용하는 부분과 몬스터를 죽였을 때 아이템이 확률적으로 드랍되는 시스템을 ScriptableObject를 사용하여 만들었다. Unity : ScriptableObject 아래가 아이템 드랍에 관련되 ScriptableObject이다. [CreateAssetMenu]는 커스텀 에셋을 생성하는데 도움을 주는 속성이다. Items라는 Serializable 필드를 생성하여서 Unity Inspector에서 쉽게 아이템과 드랍확률을 설정할 수 있게 하였고 모든 아이템의 가중치를 합해서 0 ~ 가중치의 합까지 랜덤한 값을 뽑아 확률에 맞게 아이템을 주어진 위치에 생성하는 기능을 가지고 있다. using System...