Unity 강의/Unity Course(2) - 절대강좌! 유니티

[Unity Course 2] 04. 주인공 캐릭터 제작 : 유니티 엔진의 개발 방식, C# 스크립트

첨부엉. 2024. 6. 18. 15:13
반응형
위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다.

 

유니티 엔진의 개발 방식

컴포넌트 기반의 개발 방식(CBD : Component Based Development)

: 소프트웨어 개발 방법론으로 독립적인 기능 단위로 컴포넌트를 제작한 다음 필요한 기능을 조립하는 방식

 

1. 게임 오브젝트명

2. 컴포넌트명

3. 컴포넌트 속성

 

컴포넌트의 오른쪽 맨위 점 세개를 누르면 Remove Component 로 삭제할 수도 있다.

 

데이터 기반의 개발 방식 (DOTS : Data Oriented Technology Stack)

: 컴포넌트 기반의 개발 방식과는 다르며 초보자가 바로 접하기에 난이도가 높다. 현재 개발 중인 기능이 많아 안정화 버전이 나올 때까지는 상용하기에 위험부담이 있다.

 

C# 스크립트

유니티는 C# 언어를 지원한다. 유니티 초기 버전에서는 자바스크립트 문법을 차용한 Unity Script를 지원했지만 2017 버전부터 변경됐다.

 

추천하는 코드 에디터

Visual Studio Code

JetBrains Rider

 

코드 에디터 변경

Edit - Preferences - External Tools - External Script Editor 를 Visual Studio로 설정해준다. 

유니티의 기본 스크립트 에디터인 VSCode 를 사용한다면 코드 자동완성 기능을 사용하기 위해 VSCode에서 C# 확장 패키지를 설치해야된다. 

 

C# 스크립트 생성

이름은 PlayerCtrl로 만든다.

만든 스크립트의 제목과 클래스명이 동일한지 꼭 확인한다.

만약 다르다면 오류가 나게된다.

파일 이름을 바꾸고 싶다면 클래스명도 같이 바꿔야 한다. 

처음에는 바꾸기 쉽지만 여러 스크립트를 작성하고, 서로 상속해서 사용한다면 변경하기 어려울 수 있으니 추후에 수정하지 않도록 처음부터 잘 작성해야한다.

유니티의 주요 이벤트 함수

함수명 설명
Awake 스크립트가 실행될 때 한 번만 호출되는 함수
주로 게임의 상태 값 또는 변수의 초기화에 사용
Start 함수가 호출되기 전에 맨 먼저 호출
스크립트가 비활성화돼 있어도 실행된다
코루틴으로 실행 불가
Start Udate 함수가 호출되기 전에 한 번만 호출
스크립트가 활성화돼 있어야 실행
다른 스크립트의 모든 Awake가 실행된 이후에 실행됨
코루틴으로 실행 가능
Update 프레임마다 호출되는 함수로 주로 게임의 핵심 로직을 작성
스크립트가 활성화 되어 있어야 실행된다
LateUpdate 모든Update함수가 호출되고 나서 한 번씩 호출
Update 함수에서 전처리가 끝난 후 실행해야 하는 로직에 사용
스크립트가 활성화돼 있어야 실행
Fixed Update 물리 엔진의 시뮬레이션 계싼 주기로 기본값은 0.02초
발생하는 주기가 일정하다
OnEnable 게임 오브젝트 또는 스크립트가 활성화됐을 때 호출
주로 사용자 정의 이벤트 연결에 사용
코루틴 사용불가
OnDisable 게임오브젝트 또는 스크립트가 비활성화됐을 때 호출
이벤트 연결을 종료할 때 사용
코루틴 사용 불가
OnGUI 레거시 GUI 관련 함수를 사용할 때 사용

 

지금은 배우지 않은 내용이라 어렵게 느껴지지만 앞으로 자주 참고하게 될 표...

처음 읽는 분은 그냥 한번 가볍게 읽고 넘어가도록 하자.

 

이벤트 함수의 호출 순서

Awake - OnEnable - Start - Update - LateUpdate -FixedUpdate

반응형