playXP

서브 메뉴

Page. 1 / 21 [내 메뉴에 추가]
글쓰기
작성자 아이콘 Ashley
작성일 2017-01-22 02:30:17 KST 조회 7,093
첨부
제목
데이터 강좌 1) 살폭 - 난이도 ■□□□□

안녕하세요. 세미-온 타워디펜스2 제작자 Ashley입니다.

이제부터 세미TD2를 제작하면서 구현해왔던 스킬, 트리거 관련해서 강좌글을 써보려고합니다.

기본적으로 데이터에 대한 "기본적인 지식"을 요구하기에 기초적인 부분에 대해서는 따로 언급을 안하겠습니다. 난이도를 제목에 적긴할텐데 지극히 주관적이라는점! 

(제가 정보전달능력이 많이 떨어지므로 이 점 감안하고 읽어주세요)

 

 

 

오늘은 간단하게 세미-온 타워디펜스2 "칼라의 곁으로 NorMal" 빌더에 있는 불멸자의 살폭에 대해서 알아보겠습니다.

 

 

우선, 살폭이란

: 불멸자는 공격한 대상을 33% 확률로 살폭 상태로 만듭니다. 살폭 상태의 적은 사망시 광역 폭발 피해를 남겨 최대 8기의 적에게 피해를 줍니다.

영상에서는 공격할 시 대상에게 100%의 확률로 걸리도록 만들어두었습니다.

 

 

살폭에 쓰인 데이터 구성 요소입니다.

효과 (동작 적용) - 1

효과 (영역 검색) - 1

효과 (피해) - 1

효과 (모음) - 1

동작 (강화 효과) - 1

행위자 (모델 양식 반복 없음) - 1

행위자 (모델 추가) - 1

행위자 (소리) - 1

 

 

 

살폭을 제작하기에 앞서, 매커니즘을 생각해봅시다.

불멸자가 기본 공격 시 (효과 모음) 대상을 33%의 확률로 살폭(효과 동작 적용 + 동작) 상태로 만듭니다. 살폭 상태의 적은 사망 시 주위 적(효과 영역 검색)에게 범위 피해(효과 피해)를 남깁니다. 특별한 스킬이 아닌이상 스킬의 설명을 순차적으로 생각해보면 됩니다. 이렇게 스킬에 대한 구상과 구성 요소에 대한 정리가 끝나면 제작에 들어갑니다.

 

 

 

먼저, 불멸자의 기본 공격 효과와 살폭을 걸어줄 동작을 묶어줄 수 있는 모음 - 효과​를 만들어줍니다.

 

저같은 경우에는 이름에는 해당 스킬의 이름을 적어넣습니다. ID도 모든 효과들을 일관성있게 맞춰주시는게 나중에 작업하실때 정말 편합니다.

 

일.관.성 - 갤디터에서 제일 중요한 요소중 하나라는거!

 

 

 

 

그 다음으로는 모음 효과에 넣어줄 동작 적용 효과​와 나머지 동작 및 효과들을 모두 만들어줍니다.

 

 

 

 

이렇게 효과 4개와 동작을 만들었습니다.

 

 

 

이제 동작과 효과를 서로 이어줍시다.

 

 

우선, 불멸자의 무기 공격 효과에 들어갈 모음을 완성시킵시다.

 

 

그 다음, 불멸자가 공격할 시 공격 대상에게 적용될 효과들이 포함된 모음을 묶어줍니다.

 

단, 여기서 주의할점이 ​살폭​은 공격한 대상이 죽을 시 효과가 발동하는 방식입니다. 따라서, 공격했을 시 피해보다 살폭이라는 동작이 더 먼저 적용되어야 공격으로 적이 죽었을 시 바로 살폭 효과가 발동할 수 있겠죠? 만약 2번이상의 공격으로만 살폭이 발동하고 싶게 만들고 싶으시다면 저 "살폭 (동작 적용)"효과를 위상 분열기 피해 효과보다 아래에다가 배치해주시면됩니다.

효과 모음이든, 전환이든 모든건 배열 순서대로 발동합니다. (은근히 중요해요)

 

 

 

 

이제 모음은 끝났으니, 모음 다음 단계인 ​동작 적용​에 실질적으로 발동시킬 동작을 이어줘야합니다.

 

앞서 만들어줬던 동작을 효과에 연결하고, 스킬의 패시브인 "공격 시 33%의 확률"을 충족시키도록 확률을 추가해줍니다. (참고로 확률 1은 100%)

 

 

여기까지 하셨다면 "불멸자가 공격할 시 33%의 확률로 대상을 살폭 상태로 만듭니다" 까지 완성시킨겁니다. 이제 살폭의 핵심인 "사망 시 광역 피해"가 남았네요.

 

 

 

 

이제 동작으로 가줍시다.

"소멸 시 효과"를 구현하는 방법에는 크게 2가지가 있습니다. 그 기준은 효과가 ​소멸 직전에 발동​하느냐 혹은 ​소멸 이후에 발동​하느냐입니다. 같은 "소멸 시 효과"지만 엄밀히 따지자면 둘은 매우 다릅니다.

예로, 대상에게 치명적인 피해를 받을 시 일시적으로 무적이 된다는 패시브를 주려면 ​소멸 직전에 무적 동작​을 줘야합니다. 소멸 이후에 무적을 줘봤자 이미 죽고난 이후이므로 아무런 소용이 없어지니깐요. 하지만, 반대로 지금 강좌를 통해 구현하려는 살폭은 ​소멸 이후 발동​ 효과입니다. 대상이 치명적인 피해를 입고난 뒤 발동하여 광역 피해를 입혀야지, 만약 소멸 직전 피해로 줘버리면 살폭이 죽이는 대상에게 2번 피해를 주는 셈이되서 이후에 "처치 계산"할 때 하나의 유닛이 2번 처치되는걸로 인식되는 문제가 생길 수 있거든요.

 

 

 

 

자, 그럼 이 둘을 구현하는 방법을 설명드리겠습니다. 둘은 구현 방법이 서로 다르거든요.

 

우선, 소멸 직전 효과입니다. 동작(강화 효과)에 자세히 보시면 필드에 "피해 응답"이라는 카테고리가 있습니다.

 

이 피해 응답은 대상이 피해를 입거나 가할 시, 그 "피해 효과가 들어가기 전에"를 총괄하는 놈입니다. 이거로 치명타도 구현해줄 수 있고 피해 직전에 줄 수 있는 모든 효과를 다 넣어줄 수 있는 셈이죠.

 

 

이곳에서 "처리됨" 에 효과를 넣어줄 시 앞서 말한 피해 전 효과를 넣어줄 수 있습니다.

사실 살폭도 무기에 모음 효과를 넣어주는 대신 피해응답을 활용해서 2개의 동작으로도 구현이 가능하긴 해요. 하지만 이번 강좌에서는 보다 폭넓은 요소를 사용하는 모습을 보여드리고 싶어서 무기에 직접 모음 효과를 넣은 방식을 사용했습니다.

 

 

※동작(강화) - 피해 응답에 관해서는 일전에 PlayXP에 올려놓은 예제맵과 강좌가 있으니 아래 링크를 참고해주세요.

https://www.playxp.com/sc2/maps/tip/view.php?article_id=5445133&sub=sc2#!6

 

 

 

다음으로, 소멸 이후 효과입니다. 이 부분은 원래 자날 시절에 작은 버그가 하나있었지만 갤디터 3.0으로 오면서 수정된 부분입니다.

동작(강화) - 수정으로 들어가셔서 "전투"탭으로 가주세요.

 

 

전투탭에서 내려주시다보면 "소멸 응답"이라는 범주가 있을겁니다.

 

이곳이 바로 소멸 이후 응답을 총괄하는 놈입니다.

소멸 직전 효과(피해 응답)과는 다르게 단순히 소멸 직후의 효과만을 다룰 수 있게 되어있습니다. (소멸 이후에는 피해가 어떻게 들어가는지 신경쓸 필요가 없으니깐요)

 

 

살폭은 소멸 직전 효과이기에 

동작(강화) - 수정 - 소멸 응답​에서 확률 1, 효과 - 살폭 영역 검색으로 넣어줍니다. (살폭 상태 유닛 소멸할 시 100% 확률로 주변 적을 검색하니깐요)

 

 

 

 

 

 

 

 

 

이렇게 영역 검색을 동작에 연결해줬다면 매커니즘 구현이 거의다 끝났습니다.

정확히는..

공격 시 33% 확률로 대상을 살폭 상태로 만들어주고, 살폭 상태인 대상은 소멸 시 100%의 확률로 주변을 검색하는 효과를 발동시킵니다.

까지 완성되었습니다.

 

 

 

자, 그러면 나머지 작업을 마저 해보죠.

대상이 죽을 시 대상 주변을 검색해야겠죠? 어떤 대상을 검색해야할까요? 무적인 적까지 피해를 줄 수는 없자나요.

우선, 영역 검색 효과를 다루실 때는 항상 "필터"부터 먼저 설정해주세요.


 

가장 기본적인 대상 선정 방법입니다. 모든 필터 범주가 하나하나 다 의미있고 상황마다 다르므로, 이건 사용자 임의로 효과가 어떤 대상에게 영향을 줄지 안줄지를 결정하시면되요. 하지만, 대부분의 경우에는 이렇게 설정합니다. (단순히 모든 적을 공격 가능하게 만들때말이죠) 저기서 한가지 중요한게 "볼 수 있음"과 "은폐됨", "숨김"인데 차이점을 말씀드리겠습니다.


※볼 수 있음 : 대상이 은폐가 되었더라도 탐지기가 있어 볼 수 있을때도 포함한 말그대로 현재 플레이어가 볼 수 있는 모든 대상

​※은폐됨 : 대상이 "은폐"인 상태

※숨김 : 트리거를 통한 인위적으로 개체를 숨긴 상태


응용해보면, 살폭의 경우에는 대상이 은폐되어있더라도 살폭 상태인 개체가 사망할 시 주변의 모든 유닛에게 피해를 주는 스킬이므로 볼 수 있으므로 위와같이 가장 범용적이게끔 설정해줍니다.







이렇게 필터를 설정해주셨다면

"얼마나 넓은 범위에, 몇기의 유닛에게, 얼마만큼의 각도에, 어떤 효과를"을 지정해주셔야하겠죠?

효과 영역 검색 - 영역​으로 들어가줍시다. 아래와 같이 해주세요.



1. +를 눌러줍니다.

2. 살폭이 영향을 줄 범위를 결정합니다.

3. 최대 몇기의 유닛에게 영향을 줄 수 있는지 결정해줍니다. (※아래에 추가로 덧붙일게요)

4. 어떤 효과를 줄지 지정해줘야겠죠. 저희는 검색된 대상에게 피해를 주는거니 살폭 (피해) 효과를 넣어줍시다.






끝!! 이러면 모든 연결이 끝났습니다.




※근데 추가로 말씀드려야할게 있습니다. 영역 - 검색에는 "영역" 필드 안의 최대 개수말고도 자체 필드 안에 "최대 개수"라는 또 다른 필드가 존재합니다.↓


굳이 쓸데없이 같은 기능을 2번 추가해놓진 않았겠죠?


필드 영역 내​의 최대 개수는 해당 영역 검색 배열내에서 그 배열이 검색할 수 있는 지엽적인 제한입니다.

필드 영역 밖의 자체 필드에 있는 최대 개수는 필드 영역보다 더 광범위한 제한을 거는 놈입니다. 아무리 영역 필드 내에서 최대개수를 정해줘도 필드 최대 개수에서 5개로 한정해버리면 영역 배열 순서대로 최대 5개밖에 검색을 못한다는 뜻이죠. (이때, 영역 검색 개수는 배열순서대로 선정됩니다)

 

 

 

 

 

 

 

 

 

 

 

이렇게, 모든 효과와 동작들을 하나의 기능을 하는 스킬로 이어줬습니다.

이제 인게임에 들어가서 제대로 작동하는지 확인해주셔야겠죠? Ctrl F9 ㄱㄱ

 

 

 

 

 

 

 

 

제대로 작동을 안한다면 위로 돌아가셔서 효과들이 제대로 연결이 되었는지 확인해주세요.

제대로 되셨다면 이제 마무리 작업만이 남았습니다.

 

 

뼈대를 완성시켰으면 살점을 붙여야죠. 이펙트 모델과 소리를 연결해줍시다.

 

 

 

다음과 같은 요소들을 만들어주세요.

행위자 (모델 양식 반복 없음) - 1

행위자 (모델 추가) - 1

행위자 (소리) - 1

행위자는 효과, 동작등과 같게 만들어주세요. ID이름 일관성 지켜주면서!!!!!!!!!!!!!

 

자 이제, 이어봅시다.

우선, 이펙트는 크게 2가지입니다.

 

1. 대상이 살폭 상태일 시, 상폭 상태임을 시각적으로 표현해주는 효과

2. 살폭 상태인 적이 소멸하면서 폭발 효과를 남길 시, 폭발 이펙트 및 소리


들어가기에 앞서, 이펙트에 쓰이는 모델과 소리는 최.대.한. 복제하지마시고 있는 그대로 사용하세요.​ 그거 하나하나 복제해줄때마다 결국 맵의 용량이 늘어나고 로딩시간도 그만큼 길어지거든요. 한두개로는 체감이 안되겠지만 큰맵의 경우에는 이런것들이 쌓이고 쌓여서 아름답고 긴 로딩 시간을 만들어냅니다.

로딩 시간이 길어지면?




 끊이지 않는 유저들의 한숨소리 



 

 

그럼 이제 살폭인 상태를 표시해주는 이펙트를 연결해줍시다.

 

어떤 모델이 상폭 상태인 적을 표현해줄 수 있을지 고민하다가 이놈으로 골랐어요.


 


 

 

 

 

 

그리고 행위자에서 모델을 연결해줍니다.

 

 

 

어떤 상황에서 이 모델이 생성될지를 결정해줘야겠죠?

행위자 - 모델 (모델 추가)에서 "이벤트" 필드를 찾아서 들어가줍시다.


 

순서대로 해주세요.

1. 이벤트 클릭

2. 마우스 오른쪽 클릭 - 이벤트 추가 (2개)

3. 동작 - 살폭 - 켜기 / 동작 - 살폭 - 끄기

살폭 상태는 곧 동작이 유지되는 기간에 지속되는방식이기에 저렇게 모델이 동작 적용됬을 시와 동작 파괴 됬을 시를 모두 추가해주셔야합니다.

 

 

이렇게 해주셨다면 이제 동작 - 살폭이 적용됬을 시, 대상 유닛에 지지직거리는 모델이 생성됩니다.

 

 

근데, 대상 유닛에 아무런 곳에 생성되게 해주면 너무 보기 안좋을 수 있으니 자리를 지정해줄게요.

호스트호스트 자리연산을 다음과 같이 설정해주세요.



 

호스트는 말 그대로 대상 이펙트가 생길때 어떠한 매개체를 통해 자리나 효과 이펙트를 지정해줄지의 유형을 결정해주는거라고 보시면되요. (정보전달능력 ㅈㅅ) 

호스트 자리연산은 위치! 간단하게 대상의 중앙 지점으로 해줬습니다.

 

 

 


 

지지직 지직

 

 

 

 

 

 

이와 같은 방법으로 나머지 소리와 살폭 폭발시 이펙트를 설정해줍니다.



 

 

 

 

 

 

 

끝!!

 

 

 

 

이렇게 살폭을 만들어봤습니다. 이펙트에 비해서 생각보다 간단하죠?

저희가 스킬 대전류 게임을 하면서 무수히 많이 봐온 스킬들은 이렇게 간단한 효과들이 모여서 만들어지는것도 많습니다. 원리를 알면 매우 간단해요!

대신 간단하지만 상당한 작업이 뒤따르는 경우가 많습니다. 사실 제가 위에서 설명해드린거의 절반은 그냥 안하고 스킵하셔도 "구현"자체는 됩니다. 하지만, 그만큼 이펙트와 같은 시각/청각적인 면에서 완성도가 떨어지게되죠.

 

항상 스킬 제작 과정과 순서는 위와같은 방법을 잊지 마시길 바랍니다.

구상 및 파악 - 구성 요소 제작 - 이어붙이기 - 확인

이거만 하셔도 대부분의 스킬들을 문제 없이 체계적으로 제작하실 수 있을꺼에요.

 

도움되셨길바랍니다. 다음에 더 좋은 강의로 돌아오겠습니다.

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

아이콘 Avenew (2017-01-22 02:42:13 KST)
0↑ ↓0
센스 이미지
새삼 이렇게 풀어보니... 복잡하네요..;
아이콘 하얀한숨 (2017-01-24 21:43:49 KST)
0↑ ↓0
센스 이미지
수고했습니다!!
근데 엑박뜨네요 아마 블로그 글 그대로 복사하면 엑박 뜨는거같군요
아이콘 Ashley (2017-01-25 03:47:46 KST)
0↑ ↓0
센스 이미지
ㄴ 으아 엑박이라니...
블로그에서 사진 일일이 다운받아서 수정해둬야겠네요.
아이콘 Ashley (2017-01-25 04:57:32 KST)
0↑ ↓0
센스 이미지
ㄴ수정 완료
판밍 (2017-01-25 15:18:58 KST)
0↑ ↓0
센스 이미지
매번할때마다 자리 연산을 제대로 못다뤘는데 참고했습니다 ㅎㅎ
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.