민프

[Unity] 스크립트 써보기 본문

[Unity]

[Unity] 스크립트 써보기

민프야 2021. 8. 26. 18:44

https://learn.unity.com/tutorial/mein-kaerigteo-mic-ceos-seukeuribteu-jagseong?uv=2020.3&projectId=5dcdc49dedbc2a00206ce6b0#5e475cb4edbc2a0021bebb2e 

 

메인 캐릭터 및 첫 스크립트 작성 - Unity Learn

이전 튜토리얼에서는 Unity 에디터의 레이아웃에 대해 학습하고 게임 오브젝트로 이루어진 씬을 살펴보았습니다. 또한 게임 오브젝트가 게임상에서 작동하는 방식을 정의하는 컴포넌트에 대해

learn.unity.com

이번에 새로운 프로젝트가 시작 되어서
2D로 메타버스를 구축해보기로 하였다.

팀원들과 어떤 게임 엔진을 사용할지 생각하다가
유니티로 선정 되었고,
유니티를 하기 위해서는 사용법을 알아야했다..ㅎㅎ

유니티 공식홈페이지에 2D Tutorial이 있어서
이 문서를 보면서 
사용법을 익혀봐야겠다.

Scripts 폴더 안에 C# Script 새롭게 생성하면

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

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

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

이러한 코드가 나오는데

 

Start 함수 

- Unity 게임 시작 시 Start 함수에 있는 코드를 단 한번만 실행한다.

 

Update 함수

- 매 프레임마다 Update 내에 있는 코드를 실행한다.

즉, Update 함수에 지속적인 이벤트가 필요한 코드를 넣어주면 될 것 같다.

 

 

캐릭터를 움직일 수 있게 코드 작성하기

    void Update()
    {
        Vector2 position = transform.position;
/*
Vector2는 X(수평 위치), y(수직 위치), z(뎁스) 값을 저장하게 되는데
2D라서 x와 y값만 저장하면 된다.
Transform 컴포넌트에 포함된 position을 저장한다.
즉 Vector2에는 게임 오브젝트의 현 좌표값의 사본이 저장 된다.
*/
        position.x = position.x + 0.1f;
/*
position.x은 현 포지션 값에 + 0.1f 값이 더해지므로
오른쪽으로 0.1 유닛 이동한 값이 된다.
(왼쪽은 -0.1f)
*/
        transform.position = position;
/*
바뀐 position 값을 transform값에 넣어 다음 프레임에도 0.1 유닛 씩 이동할 수 있도록 한다.
*/
    
    }

 

스크립트를 캐릭터에 적용시키기

캐릭터를 클릭 후 add Component를 누르고 내가 작성한 스크립트를 클릭하거나
드래그 앤 드랍으로 넣을 수 있다.


이렇게 한 후에 
플레이 버튼을 누르면
캐릭터가 움직이는 것을 확인 할 수 있다.

 

다음 포스터는 

https://learn.unity.com/tutorial/kaerigteo-keonteurolreowa-kibodeu-ibryeog?uv=2020.3&projectId=5dcdc49dedbc2a00206ce6b0 

 

캐릭터 컨트롤러와 키보드 입력 - Unity Learn

이전 튜토리얼에서 간단한 스크립트를 작성해 루비를 화면에서 이동시켜 보았습니다. 이번 튜토리얼에서는 키보드 입력을 게임에 추가해 보겠습니다. Want to learn more about 2D Game Development with Unity

learn.unity.com

키보드 입력으로 이동 제어하는 방법에 대해서 알아봐야겠다.

Comments