언리얼4 플레이어 컨트롤러의 이해

30
폰폰 폰폰폰폰 폰폰폰폰폰 폰폰폰 ? 도도도 도도도도 도도도도도 도도 - 도도도 도도 Jeff Farris 도도 도도 도도도도 도도도도도도도도 도도도도도 도도도 도도도

Upload: wuwon-yu

Post on 30-Jun-2015

1.179 views

Category:

Technology


5 download

DESCRIPTION

유니티 등 타 엔진 이용자들이 언리얼 엔진을 다룰때 폰과 콘트롤러의 분리된 컨셉을 이해하기 힘들어 하는 부분을 정리하였습니다.

TRANSCRIPT

Page 1: 언리얼4 플레이어 컨트롤러의 이해

폰과플레이어컨트롤러의관계는 ?

도데체왜이렇게복잡한거죠왜죠- 언리얼 포럼 Jeff Farris 님의 글을 인용하여 작성해보았습니다

스킬트리랩 이득우유우원

Page 2: 언리얼4 플레이어 컨트롤러의 이해

UE4 를시작했어요 .

Page 3: 언리얼4 플레이어 컨트롤러의 이해

UE4 를시작했어요 .

Page 4: 언리얼4 플레이어 컨트롤러의 이해

그리고멘붕의시작 .

??

Page 5: 언리얼4 플레이어 컨트롤러의 이해

그리고멘붕의시작 .

폰 ? 캐릭터 ? 컨트롤러 ?HUD 는알것도같고 ...

캐릭터는알겠는데컨트롤러랑은다른건가 ?

Page 6: 언리얼4 플레이어 컨트롤러의 이해

그리고멘붕의시작 .

폰 ? 캐릭터 ? 컨트롤러 ?HUD 는알것도같고 ...

캐릭터는알겠는데컨트롤러랑은다른건가 ?

… 대체 왜 나누어져 있는거야

Page 7: 언리얼4 플레이어 컨트롤러의 이해

‘ ’ 언리얼엔진에서 사람을대표하는방식

‘ ’ ‘ ’ 게임내에서우리는보통 폰과 컨트롤러로 대표되는 2 가지의에이전트를사용합니다 .

폰 은게임내에서에이전트를표현한다고보면되고 , 플레이어 컨트롤러 ‘ ’ 는 의지 또는 '뇌 ' 를

대행한다고보면됩니다 .

Page 8: 언리얼4 플레이어 컨트롤러의 이해

마치이렇다고 생각하시면됩니다 .

폰 Pawn 플레이어컨트롤러

Page 9: 언리얼4 플레이어 컨트롤러의 이해

빙의 Possess 가뭐야 ?

‘ ’ ‘ ’ 컨트롤러는폰을 빙의하거나 빠져나오는것을수행하는데 , ‘ ’ 이것은 폰의컨트롤을가져오거나

놓아주는것입니다 .

Page 10: 언리얼4 플레이어 컨트롤러의 이해

Possess Unpossess

Page 11: 언리얼4 플레이어 컨트롤러의 이해

플레이어컨트롤러란 간단히 말해 , 플레이어 컨트롤러는 ,

게임내에서 인간 플레이어의 의지를 대표한다고 보면 됩니다 .

PlayerController =

Humans Will

Page 12: 언리얼4 플레이어 컨트롤러의 이해

컨트롤러의종류 컨트롤러는 2 가지 종류가 있습니다 .

PlayerController = 플레이어의의지

Page 13: 언리얼4 플레이어 컨트롤러의 이해

컨트롤러의종류 컨트롤러는 2 가지 종류가 있습니다 .

AIController =인공지능

PlayerController = 플레이어의의지

Page 14: 언리얼4 플레이어 컨트롤러의 이해

샘플예제 Tappy Chicken

Actor TypeBlueprint

Page 15: 언리얼4 플레이어 컨트롤러의 이해

샘플예제 Tappy Chicken

Page 16: 언리얼4 플레이어 컨트롤러의 이해

샘플예제 Tappy Chicken

Page 17: 언리얼4 플레이어 컨트롤러의 이해

샘플예제 SpherePhysicsMove

Page 18: 언리얼4 플레이어 컨트롤러의 이해

샘플예제 SpherePhysicsMove

Sphere = Pawn Type BP

Page 19: 언리얼4 플레이어 컨트롤러의 이해

샘플예제 SpherePhysicsMove

BP ParentClass : PlayerController

Page 20: 언리얼4 플레이어 컨트롤러의 이해

샘플예제 SpherePhysicsMove

Page 21: 언리얼4 플레이어 컨트롤러의 이해

좀더구체적으로보면1. 입력을 캐릭터 (폰 ) 에서 받는것도 괜찮습니다 . 그건

자연스러운 발상이고 , 특히 복잡하지 않은 케이스에 , 제대로 작동된다고 볼 수 있습니다 .

그러나 , 만약 멀티플레이어 게임에서 서로의 캐릭터를 런타임에 다이나믹하게 바꾼다면 아마도 인풋을

플레이어컨트롤러에서 처리하는것이 나을것입니다 .

Page 22: 언리얼4 플레이어 컨트롤러의 이해

좀더구체적으로보면2. 보통 마리오네트 스타일 모델을 주로 사용합니다 .

플레이어콘트롤러가 판단하고 폰에게 명령하는 형태입니다( 무뤂꿇어 . 일어나 . )

Sit Down !

Page 23: 언리얼4 플레이어 컨트롤러의 이해

좀더구체적으로보면3. 가끔은 필수불가결입니다 . 멀티플레이어 게임에서 ,

컨트롤러는 폰이 바뀔때에도 유지되어야 합니다 . ( 당신이 죽고 리스폰하면 , 새 폰 ( 심지어 다른 병과로 !) 을 가지고

시작하겠지만 컨트롤러는 같겠지요 )

I’ve got (new) Pawn

Page 24: 언리얼4 플레이어 컨트롤러의 이해

좀더구체적으로보면4. 기본적으로 빙의 / 컨트롤 관계는 1:1관계입니다 . 고로 컨트롤러는

하나의 폰을 컨트롤합니다 . 그리고 폰은 거의 언제나 하나의 컨트롤러에게 콘트롤을 받습니다 .

= 이는 소스코드를 고침으로서 바꿔버릴 수도 있습니다 .

( 요즘 멀티플레이어 탈것은 사수가 둘이거나 셋 이상인 경우도 있지요-플래닛사이드처럼 )

그러나 이때에도 비행콘트롤 만큼은 하나입니다 . … 사공이 많으면

Page 25: 언리얼4 플레이어 컨트롤러의 이해

좀더구체적으로보면5. 이건 포럼에서 여러번 논의되는 일이지만PlayerController 의 ControlRotation 은 로테이션 인풋을

받아오는데에서 아주 유용합니다 .

Page 26: 언리얼4 플레이어 컨트롤러의 이해

프로젝트타입을선택하는이유

Page 27: 언리얼4 플레이어 컨트롤러의 이해

프로젝트타입을선택하는이유

처음에 프로젝트 타입을 선택할때 적당한 해당 폰과 콘트롤러를 셋업해주는 것입니다 .

Mycharacter : Pawn

Page 28: 언리얼4 플레이어 컨트롤러의 이해

Character 는뭐고 Pawn 은뭐에요 ?(캐릭터 ) 는 걸어다닐 수 있는 능력을 지닌 특수

유형 Pawn 을 말합니다 .Pawn = 콘트롤러가 빙의할 수 있는 모든 것 .

캐릭터를 포함합니다 .

Page 29: 언리얼4 플레이어 컨트롤러의 이해

Character 는뭐고 Pawn 은뭐에요 ?(캐릭터 ) 는 걸어다닐 수 있는 능력 을 지닌 특수

유형 Pawn 을 말합니다 .Pawn = 콘트롤러가 빙의할 수 있는 모든 것 .

캐릭터를 포함합니다 .

캐릭터 포함

Page 30: 언리얼4 플레이어 컨트롤러의 이해

FIN