디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[일반] 중붕이도 할 수 있는 게임 만들기 - 플랫포머 편 - 1

ㅁㄴㅇㄹ(58.234) 2018.09.01 23:18:44
조회 11624 추천 180 댓글 85
														

[바로가기]


0,





안녕 중붕이들아


사실 저번글을 올릴때만 해도 관심있는 사람이 몇명 없을줄 알았는데


생각보다 많은 중붕이들이 관심을 보여줘서 쪼끔 기뻤다


기대에 부응하기 위해 최대한 빠르게 써봤다


사실 어제 올리려고 했는데 급한 약속이 생겨가지고 못올렸음


아 그리고 찍 싸더라도 플랫포머편은 끝내고 갈테니 걱정하지 않아도 된다



각설하고 오늘 우리가 할 것은


유니티 엔진의 설치와 엔진 살펴보기, 간단한 코딩임


저번편에 직접적인 개발은 이번편부터 진행한다고 써놨지만


툴에 익숙해지거나 여러가지 알아둘게 좀 있으므로 게임을 만드는건 2 ~ 3편부터가 아닐까 싶다


알아가는 과정은 매우 중요하므로 열심히 해보자



우선 유니티 엔진을 설치해 보자


https://unity3d.com/kr


위의 주소는 유니티의 한국 공식 홈페이지다


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541775dfcaf9d44950e7e083269


접속하면 위와 같은 사이트가 표시될 텐데


오른쪽 위에 있는 사람 표시를 누르면


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55417409a7fa9b43c15e7e0832bb


이런식으로 로그인과 계정을 만들 수 있는 창이 나타난다


엔진을 사용하기 위해서는 유니티 계정이 필수 이므로 빠르게 만들어 주자



계정을 만들었다면 아래의 사이트로 접속 해보자


https://unity3d.com/kr/get-unity/download/archive?_ga=2.101605765.544885139.1535540189-560946900.1524362426


이 사이트는 유니티 엔진의 이전 버전들을 다운로드 받을 수 있는 사이트다


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55412156f3f9c945c45d7e083238


아래쪽을 보면 버전을 고를 수 있는 탭이 있는데


Unity 2017.x 를 클릭해 주자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541230cfcfaca13c30a7e08325b


그러면 2017.x.x 버전들이 주루룩 뜰 텐데


그중 우리가 다운로드 받을 유니티의 버전은 2017.3.1 버전이다


Unity 설치 프로그램을 다운로드 받아주자



사실 딱히 이 버전을 고른 특별한 이유는 없다


그냥 내가 가장 최근에 쓴 버전이 이거라 그런거임



혹시라도 다른 버전으로 진행하고 싶은 중붕이가 있다면 다른 버전을 받아도 상관은 없다


다만 연재중 사용하게 될 기능중 몇가지가 2017 버전 이상부터 추가되었기 때문에


왠만하면 2017 이상의 버전을 사용하자


2017 이상의 버전은 64비트만 지원하기 때문에 혹시라도 32비트 운영체제를 사용하는 아쉽지만 중붕이는 5.x.x 버전을 설치하자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4fd552973df31a2ea5bc78a599311c58cc15cfbfcc3acd


다운로드 받은 프로그램을 실행하면 위와 같은 화면이 나온다


Next를 눌러 다음으로 진행해 주자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4fd552973df31a2ea5bc78f29830135ec61f91bfcc3acd


위와 같은 화면이 나온다면 아마 기본적으로 여러가지가 체크 되어 있을 텐데


사진과 같이 체크해 주자


위에서부터 차례대로 설명하자면



Unity 2017.3.1f1 : 이름 그대로 유니티 본체, 꼭 체크


MonoDevelop / Unity Debugger : 모노디벨롭이라는 프로그램과 디버거를 설치하는 옵션

이에 대해서는 아래에서 다시 설명하겠음


Documentation : 메뉴얼과 스크립트 설명 같은거, 인터넷 검색하면 다 나오므로 체크 해제


Standard Assets : 유니티에서 제공하는 기본 에셋들. 여러가지 있는데 안쓰므로 체크 해제


Example Project : 예제 프로젝트들. 예제를 보고싶다면 체크해도 되지만 아니라면 체크 해제


Microsoft Visual Studio Community 2017 : 비주얼 스튜디오. 이것도 모노디벨롭과 같이 아래에서 설명


Android Build Support : 만든 게임을 안드로이드 어플로 만들고 싶다면 체크. 있으면 댓글로 달아주셈

만약 있으면 끝 즈음에 안드로이드로 빌드하는 편도 써봄


그외 옵션들은 전부 플랫폼 지원이나 우리가 쓰지 않을 기능들 이므로 모두 체크 해제 해 주자



다음으로 넘어가기 전 위에 나왔던 모노디벨롭과 비주얼 스튜디오에 대해 설명을 하자면


이 둘은 개발에 있어서 매우 필수적인 프로그램임


IDE라고 하는데 솔직히 유니티 엔진을 사용할 때는 그냥 코드 편집기 정도로만 이해하고 있어도 된다


솔직하게 말하면 나도 모노디벨롭을 별로 안써보기도 했고 왠만하면 비주얼 스튜디오를 추천하지만


비주얼 스튜디오는 프로그램 자체가 꽤 무거운 편이고 설치도 오래걸림


그에비해 모노디벨롭은 그냥 유니티 깔때 체크 한번 해주면 알아서 슈루룩 깔리기 때문에 편의성을 위해 모노디벨롭으로 진행하기로 함


본격적으로 프로그래밍을 배워보고 싶은 중붕이라면 비주얼 스튜디오 쪽이 나을 거임


저거 하나 가지고 어지간한건 다 만들 수 있기 때문


왠만하면 모노디벨롭을 설치하되 비주얼 스튜디오를 사용해도 딱히 상관은 없다



사실 모노디벨롭이 버그가 많다는 이야기도 있고, 최신버전에선 아예 설치 옵션에서 빠져서, 대신 vscode 라는 프로그램을 사용하려고 했는데


따로 설치해야 할 것들이 좀 있어서 본편에서는 넘어갈거임


나중에 작성할 심화편에서 설명할 예정이니 혹시라도 vscode를 쓰고 싶은 중붕이는


지금은 모노디벨롭으로 깔고 나중에 심화편을 보고 vscode로 갈아타도록 하자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4fd552973df31a2ea5bc78a59c62130ccb1dc0bfcc3acd


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4fd552973df31a2ea5bc78f69b661c599d18cfbfcc3acd


설치될 폴더를 선택하고 Next를 누르면 설치가 시작된다



다운로드와 설치가 진행되는 동안 심심하니 게임 엔진이 무엇인가에 대해 알아보도록 하자


게임 엔진은 이름 그대로 게임을 만들 때 사용하는 소프트웨어로


킹무위키에 따르면


비디오 게임의 개발에 기반이 되는 구성 요소들을 가진 필수 구성 요소들인 그래픽 엔진, 물리 엔진, 오디오 엔진, ui 시스템, 게임 플레이 프레임 워크 등이 잘 융합된 상태의 소스 코드와 그 기능들을 디자이너들이 사용 가능한 툴을 겸비한 게임 개발 소프트웨어를 일컫는 말


이라고 한다



그래픽쪽이 발달한 요즘은 게임이 아닌 다른 분야에도 사용되는데


우리가 사용하는 유니티 엔진은 놀랍게도 애니메이션이나 VR, 건축쪽에서도 사용되고 있다


이는 같은 게임 엔진인 언리얼 엔진도 마찬가지인데 이쪽은 애니메이션, VR, 건축, 조형, 심지어 자동차 광고에도 사용되었다고 한다



게임 엔진의 종류도 굉장히 많은데


유니티와 언리얼을 제쳐두고도, 소스 엔진, 크라이 엔진이나


배틀필드 시리즈에 사용된 프로스트바이트 엔진, 베데스다의 크리에이션 엔진, 메기솔 5 - a hideo kojima game - 에 사용된 폭스 엔진 등 중붕이들도 알법한 유명한 것부터


국산게임 검은사막의 검은사막 엔진, 둠 시리즈의 이드 테크 엔진, 바이오하자드7의 re 엔진같은 것들,


고도 엔진이나 러브2d 등 아마 별로 못 들어봤을 엔진까지 엄청나게 많은 종류의 엔진이 존재한다



그렇다면 그 많은 엔진중에 왜 하필 유니티 엔진을 선택했는가 하면


우선 구하기 쉽고, 무료라는 점 때문이다


물론 라이센스 비용이 존재하긴 하지만 일정 매출 이하라면 무료로 사용할 수 있다


사실 나도 언리얼이나 유니티 같은거 아니면 본적도 없어서 잘 몰르기도 하고 저 위에 써놓은 대부분의 엔진은 우리는 구경도 못함 ㅎㅎ;;



두번째로 자료가 굉장히 많다


국내에서도 많이 쓰이는 엔진인 만큼 한글 자료도 많은 편이고


왠만한 문제나 기능은 구글에 검색 몇번 하면 모두 해결하고 만들 수 있다



그 외에도 여러가지 이유가 있지만 가장 큰 이유는 역시 쉽다는 점 때문이다


물론 파고 들어서 제대로 만들려면 당연히 어렵겠지만 처음 시작하는 입장에서는 이만큼 쉽고 좋은 엔진이 없다고 생각한다


사실 언리얼이나 게임 메이커도 생각해 보긴 했는데 언리얼은 2d 게임을 만들기엔 좀 무거운것 같고 게임 메이커는 이제 유료인것 같아서 그냥 포기함 ㅎ;;



당연하게도 유니티 엔진에도 단점이 존재하고, 그중 몇가지는 굉장히 뭐 같지만 아주 좋은 엔진임에는 틀림없다





유니티의 설치가 완료 되었으면 바로 실행시켜 보자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55412557f7a9ce17c10b7e0832b3


아마 처음 실행하면 위와같은 화면이 우리를 반겨줄 것이다


아까전 만들었던 계정으로 로그인 해 보자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55412356f6f4c144c10a7e0832ee


아마 중붕이들은 위 사진과 다르게 라이센스를 선택하거나 설문 조사 창이 뜰 텐데


라이센스 선택 창의 경우 Unity Plus or Pro가 아닌 Unity Personal을 선택해 주자


Next를 누르면 라이센스 동의 창이 나올텐데 맨 밑에 I don't use Unity in a professional capacity를 선택해 주면 된다


사진이 없는 점 미안하다. 아이디를 새로 만들던 다시깔던 뭔 짓을 해도 안뜨더라


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541260ef7fb9e44c3067e0832c9


그럼 현재 최근에 실행했던 유니티 프로젝트 목록이 주루룩 뜨게 된다


오른쪽 위에 New 를 클릭하여 새 프로젝트를 만들어 보자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55417009f4fbca44925e7e08325a


프로젝트의 이름이나 경로는 원하는대로 설정하면 된다


또한 우리는 2d게임을 만들 것이기 때문에 3d가 아닌 2d에 체크한다


그 밑에 있는 Unity Analytics는 게임을 플레이한 유저의 데이터를 통해 각종 통계를 내는 기능으로 


지금은 별 필요가 없으니 체크를 해제해 주자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55412e0ba1fd9a10910b7e08324c


설정한 뒤 Create Project를 클릭하면


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55417257a5fe9e42935c7e083214


새로운 프로젝트가 생성되었다


텅 비어있는 화면을 보고있자니 영 의욕이 생기지 않겠지만


힘을내서 천천히 알아가 보자



아마 화면 레이아웃의 구조가 위 사진과 많이 다를텐데


이는 내가 임의로 편한대로 구성한 화면이기 때문이다


자기가 편한대로 배치하는게 가장 좋으므로 중붕이들은 진행하면서 자신만의 레이아웃을 구성해 보자



유니티에는 굉장히 많은 기능이 있지만, 억지로 한꺼번에 배우려 하지 않고 그때 그때 필요한 것들을 찾아 익히는것이 좋을 것이다


이번편에서는 필수적으로 사용되는 몇가지 윈도우만 알아보고 넘어가자


만약 자신의 화면 구성에 글에서 설명하는 윈도우가 없다면 Window 탭을 클릭해 보면 찾을수 있을 것이다



viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541720df5a89d40c00a7e083282


1.Project


이 윈도우는 우리가 만든 프로젝트에 포함된 파일들을 보여주는 일종의 파일 탐색기이다


게임에 필요한 파일들을 이곳으로 드래그 앤 드롭하면 파일이 프로젝트에 포함된다


직접 파일을 만들수도 있다


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541210af1aec1459a5a7e08327a


윈도우에 오른쪽 마우스를 클릭한 뒤 Create -> C# Script를 선택해 보자


새로운 C# 스크립트 파일이 생성된 것을 볼 수 있을 것이다


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541260da0f5cf46945e7e0832be


스크립트의 이름은 Test라고 지어줬다


이 스크립트는 후에 사용할 예정이니 지우지 말고 놔두자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55412258f3f49a4a96097e0832eb


2.Scene


위 사진에 빨간색으로 표시된 부분을 말한다


오른쪽 마우스, 휠 클릭, 드래그로 이동, 휠로 줌 인, 줌 아웃 할 수 있다


씬이란 오브젝트들이 포함되어있는 파일로, 씬 하나가 하나의 레벨이라고 생각하면 된다


만약 숲을 배경으로 한 레벨을 만든다면 씬을 숲과 관련된 오브젝트로 채워넣으면 될 것이다


Scene 윈도우는 이러한 씬을 보여주는 윈도우로


이곳에서 씬을 구성할 수 있다


혹시 이해가 가지 않더라도 후에 직접 씬을 구성해 보면 무슨 말인지 알게 될테니 걱정하지 말자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55412457a1ae9b4ac45e7e083271


3.Hierarchy


아마 중붕이들의 화면에선 굉장히 크게 자리잡고 있을텐데


그만큼 매우 중요한 윈도우중 하나이다


하이어라키라고 부르는 이 윈도우는 현재 씬에 포함되어 있는 오브젝트의 목록을 보여준다


새 오브젝트를 만들거나 오브젝트를 선택하여 삭제, 다른 오브젝트와 종속 관계로 만드는 등 여러가지 일을 할수 있다



2d 프로젝트의 경우 새로운 씬을 생성하면 카메라 오브젝트가 기본적으로 생성된다


카메라 오브젝트를 한번 선택해 보자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541750aa6facc43c10a7e083284


그럼 아마 위와 같이 선택될 것이다


하이어라키 위에 있는 윈도우에 카메라의 정보가 표시되고 있는데 저 윈도우가 다음에 설명할 인스펙터이다


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55412e5ea5ab9e4b91097e083297


4.Inspector


이 윈도우는 인스펙터라는 이름의 윈도우로


선택한 오브젝트의 정보를 표시해주는 윈도우이다


정확히는 오브젝트와 오브젝트에 포함되어 있는 컴포넌트의 정보를 표시해주는 윈도우이지만


인스펙터와 컴포넌트에 대한 자세한 설명은 다음편에서 하도록 하겠다


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55417556fcffcf45900e7e083237


5.Game


이 윈도우는 실제 게임의 화면을 표시해 준다


우리가 만든 게임을 엔진 내에서 테스트 해보고 고쳐나가게 될 것이다


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55412e5cf6afcf17c75b7e08328c


6.플레이 버튼


윈도우는 아니지만 굉장히 중요한 기능중 한가지이기 때문에 여기서 소개하게 되었다


왼쪽부터 플레이, 일시정지, 한 프레임씩 실행 버튼으로


플레이 버튼을 누르면 게임 윈도우에서 실제로 플레이 해 볼수 있다. 플레이중 다시 한번 누르면 종료한다


만약 플레이중 좌표나 기타 값이 달라져도 플레이가 끝나면 플레이 하기 전으로 되돌아간다


일시정지는 말 그대로 실행을 멈추는 기능이고, 플레이 버튼과 마찬가지로 일시정지중 다시 한번 누르면 일시정지가 풀린다


한 프레임씩 실행은 버튼을 누를 때 마다 한 프레임씩 게임이 실행된다



중요한 윈도우는 이정도가 있고, 다른 윈도우에 대해서는 사용하게 되면 그때그때 설명해 나가도록 하겠다



이제 간단한 실습을 해보자


우선 다시 씬 윈도우로 돌아온 다음


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541250af1a99d43c05e7e0832aa


하이어라키에서 오른쪽 마우스 -> 3d Object -> Cube 를 선택해 보자


2d 오브젝트는 다음편에서 사용해 보도록 하겠다 


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541750aa2f8c145c3087e0832b3


그러면 새로운 큐브 오브젝트가 생성된 모습을 볼 수 있다


이번에는 하이어라키에서 큐브를 선택한 다음 Delete키를 눌러보자


만약 Delete키가 없다면 큐브 오브젝트에 대고 오른쪽 마우스 -> Delete를 선택하면 된다


그러면 하이어라키에서 큐브가 사라질 것이다


이런식으로 하이어라키에서는 오브젝트를 생성, 삭제할 수 있다




이번에는 다시 큐브 오브젝트를 생성한 다음 좌표를 변경해 보자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55412e5af0fbcd17955c7e0832c8


인스펙터에서 빨간색으로 표시된 부분을 살펴보자


저 부분은 트랜스폼이라고 부르며 오브젝트의 좌표, 회전, 크기 값을 가지고 있다


큐브의 좌표값을 x : 1, y : 1, z : 0 으로 변경해 보자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55412158f3a8cf4a950d7e083201


좌표는 변경 되었지만 매번 이런식으로 일일히 좌표값을 설정해 줄 수는 없을 것이다


씬 윈도우에서 오브젝트를 움직이기 전 다음 사진에서 빨간색으로 표시된 부분을 살펴보자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541725ef1f89d14900c7e0832b6


왼쪽부터 차례로 설명하자면


Hand Tool : 클릭 -> 드래그를 통해 씬을 움직일 수 있는 기능


Move Tool : 씬 윈도우에서 오브젝트를 이동시키는 기능


Rotate Tool : 씬 윈도우에서 오브젝트의 회전값을 변경하는 기능


Scale Tool : 씬 윈도우에서 오브젝트의 크기를 변경하는 기능


Rect Tool : 자유 변형 기능. 위치와 크기를 변경할 수 있음


Move, Rotate or Scale selected objects : 이동, 회전, 크기 변경을 한번에 할 수 있는 기능



직접 마우스로 클릭해도 되지만 왼쪽부터 각각 Q W E R T Y 단축키에 대응하므로 편하게 사용하면 된다


위에서 배운 내용들로 위치나 크기를 조정하거나 돌려보자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541215ba6f9cc14970f7e08321c


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541735ff7a89a40950d7e083244


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541220ef0a8cb10945c7e083207


어떻게 보면 포토샵이나 3dmax와 비슷하다고 볼 수도 있을것 같다



혹시 큐브가 카메라의 영역 밖으로 나가거나 z값이 -10보다 적다면


큐브를 카메라 영역 안에 넣고 z값을 0으로 바꾼 뒤 게임 윈도우를 봐 보자


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541275ff7a89e4292067e0832e3


이런식으로 씬에서 카메라 영역에 비춰진 오브젝트가 게임 화면에 표시되게 된다



어느정도 유니티에 익숙해 졌다고 느껴진다면 앞으로 할 일들도 별로 어렵지 않게 해낼 수 있을거고,


그렇지 않다고 해도 계속 툴을 만지면서 익숙해져갈 것이기 때문에 걱정하지 않아도 된다



이번엔 스크립트 파일을 오브젝트에 적용시켜 보도록 하자


프로젝트 윈도우에서 아까전 만들었던 Test 파일을 더블클릭 한다


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55412f0aa2a9ce479b087e0832af


모노디벨롭을 설치했다면 위와 같은 프로그램이 실행될 것이다


본편에서는 코드에 관련된 설명은 최대한 지양할 것이지만, 필수적인 내용은 간단하게라도 설명하고 넘어가도록 하겠다



왼쪽의 Solution 창은 현재 프로젝트의 스크립트, 폴더들을 보여주고


편집기 부분에서 코드를 편집하면 된다


우선 파일의 모든 내용을 지운 다음 아래의 코드를 복사하여 붙여넣기 해보자


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using UnityEngine;
 
public class Test : MonoBehaviour {
 
    public float moveSpeed = 5f;
    public float rotateSpeed = 180f;
    public float scaleSpeed = 5f;
 
    private float _rotate = 0f;
    private Vector3 _dir = Vector3.zero;
    private Vector3 _scale = Vector3.zero;
 
    public void Update()
    {
        _rotate = 0f;
        _dir = Vector3.zero;
        _scale = Vector3.zero;
 
        if (Input.GetKey (KeyCode.Q)) 
            _rotate = 1f;
        else if (Input.GetKey (KeyCode.W))
            _rotate = -1f;
 
        if (Input.GetKey (KeyCode.A)) 
            _scale.x = 1f;
        else if (Input.GetKey (KeyCode.S))
            _scale.x = -1f;
        if (Input.GetKey (KeyCode.Z)) 
            _scale.y = 1f;
        else if (Input.GetKey (KeyCode.X))
            _scale.y = -1f;
 
        if (Input.GetKey (KeyCode.UpArrow))
            _dir.y = 1f;
        else if (Input.GetKey (KeyCode.DownArrow))
            _dir.y = -1f;
        if (Input.GetKey (KeyCode.RightArrow))
            _dir.x = 1f;
        else if (Input.GetKey (KeyCode.LeftArrow))
            _dir.x = -1f;
 
        transform.eulerAngles += new Vector3 (0f, 0f, _rotate * rotateSpeed * Time.deltaTime);
        transform.position += _dir * moveSpeed * Time.deltaTime;
        transform.localScale += _scale * scaleSpeed * Time.deltaTime;
    }
}
cs


붙여넣었다면 저장한 다음 다시 유니티로 돌아가자


잠시 유니티가 멈추거나 느려질텐데 컴파일 하느라 그런거니까 끝날때 까지 잠시 기다리면 된다


컴파일 중일때는 오른쪽 아래 구석 부분에 동그라미가 돌아가니 잘 확인하자



이제 방금 작성한 Test 스크립트를 큐브 오브젝트에 적용시켜보자


우선 하이어라키에서 큐브 오브젝트를 선택한다


오브젝트에 스크립트를 추가하는 방법은 대충 두가지 정도가 있는데


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541725cf6f9cb17960f7e083237


1.Add Component


빨간색으로 표시된 부분을 클릭하면


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55412e5bfda8cb17c45c7e083285


이런식으로 많은 내용들이 나온다


이것들은 유니티 엔진에서 기본적으로 제공하는 컴포넌트들로 여러가지 재미있는 기능들이 많지만 지금은 사용하지않고 넘어도록 하겠다


검색창에 방금 작성한 스크립트의 이름인 Test를 입력하면


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541215df4afc94796597e083233


위와 같이 스크립트가 검색된다


선택하여 추가하면 끝


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a5541700bf1fe9d4bc3097e083214


2.그냥 드래그 앤 드롭


그냥 인스펙터의 빈 공간에 프로젝트 윈도우에 있는 Test 스크립트를 드래그 앤 드롭하면 된다


간-단



성공적으로 추가했다면


viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4f9b0fcd56f91a24a4bdb3450a55417259f7fdc046900e7e0832a4


위와 같이 인스펙터에 표시된다


바로 플레이 버튼을 눌러보자



제대로 복사해서 붙여 넣었다면 방향키로 큐브를 이동시킬 수 있을 것이다


방향키 외에도 Q, E 키로 회전, A, S 키로 x 크기 변경, Z, X 키로 y크기 변경이 가능하다



혹시라도 에러가 뜨는 중붕이는 Test 스크립트의 내용을 싹 지우고 다시 복사해서 붙여 넣어보자


줄 번호는 같이 복사하면 안된다


그래도 안된다면 스크립트의 파일명이 Test가 맞는지 확인하자



마지막으로 만든 씬을 저장해보자


File -> Save Scene 또는 컨트롤 + s 키를 눌러 씬을 저장할 수 있다


만약 현재 선택된 씬이 없다면 새로운 씬 파일을 생성해 그 파일에 저장한다





이번 편에서는 유니티의 설치 및 익숙해지기, 스크립트의 적용법등을 알아보았다


혹시라도 이번편의 내용만으로 만족하지 못한 중붕이가 있다면


이것저것 만지면서 가지고 놀아 보는 것도 좋을 것이다


여러가지 도형을 배치해 본다던가, Test 스크립트의 수치를 조정해 본다던가


카메라에 Test 스크립트를 붙인다던가, 여러가지로 시도해보자





좀 더 설명해 줬으면 하는 내용이 있다던가, 글 내용에 대한 피드백등은 댓글로 달아주면 바로바로 고치도록 하겠음



viewimage.php?id=2cb2d521e4df3d&no=24b0d769e1d32ca73fef81fa11d02831a85d852473c590be840adeafc14761c8c8dde6d4e7ec4fd552973df31a2ea5bc78f6973212599d4d93bfdb3dcc


다음 글 예고 : 컴포넌트와 인스펙터 설명, 스프라이트 표시, 물리 엔진, 가능하면 애니메이션 등등


자동등록방지

추천 비추천

180

고정닉 51

2

원본 첨부파일 1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2864 설문 비난 여론에도 뻔뻔하게 잘 살 것 같은 스타는? 운영자 24/06/03 - -
2865 AD 호요버스 신작 <젠레스 존 제로> 7월 4일 오픈! 운영자 24/06/05 - -
2866 AD 세상의 패권을 거머쥘 자, 로드나인 사전등록 중 운영자 24/06/05 - -
26316768 뉴스 역대급 규모 서머 게임 페스트, 주목할 게임은? 게임메카갤로그로 이동합니다. 24.06.05 64 0
26117670 공지 신문고 [138] 실 성갤로그로 이동합니다. 24.05.06 21312 8
21263018 공지 중세게임 갤러리는 게임관련 갤러리 입니다 [339] 실 성갤로그로 이동합니다. 22.06.16 59853276 137
25963616 공지 2024년 볼만한 게임쇼케이스 및 시상식 [65] 실 성갤로그로 이동합니다. 24.04.14 34602 48
26318790 일반 엘든링 dlc가격 보면 아본급 분량 내주겠단거냐..? ㅇㅇ갤로그로 이동합니다. 00:50 0 0
26318789 일반 블아 캐릭터들은 예쁨 ㅇㅇ(59.1) 00:50 5 0
26318788 일반 엘든링 제일 재미있는 보스 ㅇㅇ갤로그로 이동합니다. 00:50 16 0
26318787 일반 개징빙 애엉이 얻었어 ㅇㅅㅇ [1] ㅇㅇ갤로그로 이동합니다. 00:50 8 0
26318786 일반 메이플 쇼케는 솔직히 망해도 큰 타격없을거같은데 ㅇㅇ갤로그로 이동합니다. 00:50 4 0
26318785 일반 현충일 기념 파스모포비아 중망호 수요조사 [1] ㅇㅇ갤로그로 이동합니다. 00:50 12 0
26318784 일반 ai 지금 거품론이 많던디 [3] ㅇㅇ갤로그로 이동합니다. 00:50 27 0
26318783 일반 여름 세일 d -22 ㅇㅇ(49.166) 00:49 10 0
26318782 일반 발게이 라리안퍼거들이나 처하는겜아님? [2] ㅇㅇ(118.41) 00:49 25 0
26318781 일반 캡콤 주식 특징 ←Backspace갤로그로 이동합니다. 00:49 42 0
26318780 일반 아브라함계 신화 << 이거 모티브 하나로 소설 뚝딱 씹가능인데 [8] ㅇㅇ(211.227) 00:48 31 0
26318779 일반 이번 휴일 개좆됐다 [2] 성냥갤로그로 이동합니다. 00:48 37 0
26318778 일반 오늘의 좆근 ㅁㅌㅊ??? 쓰레기갤로그로 이동합니다. 00:48 30 0
26318777 일반 10발 뽑기 가능한 똥맛 야겜 ㅈㅈ갤로그로 이동합니다. 00:48 20 0
26318776 일반 근든링 dlc 5만원 자신감 좆되긴하네 ㄹㅇ ㅇㅇ갤로그로 이동합니다. 00:48 27 0
26318775 일반 그래도 스파6면 좀 나은 거지 [3] THE·바니아갤로그로 이동합니다. 00:48 23 0
26318774 일반 모로윈드키기 vs 그냥누워잇기 [11] Fnenamgalsipsclar갤로그로 이동합니다. 00:48 37 0
26318773 일반 블아 스토리 까는 애들은 책 많이 안읽은 애들이 많더라 [6] ㅇㅇ갤로그로 이동합니다. 00:48 51 0
26318772 일반 진짜 화내기전에 주식 이야기는 하지마라 [2] ㅇㅇ(175.114) 00:48 18 0
26318771 일반 아 씁 ㅋㅋ 이제 내 턴인데 마르티나갤로그로 이동합니다. 00:47 27 2
26318770 일반 시오는 실제론 빠는애들 없고 야숨깔려고 동원되는거임 [3] 장애인갤로그로 이동합니다. 00:47 34 1
26318769 일반 근든링dlc 사만구천원이 아니네 [2] ㅇㅇ(121.191) 00:47 31 0
26318768 일반 서양 야겜은 빌드업이 씹창임 ㄹㅇ [7] ㅇㅇ갤로그로 이동합니다. 00:47 76 0
26318766 일반 근데 ㄹㅇ 다음 컴교체주기엔 걍 게임용으로 컴을 안살듯 ㅇㅇ(175.198) 00:46 22 0
26318765 일반 gta 이거 다음작이랑 온라인 안됨? 사람(221.140) 00:46 9 0
26318764 일반 야숨은 엔딩 보기가 싫었는데 왕눈은 중반부턴 엔딩까지 존나 달림 ㅇㅇ갤로그로 이동합니다. 00:46 23 0
26318763 일반 몬월 태도 납도는 언제 쓰는 거임 [10] ㅇㅇ(124.50) 00:46 41 0
26318762 일반 스퍼>> 쌍근이라죠;; ㅇㅇ갤로그로 이동합니다. 00:46 20 0
26318761 일반 gpt4 만드는 회사는 배 ㅈㄴ 아플듯 ㅋㅋ [1] ㅇㅇ갤로그로 이동합니다. 00:46 34 0
26318760 일반 오늘의 발두시 ㅈㅈ갤로그로 이동합니다. 00:46 14 0
26318759 일반 쌍근 뭔재미로함 ㅇㅇ Saucydog갤로그로 이동합니다. 00:46 20 0
26318758 일반 솔직히 레데리 왕눈은 무관 받을만 한거임 [2] 진순민초지코하와이안피자갤로그로 이동합니다. 00:46 32 0
26318757 일반 블러스테인드:RotN 아직도 업데이트하네 [2] 벡테라갤로그로 이동합니다. 00:46 20 0
26318756 일반 내 친구 블아 시작했다는데 [10] 몬냥이갤로그로 이동합니다. 00:46 53 0
26318755 일반 노트북 안쓰는거 팔까말까 존나 고민댐 [2] ㅇㅇ(49.173) 00:45 17 0
26318754 일반 엔비디아 주가 이야기하는 놈들 좀 차단하셈 [3] ㅇㅇ갤로그로 이동합니다. 00:45 46 0
26318753 일반 ✋+잠깐!✋+ 오늘의 쌍근: '황제' ㅇㅇ갤로그로 이동합니다. 00:45 36 0
26318752 일반 쌍근 지랄 좀 그만해라 좀 [2] ㅇㅇ갤로그로 이동합니다. 00:45 40 1
26318751 일반 근데 ㄹㅇ 야겜에 ai금지된거 이해가더라 [2] ㅇㅇ갤로그로 이동합니다. 00:45 58 0
26318750 일반 하나무라: 많이 드세요. [5] 32갤로그로 이동합니다. 00:45 42 0
26318749 일반 솔직히 스파6 여캐는 좆같이 생긴 게 맞음 [4] ㅇㅇ갤로그로 이동합니다. 00:44 40 0
26318748 일반 영어 야겜은 자동 번역할바에는 원어로 하는게 [1] 독라갤로그로 이동합니다. 00:44 33 0
26318747 일반 폴가이즈 근황...gif [1] ㅇㅇ갤로그로 이동합니다. 00:44 53 0
26318746 일반 예스맨 ㄷㄷ 진순민초지코하와이안피자갤로그로 이동합니다. 00:44 21 0
26318745 일반 젤다구작 << 황공 빠는애들이 제일 표독함 [2] ㅇㅇ(175.116) 00:44 39 0
26318744 일반 돈복사 이벤트 놓친 중붕이들 개추 ㅋㅋㅋ [5] ㅇㅇ갤로그로 이동합니다. 00:43 100 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2