[Unity]25.RPG 튜토리얼 #4 - 스펠 생성과 발사 위치

안녕하세요 유랑입니다.



실력향상을 위해서 오늘도 유튜브 강의를 따라하면서 공부하겠습니다.

궁금하신점 있으시면 댓글로 남겨주세요^^




1. RPG 만들기



이번 강의는 Patreon.com에서 외국인이 만든 강좌이며,

매달 $5의 후원을 통해야 리소스 다운을 받을 수 있습니다.

저는 돈을 지불하였고, 스킬업을 위해서 복습겸 글을 올리겠습니다.


리소스 사이트 => https://www.patreon.com/inScopeStudios/posts

유튜브 사이트 => https://goo.gl/o5VcTv







2. 스펠 생성하기


2-1) 프리팹 만들기



스펠, 적 캐릭터, 이펙트 등 리소스 파일을 다운받아주세요.






 skeleton_1과 Spells 폴더 안에 있는 스프라이트들의 Pixels Per Unity 값을 300으로 변경해 주세요.





공격을 하면 마법이 나가야 겠죠?

마법을 계속 생성하려면 해당 마법의 프리팹 파일이 필요합니다.

fire_, ice, lightning 스프라이트들을 하이라키뷰에 옮기고,

이름을 변경한 뒤 프로젝트 뷰에 옮기면 프리팹으로 변경됩니다.

프리팹이란? 복사본이라고 생각하시면 됩니다ㅎㅎ





프리팹의 Order in Layer는 1로 변경해 주세요.

스프라이트들이 겹쳐있을 때 어떤걸 위로 보여줄지 결정하는 값입니다.

Z값이라고 생각하시면 되겠네요.






2-2) 적 생성



스켈레톤의 idle_down 스프라이트를 하이라키뷰에 옮겨주세요.

그리고 이름을 target으로 변경합니다.

마법을 사용할 타겟으로 사용하겠습니다.









2-3) 스펠 생성하기



플레이어가 공격을 시전한 뒤 1초 뒤에 파이어볼을 생성하겠습니다.

아직 날아가지는 않지만 생성만 해볼게요.










스크립트 작성 후 프리팹을 넣어주세요.

인스펙터창 우측상단에 있는 자물쇠 표시를 이용하면 불편함 없이 프리팹을 넣을 수 있어요.

자물쇠 표시는 화면을 고정합니다. 다른 오브젝트를 클릭해도 Player만 보이게 될거에요.








2-4) 스펠 날려보기



이번에는 스펠을 타겟(스켈레톤)에게 날려보겠습니다.

Spell 스크립트를 생성 후 다음 내용을 작성해 주세요.

적과 나의 위치를 비교한 후 적을 향해 스펠을 발사해 줄거에요.






firePrefab에 Rigidbody 2D와 스크립트를 넣어준 다음

속성값을 다음과 같이 변경해 주세요^^





이제야 마법같아 졌네요 ㅎㅎ






3. 발사 위치


3-1) 발사 위치 만들기



스펠 발사 위치는 총 네 곳입니다.

왼쪽, 오른쪽, 위쪽, 아래 해당 애니메이션의 위치가 다를 수 밖에 없으니 각각 만들어 줄게요.

Player 오브젝트 자식으로 빈 오브젝트를 만든 후 Exits로 이름을 변경해 주세요.






발사 위치를 확인하기 위해서 Player에다가 공격 스프라이트를 넣어 주세요.





ExitDown 오브젝트를 만들구 지팡이 가운데 부분으로 위치를 변경해 주었어요.

마찬가지로 ExitLeft, ExitRight, ExitUp도 생성해 주세요.












3-3) 발사 위치에 스펠 생성하기



발사 위치를 담아 둘 배열 exitPoints를 작성한 후 

Player 방향에 맞게 exitPoints 값을 대입하겠습니다.








스크립트 작성 후 Exit 오브젝트들을 알맞게 넣어 주세요^^





애니메이션 속도가 느려서 확인이 좀 안되지만,

지팡이 위치에 맞게 스펠이 생성되고 있네요.






4. 마무리



오늘 강의는 여기까지입니다.

RPG 튜토리얼을 따라하면서 스펠 생성과 발사 위치를 만들어 보았습니다.

다음 시간에는 공격 규칙과 타겟 지정하는 방법에 대해서 배워보겠습니다.

감사합니다.




수업자료: https://github.com/YouRang12/-Tistory-Unity---Extra-2D-






댓글

Designed by JB FACTORY