unity

    | 니앙팽이 - 스크립터블 오브젝트 (게임 개발 : Unity) | ScriptableObject

    103 ScriptableObject 📄 1. 용어0. 개요① intrinsic/Repeating :contain unchanging data duplicated across many objects② extrinsic/Unique :contextual data unique to each object③ 플라이 웨이트 :여러 객체들 간에 상태의 공통 부분들을 공유하여 RAM을 더 가볍게 하기 위함이다.Immutable -> intrinsic/Repeating : 공유되는것은 인스턴스마다 차이가 안나는것. readonlyMutable -> extrinsic/Unique : 공유되지 않는것은 인스턴스마다 차이 나는것이다.1. 스크립터블 오브젝트 사용하는 이유#캐시플라이 웨이트 패턴을 유니티에서 구현한것이다. 따..

    | 니앙팽이 - 이벤트(C#) | 5 | UnityEvent

    💡 5 UnityEvent유니티에서 이벤트를 사용해보자.다른 코드에 있는 함수를 가져오고 싶다.GameObject.Find(string ).Sendmessage(string ); 이거 대신 사용하고 싶다. 근데 문자열 하나 틀리면 디버깅해서 찾기도 어려울것이다..그냥 GameObject캐싱 하고 TryGetComponenet()쓰고 사용하죠 뭐.. 근데 이거 계속 쓰다보니 무수한 GetCom.. 가독성이 안좋다 생각이 들때.아니 하나 바꿨다고 다~~ 바꿔야 하는거야?? 커플링이 심각할때함수 실행에도 순서, 우열이 있다는것을 보장받고 싶을때.즉 순차적으로 실행되는것이 보장받고 싶을떄.뭐뭐 했을때~~~ 이거저거 실행하고 싶다!다음과 같은 생각이 스쳐 지나간다면 이벤트를 사용하는것을 추천한다!📄 1. 사전 지..

    |유니티| 5 | GameManager을 통한 전역 처리 & 점수표 UI & 발사체 & 클래스와 상속

    Send Message 게임 전역적으로 처리해야하는 값,메소드를 모아놓는다 다음 기능을 각 오브젝트가 아닌 전역적으로 처리하도록 해보자. 1. 게임 재시작 2. 빨간코인 -> 장애물 삭제 3. 코인획득 -> 점수표 1. 게임 매니저 1. 전역 스크립트에 저장하기/스크립팅 절차는 다음과 같다 전역에서 실행되기를 가정한 WORLD 오브젝트를 생성한다 WORLD 오브젝트에 WORLD 스크립트를 삽입한다 다음은 게임 매니저에서 전역으로 실행될 메소드를 만든코드이다. public class GameManager : MonoBehaviour { bool DEBUG = true; private int coinCount = 0; void RestartGame(){ if(DEBUG) {Debug.Log("Total Co..

    |유니티| 4 | 충돌 감지 & 아이템과 배열

    아이템과 장애물 1. 메소드 함수를 만드는것이다 1. 특정 오브젝트간 Distence 구하기 //Target에 오브젝트Name을 문자열로 넣으면 //Find가 오브젝트를 검색한다 void Update(){ TragetDist("Text (TMP)"); } void TargetDistence(string Target){ float thisToTargetDist = Vector3.Distance( GameObject.Find(_Target).transform.position, transform.position ); Debug.Log(_Target + " To " + this.gameObject.ToString() + thisToTargetDist); } 2. 충돌상대를 밀치기 Collision.gameObj..