모 바 일 게 임 제 작 한국IT전문학교 박재성.

Slides:



Advertisements
Similar presentations
Windows Function Windows XP Windows 7 Windows 8 FREE 조장 : 김동환 조원 : 전태우
Advertisements

어서와 Java는 처음이지! 제20장 실전프로젝트 #2.
스마트워크(가상화) 외부 접속 방법 정보관리실.
대림대학교 2017년도 1학기 강의 왕보현 순서도와 스크래치 5주차 대림대학교 2017년도 1학기 강의 왕보현
Chapter09 CSS3 애니메이션 HTML5 Programming.
149개의 실습예제로 배우는 Flash 8.
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
3차시: 인터랙티브 콘텐츠 만들기 소요시간: 45분 준비물 홀로그램 키트 스마트폰 SPL3D 편집기 저작툴.
1차시: 질량 및 탄성 제어하기 SPL3D VR 툴 설치하기 구체(공) 도형 추가 후 질량 부여하기 바닥 추가하기
모 바 일 게 임 제 작 한국IT전문학교 박재성.
연결리스트(linked list).
1-1 일과 일률.
Power Java 제2장 자바 개발 도구.
차량용 교류발전기 alternator Byeong June MIN에 의해 창작된 Physics Lectures 은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 3.0 Unported 라이선스에 따라 이용할 수 있습니다.
19장 스윙과 이벤트 처리 Section 1 스윙 컴포넌트 Section 2 이미지 아이콘과 라벨
레고 Digital Designer 사용법 알아보기
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
모 바 일 게 임 제 작 한국IT전문학교 박재성.
openGL Project 제안서 - 해상 전투
1. C++ 시작하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
제 2 장 WML 시뮬레이터 및 무선인터넷 서버 설치
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
1차 발표: 프로젝트 발표 가이드라인 학번: 이름: 강병욱.
Power Java 제14장 배치 관리자.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
스크래치 언어 이해 스크래치 이용법 습득 고양이가 말을 하며 움직이는 예제 작성
유니티 튜토리얼 실습.
반응형 웹 프로젝트
1차 프로젝트 발표 GAME ENGINE 게임 공학과 이성진.
OPENGL Project 결과보고서 (알카포네의 다이어트)
Samsung Software Membership 3D MIM 신진수
2차시: 달의 공전 지구과학
2D게임 프로그래밍 1차 발표 자료 정재훈.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
1차시: 낮과 밤이 생기는 원리 지구과학
OpenGL (spaceship movement) PROJECT 2012.
인체 대 탐험 3D GAME ENGINE 게임 공학과 이성진.
자바 5.0 프로그래밍.
Tween Animation 천승현.
1. 스크립트 작성 마법사 2. NSIS 스크립트 컴파일
빌드 성공.
단축키 기능 1. 단축키 기능 설명 Alt + R 조회 S 저장 I 삽입 A 추가 D 삭제 P 출력 Q 닫기
수동 설치시는 설치 방법 1. 두번에 설치 CD 속에 fscommand 폴더 밑에 Osstem 이라는 폴더를
플래시 CS3 액션스크립트3.0.
1차 발표: 프로젝트 발표 안내 및 형식 학번: 이름: 김경우.
영상처리 실습 (OpenCV + MFC) Chonbuk National University A.I. Lab.
공도의 실버라이트 하기 좋은 날 퍼스펙티브 3D로 깊이 있게.
컴퓨터 구성요소와 사용 컴퓨터 문서 작업 인터넷 활용
3D 프린팅 프로그래밍 03 – 도형 회전 (손잡이컵 만들기) 강사: 김영준 목원대학교 겸임교수.
3차 발표: 양궁 게임 학번: , 이름: 조형윤, 박지훈.
1. 정투상법 정투상법 정투상도 (1) 정투상의 원리
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
7장 원운동과 중력의 법칙.
2D 게임 프로그래밍 제안서 김보명.
9 브라우저 객체 모델.
학번 : 이름 : 김종걸.
학번: 이름: 견정수 학번: 이름: 장성우 학번: 이름: 조재훈
OpenGL 프로젝트 「링 통과하기」 게임&멀티미디어 이인석.
2D Game Programming 1차 발표 배강산.
Excel 일차 강사 : 박영민.
Power Java 제14장 배치 관리자.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
Docker Study 6~7.
7 생성자 함수.
6 객체.
Presentation transcript:

모 바 일 게 임 제 작 한국IT전문학교 박재성

4 장 게임 제작의 기초(1) 모 바 일 게 임 제 작

4.1 유니티의 거리 단위(Unit) Unit은 가상의 거리 단위 유니티에서 유닛은 미터(m)로 설정한다.

4.2 컴포넌트와 속성 속성 : 오브젝트의 위치, 방향, 질량 등 개별적인 값. 컴포넌트 : 서로 관련된 속성을 묶어둔 것..

4.2 컴포넌트와 속성 Transform Position : 원점으로 부터 거리가 Unit으로 표시됨. Rotation : 각 축에 대한 회전각을 60분법으로 표시. 시계방향이 양(+)의 방향 Scale : 각 축에 대한 확대/축소 비율 표시

4.2 컴포넌트와 속성 (2) Collider 충돌체. 오브젝트의 피부와 같은 개념. 콜라이더가 없으면 충돌을 일으킬 수 없어서 다른 물체가 뚫고 지나간다. 3ds Max등 외부 프로그램에서 만든 오브젝트는 콜라이더가 없음.

4.2 컴포넌트와 속성 (3) Rigidbody 물리적인 특성을 부여하는 컴포넌트. 충돌을 탐지하는 오브젝트에는 리지드바디가 있어야 한다. 벽과 공이 충돌할 때 충돌을 공에서 처리하려면 공에 리지드바디가 있어야 하고, 충돌을 벽에서 처리한다면 벽에 리지드바디가 있어야 한다.

4.3 유니티의 좌표계 World 좌표계 화면의 중심이 원점(0, 0, 0)이 됨. 카메라의 위치와 회전 상태에 따라 원점이 달라 진다. 카메라를 x축 기준으로 90도 회전시켜 카메라가 바닥을 보게 하면, y축과 z축이 바뀜.

4.3 유니티의 좌표계 (2) Screen 좌표계 화면의 왼쪽 아래가 원점(0, 0)이 됨. 마우스 클릭이나 터치는 스크린 좌표계를 이용한다. 카메라와 상관없이 항상 일정 하다.

4.3 유니티의 좌표계 (3) GUI 좌표계 화면의 왼쪽 위가 원점(0, 0)이 됨.

4.3 유니티의 좌표계 (4) Viewport 좌표계 화면의 왼쪽 아래가 (0, 0), 오른쪽 위가 (1,1)이 됨. GUI Text와 매트리얼의 Offset을 설정하는 데 사용.

4.4 유니티의 Vector Vector2 : 평면의 위치, Vector2(x, y) Vector3 : 공간의 위치, Vector3(x, y, z) Vector4 : 4개의 값, Vector4(r, g, b, a)

4.9 오브젝트의 낙하 Plane과 Sphere를 추가 Sphere에 Rigidbody추가. Component > Physics > Rigidbody

4.10 오브젝트의 반사 Project뷰에서 Create > Physic Material 추가. 이름을 Bouncy로 변경 Sphere에 Bouncy 적용.

4.11 사운드 연주 Project뷰에 사운드 파일을 추가 한다. Sphere에 오디오 클립을 드래그 하여 Audio Source 를 추가한다.

4.12 충돌의 판정 Create > C# Script 선택. CsBall.cs 생성 1) 클래스명과 파일명은 같아야 함. 2) 영문 대소문자 구분 있음 3) 메서드 이름과 자료의 형은 첫 문자를 대문자로 한다. Start() : 게임이 시작될 때 한 번 실행됨. Update() : 게임의 매 프레임 마다 호출됨. 게임 Loop. Void OnCollisionEnter(Collision coll){ audio.play(); }

4.12 충돌의 판정 Sphere에 스크립트를 연결한다.

4.13 오브젝트 움직이기 CsMove.cs 생성 int speed=5; // 5 m/s. 속도= 거리/시간 Void Update(){ float amtMove=speed*Time.deltaTime; transform.Translate(Vector3.forword*amtMove); //transform.Translate(new Vector3(0,0,1)*amtMove); } - 스크립트를 Cube에 연결

4.14 월드 좌표와 로컬 좌표 월드좌표 적용 transform.Translate(Vector3.forward, Space.World); 로컬좌표 적용 transform.Translate(Vector3.forward, Space.Self); //기본값

4.15 Key로 이동 및 회전하기 좌우 이동 float amtMove=speed*Time.smoothDeltaTime; float keyForward=Input.GetAxis(“Vertical”); //상,하 키 float keySide=Input.GetAxis(“Horizontal”); //좌,우 키 transform.Translate(Vector3.forward*amtMove*keyForward); transform.Translate(Vector3.right*amtMove*keySide); transform.Translate(new Vector3(keySide, 0, keyForward) * amtMove);

4.15 Key로 이동 및 회전하기 - 회전 Int rotSpeed=120; float amtRot=rotSpeed*Time.smoothDeltaTime; float keyRot=Input.GetAxis(“Horizontal”); //좌,우 키 transform.Rotate(Vector3.up*amtRot*keyRot); // y축 기준으로 회전 * Time.smoothDeltaTime 은 첫 프레임부터 현재프레임까지의 평균 경과시간을 의미 한다. Time.deltaTime보다 오브젝트의 움직임이 더 부드럽다.

4.16 계층적인 오브젝트 탱크를 만든다. 탱크에 텍스처를 매핑한다. 포신을 포탑의 하위 개체로 설정한다. 빈오브젝트를 만들어서 본체와 포탑을 결합한다. 스크립트 CsTank.cs를 작성하여 탱크에 적용한다.

4.16 계층적인 오브젝트