쾌락없는 책임 (공부)/Unity
-
[Unity] 유니티 내 길찾기 알고리즘을 넣어보기쾌락없는 책임 (공부)/Unity 2022. 7. 24. 16:20
개인 기록용으로 적은 글이니 혹시 길찾기 알고리즘을 알아보고 싶으신 분들은 아래 참고 자료를 참고하시는게 좋습니다. 개요 현재 연합동아리에서 제작하고 있는 게임 '뿔 없는 용'. 조선시대 배경으로 이무기가 승천하는걸 모티브로 삼아서 제작하고 있는 게임으로 딱히 길찾기 알고리즘이 들어갈만한 부분이 없는 게임이었습니다. 그런데 흔히 승천하는 이무기를 맞춰 떨어뜨리는 '지나가던 나그네'에서 이 화살을 유도로 만들면 어떨까? 하는 생각에 오브젝트 풀링으로 화살을 관리하고 각 화살에는 길찾기 알고리즘을 넣어보자는 생각이 들게 되었습니다. 이에 따라 만들고 제작했던 부분들을 한번 써볼려고 합니다. 길찾기 알고리즘을 위한 Grid 생성 일단 기존에 알고있는 다익스트라 알고리즘의 경우 이곳에 적합한 방식이 아니라 '그..
-
[Unity] 유니티 배경 스크롤링을 고민하면서 겪은 일들쾌락없는 책임 (공부)/Unity 2022. 6. 3. 20:13
개요 아트분의 요청이 있었죠. '배경 원경 후경 효과가 있으면 어떨까요?'. 이 제안을 듣고 나서 한번 생각을 해 봤다. 확실히 원경 후경 효과가 들어갈 수 있다면 게임이 더 살아날 것 같았고 이를 승낙하기로 했습니다. '쿠키런' 같은 횡스크롤 게임에서 주로 사용하는 방식인 배경 스크롤링을 조금 개량하면 우리 게임에 넣을 수 있지 않을까 했고 이와 관련한 기능을 준비해 봤습니다. 일단 기능은 만들었다 기능 자체를 만드는 건 어렵지 않았습니다. 이미 시네머신을 활용하고 있어서 카메라는 플레이어를 따라가고 있었고 이를 활용해서 카메라에 아래 스크립트를 달아 뒀습니다. public event Action playerMoveEvent; Vector2 prevPos; private void Start() { pr..
-
[Unity] Line Renderer로 직선 궤적 그리기 - Unity Trajectory Line쾌락없는 책임 (공부)/Unity 2022. 5. 6. 20:05
개요 현재 개발중인 프로젝트에서 주인공이 '여의주를 발사' 하는 기능이 있습니다. 이 기능을 만들긴 했는데 뭔가 이후 추가될 이지모드에서 이 예측선을 만들어 줘야할 필요가 있었고 몇번의 시행착오 끝에 이 기능을 만들게 되어서 정리하기 위해 글을 쓰게 되었습니다. 한국어로 된 자료는 많이 없더라구요. 그래서 기능 만드실 분들에게 조금이나마 아이디어를 줄 수 있으면 좋겠습니다. 실제 구현 실제 구현은 Line Renderer + Raycast의 조합으로 만들어졌습니다. 그리고 2D 환경에서 만들었다는 점 알아두시면 됩니다. 위 움짤이 실제 결과물로 대충 저런 느낌이라고 봐주시면 됩니다. 충돌 횟수가 정해져 있기 때문에 1쿠션만 하고 여의주가 멈추는 기능을 목표로 설명하겠습니다. 구현은 어렵지 않습니다. Li..
-
[Unity] 유니티 모바일 출시 과정중 나오는 플레이 콘솔 오류들쾌락없는 책임 (공부)/Unity 2022. 4. 18. 23:17
API 30 수준 이상을 타겟팅해야 합니다 따로 API 설정을 하신 적이 없다면 안드로이드 스튜디오를 설치해야 합니다. 이후 [안드로이드 스튜디오 > SDK Manager > Appearance & Behavior > System Settings > Android SDK] 에서 위 사진처럼 API 레벨이 30 이상인 것들을 전부 받아주시면 됩니다. 그런 다음 위 캡쳐 화면에서 SDK Location이 있는데 이를 [Unity > Preference > External Tools > Android SDK 경로]에 복사해서 붙여주면 됩니다. 위 경로 복사시 오류가 난다! 라고 한다면 위 경로를 파일 탐색기에서 직접 열어서 확인한 뒤 이 경로를 붙여줘야 합니다. C:\Users\husk3\AppData\Loc..
-
[Unity] NullReferenceException: Object reference not set to an instance of an objectUnityEditor.PropertyEditor.DrawEditors 해결방안 1쾌락없는 책임 (공부)/Unity 2022. 4. 18. 22:31
개요 상황을 알려드리면 유니티 내 [InputField] UI가 있고 이걸 inspector 에서 보는 중 게임을 플레이하게 되면 위와 같은 NullReferenceException: Object reference not set to an instance of an object UnityEditor.PropertyEditor.DrawEditors 오류가 나오게 됩니다. 해결 방법 단순히 다른 오브젝트를 클릭한 뒤(또는 배경) inspector가 UI 가 아닌 다른 것을 가리키고 있음을 확인한 뒤 플레이하면 위와 같은 오류가 나오지 않게 됩니다. 다른 포럼에 있는 이야기대로 유니티를 껐다가 키면 처음에는 해결할 수 있는데 변경이 자주 되는 UI를 사용할 시 위와 같은 오류가 나온다면 인스펙터를 확인해보는게..
-
[Unity] 스테이지 클리어 조건 Delegate로 구현쾌락없는 책임 (공부)/Unity 2022. 3. 27. 16:53
개요 스테이지 해금 조건에는 여러가지가 있을 수 있습니다. 저의 경우 퍼즐 게임을 제작하면서 맵 내에 있는 코인을 전부 먹어야 클리어 되는 조건을 만들고 있었습니다. 이전에 개발을 한다면 각 스테이지마다 코인수, 흭득 함수를 따로따로 만들어서 하거나 Find 등을 사용했을 텐데 Delegate(스크립트에서 Action)을 사용해서 간단하고 여러군데 쓸 수 있는 방법을 사용했고 이를 기록하려고 포스팅을 했습니다. 각 동전에 Delegate(Action)을 넣어서 사용하자 using System.Collections; using System.Collections.Generic; using UnityEngine; using System; public class Coin : MonoBehav..
-
[Unity] List가 들어있는 클래스에서 Instantitate를 하면 NullReferenceException: Object reference not set to an instance of an object쾌락없는 책임 (공부)/Unity 2022. 3. 26. 15:54
스크립트 상황 스크립트 GenomManager에서 Genom클래스를 가지는 오브젝트들을 Instantitate를 하면 계속해서 "NullReferenceException: Object reference not set to an instance of an object" 가 나오는 문제가 있었습니다. public class Genom : MonoBehaviour { public List GenomList; public void InitGenom(int genomLength) { for(int i = 0; i 0.5f); } } } public class GenomManager : MonoBehaviour { ... L..