본문 바로가기

전체 글148

Rigidbody 객체가 떠 있는 상태에서 충돌했을 때 밀림문제 해결 방법 이번 글에서는 파쿠르 용사를 만들면서 경험했던 문제점에 대한 해결 방법에 대해 다뤄보도록 하겠습니다. ▶ 문제점 파쿠르 용사에서 보스들의 기본 패턴에 점프가 있습니다. 보스가 플레이어 캐릭터보다 크기 때문에 보스와 용사가 충돌했을 때 보스가 밀리는 건 자연스럽지 않습니다. 보스와 용사가 모두 땅에 있을 때는 보스의 Rigidbody 컴포넌트에 있는 mass 값을 더 크게 설정하면 보스가 밀리지 않게 할 수 있습니다. 하지만, 보스가 떠 있는 경우에는 이 mass 값에 상관없이 뒤로 밀려 버리는 문제가 발생합니다. 이러한 물체가 발생하는 이유는 용사와 보스 모두 가속도를 갖고 떠 있는 상태에서 충돌하기 때문에 물리엔진에 의해서 보스도 뒤로 밀려 버리는 현상이 발생하게 됩니다. 하지만 mass 값이 훨씬 큰.. 2023. 4. 27.
[유니티 활용] Animator 를 이용한 애니메이션 속도 조절 이번 글에서는 유니티 Animator 의 파라미터를 이용해 특정 애니메이션의 속도를 조절하는 법에 대해 알아보도록 하겠습니다. 특정 캐릭터의 공격 모션을 다음과 같이 만든다고 가정해 봅니다. 공격 시작부터 실제 공격하기전까지의 준비 동작은 느리게 진행 공격 준비 동작이 끝나고 실제 공격은 빠르게 이루어짐 애니메이션을 직접 제작한다면 처음부터 위의 특성을 고려해 만들면 됩니다. 하지만 직접 만든 게 아닌 경우에는 어떻게 해야 할까요? 다행히 유니티는 Animator 에서 파라미터를 지원해주고 이를 애니메이션에 적용할 수 있는 방법을 제공해 줍니다. 지금부터 이것을 활용해서 위에선 언급한 공격 모션의 속도를 조절하는 방법에 대해 알아보도록 하겠습니다. ▶ 슬라임 애니메이터 설정 이번 글에서도 제가 예제로 많.. 2023. 4. 26.
[유니티 활용] ScriptableObject 를 이용한 Item Drop Table 만들기 이번 글에서는 몬스터 사냥, 상자 열기, 스테이지 클리어 보상 등 거의 모든 게임에서 필요한 아이템 드랍을 ScriptableObject 를 이용해 구현하는 방법에 대해 알아보도록 하겠습니다. ▶ Item 정의 ScriptableObject 를 이용해 다음과 같이 Item 정보를 정의해 줍니다. using System.Collections; using System.Collections.Generic; using UnityEngine; [CreateAssetMenu] public class SOItem : ScriptableObject { public string itemName; public int level; [System.Serializable] public struct STAT { public st.. 2023. 4. 25.
[유니티 활용] ScriptableObject를 이용한 Data 관리 예제 - 몬스터 ScriptableObject 는 데이터 관리 측면에서 굉장히 유용하게 사용할 수 있습니다. 이 글에서는 ScriptableObject 를 이용해 몬스터를 정의하고 객체를 만드는 방법에 대한 예제를 다뤄보도록 하겠습니다. ▶ 몬스터 ScriptableObject 작성 몬스터의 기본적인 속성과 관련된 정보는 다음과 같이 만들 수 있습니다. using System.Collections; using System.Collections.Generic; using UnityEngine; [CreateAssetMenu] public class SOMonster : ScriptableObject { public int str; // strenth / 힘 public int dex; // dexterity / 민첩 pu.. 2023. 4. 24.
케나: 브릿지 오브 스피릿 (Kena: Bridge of Spirits) PS Plus 4월 스페셜 카탈로그에 추가된 Kena 의 엔딩 후기입니다. Kena 는 처음 나왔을 때부터 트레일러를 보고 그래픽이 너무 예뻐서 관심을 가졌던 기억이 납니다. 이런저런 일 때문에 못하고 있다가 이번에 스페셜 카탈로그에 올라온 김에 시간을 내어 달려봤습니다. 이 게임은 2021년에 출시 되었고 Ember Lab 에서 개발한 게임입니다. 첫 인상은 마음에 쏙 드는 취향 저격 그래픽 때문에 아주 괜찮았습니다. 주인공 Kena는 영면에 들지 못하고 사악해진 영혼들을 이끌어주는 영혼인도자라는 배경 설정도 나름 신선하고 좋았습니다. 다음은 제가 이 게임을 하면서 느낀 장점과 단점에 대해 적어보도록 하겠습니다. ▶ 장점 고퀄리티의 디즈니 애니메이션을 보는 듯한 아름다운 그래픽 한 편의 짧은 애니메이션.. 2023. 4. 23.
물리엔진을 이용한 캐릭터와 플랫폼 이동 문제 해결 파쿠르 용사는 기본적으로 플랫포머 게임입니다. 플랫폼은 정지해 있는 것도 있고 움직이는 것도 있습니다. 그리고 플랫폼의 크기가 다양합니다. 기본적으로 생각해 봐야 할 것은 "어떻게 플랫폼위에 있는 캐릭터를 플랫폼과 함께 움직이고 그 위를 자유롭게 움직이게 할 것인가" 입니다. 다양한 방법이 있을 수 있지만 저는 유니티의 특징인 게임 오브젝트의 계층구조를 이용해 구현하기로 했습니다. 오브젝트의 계층구조는 오브젝트가 부모와 자식의 관계가 될 수 있고 자식 객체는 부모 객체의 transform 에 영향을 받는 것을 이용하는 것입니다. 캐릭터를 플랫폼 객체의 자식 객체로 만들고 플랫폼을 움직이면 캐릭터는 플랫폼과 함께 움직이게 됩니다. 만약 캐릭터의 이동을 transform의 position 값을 변화시켜서 구.. 2023. 4. 21.