Unity 1

킴스코딩클럽·2023년 5월 10일
1

유니티

목록 보기
1/6

c#-unity

  • 컴포넌트 베이스 프로그램 : 소프트웨어 하나의 부품 개념으로 보는 프로그래밍 방법
  • Game Object : 소프트웨어 부품, 컴포넌트를 담는 컨테이너
  • monobehaviour : 상속하면 게임 오브젝트의 컴포넌트를 만들 수 있음
  • [SerializeField] : 해당 변수가 유니티 인스펙터 창에서 편집 가능한 프로퍼티로 표시됨 ( private 변수이면서 인스펙터 창에서 변수가 편집 가능하게됨)
  • ? : null conditional operator ( null인지 검사한 후,null이 아닌 경우에만 해당 객체의 멤버나 메소드에 접근 할 수 있도록 도와줌
  • foreach
    int[] numbers = { 1, 2, 3, 4, 5 };
    foreach(var num in numbers)
    {
    	Debug.lob(num);
    }```

이벤트 처리

  • Reset

    이벤트 처리 함수의 호출

  • Awake

    Awake 함수는 컴포넌트가 메모리에 적재될 때(인스턴스화) 한 번만 호출
    초기화 작업 등에 유용하게 사용
    호출되는 순서는 정해져 있지 않음
    다른 컴포넌트들 사이에서 상호 참조하여 초기화 작업을 수행하면 안 됨
    만들어지지 않았을 경우 참조할 수 없으므로 주의가 필요

  • OnEnable

    컴포넌트가 활성화 될 때 호출

  • Start

    update 메세지가 호출되기 전 한 번만 호출

  • Update

    모든 프레임마다 호출
    게임 루프가 돌면서 반복적으로 메세지를 발생시키는데 루프를 다 도는 것이 1프레임
    반복적으로 처리해야 할 때 사용
    하드웨어 사양에 따라 다르게 호출

  • FixedUpdate

    하드웨어 사양에 상관없이 고정되어 호출

  • LateUpdate

    모든 업데이트 작업이 끝난 뒤에 진행
    카메라 이동 등의 작업에 사용

  • SendMessageUpwards

    메시지를 보내는 게임 오브젝트부터 상위 계층의 모든 게임 오브젝트까지 메시지를 전달
    메시지를 받는 컴포넌트는 해당 메소드를 구현해야 함
    호출되는 메소드를 동적으로 찾기 때문에 실행 속도에 영향을 크게 줌

게임 오브젝트 검색

  • FindGameObjectWithTag

    특정 태그(Tag)를 가진 게임 오브젝트를 검색하는 데 사용
    태그를 가진 첫 번째 게임 오브젝트를 반환하거나,없는 경우 null을 반환
    단일 객체 반환

  • FindGameObjectsWithTag

    태그를 가진 모든 게임 오브젝트를 배열로 반환

  • GetComponent

    게임 오브젝트에서 특정한 구성 요소를 가져오기 위해 사용
    GetComponents : 해당 게임 오브젝트에서 특정한 타입의 모든 구성 요소들을 불러올 때

  • GetComponentInChildren

    게임 오브젝트와 자식 오브젝트들을 재귀적으로 검색해 가장 가까운 자식 오브젝트부터 시작 해당 타입의 구성 요소를 찾아 반환
    특정 타입 컴포넌트 하나만 불러올 때

  • GetComponentsInChildren

    해당 타입의 모든 구성 요소를 배열로 변환
    게임 오브젝트와 자식 오브젝트를 재귀적 검색하며 해당 타입의 모든 구성 요소를 찾음
    모든 타입의 컴포넌트를 불러오려고 할 때

  • FindObjectOfType

    씬(scene)에서 해당 타입의 오브젝트를 검색함 씬 전체를 탐색하기 때문에 성능
    FindObjectsOfType 다른 것과 마찬가지고 배열로 반환 해당 타입의 모든 오브젝트를 검색

profile
공부 기록용

0개의 댓글