학습 매체 : 책
책이름 : 레트로의 유니티 게임 프로그래밍 에센스
저자 : 이제민
본 내용은 해당 강의 내용을 공부하면서 정리한 글입니다.
프로젝트 이름 : 'Hello Coding'
Windows > General > Console : 콘솔창 띄우기
콘솔 창에서 Collapse 탭 비활성화 하기 : Collapse가 활성화 되어 있으면 같은 내용의 로그들이 하나로 묶인다. 따라서 로그 출력 순서를 확인하기 불편하다.
프로젝트 창 왼쪽 상단의 + > C# Script 클릭
생성된 스크립트 파일의 이름을 HelloCode로 변경
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class HelloCode : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
C# 스크립트 파일명을 변경할 때 주의할 점
- 새로운 C# 스크립트를 생성하면 파일명에 맞춰 스크립트의 클래스명이 자동으로 결정된다. 예를 들어, HelloCode라는 C# 스크립트 파일을 생성하면 스크립트 내의 클래스명 또한 public class HelloCode 같은 형식으로 자동 설정된다.
- 따라서 새 스크립트를 생성하면 파일명 NewBehaviourScript에서 다른 이름으로 즉시 변경하는 게 좋다.
- 나중에 C# 스크립트의 파일명을 변경하면 변경한 파일명에 맞춰 기존 코드의 내용이 자동 수정되지 않는다. 유니티 C# 스크립트는 파일명과 스크립트 내의 클래스명이 다르면 제대로 동작하지 않는다. 이미 생성된 C# 스크립트의 파일명을 나중에 바꾸면 스크립트에 선언된 클래스명도 파일명과 일치하도록 직접 수정해야 한다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class HelloCode : MonoBehaviour
{
void Start()
{
}
}
전체 스크립트가 using, class Start() 세 부분으로 구성되어 있다.
class는 5장에서 다룬다. 여기서는 using과 Start()를 살펴보겠다.
using
- using 키워드를 이용하여 사용할 라이브러리의 경로를 지정하면 해당 라이브러리에 들어 있는 코드를 가져와서 사용할 수 있다. 여기서 using 뒤의 경로를 네임스페이스(namespace)라고 한다.
- C#과 유니티는 개발에 필요한 여러 라이브러리를 네임스페이스로 제공한다. 예제 코드의 using UnityEngine;은 UnityEngine 네임스페이스에 존재하는 코드를 가져와서 사용한다는 의미이다.
Start() 메서드
- Start() 메서드는 코드 실행이 시작되는 시발점을 제공한다.
- 유니티에는 상황에 맞춰 자동으로 실행되는 메서드인 유니티 이벤트 메서드가 있다. Start() 메서드가 대표적인 유니티 이벤트 메서드이다. Start()는 게임이 시작될 때 자동으로 한 번 실행된다. 따라서 게임 시작과 함께 실행될 코드를 Start() 메서드 안에 넣으면 된다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class HelloCode : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
Debug.Log("Hello World!");
}
}
Start() 메서드 안에 Debug.Log("Hello World!");를 추가했다. 세미 콜론을 빼먹지 않도록 주의하자.
변경된 코드를 저장하지 않으면 유니티 프로젝트에 반영되지 않는다. 따라서 반드시 저장해야 한다.
코드 편집 창에서 스크립트 저장(단축키 : [Ctrl + s])
코드 편집 창을 닫거나 최소화 > 유니티 에디터 창으로 돌아가기
스크립트를 완성했다고 해서 코드가 동작하는 것은 아니다. 이 상태로는 HelloCode 스크립트가 단순한 텍스트 파일이기 때문이다.
완성된 스크립트를 동작하고 싶다면 '게임 월드에 존재하는 오브젝트'로 만들어야 한다. 그러기 위해서는 스크립트를 게임 오브젝트에 컴포넌트로 붙여 넣어야 한다. 빈 게임 오브젝트를 생성하고 작성한 HelloCode 스크립트를 붙인다.
하이어라키 창에서 + > Create Empty 클릭
-> 빈 게임 오브젝트(GameObject)가 생성됨
프로젝트 창의 HelloCode 스크립트를 하이어라키 창의 GameObject로 드래그&드롭
실행 결과를 확인한 후 플레이 버튼을 다시 눌러 플레이 모드 해제
프로젝트 창에서 HelloCode 스크립트를 더블 클릭하여 편집 창 열기
타임스태프
- 본래 콘솔 창의 로그에는 출력 시점(타임스탬프)과 같이 출력된다. 이 책에서는 로그 내용에 좀 더 집중하기 위해 타임스탬프 출력을 해제했다. 타임스탬프 활성화/비활성화는 콘솔 창 우측 상단의 컨텍스트 메뉴 버튼 > Show Timestamp로 전환할 수 있다.
다음 강의에서 계속~