애니메이션7 게임개발 중급(62) - Monster Killer(24) Monster Killer(24) 이전에는 게임오버 화면과 재시작 버튼을 만들어 보았습니다. 오늘은 다음 몬스터를 연결하는 과정을 현재 에셋으로 가져온 모든 몬스터에게 적용시켜 스테이지를 완성하도록 하겠습니다. 몬스터 세팅 모든 몬스터 프리팹에 들어가는 컴포넌트들 입니다. 컨트롤러와 무브먼트, 오디오 소스 그리고 네브메쉬 에이전트까지 4개를 추가해 주어야 합니다. 만약 제가 사용하는 몬스터와 같은 에셋을 사용하신다면 애니메이터는 들어있을 것입니다. 전 일단 같은 몬스터 에셋을 사용했다는 가정하에 이야기 하겠습니다. 스크립트 설명 컨트롤러는 게임에서 사용하는 UI와 다음 몬스터를 연결시켜주는 사항과 몬스터 상황(소환, 공격, 피격, 죽음)에 대한 소리를 연결해 재생시키는 역할을 하고있습니다. 무브먼트는 몬.. 2023. 6. 26. 게임개발 중급(60) - Monster Killer(22) Monster Killer(22) 어제는 몬스터가 움직임에 따라 카메라, 즉 플레이어의 시점도 따라 움직이도록 만들어 보았습니다. 오늘은 몬스터가 움직이는 애니메이션을 만들어 주고, 다른 애니메이션들과 자연스럽게 이어지도록 만들겠습니다. 애니메이션 만들기 제가 그동안 몬스터 애니메이션에 대해 이야기 할 때, 이미 있는 에셋을 사용했기 때문에 만들어진 애니메이션을 연결하는 것만 알려드렸는데, 다시 애니메이션 파트를 이야기 하게 된 김에 애니메이션을 만드는 과정에 대해서 말해볼까 합니다. 유니티에서 애니메이션을 만드는 방법에는 여러 가지 방법이 있습니다. 가장 일반적인 방법은 아래와 같은 단계를 따르는 것입니다: 1. 애니메이션 클립 만들기 애니메이션 클립을 만들 폴더를 선택한 후, 우클릭하여 "Create.. 2023. 6. 23. 게임개발 중급(56) - Monster Killer(18) Monster Killer(18) 이전에는 데미지 UI 버그수정 및 3차 코드정리를 진행하였습니다. 오늘은 다음 몬스터를 연결해주는 작업을 알아보도록 하겠습니다. 몬스터 연결 과정 현재 스크립트를 통해 다음몬스터를 소환하고, 이전 몬스터의 모든 정보들을 이어주기 때문에 사실 아웃렛 접속을 통해 다음 몬스터 프리팹을 연결해주기만 하면 소환이 가능합니다. 하지만 몬스터가 기존 몬스터처럼 사용되어지게 하려면 많은 과정을 거쳐야 합니다. 1. 사용할 몬스터 프리팹에 컴포넌트 추가 저희가 사용하고 있는 모든 몬스터 프리팹에는 오디오 소스와 몬스터 컨트롤러 컴포넌트가 들어가 있습니다. 이 두개는 꼭 추가를 해주어야 합니다. 2. 몬스터 연결 설정 추가한 컴포넌트를 통해 아웃렛 접속을 하여 다음 몬스터를 연결해주고,.. 2023. 6. 17. 게임개발 중급(54) - Monster Killer(16) Monster Killer(16) 저번시간에는 사운드의 기본적인 사용과 1차 코드정리에 대해 다루었습니다. 오늘은 했던 내용에 이어서 다양한 사운드 적용 및 2차 코드정리에 대해 이야기 해보겠습니다. 다양한 사운드 사용 및 적용 이전에는 기본적으로 사운드를 사용하는 방법에 대해 알아보았습니다. 이번에는 다양한 동작에 맞춘 각각의 사운드를 실행하는 방법에 대해 알아보겠습니다. 가장 먼저 사용할 사운드를 정해야 합니다. 이전에 이미 말씀드렸지만, 저는 몬스터 소환, 공격, 피격, 사망 이렇게 총 4개의 사운드를 사용해 보겠습니다. Monster Controller using System.Collections; using UnityEngine; using UnityEngine.UI; using TMPro; p.. 2023. 6. 14. 게임개발 중급(51) - Monster Killer(13) Monster Killer(13) 이전에는 간단한 스테이지 진행도 UI에 대해서 이야기 하였습니다. 이번에는 플레이어의 체력과 몬스터의 공격을 만들어 보도록 하겠습니다. 플레이어 체력 만들기 플레이어에게 체력바를 만들어 주겠습니다. 몬스터와 똑같이 슬라이더로 만들어 줍니다. 과정은 생략하겠습니다. 플레이어 체력이 생겼습니다. 이제 몬스터가 공격을 하고, 그 공격에 따라 플레이어의 체력이 깎이도록 만들어 보겠습니다. 공격 애니메이션 설정 가장 먼저, 몬스터가 공격을 하는 애니메이션을 설정해 주어야 합니다. 애니메이터의 컨트롤러에 들어가서 공격을 하는 애니메이션에 트랜잭션을 만들어 줍니다. 그리고 공격으로 넘어가게 해줄 파라미터로 Attack이란 이름의 트리거를 생성하겠습니다. 이제 Attack 트리거를 사.. 2023. 6. 12. 게임개발 중급(47) - Monster Killer(9) Monster Killer(9) 어제는 사소한 줄 알았지만, 생각보다 어려웠던 문제점을 해결했습니다. 연사를 못하도록 막아 무기 오브젝트끼리 부딪히는 현상을 해결했습니다. 오늘은 미뤄져 하지 못한 몬스터 소환과 죽음에 대해서 다뤄보겠습니다. 몬스터 소환 및 죽음 몬스터가 소환되고 죽는 것은 애니메이션 동작과 함께 진행됩니다. 현재까지 구현한 바로는 게임을 시작하면 몬스터가 생성되고, 해당 몬스터의 체력을 전부 깎으면 몬스터가 죽고 다음 몬스터가 바로 생성됩니다. 이때 죽은 몬스터는 바로 사라지는 것이 아닌 죽는 애니메이션을 3초간 실행한 뒤에 사라집니다. 현재 이것 때문에 발생한 문제는 체력이 전부 깎이면 몬스터 소환은 바로 이뤄지는데, 죽는 몬스터는 3초뒤에 사라져 두 몬스터가 약 3초간 겹치는 현상이.. 2023. 6. 7. 게임개발 중급(42) - Monster Killer(4) Monster Killer(4) 저번엔 HP바를 만드는 법과 데미지를 적용시키는 법에 대해서 다루었습니다. 이번엔 레벨디자인 관련해서 이야기 해볼까 했는데, 그 전에 데미지가 어떻게 들어가는지 플레이어가 확인할 수 있도록 Text UI를 만들고, 몬스터가 죽으면 죽는 애니메이션이 나오도록 설정하는 것부터 해보도록 하겠습니다. 현재체력과 최대체력 UI 유저의 데미지를 보여주는 방법에는 여러 방법이 있지만, 저는 밤송이를 맞췄을 때, 깎이는 데미지를 현재 데미지로 표현하여 보여주는 방식으로 하겠습니다. 몬스터의 현재체력과 최대체력을 체력바 위에 보여주면 됩니다. TextMeshPro 유니티 최근 버전부터는 Text가 레거시로 들어가고 TextMeshPro가 대신 사용되는 것 같습니다. 사용법은 Text와 크.. 2023. 6. 3. 이전 1 다음