본문 바로가기

게임 프로그래밍/유니티(2021.3 LTS) 강좌21

[유니티 기초] 키보드, 마우스 입력 처리 이번 글에서는 유니티에서 키보드와 마우스의 입력을 어떻게 인식하고 처리하는지에 대해 설명하도록 하겠습니다. 1. 키보드 입력 유니티에서 키보드 입력 처리는 아래의 코드와 같이 처리합니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeHandler : MonoBehaviour { public float speed; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { if (Input.GetKey(KeyCode.LeftArrow.. 2022. 10. 20.
[유니티 기초] 스크립트 직렬화 (Script Serialization) 스크립트 직렬화 (Script Serialization) 유니티에서의 스크립트 직렬화는 유니티 에디터가 데이터 구조나 오브젝트를 관리하는 일련의 프로세스를 의미합니다. 이 글에서는 직렬화 기술을 사용해 제공되는 편리한 기능에 대해 다룰 것입니다. 혹시 직렬화에 대해 자세히 알고 싶으신 분이 있다면 아래의 유니티 공식 문서를 참조하시기 바랍니다. https://docs.unity3d.com/kr/2020.3/Manual/script-Serialization.html 스크립트 직렬화 - Unity 매뉴얼 직렬화는 데이터 구조나 오브젝트 상태를 Unity 에디터가 저장하고 나중에 재구성할 수 있는 포맷으로 자동으로 변환하는 프로세스를 말합니다. Unity 에디터에서는 저장 및 로딩, 인스펙터 창, 인 docs.. 2022. 10. 19.
[유니티 기초] 오브젝트 회전과 Time.deltaTime 1. 큐브 회전 오늘은 이전 글에 이어 Update() 에 코드를 작성해 보도록 하겠습니다. Update() 는 매 프레임마다 호출되는 함수입니다. 유니티 에디터에서는 게임이 실행 중일 때 FPS를 확인할 수 있는 기능을 제공해줍니다. FPS를 확인하는 방법은 다음과 같습니다. Play 버튼을 눌러 게임을 실행시킵니다. Game 창에서 [Stats] 버튼을 클릭하면 "Statistics" 창이 나타나고 FPS를 확인할 수 있습니다. 위의 이미지로만 보면 Update() 함수가 1초에 약 468번 호출된다고 생각할 수 있습니다. 직접 실행해 보시면 아시겠지만 FPS 값은 고정되지 않고 계속해서 변하기 때문에 실제로 1초에 468번이 호출되지는 않습니다. FPS는 게임 내에 처리해야할 오브젝트들이 많을 수록.. 2022. 10. 18.
[유니티 기초] 스크립트의 이해와 코드 작성 1. 유니티 스크립트의 이해 유니티에서 새로운 스크립트를 추가하면 다음과 같이 기본 코드가 작성된 상태로 생성됩니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeHandler : MonoBehaviour { // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } } C# 문법은 다른 글에서 다루도록 하고 여기서는 유니티와 연관된 내용에 초점을 맞추도록 하겠습니다. 유니티의 스크립트는 C# 언어를 사용하고 한 개의 스크립트 .. 2022. 10. 14.
[유니티] 인스펙터 창과 컴포넌트 및 스크립트 컴포넌트 추가 1. 인스펙터 (Inspector) 와 컴포넌트 유니티에서 오브젝트는 기본적으로 아무런 형태가 정의되어 있지 않은 빈 껍데기입니다. 여기에 여러 가지 컴포넌트를 접목하여 구체화시키게 됩니다. 오브젝트의 형태, 위치, 크기, 색상 등은 모두 컴포넌트의 속성 값에 따라 달라지게 됩니다. 아래의 그림은 이전 글에서 생성한 큐브를 선택했을 때의 인스펙터 창입니다. 유니티에서 큐브를 생성하면 필요한 컴포넌트들이 연결된 오브젝트가 생성되는 것입니다. (각 컴포넌트의 보다 자세한 정보를 보시려면 더보기를 클릭해 주세요.) 더보기 큐브 생성 후 선택하면 볼 수 있는 인스펙터 창에는 Transform, Cube (Mesh Filter), Mesh Renderer, Box Collider 컴포넌트가 연결되어 있는 것을 확.. 2022. 10. 13.
[유니티] 오브젝트 생성과 기본 도구 사용법 유니티에서 제공하는 기본 오브젝트를 씬에 추가해 보고 씬 창에서 사용할 수 있는 기본 도구에 대해 알아보겠습니다. 1. 오브젝트 생성 씬에 오브젝트를 생성한다고 했는데 과연 오브젝트가 무엇을 뜻하는 것일까요? 오브젝트란 사전적 의미로 "객체, 물체, 물건" 등을 뜻합니다. 쉽게 씬에 담기는 모든 요소를 오브젝트라고 생각하시면 됩니다. 복잡한 내용들은 나중에 천천히 살펴 보도록하고 우선은 씬에 Cube 를 추가해 보도록 하겠습니다. 첫 번째 방법은 상단 메뉴의 [GameObject > 3D Object > Cube] 를 클릭하면 됩니다. 두 번째 방법은 Hierarchy (계층 구조) 창에서 마우스 오른쪽 버튼을 클릭하면 나타나는 컨텍스트 메뉴를 통해 만들 수 있습니다. 씬에 큐브가 추가되었습니다. 2. .. 2022. 10. 13.