내일배움캠프(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 -
240118-TIL
오늘부터는 UNITY에 대한 학습이 시작된다 팀 프로젝트가 끝나서 살짝 여유가 생긴줄 알았는데 어림도 없다 주특기 교육이 시작된만큼 열심히 배워보도록 하자. 오늘 TIL은 알고리즘 문제 하나를 풀다 신박한 녀석을 발견해서 가지고 와봤다. 오늘 풀어본 문제는 바로 내적이라고 한다. 사실 문제 자체는 정말 쉽게 풀었다. a와 b의 배열의 길이가 같다는 조건이 있으니 i를 a배열의 길이만큼 반복한다음 i번째에 있는 a와 b배열의 요소를 곱해서 answer에 다 더해주면 끝이다. 이렇게 끝날 문제면 들고오지도 않았겠지? 이렇게 알고리즘을 스스로 풀어보고 나면 다른 사람들은 어떻게 풀었는지 항상 체크하고있는데 키야 정말 신박하지 않은가! Zip은 도대체 뭐하는 녀석일까? 그리고 저 뒤에있는 Sum()은 뭐하는 녀..
2024.01.18 -
240116-TIL
오늘은 팀 프로젝트 마지막 날이다 팀원들과 함께 작업한걸 하나로 합쳤고 어떠한 오류가 있는지 작업을 하다가 막혔던 부분은 뭐가 있는지 아직도 해결을 못해서 과제 결과물로 구현하지 못한 부분이 어떤 부분이 있는지 살펴보았다. 그간 써내려온 코드를 주르르르륵 보면서 느낀점은 서로 공통된 부분은 부모 클래스 하나를 만들어서 상속받아 쓰는것도 나쁘지 않겠다 였다. 그래서 오늘은 클래스의 상속에 대해서 좀더 자세히 알아볼까 한다. 상속 더보기 클래스의 상속이란? 일단 우리가 아는 그 상속이 맞다 유산을 상속하다. 객체 지향 프로그래밍에선 부모 클래스와 자식 클래스라는 개념이 있는데 부모 클래스는 자식 클래스의 기반이 된다 하여 기반 클래스라고 부르기도 자식 클래스는 부모 클래스로부터 파생되었다고 해서 파생 클래스..
2024.01.16