유니티 입문주차 강의 부터 Scriptable Object를 사용했으나 대충 데이터를 관리하는 기능이겠거니만 생각하고 넘어갔었다. 이번에 팀프로젝트에서 Scriptable Object를 만드는 역할도 맡았다 보니 Scriptable Object에 대해 한 번 정리하고
유니티의 Ai Navigation은 NPC가 게임 환경에서 효율적으로 이동할 수 있게 해주는 기능이다.Ai Navigation를 사용하기 전에 먼저 유니티 패키지에서 AI Navigation의 설치가 필요하다Ai Navigation을 설치하면 씬 창에 위 사진과 같이
펍/섭 패턴은 퍼블리셔-섭스크라이버 패턴이라한다. 디자인 패턴 중 하나로 발행자(Publisher)와 구독자(subscriber) 간의 느슨한 결합을 제공하며 직접적인 의존성을 피할 수 있게 한다. 특히 이벤트 처리나 메시지 전달 등에서 자주 사용하는데 유니티에서는 U
으윽 속이....
팀 프로젝트 진행 중 해상도 설정이 필요해서 작업했다. 리스트를 사용해 해상도 값들을 담아주고 구조체를 이용해 텍스트에 반영되게 했다.해상도 설정을 만들었으나, 에디터 상에서는 수정된 사항을 바로 볼 수 없어서 당황스러웠다. 튜터님께 질문해본 결과 위 주석 처리된 코드
1. 개요 UI를 작업하던 중에 사운드 관련 환경설정을 구현해야 하는 일이 생겼다. 관리하고 있는 Audio Source에 BGM과 SFX의 수가 많아서(20개가 넘는다) 하나하나 Volume에 접근하기도 애매한 부분이 있었다. 추가로 팀 프로젝트로 작업하다 보니 다른
이번 프로젝트에서 UI를 맡아서 작업하게 되었다. 이번에 설정 화면 구현이 필요해서 관련 내용을 정리해보려 한다.사실 코딩적인 부분이 많지 않아서 이걸 정리해둬야하나 싶었는데 앞서 정리한 내용과 함께 제대로 활용하지는 않았지만 정적(?)메서드를 일단 사용해 봤기에 관련
이번에 UI에 디자인들을 반영하면서 피격 시의 시각 효과를 추가하기 위해 프레임 형태의 피격 효과를 추가했다.위와 같은 코드를 추가해 원하는 느낌의 효과가 출력되는데는 성공했지만, 플레이어의 피격 시 무적시간과 차이가 있어서 그런지 연속으로 공격을 받았을 때는 효과가
설정창들을 만들다가 그래픽과 관련된 설정이 해상도 하나 밖에 없어서 다른 설정들을 추가할만게 없는지 논의하다가 수직동기화와 전체화면 설정을 추가하기로 했다.먼저 수직동기화란 프레임 속도를 동기화 해 프레임을 일정하게 재생하는 것을 말한다.코드는 복잡하지 않았다.무엇보다
현재 메트로바니아 장르를 만들면서 할로우 나이트를 레퍼런스 삼아서 팀프로젝트를 제작중에 있다. 할로우나이트에서 가장 불편했던게 맵 시스템이었는데, 지도는 맵 어딘가에 있는 상인에게서 구매해야 했고 플레이어의 위치를 알려주는 아이템은 스토리 진행 후 마을에서 구매가 가능
어제 미니맵을 그리기 위해 맵의 콜라이더를 참고해 선을 그리도록 하는 코드를 작성했으나 그려진 위치가 올바르게 나오지 않았고, 추가로 라인의 색상이 흰색이 아닌 마젠타로 적용되는 문제와 튀어나와있는 지형의 선이 뾰족하게 튀어나오는 문제가 있었다.여기서 문제의 일부분을
메트로바니아 팀 프로젝트를 진행하면서 습득한 아이템 정보와 레퍼런스 삼은 할로우나이트를 참고해 장착이 가능한 인벤토리가 필요해졌다. 현재 구현한 아이템은 더블점프가 가능한 기본 아이템으로 메트로바니아의 장르 특성상 장착 여부가 필요한 아이템 종류는 아니었기에 현재 아이
이번에 UI를 제작하면서 DoTween을 처음으로 사용해봐서 내용을 정리해보려 한다.DoTween은 애니메이션을 구현하기위한 라이브러리로 오브젝트의 위치, 회전, 색상 등을 시간을 통해 변화시키는 기능을 제공한다.Move: 오브젝트를 이동시킴Rotate: 오브젝트를 특
쿼터니언은 기존의 오일러 각을 사용하면서 생기는 문제점들을 예방한 것이다.오일러 각은 회전을 세가지 축의 각도로 표현하며 각 축에 대해 각각의 회전을 지정해 적용한다.회전을 쉽게 이해할 수 있어 직관적이고 각도를 직접 설정해 회전을 조정할 수 있다.각도를 직관적으로 조
Unity의 Built-in Render Pipeline(BIRP)와 Universal Render Pipeline(URP)은 각각 고유한 특성과 장단점을 지닌 렌더링 파이프라인으로 Unity 엔진에서 그래픽 렌더링을 처리하는 방식과 성능, 기능 측면에서 차이가 있다
저번에 UIManager가 Manager로써의 역할로 부족하다고 작성했었다. 다른 메뉴를 열었을 때 일시정지 메뉴가 나오는 것도 해결할겸해서 UI오브젝트 구성 수정과 UIManager가 더 다양한 역할을 담을 수 있도록 수정하려고 한다.코드를 수정하면서 메뉴를 전환하는
플레이어에게 재화가 있었으나 사용처가 마땅하지 않아 팀 회의를 거친 끝에 플레이어 캐릭터의 스탯을 강화해주는 아이템을 파는 NPC를 만들어주기로 결정해 해당 기능을 구현하게 되었다.버튼 부분은 아직 미구현상태지만 Scriptable Object에서 리스트를 이용해 대화
이번에 npc와 상점기능을 구현하면서 했던 실수가 있다.객체를 신경쓰지 않고 코드를 작성해버린 것인데, 이것 때문에 쓸때없이 복잡하게 코드를 만든 문제가 있었다.그래도 구조를 남겨두면 참고할 수 있는 부분이 있을까해서 코드를 남겨뒀다.일단 여기서 문제는 npc가 아이템