introduce unity3d and playmaker basic
DESCRIPTION
유니티 소개와 playmaker의 기본 사용법TRANSCRIPT
Unity 生 기본
Unity
유니티란 ?게임 개발 툴 = 게임 엔진 + 에디터
< 유니티 기본 예제 angry bot >
Unity
강력한 asset 스토어의 지원을 받을 수 있다 .
다양한 플랫폼으로 포팅이 가능하다 .
자바스크립트 , C# 등의 언어로 쉽게 스크립트를 작성할 수 있다 .
무료버전이 점점 강력해지고 있다 .
프로버전도 다른 상용 엔진들에 비해 저렴하다 .
요즘 대세다 → 배울 곳이 많다 .
Unity 화면 구성
Scene view
Game view
Hierarchyview
Projectview
inspectorview
Scene view
현재 scene 의 상태를 시각적으로 확인하기 위한 화면
< object 를 drag & drop 으로 이동시킨 모습 >
우측 상단 핸들로 scene 을 특정 축에서 바라볼 수 있고
좌측 상단에 위치한 버튼들을 이용하여 ,물체를 선택 및 이동 , 회전 , 크기변경 할 수 있다 .
Scene view
Game view
Game view
게임을 Preview 하기 위한 화면
편집 중인 오브젝트가 실제로 어떻게 보이는지 확인할 수 있다 .
위 버튼들을 사용하여 화면상에서 실제로 게임을 플레이 해볼 수 있다 .
Game view 바로 위에 버튼들을 사용하면 화면 비율 및 크기 , 리소스 현황 object 상태 등을 알 수 있다 .
< Gizmos 적용 전 후 >
Hierarchy view
Hierarchyview
Scene 에 배치된 Object 들을 화면에 표시하는 화면Object 들의 계층 구조가 어떻게 되어있는지 확인 가능
Create 를 통해서 새로운 Object 를 추가할 수 있다 .
< Create → Cube 로 cube object 를 생성한 모습 >
Project view
Project 에 포함된 data(asset) 들을 표시한다 .이 뷰의 내용은 실제 project 폴더 하위의 asset 폴더 내용을 그대로 반영한다 .
Create 를 이용해서 새로운 속성이나 script 들을 추가할 수 있다 .
Projectview
< Create → Javascript 로 script 파일을 생성했다 . >
Inspector view
inspectorview
Inspector view
object 및 data 들의 내용 , 속성을 표시한다 .
Inspector view 하단에 위치한 Add com-ponent 를 클릭하여 다양한 속성을 추가할 수 있다 .
< Add Component 로 particle 을 추가한 모습 >
MonoDevelop
Unity 내장 Script 편집기
javascript, C#, boo 등의 언어를 지원하며 개별 언어에 대한 지식이 없더라도 쉽게 사용할 수 있도록 되어있다 .
start() function 에 초기화할 부분들을 넣고update() function 에 매 frame 마다 반복 실행될 내용을 작성하여 사용한다 .
< Script 파일 double-click 으로 Monodevelop 을 실행 , script 를 편집할 수 있다 . >
Build & Run
작성한 scene 들을 Platform 에 맞춰 빌드할 수 있다 .standalone 을 선택할 경우 현재 OS 에 맞게 exe 파일 등이 생성되고 , web player 를 선택한 경우에는 html 형식으로 생성되어 web 에서 바로 플레이할 수 있다 .
http://msprecious.com/ex03/ex03.html
android 등의 platform 으로 porting 할 때는 android-sdk 등이 설치된 경로를 지정해 주어야 한다 .
< Web player 선택 시 출력 파일 >
Asset Store
model, script, tool, audio 등 게임 제작에 필요한 각종 resource 들을 구할 수 있는 일종의 마켓으로 다양한 무료 asset 이 있고 , steam 처럼 가끔 세일도 함 .
상단 메뉴바 → Window → Asset store맘에 드는 asset 선택 후 download 클릭 ( 유료 에셋의 경우 결제 ),download 완료 후 import 버튼으로 현재 project 에 삽입 가능
FSM
Finite State Machine
컴퓨터 공학 / 수학 쪽에서 오래 전부터 널리 사용해오던 개념 .현재상태 , 입력 , 출력상태 , 전이함수 4 가지 요소로 나뉘며 ,
현재 상태 (state) 와 입력 (action) 에 따른전이함수 (event) 로 출력상태 (state) 를 결정한다 .
게임에서는 몹 AI 처리 등에 활용하고 있다 . ( 모든 경우에 대해 if ~ else 로 처리하는 것은 한계가 있으므로 )
http://blog.naver.com/qkfkf123?Redirect=Log&logNo=60190218851http://gameai.net/Article/FSM_Monster/FSM_Monster.htm
PlayMaker 玩
FSM 기반 visual scripting tool
state 생성 후 지정한 action( 키보드 , 마우스 , 다른 object 의 상태 변화 등등 ) 발생 시 특정 event 를 호출하여 해당 event 가 가리키는 다른 상태로 state 를 전이 시킨다 .
PlayMaker 玩
import @asset storePlaymaker import
open playmaker @project viewPlaymaker double click
PlayMaker 玩
select object @scene viewclick object
select object 2 @ hierarchy viewclick object
PlayMaker 玩
add state @playmaker viewright click → add state
add event @playmaker → Eventsinsert event name → enter
PlayMaker 玩
add transition @playmaker viewright click → add transition → se-lect
add action @playmaker → EventsAction Browser → select Ac-tion
PlayMaker 玩
set state @playmaker → StateState 에 추가한 action 의 세부사항을 설정 .
일부 action 들은 send event 로 지정한 event 를 발생시킨다 .
set event @playmaker viewdrag “LeftClick” event to “S-tate2”
PlayMaker 玩
play FSM @playmaker → State아래 ▶ 버튼으로 FSM 테스트 실행
이런 식으로 state 와 action, event 등을 늘려가며동작하는 script 를 쉽게 만들 수 있다 .
끗
Thank you
QnA