쾌락없는 책임 (공부)/Unity
-
유니티 2D 아이템 드랍 오브젝트 폴링으로 구현하기쾌락없는 책임 (공부)/Unity 2021. 5. 8. 20:57
오브젝트 폴링 몬스터가 아이템 드롭을 하는걸 계속 Instantiate로 생성을 하고 플레이어가 먹으면 Destroy를 하는데 이게 너무 지속되면 GC가 호출될 때 프레임이 튀는 경우가 있어 이걸 방지하기 위해 미리 오브젝트를 만들고 위치 변경만 해서 마치 '생성하는 것처럼 보이게'하는 메모리 관리 기법입니다. 운영체제 강의들을 봤을 때 메모리 단편화에 대한 관리도 골치아프니 오브젝트 폴링을 해서 메모리 관리를 하는게 공간적으로나 시간적으로나 큰 이득을 볼 수 있습니다. 그래서 이번에 리스트를 이용해 간단한 오브젝트 폴링을 만들어 봤습니다. 소스코드 using System.Collections; using System.Collections.Generic; using UnityEngine; public c..
-
Unity 2D Ghost Trail Effect 제작쾌락없는 책임 (공부)/Unity 2021. 5. 2. 15:02
서론 게임을 제작하면서 '대쉬를 했을 때 흔적이 남는 효과를 넣고 싶다' 라고 생각했는데 막상에 구글에 검색을 해보려고 하니 어떤 단어로 검색해야 할지 몰라 한동안 놓고 있던 기능이었다. 찾아보니 영어로 Chost Trail Effect, Trail Renderer정도로 검색하니 관련 자료들이 잘 나왔고 한글로는 유니티 잔상 이라고 치니 자료들이 좀 나왔다. 소스코드 using UnityEngine; using DG.Tweening; public class GhostTrailEffect : MonoBehaviour{ PlayerMovement playerMovement; SpriteRenderer sprite; PlayerAnimation anim; public Transform ghostsParent;..
-
2D 횡스크롤에서 맵에 따른 카메라 전환쾌락없는 책임 (공부)/Unity 2021. 4. 6. 21:21
[유니티 2D 스터디] 애니메이션, 추가로 시네머신 살짝 공부 애니메이션 전환 기존 들고있는 스프라이트의 모션이 빈약한 결과 애니메이션이 단 2개가 되었습니다. 크게 설명할것도 없이 방향키 입력을 받으면 isWalk = true, Player_idle에서 Player_walk가 됩니다 husk321.tistory.com using System.Collections; using System.Collections.Generic; using UnityEngine; public class RoomCam : MonoBehaviour { public GameObject vituralCam; public GameObject Map; private void OnTriggerEnter2D(Collider2D other)..
-
유니티 텍스트 메쉬 프로 한글 적용하기 - Unity TextMeshPro korean쾌락없는 책임 (공부)/Unity 2021. 3. 27. 17:51
텍스트 메쉬 프로 한국어 적용하기 유니티 상단 Window > TextMeshPro > Font Asset Creator 를 클릭하고 위 창이 뜬다면 'Import TMP Essentials' 클릭. 그러면 텍스트 메쉬 프로가 설치가 됩니다. 대신 한국어를 치면 ㅁㅁㅁㅁㅁ 공격을 받게 되니 한글 폰트를 설치해 줘야 합니다. 저의 경우 아래 링크에 있는 무료 폰트를 사용했습니다. 원하는 폰트를 다운해서 TTF파일을 유니티의 Asset폴더에 넣으시면 됩니다. 둥근모꼴+Fixedsys 둥근모꼴+ Fixedsys 1.3 가나다라마바사아자차카타파하힣 ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㄳ ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅝㅞㅟㅠㅡㅢㅣ ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvw..
-
유니티 2D 시네머신 사용기 - 씬 이동시 플레이어를 추적하는 카메라쾌락없는 책임 (공부)/Unity 2021. 3. 26. 22:37
뭔가 말이 이상하긴 하나 조금 더 풀어쓴다면 플레이어가 없는 씬에서는 인스펙터에 플레이어항목을 끌어올 수 없으니 코드상으로 동적 할당을 해줘야 한다는 것입니다. Cinemachine -Target Follow an Initialize Prefab Since my player gets initialized in runtime, I am trying to add cinemachine's target and follow through code. What I tried below is not working:... forum.unity.com 스크립트상에서 시네머신에 접근하는 방법을 몰라 한 2시간동안 헤메면서 머리 아팠는데 이걸 보시는 분들은 머리 잘 간수하시길 바랍니다. 소스코드 using UnityEngin..
-
[유니티 2D 스터디] 애니메이션, 추가로 시네머신 살짝 공부쾌락없는 책임 (공부)/Unity 2021. 3. 16. 22:37
애니메이션 전환 기존 들고있는 스프라이트의 모션이 빈약한 결과 애니메이션이 단 2개가 되었습니다. 크게 설명할것도 없이 방향키 입력을 받으면 isWalk = true, Player_idle에서 Player_walk가 됩니다. 이 과정에서 다시 멈추거나 점프를 하면 Player_idle 상태로 넘어가게 됩니다. // Flip if (Input.GetButton("Horizontal")) spriteRenderer.flipX = Input.GetAxisRaw("Horizontal") == 1; // 걷는 애니메이션 if (Mathf.Abs(rigid.velocity.x) 0) //속도가 0이라면 = 단위벡터가 0 anim.SetBool("isWalk", false); ..
-
유니티 인게임 메뉴 만들기 - 게임 일시정지, 재시작 등쾌락없는 책임 (공부)/Unity 2021. 3. 14. 20:06
참고 영상 Youtube - BracKeys 유니티 내 세팅 - 유니티 하이어라키 창에서 Create > UI > Canvas, Panel을 통해서 일시정지를 위한 패널을 만들어 둔 뒤 각 버튼들을 세팅, 일단은 비활성화 했습니다 using System.Collections; using System.Collections.Generic; using UnityEngine; //using UnityEngine.SceneManagement; public class PauseMenu : MonoBehaviour{ // 다른 스크립트에서 쉽게 접근이 가능하도록 static public static bool GameIsPaused = false; public GameObject pauseMenuCanvas; void..
-
유니티 2D 시네머신 사용기 - 맵 이동시, 카메라 전환, confiner change쾌락없는 책임 (공부)/Unity 2021. 3. 13. 22:29
일단 게임 제작 과정에서 아래 기능을 하는 카메라가 필요했다. 1. 플레이어를 스무스하게 따라가는 카메라 2. 대신 맵 밖으로 벗어나지 못하는 카메라 위 기능을 이전에 Gizomo를 사용한 코드로 구현한 적이 있지만 이후 보스전이나 맵 이동 등에도 유용하게 사용할 카메라가 필요했다. 그리고 위 영상을 보는데 딱 좋아보이는게 있어 '이걸 안 쓸 이유가 없다'고 생각해서 시네머신으로 만들게 되었다. 시네머신의 카메라 영역은 Collider을 통해서 만들어야 하며 이 Collider는 trigger로 만들어야 충돌 문제가 없고 콜라이더는 폴리곤 / 타일맵 콜라이더만 사용이 가능하다 - 사용법 1. 시네머신 설치 후 2D 카메라 제작 (기존 카메라는 ..