안녕하세요. 개발 토끼 입니다.

오늘이 벌써 일요일 새벽이네요. 밤 늦게 데이트 하고 돌아와서 집에서 쉬는 데 잠이 오질 않아서 블로그 포스팅을 작성하기 시작했지요.

벌서 시간이 2시 12분을 지나고 있군요. ;;

 

" 왜 밤 늦게 블로그를 하시나요? "

 

첫 번째 이유는 잠이 안와서 입니다.

두 번째 이유는 저 개인적인 공부를 위해 이렇게 블로그를 씁니다.

 

어떤 공부든 책을 보면서 공부를 하게 되죠. 근데 프로그래밍이라는 것은 그냥 문학 서적 읽듯이 쭉 내용을 본다고 해서 이해가 되지 않습니다.

직접 해봐야 정확하게 이해할 수 있죠.

반대로, 컴퓨터만 붙잡고 있는다고 실력이 늘어나는 것은 아닙니다. 책을 정독하고 동일한 책을 여러번 보셔야 합니다.

그래야 프로그래밍에 대한 통찰력이 생기죠.

 

저도 프로그래밍을 잘하진 못하지만, 짧은 경험에 비추어 보았을 때 이렇게 해야 하는 구나 하고 느낍니다.

다른 분들은 어떻게 공부하시는 지 궁금하네요 ㅎㅎㅎㅎ

 

어쨋든 오늘도 스크롤의 압박이 예상됩니다.

오늘은 저번 시간에 만들었던 3D 공을 키보드 화살표 버튼을 통해 굴려보도록 하겠습니다.

 

먼저 유니티를 실행하세요.

그림과 함께 설명을 적어보도록 하겠습니다.

이번 시간엔 프로그래밍 스크립트가 들어가기 때문에 기본적인 프로그래밍 능력이 갖추어져 있지 않을 경우 따로 공부하셔야 할 것입니다.

저 나름대로 공부를 위해 추후 C# 관련 강좌? 아니면 그냥 포스팅?을 작성할까 합니다.

많이 읽어봐 주세요. ㅎㅎㅎㅎㅎ

 

- 프로젝트 패널에서 폴더 추가 하기

프로젝트 패널에서 새로운 폴더를 추가 해줍니다.

새로운 폴더를 추가 해주는 이유는 폴더 단위로 각종 게임 관련 파일을 따로 보관하기 위해서죠.

예를 들어 이미지는 이미지 폴더로 모으고

C#, JavaSript 코드는 코드 폴더로 모으고

이렇게 따로 따로 관리하면 나중에 게임이 규모가 커져도 관리하기가 용이 합니다.

물론, 굳이 따로 관리하실 필요 없고 한 곳에 모아도 상관없습니다.

개발하신 게임은 정상 작동할 것입니다.

그래도 따로 분리 해놓을 것을 권장합니다.

 

- Create 버튼을 눌러 폴더 추가 하기-

 

 

 

- 폴더 이름을 Scripts로 만들어주기-

Scripts 입니다.

Script들이 모여있는 복수형으로 적어주는 것이 프로그래밍 관례이기도 합니다.

다양한 C# 코드들이 들어갈 폴더이기 때문이죠.

물론 이렇게 안지어주고 본인이 원하는 이름으로 지어주어도 무방합니다.

그럼 이제 C# 코드를 추가 해보도록 하죠.

 

- C# Script 파일 추가 방법 1 -

폴더를 생성했다면 이제 C# 코드가 들어갈 스크립트 파일을 생성해줘야겠죠.

유니티 상단 메뉴에

[Assets] - [Create] - [C# Script]를 클릭해서

스크립트 파일을 추가 해줍니다.

 

 

- C# Script 파일 추가 방법 2 -

1번 방법 이외에 C# Script 파일을 추가하는 방법 입니다.

Project 패널에서 Create 버튼을 누르면 C# Script를 클릭 하면

해당 스크립트 파일을 추가할 수 있습니다.

 

 

- C# Script 파일 추가 방법 3 -

1번, 2번 이외에 다른 방법이 있는 데

유니티 강좌에서는 이 방법을 권장하더군요. ㅎㅎㅎㅎ

Hierarchy 패널에서 컨트롤 해줄 항목을 먼저 선택합니다.

저는 공을 움직이고 싶기 때문에 Sphere를 클릭해 선택해 줍니다.

 

 

- Inspector 패널에서 Add Component 하기 -

Sphere을 선택하셨다면 Inspector 패널에서 Add Component를 눌러 주세요.

 

 

 

- Component 리스트 -

다양한 컴포넌트들이 존재하는 데 저희는 일단 C# 스크립트 파일 추가를 위해

제일 하단에 있는 New Script 항목으로 들어갑니다.

 

 

 

- Script 파일 이름 정하기 -

이번엔 스크립트 파일을 정해줍니다.

 

 

 

- Language는 무엇일까? -

Language는 프로그래밍 언어를 뜻합니다.

유니티에서는 게임 개발을 위해 C#과 JavaScript를 지원합니다.

저 같은 경우엔 C#을 선택해서 게임 개발을 하도록 하겠습니다.

 

 

 

- 이름 넣어주기 -

SphereController 라고 명명해줍니다.

이것도 개발자 마음대로 지어 넣는 것이기 때문에 원하시는 이름 아무 것이나 넣어주셔도 무방합니다.

대신에 명명법에 대해서 권장 사항이 있죠.

물론 이 명명법은 모든 프로그래밍에서 적용되는 것은 아닙니다.

C#을 개발하는 사람들을 위한 명명법이라고 볼 수 있죠.

나중에 C# 관련 포스팅을 하면서 자세하게 설명드릴 예정입니다만 간단하게 나마 말씀 드리겠습니다.

제가 이름을 SphereController라고 이름을 지어주었는데

마이크로소프트에서 권장하는 명명법에 따라 지은 것입니다.

 

- 마이크로소프트 Naming Guidelines -

마이크로소프트에서 C# 언어를 처음 출범할 당시

.net Framework가 1.1 버전일 때 이 가이드라인을 처음 발표 했습니다.

참고로 현재 .net Framework(닷넷 프레임워크) 버전은 4.6 버전입니다.

 

 

 

- 닷넷 프레임워크 2015 == 닷넷 프레임워크 4.6 -

 

여튼 명명법에 따르면 파일이름이나 클래스 이름 같은 경우 제일 첫 글자는 대문자

그리고 파일명이 단어 + 단어가 되었을 때 두 번째 단어의 시작도 대문자로 명명하도록 권장하고 있습니다.

예를 들면 Helloworld라는 것을 파일 이름으로 지정할 때는

HelloWorld.cs 이런식으로 지어주어야 한다는 것이죠.

ㅎㅎㅎㅎㅎ 뭐 어디 까지나 권장사항입니다.

모든 것은 개발자의 재량입니다.

 

 

- 스크립트 추가 시 Inspector 패널의 변화 -

인스펙터 패널에 없던 Sphere Controller(Script)라고 새롭게 메뉴가 생성되었습니다.

이는 공이 Sphere Controller 라는 파일의 명령에 따라 움직일 수 있도록 연결 해주었다는 의미죠.

 

 

 

- SphereController 스크립트 파일이 추가된 모습-

 

 

 

-Scripts 폴더로 옮겨주기 -

아까 만들었던 Scripts 폴더에다가 C# 파일을 옮겨줍니다.

마우스로 드래그 앤 드롭 시키면 손쉽게 파일을 이동 시킬 수 있습니다.

 

 

 

- C# 파일 선택 -

C# 파일을 클릭하게 되면 위와 같이 인스펙터 화면에

C# 파일 프리뷰 화면이 나오게 됩니다.

C# 파일 내부에 어떤 로직이 있는 지 볼 수 있는 화면이죠.

근데 중요한 건 이 화면에서 C# 파일을 수정할 수 없습니다.

오직 IDE에서만 수정이 가능하죠.

 

 

 

- C# 파일 수정해보자 -

그럼 이제 C# 파일을 수정해봅시다.

화면과 같이 Open이라는 버튼을 눌러 줍니다.

 

 

 

- Visual Studio가 열리고 있는 상태 -

그러면 Progress Bar가 하나 나타나면서

Visual Studio가 열리고 있음을 알려줍니다.

Visaul Studio(이하 : VS)는 마이크로소프트에서 개발한 통합 개발 환경(IDE)입니다.

이 프로그램을 통해 응용프로그램, 웹, 안드로이드, iOS, Windonws 8, 8.1, 10 Phone 등등

정말 다양한 것들을 개발할 수 있습니다.

이것이 컴퓨터에 설치가 되어 있지 않을 경우 Unity로 개발하시는 데에 어려움이 따를 수 있죠.

VS를 설치하실 것을 권장합니다.

VS도 추후 포스팅에서 설치 방법과 사용방법에 대해서 서술해 보겠습니다.

 

 

- Visual Studio의 멋진 모습 -

 

 

 

- 코드를 입력 해보자 -

VS가 열리고 나서 보면 SphereController.cs에는 위와 같이 기본 형태를 가지고 있습니다.

저희는 단순히 물리적 움직임을 표현하기 위해 위와 같이 Start()와 Update() 메서드가 필요로 하지 않습니다.

그래서 지워 주도록 하죠.

 

- FixedUpdate() 메서드 추가하기 -

이 메서드는 공이 3D 환경에서 움직이는 물리적 실체를 나타내주는 기능이라고 보시면 되는 데 자세한 내용은

제가 더 공부를 해보고 알려드리도록 하겠습니다.

계속 스크립트를 써보도록 하죠.

 

 

 

- VS Intellisense가 아니라 Resharper 구동 모습 -

인텔리센스라고 들어보셨나요?

프로그래머도 모든 메서드와 클래스를 기억하지 못합니다.

그래서 VS에서는 특정 단어를 입력하면 그와 유사한 클래스, 메서드, 프로퍼티(속성) 등등 가용할 수 있는 것들을 리스트로 표현해줍니다.

이를 인텔리센스라고 하죠.

근데 저의 VS에선 JetBrain 사의 Resharper라는 리팩토링 툴이 설치되어 있어

위와 같이 인텔리센스보다 더 강력한 기능으로 작동하게 됩니다.

 

여튼 다음으로 넘어가보죠.

 

- 위와 같이 작성하기 -

이것이 공을 움직이기 위한 로직입니다.

먼저 어지러우시나요? ㅎㅎㅎㅎㅎ

사실 엄청 간단한 로직입니다.

설명을 자세하게 해드리고 싶지만 C# 관련 포스팅을 하고 추후에 다루도록 하겠습니다.

지금은 단순히 유니티에서 공을 움직이는 데에 집중하도록 하죠.

 

 

 

- 스크립트를 유니티로 보내기 -

스크립트 작성이 끝났다면 이제 유니티로 보내주어야 합니다.

일종에 저장을 한다고 생각하시면 됩니다.

VS 상단에 Attach to Unity를 클릭해주세요.

 

 

- VS의 변화된 모습 -

위와 같이 주황색이 표시가되면서 Attach가 과정이 이루어집니다.

이 모습은 VS에서 프로그램을 테스트 해볼 때 만든 프로그램이 실행될 때

변화되는 모습과 동일합니다.

다음으로 신속하게 넘어가보죠.

 

 

- Unity에서 정상 실행 해보기 -

유니티 상단 부에 플레이 버튼이 보이실 겁니다.

플레이 버튼을 누르게 되면 Game 패널에서 키보드를 통해 직접적으로 공을 움직일 수 있습니다.

움직여 볼가요? ㅎㅎㅎㅎㅎ

기대가 되는 군요.

 

 

 

- 이런 오류!! -

네... 무슨 오류인지 잘 모르겠지만 오류가 났네요.

Rigidbody가 Sphere 오브젝트에 붙어있지 않다고 하네요.

그 말인 즉슨, 제가 Rigidbody를 선언했지만, 그 Rigidbody의 실체는 없다는 뜻이겠네요.

 

그럼 수정해줍시다!!

 

- Inspector 화면에서 Add Component 클릭 -

 

 

 

- Physics 클릭 -

 

 

 

- Rigidbody 클릭! -

 

 

 

- Rigidbody가 추가된 모습 -

그러면 Rigidbody가 추가된 모습을 보실 수 있습니다.

Mass, Drag, Angular Drag 등등

게임 물리와 관련된 여러가지 항목들이 보이네요.

지금 당장 사용할 것은 아니니 넘어가도록 하겠습니다.

 

 

- 게임 실행 모습  -

우여곡절 끝에 드디어 실행하게 되는 군요.

맨처음 공의 모습입니다.

3D 공간 중간에 위치하고 있습니다.

키보드를 이용해 움직여 보죠.

 

 

- 움직이는 My Ball -

제가 만든 공이 키보드 화살표에 따라 움직입니다. ㅎㅎㅎㅎ

정말 싱기방기 하군요.

 

 

 

- 떨어져버렷!! -

3D 배경이다보니 제가 만든 바닥을 넘어서게 되면 Gravity 중력이 작용해 공이 바닥 밑으로 떨어지게 됩니다.

위 사진은 공이 바닥을 벗어나 떨어지고 있는 그림입니다.

 

이로서 또 긴 유니티 포스팅이 끝났습니다.

휴~ ㅎㅎㅎㅎㅎ 오늘도 역시 스크롤이 길게 되었군요. ㅠㅠㅠ

 

모바일로 보시는 분들에게 죄송스럽네요.

부디 데이터가 많으시길 바랍니다.

 

다음 시간엔 유니티 강좌에서 카메라 위치 설정에 대해서 포스팅 하겠습니다.

추후 계획은 C# 관련 포스팅을 작성하고, C# 관련 응용 프로그램 개발인 WPF 관련 포스팅도 할 예정입니다.

그리고 Unity는 기본 강좌를 제가 공부 다하게 되면

실제 게임을 개인적으로 개발하는 과정을 포스팅 할 예정입니다.

 

많이 읽어봐 주세요 ㅠㅠㅠ

그리고 댓글도 남겨주시면 저에게 큰 힘이 됩니다.

 

앞으로도 열심히 작성하겠습니다.

읽어주셔서 너무 감사 합니다.

남은 일요일 즐겁게 보내세요 >_<

+ Recent posts