Unity Script

대인공·2022년 10월 11일
0

Unity

목록 보기
3/14
post-thumbnail

Unity Script

유니티에서는 두가지 스크립트 언어를 지원한다.

  1. JavaScript
  2. C#

스크립트 작성시 주의할 점으로는 유니티 Projact뷰에서의 스크립트이름과 해당 스크립트의 Class이름이 반드시 같아야 한다. 만약 이름을 수정한다면 일일이 바꿔주어야 한다.


Unity 기본 이벤트 함수

유니티 Project 뷰에서 새로 생성한 스크립트를 열면 아래와 같이 클래스가 자동으로 생성된다.

유니티스크립트에는 기본적인 함수가 몇가지 있다. 호출되는 순서로 보면

  1. Awake()
    - 스크립트가 실행될 때 한번만 호출되는 함수이다.
    - 스크립트가 활성화 되어 있어야 실행된다.
    - 코루틴으로 실행 불가하다.
  1. Start()
    - 스크립트가 실행될 때 한번만 호출되는 함수이다.
    - 스크립트가 활성화 되어 있어야 실행된다.
    - 코루틴으로 실행가능하다
    - 다른 스크립트의 Awake()가 모두 다 실행된 이후에 실행된다.
  1. Update()
    - 프레임마다 호출되는 함수이다.
    - 스크립트가 활성화 되어 있어야 실행된다.
    - 주로 게임의 핵심 로직을 작성하는데 사용된다.
  1. LateUpdate()
    - 모든 Update()가 호출된 후에 한번씩 호출된다.
    - 스크립트가 활성화 되어 있어야 실행된다.
    - 주로 카메라워킹 로직에 사용된다.
  1. FixedUpdate()
    - 호출되는 주기가 일정하다.
    - 주로 물리 연산에 사용된다.

그 외로는,

  1. OnEnable()
    - 스크립트와 연결된 게임오브젝트 또는 해당 스크립트가 활성화되면 호출된다.
    - 주로 이벤트 연결시 사용한다.
    - 코루틴으로 실행 불가하다.
  1. OnDisable()
    - 스크립트와 연결된 게임오브젝트 또는 해당 스크립트가 비활성화되면 호출된다.
    - 주로 이벤트 연결을 종료할 때 사용한다.
    - 코루틴으로 실행 불가하다.
  1. OnGUI()
    - 레거시 GUI관련 함수를 사용할 때 사용한다.

참조 : https://docs.unity3d.com/kr/2022.2/Manual/ExecutionOrder.html



Unity 기본 Class

유니티 에디터 상에 존재하는 Property를 에디터 상에서 일일이 조정하지 않고 Script 내에서 컨트롤할 수 있도록 기본적인 클래스가 구성되어 있다.

  1. GameObject
    - 유니티 씬 상에 존재하는 모든 오브젝트를 GameObject라고 한다. 특정 컴포넌트와 관련이 없고, Inspector뷰에서 최상단에 위치한다.
  1. MonoBehavior
    - 모든 유티니스크립트가 파생되는 기본 클래스이다. Projact상에서 스크립트를 생성하면 자동으로 상속되며, 탬플릿 스크립트를 제공한다.
    - 기본 이벤트 함수 및 코루틴등이 제공된다.
  1. Object
    - 모든 프로퍼티의 최 상위에 위치한 클래스이다.
    - .Net의 System.Object와는 다른 클래스이다. (이 Object는 UnityEngine namespace에 있다.)
  1. Transform
    - GameObject의 Position, Rotation, Scale을 컨트롤할 수 있다.
    - 상속관계에 있는 GameObject의 계층적 관계에 대해서도 여러 방법을 제공한다.
  1. Vector
    - GameObject의 방향과 크기를 설명하는 기본적인 수학적 개념이다. 연산 또한 그대로 적용된다.
    - 유니티에서는 오브젝트의 위치, 이동속도 또는 오브젝트간의 거리와 같은 기본적인 프로퍼티를 제공한다.
    - 2차원, 3차원, 4차원처럼 각각 Vector2, Vector3, Vector4가 제공된다.
  1. Quaternion
    - GameObject의 3차원 방향을 저장하거나 회전을 컨트롤할 수 있다.
    - 오일러각과 유니티 회전값 간의 차이가 있다.
  1. Mathf
    - 일반적인 수학함수를 제공한다.
    - 삼각함수, 거듭제곱근, 제곱근, 보간, 값 제한, 반복, 로그함수, 기타
  1. Random
    - 다양한 타입의 랜덤값을 생성하는것을 제공한다.
    - 단순 랜덤 숫자, 원 또는 구체 내의 랜덤 포인트, 랜덤값, 아이템 확률과 같은 기능, 연속 랜덤값 가중치 결정 기능,
  1. Gizmo & Handle
    - 공통적으로 게임 뷰에서는 보이지 않는다.
    - Gizmo - 디버깅 설정 지원 툴로 사용할 라인, 구체, 큐브, 아이콘, 텍스쳐, 메시를 씬 뷰에 그릴 수 있다.
    - Handle - 웨이 포인트, 위치 마커와 같이 보이지 않는 항목을 편집할 때 유용하다.

참조 : https://docs.unity3d.com/kr/2022.2/Manual/ScriptingImportantClasses.html

profile
이제 막 시작하는 유니티 클라이언트

0개의 댓글