UDN
Search public documentation:

MOBAKitHeroesKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > UDK 젬 > MOBA 스타터 키트 > 영웅

MOBA 스타터 키트 - 영웅


문서 변경내역: James Tan 작성. 홍성진 번역. UDK 2012년 5월 버전으로 최종 테스팅.

개요


영웅은 플레이어가 제어하는 특수한 폰입니다. 특수하다는 것은 플레이어가 스펠을 시전하고, 아이템을 구매하고 사용하고, 죽으면 리스폰도 가능하고 등등입니다.

UDKMOBAHeroAIController


플레이어의 명령을 받은 다음 그에 따라 동작을 수행하는 AI 콘트롤러 입니다. 플레이어가 영웅을 직접 조작하는 것은 아니기에, 플레이어와 영웅 사이의 다리 역할을 위해 필요한 클래스입니다.

함수

  • StartMoveCommand() - 영웅 AI 콘트롤러더러 영웅의 월드 내 어딘가로 이동하라 이르는 함수입니다. 영웅이 이동할 수 없는 위치로 이동 명령을 내린 경우 최종 위치는 자동으로 조정됩니다.
  • StartAttackCommand() - 영웅 AI 콘트롤러더러 적을 공격하라 이르는 함수입니다. 적은 적 크립, 영웅, 타워가 될 수도 있습니다.
  • StartFollowCommand() - 영웅 AI 콘트롤러더러 액터를 따라가라 이르는 함수입니다. 아군 크립, 영웅, 타워가 될 수도 있습니다.

스테이트

  • MovingToDestination - 영웅이 목적지로 이동중인 상태입니다. ReachedPreciseDestination() 를 사용하여, 네이티브 코드는 영웅이 웨이 포인트나 최종 목적지에 도달했는지를 추적합니다. 스테이트 잠복성(latent) 코드는 단순히 ReachedPreciseDestination() 를 기다릴 때까지 루프를 돌리다가 가끔씩 목적지로 직접 이동할 수 있는지, 아니면 길찾기를 통해 다음 웨이 포인트를 구해야 하는지를 검사합니다.
  • FollowingAnActor - 영웅이 액터를 향해 이동중인 상태입니다. 이 상태는 MovingToDestination 와 매우 유사합니다.

UDKMOBAHeroPawn


모든 영웅이 사용하는 기본 템플릿 클래스입니다.

함수

  • PostBeginPlay() - 폰이 월드에 처음 인스턴싱될 때 호출되는 것입니다. 이 함수는 워터 볼륨을 캐시한 다음, 주요 스탯 설정을 위한 스탯 모디파이어를 구성하고, HealthFloatBaseHealth 로 설정합니다.
  • PhysicsVolumeChange() - 폰이 들어있는 피직스 볼륨이 변경되었을 때 호출됩니다. 영웅 폰의 플레이어측 샵 볼륨 출입을 감지하는 데 사용됩니다.
  • NotifyTeamChanged() - 플레이어 리플리케이션 인포 또는 플레이어 리플리케이션 인포의 팀 프로퍼티가 변경되었을 때 호출됩니다. 플레이어 콘트롤러가 영웅 폰이 팀을 언제 바꾸는지를 감지할 수 있습니다.
  • NotifyPlayerColorChanged() - 플레이어의 색이 리플리케이트되었을 때 호출됩니다. 영웅의 라이트와 오클루전 색을 업데이트합니다.
  • GetTeamNum() - 영웅이 현재 속해있는 팀을 반환합니다.
  • StartMoveCommand() - 영웅 AI 콘트롤러에 이동 시작 명령을 전송합니다.
  • StartAttackCommand() - 영웅 AI 콘트롤러에 공격 시작 명령을 전송합니다.
  • StartFollowCommand() - 영웅 AI 콘트롤러에 따르기 시작 명령을 전송합니다.
  • LevelUpStats() - 영웅의 스탯을 레벨 업 시킵니다. 클라이언트에서 호출되면 서버를 통해 리플리케이트 됩니다.
  • ServerLevelUpStats() - 리플리케이션을 통해 LevelUpStats() 에서 호출됩니다. 단지 DoLevelUpStats() 를 호출합니다.
  • DoLevelUpStats() - 스탯 모디파이어더러 관련된 스탯을 올리라 하여 실제 스탯 계산을 하는 함수입니다.
  • LevelUpSpell() - 영웅의 스펠을 레벨 업 시킵니다. 클라이언트에서 호출되면 서버를 통해 리플리케이트 됩니다.
  • ServerLevelUpSpell() - 리플리케이션을 통해 LevelUpSpell() 에서 호출됩니다. 단지 PerformLevelUpSpell() 를 호출합니다.
  • PerformLevelUpSpell() - 스펠더러 레벨을 올리라 하여 실제 스펠 레벨을 올리는 함수입니다.
  • CanLevelUpSpell() - 스펠 레벨업이 가능한가에 따라 참/거짓을 반환합니다. 스펠 레벨을 올릴 수 없는 경우 플레이어에게 알립니다.
  • GetMinimapLayer() - 영웅 미니맵 아이콘이 미니맵 레이어 어디에 있어야 하는지에 대한 enum 을 반환합니다.
  • UpdateMinimapIcon() - 미니맵 아이콘, 특히 그 모양과 크기를 업데이트합니다.
  • GetTouchPriority() - 영웅의 터치 우선권을 반환합니다. 영웅은 항상 다른 것에 비해 중요하므로 매우 높은 수치로 설정합니다.
  • HasMana() - 영웅은 항상 마나를 가질 수 있기에 참을 반환합니다.
  • GetManaPercentage() - 영웅의 마나량을 백분율로 반환합니다.

변수

  • SpellArchetypes - 이 영웅의 스펠 아키타입 배열입니다.
  • HeroName - HUD 와 다른 곳에 표시되는 영웅 이름입니다.
  • HeroPortrait - Mobile HUD 에 사용되는 텍스처로의 레퍼런스입니다. 모바일 디바이스에서는 실시간 초상화가 지원되지 않기 때문입니다.
  • Light - 영웅 폰에 사용되는 라이트 컴포넌트입니다. 게임에서 영웅을 더욱 잘 보이게 만들어 주는 비주얼 이펙트일 뿐입니다.
  • MainStat - 영웅에 사용되는 메인 스탯으로, 다른 MOBA 게임과 같은 식으로 작동합니다.

UDKMOBAHeroPawn_Cathode, UDKMOBAHeroPawn_DemoGuy

영웅 아키타입을 생성해 내는 빈 클래스들입니다. 아쉽게도 아키타입이 생성된 이후에는 클래스를 바꾸는 것이 어렵습니다. 그래서 파생시킬 아키타입에 대해 빈 클래스를 생성해 둠으로써, 나중에 새로운 영웅 로직이 필요한 경우 베이스 클래스가 아니라 이 클래스들에 추가시킬 수 있는 것입니다.

UDKMOBAHeroPawnReplicationInfo


함수

  • ProgressToNextLevel() - 다음 레벨까지 얼마나 도달했는지를 반환합니다. 0.f 는 전혀 없음, 1.f 는 플레이어가 다음 레벨에 필요한 경험치를 획득했음을 나타냅니다.
  • ProgressToLevel() - (꼭 실제 적용하지 않았더라도) 다음 레벨까지 충분한 경험치가 있는지 테스트하는 데 필요합니다. 즉 레벨 4 만큼의 경험치가 있다면, 레벨 3 까지 충분한가 테스트할 수 있습니다 (1.f).
  • TriangleNumber() - N 번째 트라이앵글 번호를 반환합니다 (1 에서 N 까지의 정수 합).
  • GiveExperience() - 이 영웅에게 약간의 경험치를 줍니다.
  • ApplyLevel() - 영웅이 업그레이드할 것을 선택하여 레벨을 '적용'했을 때 호출됩니다.