분류 전체보기
-
[TIL] 파티클시스템, 애니메이션 이벤트TIL 2024. 6. 12. 21:20
파티클 시스템(Particle System)파티클 시스템은 2D 및 3D에서 다양한 이펙트를 제작하는데 활용되는 컴포넌트파티클 시스템은 수 천개의 작은 2D또는 3D오브젝트를 관리, 동작과 생애를 제어한다.각각의 작은 오브젝트를 파티클이라 한다. 주요 컴포넌트emitter(발사체)particles(파티클)animator(애니메이터)renderer(렌더러)unity의 파티클 시스템은 시간에 따른 파티클의 행동을 시뮬레이션하고, 각 파티클의 위치, 속도, 수명, 색상, 크기 등을 저장성능최적화를 위해 다양한 기능을 제공, 최대 파티클 수를 제한하거나 적용범위를 제한하는 등의 기능 파티클 시스템의 주요 모듈 - main 모듈파티클의 움직이는 속도, 크기, 회전, 최대 파티클 수를 정할 수 있다.- Renede..
-
[TIL] 자료구조TIL 2024. 6. 8. 00:35
자료 구조1. Linked List2. Stack3. Queue4. Tree 링크드 리스트(Linked List)값과 다음 값을 가리키는 연결로 데이터를 컨테이닝 하는 자료구조링크드 리스트는 노드로 이루어져 있으며 노드는 값과 다음 값의 위치를 담고있는 링크드 포인트로 이루어져있다 다음 노드로의 연결만 구현되있는 단순 연결 링크드 리스크가 있고 앞 뒤 노드 모두와 연결 되있는 링크드 리스트가 있다.(이중 연결 리스트) C#에서 지원하는 링크드 리스트는 이중 연결 리스트이다. 선언LinkedList IList = new LinkedListprivate void UseLinkedList(){ IList.AddLast(0); //맨 뒤에 값 넣기 IList.AddFirst(-1);//맨 앞에 값 넣기 Li..
-
[TIL] C# GenericTIL 2024. 6. 5. 21:15
일반적으로 함수를 작성할 때 데이터 타입을 지정해준다. 그런데 만약에 함수의 내용과 쓰임이 동이하지만 데이터 타입만 다르다면 어떻게 해야할까? 단순히 데이터 타입만 다르게 원하는 만큼 함수를 만들어도 돌아가긴 하겠지만 중복되는 코드도 거슬리고 반환하고 싶은 데이터 타입만큼 함수를 추가해줘야한다. Generic 제네릭예전에 C# 강의를 들을때 잠깐 배우고 까먹어버렸던 기능이다.Public Test(T data){ Console.WriteLine($"{data}");}함수이름 옆에 로 적고 매개변수 또한 데이터 타입을 T로 해두면다른 메서드에서 호출할 때 매개변수의 데이터 타입이 어떻든 들어가서 실행할 수 있다.Test(1);Test(true);Test https://learn.microsoft.co..
-
[TIL] 제작 관련 기능을 만들기 2TIL 2024. 6. 4. 21:56
원래 딕셔너리를 쓰려다가 Insepctor 창에서 안뜬다는거 왜 기존 유니티 자체가 딕셔너리는 창에 안띄어주는지는 찾아내지 못했다. 그러나 유니티 에셋스토어에 가면 딕셔너리를 Serialized해주는 에셋이있다.(무료)https://assetstore.unity.com/packages/tools/utilities/serialized-dictionary-243052 Serialized Dictionary | 유틸리티 도구 | Unity Asset StoreUse the Serialized Dictionary from ayellowpaper on your next project. Find this utility tool & more on the Unity Asset Store.assetstore.unity...
-
[TIL] 제작 관련 기능을 만들기 1TIL 2024. 6. 3. 21:52
다시 돌아온 팀 프로젝트 기간3D 서바이벌 생존 디펜스 게임을 만들게 되었다. 기존에 강의에서 따라했던 내용을 바탕으로 제작하게 되어서 기존에 있던 코드에 기능만 추가하기로 했다. 일단 내가 맡은 부분은 제작생존게임하면 당연히 들어있을것 같은 기능이지만 만들어 본적 없어서 생각을 많이했다. 먼저 UI를 대략적으로 구성해봤다. 제작대와 상호작용하거나 또는 제작 화면을 활성화 시키는 키를 눌렀을 때 뜬다고 가정하고만들어 봤다. 이렇게 대충 틀을 만든 후에 무엇을 고려해 봐야 할지 적어봤다. 1. 제작법 리스트중 클릭하면 필요한 정보가 떠야한다.2. 제작법에 필요한 정보에는 필요한 재료와 현재 플레이어가 가지고있는 재료가 떠야한다.3. 만약 제작하기를 눌렀을 때 제작 할 아이템이 충분하지 않는다면 제작되지 않..
-
[TIL] 게임에서 데이터 저장하기(직렬화, 역직렬화)TIL 2024. 5. 31. 20:32
Serialization(직렬화) 와 Deserialization(역직렬화)우리가 작성한 코드들은 메모리에 들어가고 메모리의 주소를 가진다.주소는 각각 흩어져있는데 그런 흩어진 메모리 상의 값들을 정리해서 나열하는 것을 직렬화라고 한다. 이렇게 직렬화된 값들은 우리가 보기좋게 나열되게 된다. 반대로 이렇게 나열한 값을 프로그램이 다시 시작될 때 다시 되돌리는 것을 역 직렬화 라고한다.직렬화를 해두고 나중에 역 직렬화를 해도된다. 이렇게 직렬화와 역직렬화를 통해 값을 저장하거나 서버와 통신할 때 사용할 수 있다.PlayerPrefabs유니티에서 제공하는 기본 설정을 저장하는 클래스이다.이 데이터는 로컬 레지스트리에 저장되는데 보안에는 그렇게 좋지는 않은지 Unity에서 중요한 데이터를 저장할 때에는 Pla..
-
[TIL] 3D 프로젝트 정리TIL 2024. 5. 30. 21:02
움직이는 플랫폼움직이는 플랫폼을 구현한다고 생각할때 당연히 플레이어가 플랫폼 위에 있으면 함께 이동 될거라 생각했다.만약 위아래로만 움직이는 플랫폼이라면 알아채지 못할수 도 있지만, 옆으로 움직이는 플랫폼인 경우 플랫폼에 플레이어를 올려두면 캐릭터를 버리고 가버리는 것을 볼 수가 있다. 그래서 생각한 방법이 플레이어를 자식으로 둔다는 것이였다. 단순하게 플레이어가 플랫폼 위에 올라갔을 경우에 플레이어를 자식으로 넣어서 이동할때 함께 이동시키고 만약 플레이어가 벗어난다면 자식이였던 플레이어를 밖으로 빼준다는 생각이다. private void OnCollisionEnter(Collision other) { if(coroutine!=null) { Sto..
-
[TIL] UGUITIL 2024. 5. 29. 21:32
UGUI 유니티에서 사용하는 GameObject 기반 UI 시스템을 말한다 예전에는 유니티 안의 GUI 시스템이 너무 불편해서 NUGI를 가져다 썼다가. 유니티에서 개발자를 불러서 만든 시스템이 UGUI라고 한다는데 정확하게는 모르겠다! 캔버스 (Canvas) UI를 사용하기 위해서 팔요한 컴포넌트로 만약 씬 안에 Canvas가 존재하지 않는다면 UI안의 어떤 항목을 선택해도 자동으로 캔버스와 EventSystem까지 생성해 준다. 모든 UI는 캔버스의 자식으로 생겨야 하며캔버스 밖에서 생성된 UI는 보이지 않는다. 캔버스 컴포넌트RectTransform캔버스 안의 Transform 이라는 의미로그냥 오브젝트는 Transform이 달리지만 UI는 RectTransform이 달린다. AnchorUI의..