내일배움캠프(78)
-
240129-TIL
1월 29일 지금은 팀프로젝트 진행중이다. 우리 팀은 똥피하기 게임을 만들기로 했고 똥을 피하는건 더럽고 재미없으니깐 차라리 피하지말고 물을 받아서 당근을 키우는 게임을 만들자! 라고 똥피하기 게임을 재해석 해서 만드는 중이다. 작업이 착착 잘 진행되어가고 있는데 StartScene -> GameScene -> StartScene으로 돌아가는 씬 전환 로직이 있는데 이때 데이터를 전달할 수 있는 방법이 필요했고 오늘은 그걸 학습하고 팀 프로젝트에 녹여내는 중이다. 기본적으로 씬 전환의 기본 개념을 알아보자 Scene 더보기 유니티에서 Scene이란 게임의 다양한 환경, 레벨 또는 화면을 나타낸다. 씬 전환이란 게임 내에서 다른 씬으로 넘어가는 과정을 의미하고 이 과정에서 데이터를 유지하거나 전달하는 것이..
2024.01.29 -
240126-TIL
1월 26일 지금 나는 Unity 학습과 함께 Unity 입문 팀 프로젝트를 준비하고있다. 우리 팀은 이번에 이런 똥피하기 게임을 만들기로 결정하고 작업을 진행중에 있다. 물론 우리 팀은 저대로 게임을 만들고 있지는 않고 나름 똥피하기 게임을 재해석 해서 전혀 다른 게임을 만들고 있다. 팀 프로젝트를 진행하면서 Dictionary를 사용하면 좋겠다 싶은 부분에서 Dictionary를 사용하려고 하는데 이게 왠일인가.... 유니티에서 쓰는 Dictionary는 [Serializable]을 써도 public으로 열어놔도 인스펙터 창에 나오지 않는다. 그래서 Dictionary를 직렬화 하는 편법에 대해 알아보도록 하자 유니티 에셋 스토에서 해당 이미지의 에셋을 받아준다. 해당 딕셔너리를 만들어볼 C# Scr..
2024.01.26 -
240125-TIL
1월 25일 오늘은 Unity의 ScriptableObject에 대해서 정리해 보도록 하겠다. ScriptableObject 유니티 오브젝트를 상속받은 클래스로 Unity 시리얼 라이즈 시스템을 가지고 있다. 유니티에서 기본적으로 C# 스크립트를 하나 만들게 되면 MonoBehaviour을 상속받고있는데 MonoBehaviour과의 차이점이라고 한다면? ScriptableObject는 유니티 콜백 중OnEnable, Ondisable, OnDestroy 3가지만 받는다고 한다. 각각 정리해보자면 OnEnable ScriptableObject이 instantiated / loaded 될때 ScriptableObject.CreateInstance() 함수 호출 시, 에디터에서 스크립트가 컴파일 된 후에 호출..
2024.01.25 -
240124-TIL
1월 24일 유니티 공부와 팀 프로젝트 두가지 일정을 모두 소화하려고 하니 몸이 10개라도 부족할 지경이다. 분신술을 써가지고 한쪽에는 유니티 공부를 한쪽은 팀 프로젝트를 시킬수 있으면 좋겠다... 그래서 이번 TIL은 분신술을 어떻게 쓰는지 정리해 보도록 하자 농담이었고 사실 지난시간에 같이 정리할까 하다 아직 학습이 부족하다고 생각해서 더 학습을 한 다음 돌아온 녀석이 있다. New Input System 더보기 오늘은 New Input System에 대해서 정리해보도록 하자 기존에 나는 플레이어 캐릭터를 움직이기 위해 Input.GetKey(...) 이 녀석을 자주 사용했었다. 하지만 우리가 앞으로 만들 아니 만들어야 할 게임들은 특정 플랫폼 하나만을 겨냥하고 개발하는 경우는 거의 없다. 당장 내가..
2024.01.24 -
240123-TIL
1월 23일 유니티 학습중에 자주 햇갈리는 것들이 있다. 오늘은 자주 햇갈리는 것들에 대해 정리해보고 다시 머리속에 정리하는 시간을 가져보자 Pixels Per Unit 더보기 스프라이트 픽셀수와 해당 스프라이트가 게임 세상에서 차지하는 공간의 관계를 설명한다. ex) PPU가 100이라면 스프라이트의 100픽셀은 게임세상에서 1 유니티 단위를 나타낸다 자주 햇갈리는 이유가 PPU값이 클수록 스프라이트는 작아진다는 것인데 이는 더 많은 픽셀이 동일한 게임 세계의 공간에 매핑되기 때문이다. PPU값은 물리 시뮬레이션에 영향을 미치고 높은 PPU 값은 더 작은 스프라이트를 생성하므로 더 높은 해상도의 물리 시뮬레이션을 가능하게 한다. 하지만 이는 성능에 영향을 미칠 수 있고 필요한 만큼의 PPU 값을 설정하..
2024.01.23 -
240122-TIL
오늘은 두고두고 보면서 써먹을 두가지를 들고와봤다. 쿼터니언, 아크탄젠트 쿼터니언 더보기 4차원 복소수를 이용한 회전 표현 방법입니다. (x, y, z, w) 형태로 표현되며, Unity에서 주로 사용됩니다. 오일러 각도(Euler angles)를 사용하여 회전을 표현할 경우 발생하는 짐벌 락(Gimbal Lock) 문제를 피할 수 있습니다. 직관적이지 않고 복잡해 보일 수 있지만, Unity에서는 쿼터니언을 사용하기 쉽게 만들어졌습니다. 직접 값을 변경하거나 계산하는 대신, Unity의 내장 함수를 사용하는 것이 좋습니다 (예: Quaternion.Euler, Quaternion.LookRotation, Quaternion.Slerp 등). 쿼터니언은 일반적으로 "정규화(normalized)"되어야 하..
2024.01.22