유니티 튜토리얼 실습.

Slides:



Advertisements
Similar presentations
1/ 편집 기능 사용하기 – 실습 1 글자 모양을 바꾸고 싶은 곳을 블록 설정 [ 글자 모양 ] 대화 상자에서 [ 글꼴 ] ‘ 궁서체 ’, [ 글자 색 ] ‘ 토마토색 ’ 으로 선택 → [ 설정 ] 클릭 → 글자 모양 변경.
Advertisements

게임엔진 Term Project 학번 : 이름 : 오민형 2D 게임 프로그래밍 Project.
대림대학교 2017년도 1학기 강의 왕보현 순서도와 스크래치 5주차 대림대학교 2017년도 1학기 강의 왕보현
순차, 조건, 반복 이점숙 같은 문제 다르게 해결하기 순차, 조건, 반복 이점숙
Chapter09 CSS3 애니메이션 HTML5 Programming.
149개의 실습예제로 배우는 Flash 8.
<<< 시스템등록정보 “하드웨어-장치관리자” 설정 >>>
Image & Video processing
제2장 주파수 영역에서의 모델링.
Java 프로그래밍 - 팩맨(Pacman) -
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
모 바 일 게 임 제 작 한국IT전문학교 박재성.
3D Project Cloud Warcraft 박 종 선.
2d 게임 프로그래밍 기말 프로젝트 1차 발표 김대현.
사원수 (Quaternion)
Open Graphics Library 팀 명 : Spes 송정웅 김정환
모 바 일 게 임 제 작 한국IT전문학교 박재성.
openGL Project 제안서 - 해상 전투
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
스크래치 언어 이해 스크래치 이용법 습득 고양이가 말을 하며 움직이는 예제 작성
C#.
Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL 로봇 프로그래밍
1차 프로젝트 발표 GAME ENGINE 게임 공학과 이성진.
최종 발표 학번: 이름: 박기범 학번: 이름: 정영옥.
Unity로 만드는 안드로이드 앱 유니티 프로젝트의 구성 Made by Karoid.
홀인원2.0 설치 메뉴얼.
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Samsung Software Membership 3D MIM 신진수
2차시: 달의 공전 지구과학
2D게임 프로그래밍 1차 발표 자료 정재훈.
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
2D Game Programming Project 1
웹디자인
1차시: 낮과 밤이 생기는 원리 지구과학
COMPUTER ANIMATION (Key Frame Animation)
인체 대 탐험 3D GAME ENGINE 게임 공학과 이성진.
2D 게임 프로그래밍 BUBBLE BOBBLE 제민경.
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
Tween Animation 천승현.
1. 스크립트 작성 마법사 2. NSIS 스크립트 컴파일
2D 게임프로그래밍 프로젝트 스틱 파이터 Stick Fighter 박하은.
WPF 3D 그래픽 발표자 : 조 현 민.
Teaming pms.
Cold Spring Harbor Laboratory Press 저널 이용 매뉴얼
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
모 바 일 게 임 제 작 한국IT전문학교 박재성.
단축키 기능 1. 단축키 기능 설명 Alt + R 조회 S 저장 I 삽입 A 추가 D 삭제 P 출력 Q 닫기
1차 발표: 프로젝트 발표 안내 및 형식 학번: 이름: 김경우.
컴퓨터 구성요소와 사용 컴퓨터 문서 작업 인터넷 활용
3차 발표: 양궁 게임 학번: , 이름: 조형윤, 박지훈.
2D 게임프로그래밍 프로젝트 발 록 런 김대호.
애니메이션 제작 기법 2D 애니메이션 3D 애니메이션 임희영.
메뉴(Menu) 컴퓨터응용 및 실습 I.
2D game programing 게임공학과 임종현.
2D 게임 프로그래밍 프로젝트 박태언.
2D 게임 프로그래밍 제안서 김보명.
9 브라우저 객체 모델.
2D 게임프로그래밍 프로젝트 - Air Clear 심석용.
학번: 이름: 견정수 학번: 이름: 장성우 학번: 이름: 조재훈
2D Game Programming 1차 발표 배강산.
김덕용 게임 엔진론 Project 2차발표.
Power Point 예제 디자인 적용 (서식) - (디자인적용) - (원하는 디자인 선택)
7 생성자 함수.
6 객체.
타이머를 시작하려면 슬라이드 쇼 메뉴에서 쇼 보기를 클릭하십시오.
BoardGame 보드게임 따라가기.
20 XMLHttpRequest.
Presentation transcript:

유니티 튜토리얼 실습

Survival Shooter Tutorial 유니티에서 제공하는 학습용 에셋

기본 화면 구성

기본 화면 구성 Scene View 생성 중인 게임의 전체를 표시 및 조작하는 뷰 캐릭터, 광원 등 게임 오브젝트 의 모든 유형을 선택하고 배치하는 데 사용

기본 화면 구성 Game View 게임 속 카메라를 통해 보여지는 화면을 렌더링 실제 게임 플레이 화면을 보여줌

기본 화면 구성 Hierarchy Window 현재 씬의 게임 오브젝트들을 보임

기본 화면 구성 Project Window 프로젝트에 속한 에셋에 액세스하고 관리할 수 있음

기본 화면 구성 Inspector Window 게임 오브젝트에 포함된 컴포넌트들을 조작 및 확인할 수 있는 공간

기본 화면 구성 Transform Tools 카메라의 이동, 게임 오브젝트의 위치, 회전, 크기 변경   Transform Tools 카메라의 이동, 게임 오브젝트의 위치, 회전, 크기 변경 좌측부터 Q,W,E,R,T,Y 순으로 단축키가 매핑 됨

기본 화면 구성 Play/Pause/Step Buttons 게임을 재생, 멈춤, 프레임씩 진행이 가능

화면 이동 좌측 상단의 모양을 클릭하거나 단축키 ‘Q’를 누른 후 씬 뷰 에서 마우스 좌 클릭 Ctrl + Alt 를 누르며 마우스 좌 클릭 마우스 휠 키를 누르며 마우스 이동 마우스 우측 키를 누른 채 W,A,S,D,Q,E 키를 사용해 화면을 이동 - E는 화면을 위로, Q는 화면을 아래로 움직임

화면 회전 Alt 키를 누르며 마우스 좌 클릭 - 현재 포커스가 맞춰진 게임 오브젝트를 중심으로 화면이 회전 마우스 우 클릭 - 현재 자리에서 회전 (포커스는 씬 뷰에서 게임 오브젝트 좌 클릭 후 F 또는 하이라키 창에서 원하는 게임 오브젝트 더블 클릭)

화면 확대 및 축소 마우스 휠 키를 통해 확대 및 축소 마우스 우측 키를 누른 채 W,A,S,D,Q,E 키를 사용해 화면을 이동 - E는 화면을 위로, Q는 화면을 아래로 움직임

게임 오브젝트 이동 인스펙터의 Transform 컴포넌트의 Position 속성을 조작하여 이동 좌측 상단의 를 누르거나 단축키 W를 누른 후 X, Y, Z 축을 마우스 좌 클릭으로 잡아당겨 이동

게임 오브젝트 회전 인스펙터의 Transform 컴포넌트의 Rotation 속성을 조작하여 이동 좌측 상단의 를 누르거나 단축키 E를 누른 후 X, Y, Z 축을 마우스 좌 클릭으로 잡아당겨 이동

게임 오브젝트 크기 변환 인스펙터의 Transform 컴포넌트의 Scale 속성을 조작하여 이동 좌측 상단의 를 누르거나 단축키 R를 누른 후 X, Y, Z 축을 마우스 좌 클릭으로 잡아당겨 이동

GameObject, Component GameObject - 게임의 모든 객체, 게임을 구성하는 모든 것 모든 게임 오브젝트의 작동과 관련된 구성 요소 유니티에서 제공하는 컴포넌트를 사용하거나 직접 만들어 사용 할 수 있음

Prefabs 씬에 여러 번 재사용되는 NPC, 소품 또는 풍경과 같은 오브젝트 들에 사용됨 프리팹화된 게임 오브젝트들은 동시에 변경이 가능 개별적으로 변경도 가능

Life Cycle

Rigidbody 물리법칙을 적용하기 위한 컴포넌트 - 물리엔진의 제어를 받음 - 대표적으로 회전, 움직임, 중력, 충돌이 있음

두 물체 이상이 충돌했을 경우 충돌 판정을 일으킴 Collider 충돌체 두 물체 이상이 충돌했을 경우 충돌 판정을 일으킴

Vector3 X, Y, Z축의 float 값을 갖는 구조체 벡터에 관한 다양한 함수들이 존재함

Input.GetAxisRaw, Input.GetAxis -1, 0, 1 을 반환 즉각적인 반응이 필요할 때 GetAxis -1 ~ 1 을 반환 부드러운 움직임, 가속이 필요할 때

Normalized 벡터의 정규화 - 크기가 1인 단위 벡터를 반환 (Vector3).normalized.magnitude를 통해 정규화된 크기를 볼 수 있음

Time.deltaTime 1초 / 초당 프레임 수 하드웨어의 성능에 따라 게임의 초당 프레임 수는 다름 유니티의 Update는 매 프레임마다 호출됨 하드웨어의 성능에 게임의 속도가 영향을 받음 Time.deltaTime을 곱하여 보정 프레임당 움직임을 시간당 움직임으로 변경 가능

Physics.Raycast 광선을 발사함 광선이 Collider 에 닿으면 true 닿지 않으면 false 광선이 닿은 물체의 정보를 RaycastHit를 통해 알 수 있음

layerMask 특정 콜라이더에 레이케스트가 반응할 수 있게 함 비트연산자 ~ 를 사용하면 특정 콜라이더만 제외하여 반응할 수 있게 함

Euler Angle, 짐벌락 짐벌락 겹친 축에 의해 의도치 않은 움직임을 보임 짐벌락의 원인 1. 세 축이 종속적 2. X->Y->Z 순차적 계산 (순서는 바뀔 수 있음)

Quaternion 세 개의 축이 동시에 움직여 짐벌락 문제를 해결 유니티는 내부적으로 쿼터니언을 사용하여 회전 복잡한 숫자를 기반이라 이해가 어려움 유니티에서는 오일러각을 쿼터니언으로 쉽게 변경 가능 ex) Quaternion.Euler

Animation Animator 이전에 사용되던 컴포넌트 옛 버전 에셋과 호환을 위해 남겨짐

Animator 캐릭터 또는 오브젝트의 애니메이션들을 배치 및 관리 파라미터 - 스크립트에서 애니메이션 전환을 조작하기 위함 - 파라미터 종류 Trigger : 애니메이션을 끝까지 마친 후 돌아옴 Bool : True, False시 애니메이션 즉시 변경 그 외 : Float, int

Animator override controller 캐릭터마다 애니메이션의 로직은 같지만 애니메이션은 다를 경 우 사용함 애니메이션의 로직을 그대로 사용한채 애니메이션만 변경 가능

Navigation 경로 찾기 알고리즘을 대신 구현 - 대표적인 예로 A* 알고리즘은 구현이 복잡하고 비용이 높음 이러한 문제를 해결하기 위해 경로 추적을 유니티 자체의 기능으로 만듦 NavMesh - static 으로 설정된 게임 오브젝트들의 정보를 이용하여 움직일 수 있는 곳, 움직일 수 없는 곳을 정함 Obstacle - static이 아닌 물체를 장애물로 인식시킬 수 있음

Nav Mesh Obstacle Static 이 아닌 게임 오브젝트를 동적 장애물로 인식 성능이 낮아 제대로 경로를 찾지 못할 가능성이 있음 Carve 옵션으로 실시간 베이킹 가능 - 단, 비용이 높음

OnCollisionEnter 충돌할 때 발생하는 이벤트 함수 충돌할 때 한번 발생

OnCollisionStay 충돌 중일 때 발생하는 이벤트 함수 충돌 중이라면 지속적으로 발생

OnCollisionExit 충돌 중에서 벗어날 때 발생하는 이벤트 함수 충돌 중을 벗어날 때 한번 발생

OnTriggerEnter 충돌 판정은 있으나 물리연산을 하지 않음 충돌하는 두 물체 중 최소 하나는 isTrigger 속성이 설정되어 있 어야 함 충돌할 때 한번 발생

OnTriggerStay 충돌 판정은 있으나 물리연산을 하지 않음 충돌하는 두 물체 중 최소 하나는 isTrigger 속성이 설정되어 있 어야 함 충돌 중이라면 지속적으로 발생

OnTriggerExit 충돌 판정은 있으나 물리연산을 하지 않음 충돌하는 두 물체 중 최소 하나는 isTrigger 속성이 설정되어 있 어야 함 충돌 중을 벗어날 때 한번 발생

Post Processing 후처리 기법 - 원본에 효과를 줌 Bloom - 빛 번짐 효과 Chromatic Aberration - 색수차 효과(프리즘과 비슷한 효과) Vignette - 가장자리 광량 부족 효과

Point Light 모든 방향에서 빛이 방출되는 3D 공간의 점 전구와 비슷한 효과를 냄