Question>
'Player Start' actor를 여러 개 배치했다.
game이 진행되면서, player를 재생성해야 할 시점에,
player의 생성 위치를 다양하게 바꾸고 싶다.
s!crip이나 kismet으로 어떻게 접근하면 되겠는가?
-------------------------------------------------------------
Answer>
#1.kismet으로 접근하는 방법.
kismet의 sequence object 중에 'Actor Factory' object을 살펴 보면,
'Spawn Points'라는 항목이 있습니다.
여기에 'Player Start' actor들을 등록시킨 다음,
player의 pawn을 'Actor Factory' object으로 생성시키면 됩니다.
pawn 생성 이후에 'Assign Controller' object로
pawn의 통제 권한를 player가 갖도록 해 주셔야 하고요.^^
#2. s!crip으로 접근하는 방법.
'class GameInfo'의 함수인 RestartPlayer()를 중심으로 살펴 보시면 됩니다.^^
source를 보시면 아시겠지만, 우선적으로 하는 일은
FindPlayerStart()로 'Player Start' actor를 찾는 겁니다.
그 다음에 찾은 actor의 위치와 방향을 참고해서, pawn을 생성하고,
Possess()를 호출 시켜서, pawn의 통제 권한을 player가 갖도록 해 주셔야 하고요.^^
어느 쪽으로 접근하든, 각 절차가 갖는 의미는 유사합니다.
취향에 따라 고르세요~ ^^
P.S.
반드시 'Player Start' actor여야 한다는 강제력은 없습니다.
분석을 해 보시면 아시겠지만, 그냥 actor이기만 해도,
시작 지점으로 사용하는데, 기술적으로 전혀 문제가 없습니다.
즉, 'Player Start' actor를 사용하는 것은
일종의 'convention(관례)'입니다.^^;;;;;;;;;;;
따라서, '관례'에 매이는 게 싫으시면,
나름 창의력을 발휘하셔서, 님만의 방법을 만드는 것도 가능합니다.
(제가 그렇게 하고 있어서, 이런 얘기를 하는 건 절대로 아닙니다.^^;;;;;;)
Tag:
안기훈, Kee Hoon Ahn, Unreal, UDK, iPhone, iPad, app, 앱, iOS