24_02_07 TIL
·
TIL
1. 오늘 배운내용 많은 오브젝트 생성과 파괴시 오브젝트 풀링을 사용하는것이 좋다. UIManager사용시 사용할 UI 스크립트에 UIbase를 만들어서 상속시키는 구조가 좋다. 싱글톤 베이스를 만들어 상속 받으면 싱글톤 역할을 할 수 있게 구조를 짜는것이 좋다. 모든 자료형은 object형으로 되어있지만 object는 이후 박싱 언박싱을 할때 많은 비용이 듦으로 제네릭으로 자료형을 정의해서 사용하는게 좋다.
24_02_06 TIL
·
TIL
1. 오늘 배운내용 스프라이트 이미지들은 생각보다 용량이 많이 나가므로 이미지 아틀라스를 만들어서 사용하는게 메모리 효율에 좋다. 배경이나 로고 처럼 크기가 큰 이미지 파일의 경우 크기를 2의 배수로 설정하는 것이 데이터 효율상 좋다. 인벤토리를 구현할때는 어떤 기능을 넣을것이냐에따라 어떠한 자료구조가 효율적일지 고민해보는 것이 중요하다. 2. 느낀점 앞으로 어떠한 기능을 구현해야할때, 어떤 자료구조가 더 효율적일지 고민하고, 비록 선택한 방법이 효율적이지 않더라도 내가 구현한 코드에 주관이 담겨있게 하는것이 중요한것 같다고 생각이 듭니다.
Unity Scriptable Object
·
Unity
1. Scriptable Object를 사용하는 이유 Scriptable Object는 스크립팅 가능한 오브젝트라는 의미로 대용량 데이터를 저장에 최적화된 데이터 컨테이너 입니다. Scirptable Object의 장점은 손쉽게 Data를 오브젝트화 시켜서 관리할 수 있고, 객체를 생성할때 스크립터블에 미리 정의된 데이터를 참조해서 가져오는 형식이기 때문에 Calss에 비해 메모리를 절약할 수 있다는 점이 장접입니다. 2. Sciptable Object 스크립트 작성 1. 스크립트를 생성한뒤 모노비헤이비어 대신 Scriptable Object를 상속받습니다. 2. 스크립터블 오브젝트에 정의할 데이터들을 상속받은 클래스 안에 작성합니다. ScriptableObject를 상속 받은 클래스는 에셋메뉴에서 생성..
Unity UnityEvent
·
Unity
1. UnityEvent를 사용하는 이유 UnityEvent의 역할은 우리가 자주 사용하는 event Action과 역할이 비슷합니다. event Action의 경우 만들어둔 이벤트에 함수를 코드상으로 구독을 걸어야하는데, UnityEvent의 경우 Inspector창에서 직접 드래그앤 드롭으로 이벤트들을 연결할 수 있다는 장점이 있습니다. 이는 장점이자 단점이 될 수도 있는데, 만약 유니티에디터에서 Inspector창에서 연결된 값들을 잃어 버린다면, 다시 하나하나 연결 시켜야한다는 문제가 생길 수도 있으니 가급적이면 로직이 간단하거나, 많은 함수들이 구독되지 않는 이벤트에 사용하는 것이 좋다고 생각합니다. 2. UnityEvent 사용법 1. Using UnityEngine.Events를 추가합니다...
Unity Interface
·
C#
1. Interface를 사용하는 이유 Interface를 사용하는 가장 큰 이유는 다중 상속을 위해서입니다. Class의 경우 일반적으로 한개의 클래스만 상속을 받을 수 있는데, 이를 보완할 수 있는 방법이 Interface입니다. 상태를 나타내는 Condition이라는 클래스가 있습니다. 이 클래스는 체력, 배고픔, 스태미너와 같은 어떠한 상태를 나타내기 위한 Class로, 어떠한 Value값을 줄이거나 더하거나 할 수 있는 기능이 포함되어 있습니다. Condition의 구조를 가진 체력, 배고픔, 스태미너를 나타내는 health, hunger, stamina을 생성해주었습니다. 여기서 만약 데미지를 입어야하는 함수가 필요하다면, 해당 함수가 필요한 변수는 health 하나 일 것입니다. 따라서, C..
Unity InputSystem
·
Unity
- Input System 1. 사용하는 이유 유니티에 존재하는 Input System을 사용하면 어떠한 입력 값을 받았을 때 특정 함수들을 실행하는 이벤트를 만들 수 있습니다. Input System의 장점은 플랫폼 대응이 좋다는 점인데, 우리가 키보드 뿐만아니라 조이스틱, XR과 같은 입력장치들을 편하게 추가하거나 수정할 수 있다는 점입니다. 2. 사용하는 방법 프로젝트 뷰에서 Create -> Input Actions을 추가하여 입력값이 발생했을 때 실행할 Action들을 설정할 수 있습니다. - Button Type +를 클릭해 Action을 추가할 수 있으며, 해당 Action들은 각각의 Action Type이 존재합니다. 크게 Button 타입과 Value 타입으로 나눌 수 있는데, Butto..
24_01_30 TIL
·
TIL
팀프로젝트를 진행하면서 느낀점 아이템을 획득할때, 웨이브를 클리어 했을때, 스테이지를 클리어 했을때와 같이 특정 상황을 Action으로 이벤트로 만들어서 해당 시점에 호출되어야하는 함수들을 각각의 이벤트에 구독시켜 놓는 방법을 알게 되었습니다. 팀원분들이 작업하고 있는 스크립트에서 이 함수를 호출해달라 요청하지 않아도, 만들어 놓은 이벤트에 구독만 시켜놓으면 해결이 되었기 때문에 서로의 영역이 침범되면 안되는 팀프로젝트 협업시 특히 유용했던것 같습니다.
24_01_29 TIL
·
TIL
개발하면서 중요하게 생각해야하는 리스트입니다. 개인의 메타인지 -내 업무의 핵심질문을 정의 -내가 맡은 업무의 배경을 조사하기. 그배경을 만들어낸 원인이 무엇인지 파악 -업무의 주체에 대해서 트리형태로 분료하는 연습 조직의 메타인지력이 높아야 이직률이 낮아짐 내 동료들혹은 팀원들이 조직의 목표를 알고있는가 문제를 바라보는 관점이 팀원마다 어떻게 다른지 네이버 -적극적으로 물어보면서 겸손함 -메타인지 일론머스크 - 살아온과정을 얘기해주고 겪었던 문제를 얘기하고, 문제가 왜생겼는지와 해결한 방법을 디테일하게 얘기할줄 아는사람 -문제를 진정으로 해결하고 어떤 문제였는지 어떻게 그것을 해결했는지 정확히, 세부사항까지 말할 수 있어야 더 큰 문제를 해결할 수 있음 01 직장을 다니는 개발자가 아닌 직업을 가지는 ..