본문 바로가기

취미로 하는 게임코딩_gameCodingAsHobby

유니티 각개격파_012_벡터(Vector)와 이동(Translate)_좌표축 이동 이 글에서는 게임오브젝트를 이동시키는 방법을 알아본다. 회전에서 사용했던 프로젝트를 그대로 이용한다. 현재 Y축 값이 1인 큐브를 바닥에 내려오도록 하자. Y값을 조정해도 되지만 여기서는 Rigidbody(리지드바디)라고 하는 물리 컴퍼넌트를 큐브에 장착한다. Inspector창 아래 검색창에서 rig를 입력하면 Rigidbody를 찾을 수 있다. 현재는 3D 프로젝트이므로 2D용인 Rigidbody2D가 아니라 3D용인 Rigidbody를 선택해야 한다. Rigidbody는 유니티에서 물리 시스템에 사용하는 컴퍼넌트이다. 위 그림에서 보듯이 Mass(질량, 무게), Use Gravity(중력 사용) 등 물리적으로 일어나는 현상을 적용할 수 있다. 다음에 따로 다루기로 하고 일단 위와 같이 기본 상태로 .. 더보기
유니티 각개격파_011_벡터(Vector)와 회전(Rotate)_C 이전 글에 이어서 계속해보자. 작업의 편의를 위해 Layout(레이아웃)을 바꿔보자. 오른쪽에 있는 Layout (레이아웃) 버튼을 클릭한 후 2 by 3을 클릭한다. Layout에 대해서는 를 참고한다. 위와 같이 레이아웃을 2by3으로 바꾸면 Scene창과 Game창이 함께 보이고 Hierarchy , Project , Inspector창이 오른쪽으로 모여서 작업하기 편하다. 이제 회전 코드를 작성해보자. 이전에 만든 RotateCube 스크립트 파일을 더블클릭한다. 먼저 큐브를 X축을 기준으로 회전 시키는 코드를 만들어 보자. RotateAxisZ (Z 축 회전)이라는 메서드(함수)에 코드를 작성한다. 회전은 transform.Rotate( ) 를 사용한다. Vector3.forward 는 Vect.. 더보기
유니티 각개격파_010_벡터(Vector)와 회전(Rotate)_B 이전 글 마지막에 Cube를 만들었는데 바닥 아래로 반쯤 내려간 것을 볼 수 있다. 이것은 plane(평면)의 position(위치)가 (0, 0, 0)이고 Cube 역시 같은 위치이기 때문에 큐브의 반은 평면 아래로 내려가 있는 상태이다. 큐브를 위로 올리려면 녹색인 Y축 값을 올리면 되겠다. 왼쪽 이동 도구를 클릭하고 녹색 화살표를 위로 움직이면 position Y값을 조정할 수 있다. 먼저 화살표로 적당한 위치로 이동한 후 정확하게 맞출려면 숫자를 직접 수정하면 된다. 화살표를 건드리기 귀찮으면 Y 글자에 마우스를 갖다 대면 좌우 표시가 뜨는데 이때 마우스를 클릭한 채로 움직이면 숫자를 조정할 수도 있다. 위의 경우는 Cube의 Y축 중심은 중앙이므로 0.5만큼 올려주면 본래 모습을 볼 수 있다. .. 더보기
유니티 각개격파_009_벡터(Vector)와 회전(Rotate)_A 게임에서는 보통 Player(플레이어)라는 게임오브젝트를 조종하여 게임을 풀어나간다. 일반적으로 플레이어는 움직일 수 있어야 한다. 유니티에서는 3D의 움직임을 Coordinates(좌표)에 나타낼 수 있는 Vector(벡터)를 사용한다. Vector(벡터)는 3D모델, 텍스처, 조명 등에도 사용하기 때문에 Vector(벡터)를 이해하는 것이 기본이 된다고 할 수 있다. 유니티에서 게임오브젝트를 만들면 아래 그림처럼 기본적으로 transform (변형) 컴퍼넌트를 가지고 있다. 그 속성을 보면 position(위치), rotation(회전), scale(크기) 가 있는데 여기에 벡터 X , Y , Z 좌표의 값을 사용하고 있다. 소감 한마디 덧붙이면, 요새는 어제 배운걸 오늘 잊어먹는 악순환이 반복되고 .. 더보기
유니티와 C# 개념 정리_001_유니티의 특징과 장점 이 카테고리에서는 유니티와 게임 제작에 필요한 C# (C Sharp, 씨샵) 스크립트에 관한 개념들을 정리한다. 먼저 유니티에 대한 특징 및 장점을 간단히 정리한다. 1. 유니티는 게임 엔진이다. 게임 엔진은 게임 제작을 도와주는 프로그램이다. 유니티와 함께 Unreal(언리얼) 엔진이 대표적이다. 유명한 게임의 경우 독자적인 게임 엔진을 가지고 있다. 내가 대학교에 입학 할 즈음에 퍼스털 컴퓨터라고 하는 개인용 컴퓨터가 처음 나오기 시작했다. 현재의 컴퓨터 공학과에 해당하는 전산학과 학생들은 시커먼 화면에서 프로그래밍 코드만으로 게임을 만들곤 했다. 유니티는 코드만으로 만들던 게임을 그래픽 화면을 보면서 만들 수 있게 해 준다. 뿐만 아니라 전문가가 아니면 구현할 수 없는 각종 물리 역학, 3D, 애니.. 더보기
유니티 각개격파_008_스크립트 편집기 설치하기 Script Editor(스크립트 편집기)는 프로그래밍 언어로 코드를 작성할 때 사용하는 프로그램이다. 문서를 작성할 때 워드프로세스나 한글 프로그램을 사용하듯이 코드를 작성할 때도 적당한 프로그램이 필요하다. 윈도우에 기본으로 설치되어 있는 '메모장' 등에 코드를 작성해도 되지만 프로그래밍 코드를 위한 편집기 프로그램을 사용해야 하는 것이 필수적이다. 코드 편집기는 종류가 많지만 초보자의 입장에서는 많은 사람들이 사용하고 있는 편집기를 고르는 것이 좋을 듯 하다. 유니티에서는 설치할 때 Microsoft Visual Studio(비주얼 스튜디오) 라는 전문적인 개발 전용 프로그램이 기본적으로 설치된다. 비주얼스튜디오는 프로그램 개발을 통합적으로 지원하는 도구이며 영어 약자로 IDE라고 부른다. 이전 글.. 더보기
유니티 각개격파_007_휴대폰 연결하는 방법 유니티 프로젝트는 완성한 후에 build(빌드)라는 작업을 거쳐 최종적으로 실행파일이 만들어진다. 이렇게 만들어진 파일은 apk 라는 확장자를 가진다. 이 apk파일을 휴대폰에 저장한 후 실행하면 게임이 실행된다. 또는 이 파일을 '구글 플레이'에 등록해 놓으면 다른 사람들이 다운받아서 폰에 설치하는 구조이다. (참고로 구글 플레이에 내 앱을 등록하는 방법은 조금 복잡하다. 가입비도 내야 하고 등록 절차에 따라 꼼꼼하게 해야 한다. 이 과정은 다음에 따로 글을 작성하겠다.) 유니티에서 빌드 과정을 거치면 apk파일이 만들어지지만 만약 컴퓨터에서 작동하는 게임이 아니라 휴대폰에서 작동하는 게임이라면 당연히 폰에서 테스트해서 완성해야 한다. 그래서 휴대폰과 컴퓨터가 연결이 필요하다. 이 글에서는 유니티와 휴.. 더보기
유니티 각개격파_006_무료 사운드 편집기 ( Audacity ) 게임 제작에서 배경음악, 효과음 등도 중요한 위치를 차지한다. 필요한 소리파일을 완성된 형태로 받을 수도 있지만 필요한 부분만 편집해야 하는 경우도 있다. 소리파일을 편집하는데 사용할 수 있는 프로그램 중에서 가볍고 가장 뛰어난 것 중 하나가 Audacity(오데서티)라는 프로그램이다. 또한 무료로 사용할 수 있다. 이 프로그램을 다운로드 받아서 설치하고 소리파일을 편집하는 방법을 간단하게 살펴본다. 구글 검색창에서 audacity를 입력한 후 사이트로 이동한다. 다운로드를 클릭하고 자신의 운영체제를 클릭한다. 예를 들어 윈도우를 클릭하면 다음과 같은 화면이 나온다. 2021년 5월 현재 버전은 3.0.2 이다 Installer(인스톨러) 버전은 인터넷에 연결되어 있으면 자동으로 설치해 준다. zip(압.. 더보기