여러 character가 1개의 trigger volume에 동시에 들어왔을 때,
각각의 character마다 서로 다르게 처리를 하고 싶고,
한꺼번에 빠르게 처리하고 싶다.
어떤 식으로 하는 게 좋겠는가?
-------------------------------------------------------------
Answer>
kismet으로도 가능은 하겠지만,
각각 다르게 처리한다는 점에서 kismet node가 상당히 복잡해질 거 같습니다.
그래서, 속도나 효율에서 좋을 거 같지가 않네요.^^;;;;;;;
알고 계시겠지만,
trigger volume은 touch라는 event를 발생시킵니다.
그리고,
touch event은 s!crip에서 'class SeqEvent_Touch'로
정의 되어 있고, 아래와 같은 member 변수를 갖습니다.
var array
보시다시피,
진입된 actor들을 모두 가지고 있는 dynamic array입니다.^^
따라서,
'class SeqEvent_Touch'를 상속한 새 class를 만든 다음에,
CheckActivate()를 재정의하시고, 아래와 같이 처리하면 되겠습니다.
1>여러 character들이 위에서 말한 trigger volume에 동시에 진입합니다.
2>unreal engine이 'class SeqEvent_Touch'를 상속한 class의 CheckActivate()을
호출합니다.
3>CheckActivate()에서 touchedList에 있는 actor들을 모두 각각 서로 다르게
한꺼번에 처리합니다~ ^^
위와 같이 한다면,
여러 character가 1개의 trigger volume에 동시에 들어오더라도,
각각의 character마다 서로 다르게,
게다가, 한꺼번에 효율적으로 처리할 수 있겠습니다~ ^^
Tag:
안기훈, Kee Hoon Ahn, Unreal, UDK, iPhone, iPad, app, 앱, iOS