Unity/IGDC 입문 프로젝트

3. Script 생성

말하는 닭 2023. 8. 30. 17:09

IGDC 입문 프로젝트 글입니다. 

 

 

일전에 만들었던 Scripts 폴더에 들어간 후, 프로젝트 창을 우클릭,

Create -> C# Script를 선택하여 스크립트를 하나 만들어줍시다. 

 

두 번째 아이콘을 누르면 스크립트를 편집할 수 있는 툴이 자동으로 열립니다.

만약 에러가 발생한 경우, (혹은 툴이 원치 않는 것으로 열린다던가) 
상단의 Edit -> Preferences -> External Tools -> External Script Editor에서 골라줍니다. 

만일 여기서도 보이지 않을 경우, Browse로 찾아줘야 합니다... (귀찮지만)

 

 

기본 생성 템플릿

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Cube : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

MonoBehaviour: 유니티 오브젝트 상에 붙일 수 있도록 해주는 클래스입니다.

Start 함수: 오브젝트가 생성되고 딱 한 번 호출되는 함수입니다.

Update 함수: Start 함수가 끝난 이후부터 매 프레임 호출되는 함수입니다.

 

 

Start 함수 안에 다음과 같이 작성한 후, Cube 오브젝트에 Cube Script를 붙여줍시다. 

void Start(){
    Debug.Log("Start!");
}

Cube Script 붙이기

 

후, '▶️' 버튼을 눌러 플레이 시켜봅니다. 

콘솔 창에서 Log가 하나 생깁니다. 

 

 

스크립트 이벤트 함수 실행순서

 

제가 주로 사용하는 것들만 간단하게만 나열하면, 

 

 

  • OnAwake: 프리팹이 게임에 처음 생성될 때 한 번 실행되는 함수입니다.
  • OnStart: 스크립트가 활성화 된 후 한 번 실행되는 함수입니다. Awake 함수 이후에 실행됩니다.

 

  • FixedUpdate: 프레임 당 한 번 실행되는 Update와는 달리 고정적으로 호출되는 함수입니다.
  • Update: 프레임 당 한 번씩 실행되는 함수입니다. 
  • LateUpdate: Update 함수가 실행된 후 한 번 실행되는 함수입니다.

 

  • OnDestroy: 물체가 없어질 때, 이 함수가 한 번 호출됩니다.

 

 

Script 변수 노출

(이 소제목이 맞는지는 잘 모르겠습니다)

 

public int a;
private int b;

Cube 스크립트의 클래스 안에 멤버 변수를 다음과 같이 선언하였습니다. 

 

위 사진과 같이 A는 변수가 에디터 상에서 보이지만, B는 보이지 않는 것을 볼 수 있습니다. 

public 변수는 에디터 상에 노출되지만, private 변수는 에디터 상에 노출되지 않아 임의로 변경할 수 없습니다. 

(사실 attribute를 통해 노출 여부를 바꿀 수 있기는 하지만, 여기서는 패스하겠습니다)

'Unity > IGDC 입문 프로젝트' 카테고리의 다른 글

6. 몬스터 스폰 및 이동  (0) 2023.09.01
5. Vector, Transform  (0) 2023.08.31
4. 맵 만들기  (0) 2023.08.31
2. Rigidbody & Collider  (0) 2023.08.29
1. 에디터 레이아웃  (0) 2023.08.29