본문 바로가기

한게임게임제작

(42)
8. 유니티 교육 (유니티 기본3) 1. 무기를 만들고 공격하자 지난번까지는 환경을 만들어 보았다.동전도 먹고, 불도 만들어서 캠프파어도 만들고!그럼 이번에는 무기를 만들어서 공격동작을 만들어 보자.결국 몹들을 때려죽이는게 게임의 기본아니겠는가..ㅋㅋ 무기는 애셋스토어에서 다운받을수도 있겠지만, 우리는 간단하게 실런더를 이용해서작은 봉을 만들어 보았다.여기서 중요한것은 실린더로 봉을 만들고 이것을 반드시 FirstPersonCharater의 자식으로 넣어두어야 한다.나도 강의를 들으면서 알게됬지만, 각 객체의 좌표는 결국 부모를 기준으로 좌표를 잡는거 같다.봉이 1인칭캐릭터를 부모로 가지게되면, z값만 조금 조정하여서 무기가 앞에 있는거 처럼 나들수 있다.(보통의 일인칭게임처럼) 봉이 완성되면! 애니메이션을 만들면된다.애니메이션은 전에도 ..
7. 유니티 교육 (유니티 기본2) 1. 외부객체 사용하기 유니티를 하다보면, 외부 3D객체를 사용하고싶을때가 있는데,아주 간단하게 사용할수있다. 3DMax나 Maya로 만든 객체를 추출한후 그냥 유니티의 애셋에다가 카피하면 바로 사용할수 있다.하지만 객치를 그저 객체일뿐이니가 충동체크라든지 이외의 현상은 직접 수정해주어야 한다. 간단하게 만들어보면,우선 강을 만든다. 강은 지형을 전체적으로 높인후, 강이 갈 길만 shift를 누르고 클릭해서 낮쳐준다.그런후 기본 애셋에서 물을 선택히 추가해주면 마치 강처럼 보이게 만들수 있다. 그리고 그 강위에 3DMax로 만든 다리를 가져다 놓으면 보기에는 완벽해보이나,직접 캐릭터를 조정해서 움직여보면 물리현상이 들어가 있지 않다. 외부객체에 물리현상을 구현시키는방법은 아주 쉽다.외부객체를 클릭후 in..
6. 유니티 교육 (유니티 기본) 1. 유니티 기본정리 유니티뿐만이 아니라 어떤 툴이든지 편하게 사용하려고 가장 중요한것이 아마도 단축키라고 할수있다.예전에 군대에서 전산병으로 근무했을때 아직도 기억하는것이, 자대 배치받고 멍하니 있으니까선임병이 엑셀과 한글 단축키 목록을 가져오더니 이번주까지 다 못외오면 죽는다고 협박했던 기억이 떠오른다.하...정말 힘들었지만, 한 1년넘게 하다보니까 내스스로도 무슨 엑셀과 한글의 신이 된거 같은 느낌이 들었다..ㅋㅋ이와 같이 어떤 툴에 익숙해지는게 가장 중요한것은 바로 단축키! 유니티도 역시 많은 단축키가 있지만, 가장 중요한 단축키에 대해서 알아보자! 가장 중요한 단축키는 아마도 q,w,e,r이라고 할수 있다. q는 환면이동으로, 마우스 왼쪽클릭하고 화면을 이동시킬수 있다. w는 객체이동이라고 할수..
5. 유니티 교육 (C++로 구현한 간단한 게임) 1. C++로 구현한 간단한 게임 c++를 이용해서 아주 간단한 게임을 만들어 보았습니다.system의 cls를 이용해서 프레임을 구현해 보았구요.SetConsoleTextAttribute를이용해서 색깔을 입혀 보았습니다. 우선 코드는 다음과 같습니다. #include#include#include#include#include#include #define LEFT 75#define RIGHT 77#define UP 72#define DOWN 80 struct Monster{//이름은 10자리 이하로char name[10];//hp에 마이너스는 없으므로 언사인드를 사용한다.unsigned int health;//몬스터의 무기. 메모리 절약을 위해 1바이트만 사용한다char weapon;//생성위치int po..
4. 유니티 교육 (간단한 게임 구조만들기) 1. 간단한 게임 구조 만들기 한 3일동안 c언어의 거의 모든것을 공부했으니까!?공부했나? ㅋㅋ 함수와 구조체 그리고 포인터를 공부했으니 거의 모든것을 했다고 해도 과언이 아닐것이다.이제는 지금까지 공부한것을 토대로 간단한 게임구조를 만들어보자~~ #include#include#include#include int walkStamina = 1;int runStamina = 3;int weaponPoint = 1;int damagePoint = 1;int restPoint = 10; //무기 이름 배열char weaponName[4][10] ={ "axe", "sword" ,"gun" ,"rocket" }; //------------------struct//주인공 캐릭터의 정보를 저장할 구조체 설계//1.이..
3. 유니티 교육 (구조체와 함수) 1. 구조체와 함수 오늘은 C언어의 꽃이라고 할수 있는? 포인터 아닌가? 아무튼 엄청 중요한 구조체와 함수에 대해서 공부해보았습니다.게임을 만들때에 있어서도 구조체는 엄청 중요할거 같내요.함수야 프로그래밍에서 절대 없어서는 안되는 개념이니까요. 당연히 숙지해야하구요! 우선 다음 소스를 보시죠~ #include#include#include#include struct Monster{//이름은 10자리 이하로char name[10];//hp에 마이너스는 없으므로 언사인드를 사용한다.unsigned int health;//몬스터의 무기. 메모리 절약을 위해 1바이트만 사용한다char weapon;//생성위치int pos[2];}; int getRandNum(int num) {int returnValue;retu..
2. 유니티 교육 (C++교육) 1. 배열 어제 공부한거에 이어서 오늘은 배열에 대해서 학습해보겠습니다.C++과정은 비쥬얼 스튜디어 2015에서 실행했습니다. #include void main(void) { //여러개의 변수를 묶어 놓은것 (배열)//들어가는 데이터의 종류는 다양함. 대신 같은 종류로만 가능함.//크기는 자유이지만, 메모리가 어느정도 허락하는 선을 지키는것이 좋음.char Data[5] = { 'A','B', 'C', 'D', 'E' }; //배열에는 각각의 위치번호가 붙는데 이것을 이용하면, 아래와 같이 데이터를 지정할수 있다.printf("%c %c %c %c %c ", Data[0], Data[1], Data[2], Data[3], Data[4]); int numData[5] = { 100, 200, 300, 40..
1. 유니티 교육 (C++교육) project창고같은곳 hierarchy창고에서 필요한것을 빼내서 쓴다. console에러가 나면 메세지를 출력한다 inspector체크박스는 왠만하면 건들지 않는다. 퍼포먼스랑 관련이 있다. 유니티 코딩툴 정하기edit에서 preference클릭후 external script editor에서 설정한다. 1. C++기본 //라이브러리파일을 가져옴.(미리 만들어놓은 코드)//stdio.h 파일안에는 printf 라는 명령어가 있음.(화면출력담당)#include //컨트롤F5 실행시키면 main을 찾아서 실행시킨다.//c언어는 대소문자를 구분한다.void main(void) {/*//저장소(변수)= 숫자int keyboard = 0; printf("임의의 숫자를 입력해주세요:"); //키보드로 입력받아서 저..