목록코딩/Unity (9)
공부일지
📌스크립터블 오브젝트란📍📌 스크립터블 오브젝트란...Unity에서 관리하는 유연한 데이터 컨테이너...스크립팅 가능한 오브젝트이며, 스크립트로 정의하고 에셋 메뉴를 통해 생성. 유니티에 에셋을 저장하는 재사용 가능한 데이터 구조.클래스 인스턴스와 별도로 대량의 데이터나 설정 저장 가능.코드와 데이터를 분리하여 코드를 더 깔끔하고 관리하기 쉽게 함.인스펙터 창에서 직접 수정, 관리.값의 사본이 생성되는 것을 막아 메모리 사용을 줄일 수 있다.착탈식(pluggable) 데이터 집합을 미리 정의함.🔨🔧S.O. 선언과 사용 예시🧾📝using System.Collections; using System.Collections.Generic; using UnityEngine; [CreateAssetMenu(fileNa..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dsv78I/btszeLAJaKf/9Toq15kmnBD4MSCQsf9CkK/img.png)
루키스 님 - 델리게이터 부분 07:06 델리게이트의 정의📌델리게이트 : 대리자 = 대리하는 것변수가 똑같은 로직을 다른 값으로 사용하는 것 마냥, 하나의 동작에 여러 상황이 부여되는 것.함수 자체를 인자(연락처)로 넘겨주고 함수를 호출하는 것(거꾸로 연락 주는 것).→ 걍 함수 담는 변수. 혹은 유사 함수 포인터. → 어려운 말로 함수에 대한 참조 타입이라 한다. 델리게이트 선언delegate 반환형 델리게이트이름(매개변수)ex) delegate void SpawnDelegateFuc(); 델리게이트 사용delegate void SpawnDelegateFuc(); void Start() { //델리게이트를 저장할 변수 생성 SpawnDelegateFuc spawnAction; //델리게이트 변수에 함수..
💡 대표적인 코딩 컨벤션 검색 가능한 이름을 사용하라 함수명은 동사로 지어라 함수의 파라미터는 3개 이하가 적당하다 함수의 파라미터로 boolean타입을 사용하지 마라 변수명을 너무 축약하지 마라 함수는 하나의 역할을 하는 것이 좋다. 💡 대표적인 코딩 컨벤션 1. 검색 가능한 이름을 사용하라 2. 함수명은 동사로 지어라 3. 함수의 파라미터는 3개 이하가 적당하다 4. 함수의 파라미터로 boolean타입을 사용하지 마라 5. 변수명을 너무 축약하지 마라 6. 함수는 하나의 역할을 하는 것이 좋다. 💡 삼항 연산자를 쓸 수 있으면 if-else대신 쓴다 중괄호 없는 한 줄짜리 블록을 쓰지 않는다 ex) if문 Switch문을 쓸 수 있으면 사용하는것을 권장 문자열 포멧팅은 string interpolat..
유한 상태 머신이란?Idle, Move, Attack 등등의 상태에서 상태로 조건에 따라 전환되며 동작되는 장치의 모델 Idle 상태 (멍 때리는 동작) → 조건(밥) 충족 → Happy 상태 (웃는 동작, 춤추는 동작) 유한 상태 머신 : 상태 + 조건 + 동작싸이코패스마냥 행복한 상태와 정적인 상태 또는 행복한 상태와 화난 상태가 동시적이지 못하는 것처럼, 순간마다 상태는 한번에 하나만 진행된다. 예시예시 - EnemyIdle 상태\color{white}\colorbox{pink}{Idle 상태}Idle 상태였던 적의 감지범위에플레이어가 들어오게 된다면플레이어가 감지(조건)\color{#cbaacb}\colorbox{#f6eac2}{플레이어가 감지(조건)}플레이어가 감지(조건)enemy가 플레..
추가 조사 없이 TIL 적으려 내 맘대로 비유하고 정의 내린 부분이 많음.오브젝트란 무엇인가? 우리가 변수 선언하고 카메라 설정하는 모든 것들은 전부 오브젝트를 만드는 과정이다. 큐 설명선입선출 사용하는 입장에서의 제네릭 예제 1 : 랜덤으로 큐브 만들기우리는 C#에서 프로그램이 main()에서 시작함을 알고 있다.사운드매니저, 게임매니저 등등 스크립트가 많아지면 어디서 시작하는지를 알기 어려움.이와 비슷하게 메인이 되는 진입점인 GameScene을 만들어 진행함. GameScene.cspublic class GameScene : MonoBehaviour { void Start() { Debug.Log(CharacterManager.Instance); } } CharacterManager.cs - 싱글턴..
staticstatic 어디에 사용할 까?SingletonGameObject.Find()GameObject : 변수 아님. 클래스임. 쓰기 편함.혹은 Debug.~~~, Console.~~~ 이런게 static 함수이다.gameObject : 변수. 스크립트를 가지고 있는 오브젝트. gameObject와 GameObject static과 아닌 것의 차이는?일반적으로 static이 아니라면, 변수를 만들고 하이러키창에서 탐색하거나 인스펙터에서 오브젝트를 달아주는 방식.이름 만으로 바로 접근이 가능함. static 문제점성능문제 다음과 같이 해당 오브젝트 수가 많다면, 각각의 개별 속성이 아닌 전체의 속성으로 바뀌게 되는데…↪위와 같이 큐브의 각각의 체력이 아닌 하나의 체력을 가지게 됨. 결론. 게임 프로그..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cofpmd/btsu8mk3Msp/RS4CcltV4ZWGGDbT38Kal1/img.png)
Find 계열 게임들 성능 : 이렇게 게임이 커지고 오브젝트 개수가 많아지면 찾는데 시간이 디지게 오래 걸림.유지 보수 : GameObject.Find()는 문자열로 찾게 되어있음. 근데 오브젝트 이름이 바뀌었다면? tag는 왜 ㄱㅊ?태그로 찾으면 해당 태그 친구들을 다 모아서 찾아서 그나마 괜찮은 편이나, 제네릭 있는데 그걸 왜 씀. type도 마찬가지. SendMessage나 BroadCastMessage는? 성능 : 함수 이름 잘못 적었다면?유지보수 : 여러가지 스크립트 중에서 동일 이름의 함수가 존재하다면? Q.뉴인풋시스템은 센드메세지 방식이 디폴트 이지 않나요? A.바꿀 수 있음. 다른 걸 연결해서 써도 됨. Uploaded by N2T
📌스프라이트 시트( : 아틀라스 )하나의 이미지 파일(.png)에 (보통 하나의 오브젝트에 대한) 여러 동적인 이미지가 모여있는 형식의 이미지 파일 📌저 이미지 덩어리 자체를 그냥 사용할 수는 없기 때문에 이미지 파일의 Component 값을 수정하고가공해서 사용해야 함. 📌이미지 자르는 과정[Sprite Mode]에서 Single를 Multiple로 변경. [Sprite Editor]-[Slice]에서 Automatic을 Grid By Size로 변경.이후 Pixel Size 값과 Padding(여백) 값을 기입해 주고 Slice 버튼 누르기이후 잘려진 이미지를 하나씩 클릭해 이름까지 정해주기. 📄눈여겨볼 Image 파일의 Component +++추가로 현재 노션 → 티스토리 연동 작업 중. 완료될 때..