작성자 | 프리슨어필 | ||
---|---|---|---|
작성일 | 2021-05-04 02:49:39 KST | 조회 | 9,343 |
제목 |
상단패널을 어떻게 구현하는가? --1
|
------이 강의는 유저의 요청에 따라 이루어진 것이며
배틀넷에 게시중인 '3인 협동전 모드' 에 수록된 트리거를 기본으로 연구합니다
----------------------------------------------------
상단 패널은 협동전과 공허의 유산 캠페인에 들어와서 구현된 기능입니다.
이 패널 구현을 위해선 트리거가 필수이며 저의 경우는 블리자드의 트리거를 보고 어떤 트리거가 어떤 순서로 이어져있는지를
살펴보고 그대로 흉내낸 것입니다.
들어가기 앞서 협동전을 구현하는 방법이 여러가지가 있는데 블리자드의 트리거를 그대로 통째로 사용하는 방법이
아니면 일부만 따와서 수정하는 방법이 있습니다
수많은 트리거가 엄청나게 서로 얽고 섥힌데다가 트리거 양이 너무 많아서 내가 구현하는 것이 그 많은 트리거 중에서
어느 부분에 해당하는지 알기 힘듭니다. 그래서 협동전을 구현하고자 하는 사람은 원본 협동전 트리거가 어떤 순서로
그리고 내가 원하는 것이 어떤 부분인지. 노가다를 하면서 하나씩 하나씩 배워가는 수 밖에 없습니다
제가 표시한 것과 같이
1. 영웅 구조물 트리거 순서:
CM_CampaignMissionInit -> CM_HeroSpawn -> CM_HeroStructureCreateForPlayer
2. 패널 스킬 순서:
CM_CampaignMissionInit -> CM_GlobalCasterInit -> CM_GlobalCasterCreateUnit -> CU_GPSetUnit -> CU_GPInit
CM_CampaignMissionInit -> CC_ApplyTech -> C_ApplyRaceTech(종족별)-> CU_GPShowHide/CU_GPVisibilitySet -> CU_GPInit
그 원트리거에서 다음 트리거로 어떻게 넘어가는지를 표시하고 있습니다.
저렇게 이어지는, 순서를 아는 것이 트리거를 읽는 것의 처음의 시작입니다. 트리거를 뜯어봐서 안이 너무 복잡해서
알지 못 해도 괜찮습니다. 일단 내용을 몰라도 순서만이라도 알고 있어야 통제가 가능합니다.
자. 내용이 너무 복잡해서 모르시겠다구요?. 그러면 잡다한 설명은 배제하고 목표인
상단 패널 스킬 구현 원리와 트리거 순서만 짚고 넘어가겠습니다
먼저 상단 패널 작동 원리는 다음과 같습니다
맵상에서 패널스킬에 해당하는 스킬을 가진 유닛을 만듭니다. 그리고 그 유닛에 변수를 넣어서 저장하고
그 유닛을 맵에서 사라지게 합니다.
그리고 그 스킬들을 저장하는 템플릿과 같은 UI창을 트리거에서 지정해서 만듭니다
그러면 그 유닛들의 스킬이 그 ui에서 드러나고 우리가 그것을 사용하는 원리입니다
여러분이 배틀넷의 수많은 유즈맵. 주로 공허의 유산 협동전 맵 개조한 것을 보면
(가령 구원 캠페인을 테란으로 하는 것)
맨위의 상단 4개 창이 내가 선택한 유닛이나 건물의 ui가 그대로 올라간 것을 볼 수 있을 겁니다.
그건 상단 패널 설정이 어설펏던 문제로 상단 패널을 사용하는 유닛 설정이 제대로 안 된거죠
그러므로 패널 스킬을 달고 다닐 유닛을 선정하는 것이 첫번째입니다
이런식으로 특정 유닛에게 스킬을 달아줍시다
그리고 게임 시작시 지도창에 저런 종류의 트리거를 이용해서 맵상에서 자신이 원하는 사령관에 따라서
그 특정유닛을 생산하게 하고 변수를 지정하고 set variable로 상태를 지정해주고 합니다
이 트리거가 CM_GlobalCasterCreateUnit 로
이 트리거에 의해서 -> CU_GPSetUnit -> CU_GPInit
이런식으로 착착 설정해주시면 됩니다
해당 트리거에 11을 붙인 것은 협동전 자체 트리거를 복사해서 쓰는거니까 헛갈리지 말라고요
11 붙인 거는 원판의 협전 사령관 패널 트리거가 아니라 내 신사령관 패널 트리거다 이겁니다
참고로 CU_GPInit 가 바로 협전 패널의 ui의 탬플릿 등의 상태를 담당하는 트리거입니다
저도 이건 너무 이해가 어려운 고로........안의 내용을 이해하는 것은 포기했어요
다만 유리하게 사용하는 것만 익혔습니다
제 신사령관 협전 패널 스킬들은 모두 노바 상단 패널 트리거에 붙은 ui를 가져왔습니다
그래서 모두 4개 스킬로 구성되어 있죠.
gpint로 협전 트리거 검색해서 레이너나 다른 사령관 거 가져올수도 있긴한데
다른 사령관 패널 트리거에서 내가 필요한 것만 골라서 필요 없는 거 제거하고 간추리는 노가다를 계속
하는 것보다 스킬 만드는 게 더 쉬우므로 노바것만 우려 먹고 있습니다
그리고 보시면 각각 트리거. 즉 신사령관마다 특정업그레이드가 되어야 작동되거나
특정 사령관의 그룹에 속한 플레이어만 되도록 설정된 조건이 있는데 이는 그 특정 사령관에만 주고 다른 일반
사령관에게는 발동시키지 않게 구분 짓는 조건이니 내 맘대로 신사령관을 만들겠다하면 그 조건은 없애주면 됩니다
그리고 CU_GPVisibilitySet. 마지막으로 지금까지 해온 ui와 트리거를 게임내에서 나타나게 관여하는
트리거입니다
이 트리거를 트리거에서 행동으로 넣고 CU_GPVisibilitySet(플레이어) 로 발동시키게 하면 됩니다
3인 협동전 모드는 워낙 많은 트리거가 꼬여 있으니까
예시로 빈맵만 패널 유닛 넣어서 트리거로 구동하는 것을 올리려 그랬는데 너무 늦어서 다음에 올리도록 하겠습니다
© PlayXP Inc. All Rights Reserved.