09강) 충돌 처리오랜만에 쓰네요. 그간 많이 바빠서 말이죠... 지난 시간에는 미사일을 발사하였습니다.오늘은 이 미사일들이 적 기체에 충돌하는 것을 처리해보겠습니다.지금 당장 적기체까지 만드는것은 아니고 간단한 Sprite에 충돌 처리구현까지만 하도록 해보겠습니다. 유니티에서 충돌 인식) Collider유니티에서 충돌을 인식하는 방법은 "Collider"를 이용합니다. 간단하게 2D가 아닌 3D로 입체적이게 확인하여 봅시다.일단 2D를 해제해서 3D 모드로 바꿉니다. 그리고 "3D Object - Cube"를 하나 만들어줍시다. 그렇게 생성된 큐브를 선택하면 주위에 "초록색 선"이 그려진것을 볼수 있습니다.이것이 바로 "Collider" 인데요.큐브의 "Inspector"로 가서 보면이렇게 "XXX C..
제 1강) "C언어야, 너는 누구니?" "야, C언어 있잖아", "당연히 C가 기본아니야?", "으,, C도 못함?" 컴퓨터 공학과 또는 소프트웨어 공학과에서 많이 듣는 말입니다. 그럼 C언어란 무엇이기에 이렇게 귀찮게 굴까요? (사진 출처 : 위키백과) 컴퓨터 언어 중 하나라고 합니다. 그런데 여기서 중요한 것은 "유닉스 시스템의 바탕, 많은 운영 체제의 커널도 C로.." 입니다. 즉, C는 운영체제와 연관되는 언어입니다. (그 만큼 중요하다는 것이지요.) 으.. C언어도 못함? 사실 C언어는 정말 어려운 언어 중 하나입니다. 대다수의 컴퓨터 관련 학도들이 C언어를 먼저 배우기 때문에 가장 배우기 쉽고 간단한 언어라는 착각을 하기 쉬운데요.이것은 바로 C언어에 대한 신성 모독이자 크나큰 착각입니다. 혹..
07강) 미사일 발사1지난 시간에는 비행기를 움직이는 것을 해보았습니다. 이번 시간에는 미사일을 생성하여 발사하여 볼것입니다. 일반적인 미사일 발사이번 7강에서는 "일반적으로 쉽게 사용하는 미사일 발사"에 대해서 알아볼것입니다. 일반적으로 쉽게 사용하는 미사일 발사의 경우에는 "Instantiate 함수"를 사용하여 미사일 발사 키를 누르는 즉시 미사일 오브젝트를 실시간으로 생성하는 방식을 사용하게 됩니다. Instantiate 함수original을 position위치에 rotation각도로 생성을 합니다. 이 Instantiate 함수를 사용하여 오늘의 7강을 이어가겠습니다. 미사일 준비하기지난시간에 비행기를 움직이기 전에 비행기를 먼저 준비했듯이, 미사일을 사용하기 전에 미사일을 먼저 준비합시다. 따..
06강) 비행기 생성 및 움직이기이번 시간에는 유니티에서 직접 비행기를 생성해보고 움직여보는 것을 해보겠습니다. 미리 새로운 프로젝트를 생성하고 시작합시다. 비행기를 생성해보자) 이미지 준비비행기를 생성하기 전에 먼저 이미지를 준비해야합니다. 이미지? 왜? 2D 프로젝트에서는 모든 오브젝트는 "sprite"를 기준으로 만들게됩니다. 이 sprite는 이미지를 입혀서 사용하게 되죠. 이때 이미지는 "자신이 직접 만들"거나 "Free License"를 이용하는 것이 좋으며, 이미지 소스를 "유료로 사서" 사용해도됩니다.(즉, "라이센스"를 확보해야합니다.) 라이센스 확보? 왜?컴퓨터에서는 "라이센스"가 정말 중요합니다. (저작권)컴퓨터에는 라이센스가 무척 많으며, 라이센스가 적용된 소스를 라이센스 규칙에 맞..
05강) 게임의 요소 결정 및 구상이번 시간에는 게임만드는데 정말로 중요한 시간입니다.바로 게임의 "재미", 그리고 "어떻게 만들 것인가"에 대한 이야기이죠. 그런데 우리의 경우에는 정말 간단합니다. 왜냐하면 게임의 장르가 이미 정해져 있고(슈팅), 기본적인 가이드라인은 제가 제시할것이기 때문이죠. 하지만 자신이 나중에 혼자 혹은 여럿이서 게임을 만들겠다고 한다면 꼭 필요한 부분입니다. 게임의 주제(스토리) 결정지금 우리의 경우에는 딱히 주제(스토리)가 분명하지 않아도 됩니다.그냥 "단순한 비행기 슈팅게임"이기때문이죠. 그런데 사실 "게임의 주제"를 결정하는 것은 "스토리 있는 게임"에서는 매우 중요한 요소입니다. 어떤 스토리냐에 따라서 즐기는 사람들이 달라지고(고객층) 게임 개발 방향이 달라지기 때문이..
04강) C# 프로그래밍 기초3지난 시간에 이어서 마지막으로 C# 프로그래밍의 기초에 대해서 더 알아봅시다. C#) 메소드(method)C언어에서는 함수라고 하고, C++과 C# 그리고 Java같은 객체지향형 프로그램에서는 메소드라고 일컫는 겁니다.유니티에서 기본적으로 스크립트를 만들게 되면 using System.Collections; using System.Collections.Generic; using UnityEngine; public class NewScript : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } } 이렇게 "void..
03강) C# 프로그래밍 기초2지난 시간에 이어서 C# 프로그래밍의 기초에 대해서 더 알아봅시다. C#) 모든 문장의 끝은 세미콜론(;)모든 구문의 끝에는 세미콜론이 있어야합니다.컴퓨터 컴파일러가 구문의 끝을 판단하기 때문이죠. C#) 열렸으면( 닫아야죠)무슨 말이냐 하면이렇게 열리고 닫히는게 "쌍"을 이뤄야 한다는 사실!! C#) 관계 연산자참과 거짓 즉, 옳고 그름과 상당히 관련 깊은 연산자입니다.(특히 bool과 연관성이 깊습니다.) 연산자 기능 Ex) A > B A가 B보다 큰가? = B A가 B보다 크거나 같은가? == Ex) A == B A와 B가 같은가? != Ex) A != B A와 B가 같지 않은가?(다른가?)저 조건을 만족을 한다면 "true", 만족하지 않으면 "false"를 반환하게..
02강) C# 프로그래밍 기초1사실 지난 시간에 "다음 시간에는 ... 씬을 생성하고 비행기까지 생성하여 움직이는 것을 ..." 이라고 말했었습니다. 그런데 생각해보니 "비행기 움직이는 것"은 C#을 이용하여 프로그래밍을 해야하기 때문에 먼저 C# 프로그래밍 기초에 대해서 알아봐야 할 것 같아서 단원을 바꾸었습니다. 왜 C#인가?유니티에서 주로 사용하는 언어는 "자바스크립트"와 "C#" 입니다. 그런데 필자는 왜 C#을 이용하여 하려는 걸까요? 첫번째 이유는 저는 자바스크립트를 잘 모릅니다. 두번째 이유는 저는 C#을 어느정도는 압니다. 세번째 이유는 자바스크립트로 작성을 하게 되면 결국엔 기술적인 측면에서 C#으로 다시 오게 된다고 하더군요. (유니티 게임 개발자들의 말) 네번째 이유는 C#이 조금 더..