반응형

TDTK4(Tower Defence Toolkit 4)로 타워디펜스 게임을 만들고자 했지만 실력이 많이 부족해서 여러 고생을 했습니다.

저와 같은 분들에게 조금이나마 도움이 되고자 기록합니다.

 

제 경우에는 타워 디펜스 게임을 만들고, 새로운 유닛을 추가하려고 했는데 Toolkit에서 제공하는 Tower Edit 창에서 추가가 정상적으로 이루어지지 않았었습니다.  함께 하나하나 단계를 밟아가며 제가 어떻게 했는지 함께 알아보겠습니다.

 

새로운 타워로는 공룡을 추가해볼겁니다.

에셋에서 타워로 사용할 프리팹 파일을 찾아줍시다.

Jurasic Park 에셋을 사용합니다.

Jurassic Park 에셋에서 Argentinosaurus 를 사용하겠습니다.

TDTK4의 의도대로라면 TowerEdit 창의 상단에 위치한 프리팹 창에 이 프리팹을 드래그하여 가져가면 신규 타워 설정이 생성되지만 그게 잘 되지 않습니다. 그래서 저희는 프리팹의 인스펙터 창에서 AddComponent를 해줄겁니다.

프리팹 - 인스펙터창 - Add Component

Unit Tower 스크립트를 찾아줍니다. 그리고 황색의 Add Prefab to Database를 클릭해줍니다.

Add Component - Unit TOwer - Add Prefab to Database 클릭

Add Prefab to Database를 클릭하게되면 TowerEditor 창에 해당 프리팹에 해당되는 슬롯이 생성됩니다.

이름과 아이콘이 비어있기 때문에 빈 칸으로 보입니다. 데이터 베이스에 넣었으니 이제부터는 설정을 해줘야겠죠? 

우선 이미지를 넣어주겠습니다.

이미지는 아이콘으로 쓸 이미지를 우선 유니티 안으로 드래그해서 가져오시면 됩니다. 하지만 이 이미지는 Sprite가 아니기 때문에 바로 사용은 불가능합니다. 그래서 해당 이미지를 클릭 - 텍스처 타입(Texture Type)을 Sprite로 변경합니다.

이미지를 sprite로 변경 후 Apply 클릭 필수!

이미지를 스프라이트로 변경 완료 후 Apply 누르는 걸 잊지 마시기 바랍니다.

다음으로 이 스프라이트를 TowerEditor의 Icon으로 드래그하여 넣어줍니다. 그리고 Name까지 작성해줍시다.

Name과 Icon이 적용된 모습

이름과 아이콘이 바로 적용된 모습입니다. 

여기까지면 됐겠지 생각하고 실제 게임을 돌려보면 프리팹을 소환하려는 순간 오류가 나게 되거나, 공격 모션을 취할 때 에러가 나게 됩니다. 그 이유는 아직 모든 설정을 마치지 않았기 때문입니다.

 

정상적인 게임플레이를 위해서는 최소 4가지의 설정이 필요합니다.

Target Point(내가 공격을 맞는 포인트), Shoot Object(발사체), Shoot Point(발사체를 발사하는 포인트), Turret Pivot(유닛이 회전하기 위한 기준)입니다. 

 

target Point부터 설정하겠습니다.

타겟 포인트는 공격을 맞는 포인트로 상대의 공격이 히트하는 부분을 의미합니다. 드롭다운을 열어보면 프리팹의 구성요소들이 나오는데, 여기 중 아무거나 하셔도 괜찮지만 저는 가능한 상위 오브젝트를 사용하고있습니다.

타겟 포인트 설정.

Shoot Object(발사체) 설정입니다.

발사체는 기본적으로 준비된 TDTK - Prefabs - ShootObjects 의 발사체들을 사용합니다. 사용하실 발사체 프리팹이 있다면 그것도 좋습니다. 드래그 앤 드롭으로 간단히 적용시켜줍니다.

SO_Beam이 적용된 모습.

발사체가 있다면 발사하는 부분도 설정해줘야겠죠?

ShootPoint (발사포인트) 설정입니다. ShootPoint 오른쪽의 빈 칸에 발사할 포인트의 갯수를 int형으로 적어줍니다.

그리고 ShootPoint의 왼쪽 삼각형 모양을 클릭하여 열어줍니다.

ShootPoint의 int값만큼 Element가 늘어납니다. Element에 프리팹 구조 중 발사체를 발사할 부분을 설정해줍니다.

저는 공룡의 입에서 빔이 나가게 하려고 했기 때문에 jaw를 선택했습니다.

Shoot Point를 적용한 모습.

프리팹의 구조가 굉장히 하위구조가 많은 구조여서 Element1에 빈칸으로 보이지만 실제 jaw가 들어가 있습니다. 

 

다음은 Turret Pivot(터렛 기준) 입니다. 

이것도 Target Point와 유사하게 저는 프리팹의 가장 상위 오브젝트를 선택하였습니다. 하지만 이 부분은 터렛의 종류에 따라, 어떤 움직임을 원하느냐에 따라 사람마다 다르게 적용됩니다. 타워의 허리라고 생각하고, 360도 돌아가는 회전 축이라고 이해하고 설정하시면 되겠습니다.

여기까지가 에러 나지 않도록 타워를 추가하는 방법이었습니다. 

하지만 타워가 무생물이면 몰라도 안드로이드형(인간형)이라면 Idle 애니메이션이나 Attack 애니메이션은 필수겠죠?

애니메이션을 설정하는 방법도 알아보도록 하겠습니다. 

 

접혀있는 Animation Setting을 열어보면 아래 같은 내용들이 나옵니다.

설정한 내용이 없기때문에 모두 빈칸, None으로 되어있습니다.

Animator Object애니메이션이 적용될 오브젝트라고 생각하면 되겠습니다. 가장 상위 오브젝트를 선택합니다.

애니메이션이 적용될 오브젝트 선택.

Jurassic Park 에셋의 경우 프리팹들마다 애니메이션 효과들이 모두 있었습니다. 아래 사진자료로 확인해보죠.

Jurassic Park animator & animatio들.

갓갓 에셋.. 이런 에셋은 흔치 않습니다. 물론 비싸니까.. 이정도는 ㅎ

어쨌든 사용할 애니메이션들을 가져와 Animation Setting에 쏙쏙 넣어줍시다.

기본적으로 Idle, Hit, Attack만 있으면 될 듯.

Idle은 가만히 있을 때, Hit은 맞았을 때, Attack은 공격할 때 입니다. 상황에 맞는 애니메이션을 넣어주면 이제 다 될 것 같은데 막상 실행을 해보면 적용되지 않습니다. 그 이유는 Animation Controller를 TDTK에서 제공한 것을 사용하지 않았기 때문입니다.

아래는 Argentinosaurus의 Animator 설정입니다. Controller에 자체 animator controller가 들어가있습니다. 이를 TDTK에서 사용하는 것으로 변경해줍시다. 위치는 TDTK - Animation - TDUnitController 입니다.

변경이 완료되었다면 실행을 하기 전, 마지막으로 저장을 해줍시다. 

세이브는 필수 :) 

이렇게 적용했다면 정상적으로 유닛을 인게임에서 사용하실 수 있으실 겁니다. 

TDTK4를 사용하시는 모든 분들께 조금이나마 도움이 되었다면 좋겠네요.

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기