Unity 7

제 28회 AppJam 후기 <엔터테이먼트> Part2

오잉? 이건 뭔가요?왜 Part1과 Part2가 나뉘어 있나요? 이건 전 글인 Part1의 댓글이다. 나는 이 글을 읽고 많이 생각하며 나를 돌아보았다.나는 평소 나의 실력을 믿지 않고 늘 겸손한 자세로 임하려고 하였다.그런 자세가 나에게 무조건 도움이 될 것이라고 생각하였고, 그것에 대해 의심하지 않았다. 왜냐하면 내 주위의 전문성이 있는 사람들은 전부 겸손함을 가지고 있었기 때문이다.하지만 이 글을 읽고 나의 겸손함이 나의 커리어에도 문제가 될 수 있음을 알게 되었다. 그렇기에 이 글은 AppJam에서의 나의 자랑거리를 말할 예정이다. 자랑 1 - 코드 내가 다 만들었다.(90%) 이것은 내가 게임잼 때 작성한 코드이다.쓱 훑어보면 별거 없어 보이지만 매우 많은 노력이 담긴 코드이다. 나는 이 많은 ..

일상 2025.01.07

제 28회 AppJam 후기 <엔터테이먼트> Part1

글에 들어가기 앞서 결과부터 말하자면 최우수상을 받았다. 이 글에는 최우수상을 받기까지의 과정을 써 내려갈 예정이다.나의 한계는 어디까지일까?나는 평소 본인의 실력이 어디까지인지에 대해 많은 궁금증을 가지고 있었다.지금 까지 겜마고를 다니며 여러 프로젝트를 하면서 나쁘지 않은 성적을 거두었지만 그 프로젝트가 혼자 한 개인프로젝트보다 팀원들과 같이 진행한 팀 프로젝트가 대부분이었기에 나 혼자가 이 팀에 얼마나 기여하는지 그리고 혼자서는 어디까지 할 수 있는 지를 알 수 없었다.그렇기에 나의 실력이 외부대회에 나가도 팀원들의 발목을 잡지 않을 실력이 쌓였다는 전공 선생님의 대답을 듣고 2학년 말에 외부 게임잼인 AppJam을 신청하게 되었다.길을 잃었다.AppJam이 처음이었던 나는 늦는 것보단 차라리 일찍..

일상 2024.12.23

[Unity] NullCheck의 익힘 정도를 굉장히 중요시 여기기에...

저는 평소에 NullCheck는 매우 중요하게 생각했습니다.. 하지만 일일이 요런 식으로 이븐 하지 못한 코드를 계속 사용하기에는 코드를 짜는 시간이 매우 아까웠습니다.그렇기에 저는 아래의 코드를 만들어 넀습니다.using UnityEngine;using System;public static class Util{ public static bool NullCheck(T Value) { if (Value == null) { Type type = typeof(T); Debug.LogError($"{type.ToString()} Is Null"); return false; } return tr..

개발 2024.10.20

[키우기 게임 1일차] 키우기 게임 만들기 시작

현제 18세 인 필자는 학교에서 남는 시간들을 이용해 키우기 게임을 만들고자 한다.만드는 이유는 간단하다 한 번쯤 만들어 보고 싶었기 때문이다. 게임의 UI의 레이아웃은 [캣 히어로]라는 게임을 참고하였다.   사용한 UI는 아래의 UI이다.현재 19.99달러이지만 번들로 구매하여 싸게 구할 수 있었다.1일 차에는 UI와 플레이어가 움직이는 것을 구현하였다.일단 리소스 관리는 Addressables로 관리를 하였고UI_Base 및 UI_EventHandler 를 제작하였다. 아래는 UI_EventHandler 코드이다. using System;using UnityEngine;using UnityEngine.EventSystems;public class UI_EventHandler : MonoBeha..

개발 2024.10.11

[Unity] 스마트한 GetCompoenet 만들기

나는 생각했다. Fun 하고 Cool하며 Sexy하게 GetCompoenet를 해오는 방법을...그리고 생각해 냈다. GetCompoenet를 사용한다는 건 애초에 그 객체에 저 Compoenet가 붙어 있다는 것을 가정한다.그런데 만약 객체에 컴포넌트가 붙어있지 않다면 다시 붙이는 수고를 해야 한다. 그렇기에 생각해 냈다.엄청난 방법을 컴포넌트가 없으면 컴포넌트를 붙이고 가져오는 것이다.  코드는 매우 간단하다. public static T GetOrAddCompoenet(GameObject go) where T : UnityEngine.Component { if(go == null) return null; T compoent = go.GetCompon..

개발 2024.10.04

[Unity] 객체 초기화 상태 관리

게임을 만들다 보면 객체를 초기화하는 함수를 작성할 때가 있습니다. 하지만 가끔 객체가 초기화가 여러번 호출될 때가 존재합니다. 그것을 보안하기위해 요즘에는 아래의 코드를 사용합니다.using UnityEngine;public class InitBase : MonoBehaviour{ private bool _init = false; //초기화 확인 public virtual bool Init() //초기화 함수 { if (_init) //초기화가 됬다면 return false; //false 반환 _init = true; // 초기화 완료 return true; // true 반환 } private void Awake()..

개발 2024.10.01

[Unity UIToolkit] confirmation modal(확인 대화상자) 만들기

Unity의 UIToolkit을 활용하여 유저가 실수로 작업을 수행하는 것을 방지하는 UI인 확인 대화상자를 만들고자 한다. 우선 하이라이키 창에서 마우스 오른쪽 버튼을 클릭해 [UIToolkit] > [UIDocument]를 생성해 줍니다. 생성된 Document의 이름을 ConfirmationModalUI라고 바꾸겠습니다.UIDocument 컴포넌트에 필수로 넣어줘야 하는 것은 Source Asset으로 앞으로 만들 UI를 저곳에 넣어줄 것입니다.PanelSettings는 레거시 UI의 캔버스 같은 역할로 캔버스에서 ScreenSize를 고정했던 것과 같이 고정해 줍시다.PanelSettings는 Project 파일에서 마우스 오른쪽 버튼을 클릭해 [Create] > [UI Toolkit] > [Pa..

UI개발(Unity) 2024.06.27
반응형