Posted in: Unity, 메서드 & 팁 정리

MonoBehaviour 클래스 (유니티 게임 프로그래밍)

스크립팅 환경 설정


MonoBehaviour에 대해 알아보기 전에 유니티에서 스크립팅 환경 설정부터 합시다. 앞으로 코딩을 해야 하니까요.

유니티 에디터 > Edit(상단 메뉴에 있음) > Preferences > External Tools에서 External Script EditorVisual Studio Community를 선택합니다.

보통 비주얼 스튜디오 커뮤니티를 다운로드하면 설정되어 있긴 합니다만 한번 직접 확인해 봅시다. 위 옵션을 활성화하면 유니티가 모든 스크립트 파일에 대해 기본 에디터로 비주얼 스튜디오 커뮤니티를 사용합니다.

MonoBehaviour 클래스


MonoBehaviour 클래스는 기본적으로 Unity 스크립트가 상속하는 클래스입니다. 유니티에서 스크립트를 생성하면 자동으로 상속되죠. 그리고 유니티의 이미 생성돼있는 컴포넌트들은 MonoBehaviour을 기반으로 만들어졌습니다. 유니티 스크립트의 기본 클래스라고 볼 수 있는데 함께 알아봅시다.

그전에 상속이라는 말을 간단하게 설명하자면 위 사진에서 JustMake는 MonoBehaviour의 기능(메서드)과 데이터를 소유하게 됩니다. 공개된 거만요.

스크립트를 게임 오브젝트의 컴포넌트로 사용할 수 있게 해준다


게임 오브젝트의 컴포넌트 기능을 개발자가 제어하기 위해서는 스크립트를 통해 이벤트 함수를 호출해야 합니다. 필연적으로 스크립트를 게임 오브젝트의 컴포넌트로 사용하게 되는데 MonoBehaviour가 없으면 컴포넌트로 사용할 수 없습니다.

빈 게임 오브젝트를 만들고 JustMake.cs 스크립트를 연결했습니다.

JustMake.cs 스크립트에서 “ : MonoBehaviour“을 없애 봅시다. 그리고 Control + S를 입력해 저장합니다.

그러면 유니티 콘솔 창에서 네이티브 클래스 확장 특성이 없어졌다는 경고문이 나오면서 에러가 뜹니다.

이건 스크립트가 상속한 MonoBehaviour 클래스를 없앴는데 컴포넌트로서 게임 오브젝트에 연결돼있어 경고가 나온 건데 빈 게임 오브젝트의 스크립트 컴포넌트를 없애면 에러가 사라집니다.

유니티에서 생성되는 모든 스크립트는 JustMake처럼 MonoBehaviour 클래스를 상속하면서 공개된 기능을 소유하게 됩니다. 상속을 포기하게 되면 MonoBehaviour의 기능이 사라지면서 게임 오브젝트의 컴포넌트로 사용할 수 없게 됩니다.

유니티 이벤트 함수 호출을 제공한다


스크립트에서 MonoBehaviour 클래스가 상속돼있어야 이벤트 함수를 호출할 수 있습니다. 이벤트 함수에 관한 설명은 전 시간에 많이 했으니 생략하겠습니다.

이벤트 함수의 종류는 위 사진을 클릭하고 Messages를 확인하면 됩니다. 엄청 많아요.

다음 시간에는 무엇을 배우나요?


오늘까지 유니티 게임 엔진에 대해 배웠습니다. 생각보다 재미없었죠? 하지만 더 재미없을 수도 있는.. 이제부터 C# 프로그래밍을 유니티 게임 엔진을 통해 배워봅시다. 프로그래밍은 게임 개발에 꼭 필요한 지식이므로 열심히 해봅시다! 저도 재밌게 설명하기 위해 노력하겠습니다.

다음 시간에 만나요~ 제발~

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다