반응형

Unity3D 22

event, EventHandler 란?

c#에서 event와 EventHandler는 이벤트 기반 프로그래밍에서 사용되는 핵심 개념으로 주로 객체 간의 통신에서 사용되며 하나의 객체에서 어떤 일이 발생했을 때 다른 객체가 이를 감지하고 반응할 수 있게 해줌 event 란?어떤 객체가 발생시키는 동작 또는 상황으로 그 동작이나 상황을 다른 클래스나 객체에 알리고자 하는 용도로 사용ex] 버튼을 클릭했을 때 EventHandler 란?이벤트가 발생될때마다 이벤트를 처리하기 위해 호출되는 메서드로 event 발생시 실행되는 함수C#에서 자주 사용하는 이벤트 델리게이트(delegate) 형식 EventHandler 기본형태public delegate void EventHandler(object sender, EventArgs e);- sender..

Unity 2025.07.28

Basic GridSystem 만들어보기

GridSystem?GridSystem이란 2차원 혹은 3차원 공간을 격자 형태로 나누어 객체나 요소의 위치를 정렬하거나 관리하는 시스템을 말합니다. 공간을 일정한 간격의 격자(Grid)로 나누어 오브젝트나 요소를 체계적으로 배치하거나 조작할 수 있는 구조를 말하는데요 게임개발에선 건물을 건설하는 게임에서 건물을 1x1, 2x2 등의 타일 단위로 설치하기 위해 사용하거나 전략 시뮬레이션 게임에서 유닛 이동이나 공격 범위를 격자 단위로 제한하기 위해서 사용합니다. GridSystem을 사용해 개발하면 정확한 위치 관리 혹은 건설/이동 시스템 개발에 용이함이 있어 많이들 사용하게 됩니다. 이번 글에서는 Unity에서 이 GridSystem을 간단히 만들어 보는 방법을 설명하도록 하겠습니다. 간단히 Grid를..

Unity 2025.07.22

Cinemachine 3인칭 Follow Camera 사용하는 방법

유니티에서 카메라를 사용할때 Cinemachine을 많이들 사용하실겁니다.Cinemachine은 카메라 관련 여러가지 기능들을 코드 없이 사용할 수 있게 해주는 유니티 패키지입니다.이번 포스팅에서는 그 중 3인칭 시점의 카메라를 노코드로 간단히 사용할 수 있는 방법에 대해 알아 보도록 하겠습니다. GameObject > Cinemachine > Targeted Cameras > Follow Camera를 클릭하면 내 캐릭터를 따라 다니는 카메라를 손쉽게 만들수 있습니다.저의 경우 제 게임 캐릭터를 카메라가 따라다니길 바라기 때문에 저의 게임 캐릭터에 따라다닐 Target GameObject를 하나 만들어 줬고 이름은 CameraTarget 이라고 지었습니다. 해당 게임 오브젝트를 카메라가 따라다니게 할건..

Unity 2025.02.20

RectTransformUtility.ScreenPointToLocalPointInRectangle

RectTransformUtility.ScreenPointToLocalPointInRectangle ScreenPoint(스크린 좌표)를 RectTransform 좌표계의 Local Point로 변환시켜주는 함수이다. public static bool ScreenPointToLocalPointInRectangle(RectTransform rect, Vector2 screenPoint, Camera cam, out Vector2 localPoint);파라미터를 살펴보면 첫번째 파라미터는 변환 기준 좌표계의 Canvas RectTransform두번째 파라미터는 출력하고자 하는 스크린 좌표세번째 파라미터는 스크린좌표와 연관된 카메라네번째 파라미터는 변환된 좌표를 저장할 변수 이다 예시를 잠깐 보면public ..

Unity 2025.02.11

New InputSystem을 사용해 캐릭터 이동 구현 방법

이번 포스팅에서는 Unity의 New InputSystem을 사용하여 플레이어를 이동하는 방법을 소개해보도록 하겠습니다아래 영상은 구현했을때의 모습입니다. New Inputsystem을 사용해 플레이어를 이동하는 코드를 만들어 보겠습니다 우선 New InputSystem 구조입니다.Actions Properties에 Move 변수를 만들고 Action Type을 Value로 Control Type은 Vector2로 구성.해당 Action Properties에 WASD라는 Binding Properties를 생성, Composite Type은 2D Vector, Mode는 Digital로 구성합니다.그리고 그 아래로 W, A, S, D 변수들을 바인딩합니다. InputSystem에서 Generate C# ..

Unity 2025.02.11

iOS-Unity UAAL iOS와 Unity 사이 데이터 주고 받는 방법(feat swift)

iOS에서 Unity를 라이브러리로 사용하는 uaal을 쓰게되면 당연하게도 ios project와 unity3d 사이에 데이터를 주고 받아야 하는 상황이 발생한다.이럴 경우 어떻게 데이터를 주고 받을수 있는지 알아보도록 하겠습니다 이전에 uaal 을 어떻게 만드는지는 이전 저의 글을 보면 간단히 설정하실수 있습니다https://hankyo-dev.tistory.com/entry/iOS%EC%97%90%EC%84%9C-uaal%EB%A1%9C-unity%EB%A5%BC-library%EB%A1%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0 iOS에서 uaal로 unity를 library로 사용하기iOS에서 3D 물리엔진등을 구현하기는 힘들다.3D 물리엔진은 유니티나 언리얼이 사용하..

Unity 2025.02.04

iOS에서 uaal로 unity를 library로 사용하기

iOS에서 3D 물리엔진등을 구현하기는 힘들다.3D 물리엔진은 유니티나 언리얼이 사용하야 구현이 쉬운데 이럴경우 ios native app이면서 3d 물리엔진이 필요한 경우에는 unity를 사용하는 방법이 있다UAAL(Unity As A Library) 라는 방식이다 uaal을 사용해 ios native 앱에서 유니티를 라이브러리로 불러 사용하는 방법에 대해 알아보도록 하겠다 1. workspace 생성우선 Xcode workspace부터 생성한다Xcode > File > New > WorkSpace 를 클릭해 workspace를 생성한다 2. ios native app 프로젝트 생성다음으로 ios native app을 생성한다 원래 만들던 방식과 동일하되 앞서 만든 workspace에 연결한다 3. U..

Unity 2025.01.27

[Unity] TextMeshPro 사용시 한글 깨짐

Unity에서 Text 쓰려하면 이제 어느순간 TextMeshPro가 기본이 되어 있다기존 사용하던 Text를 쓰려면 Legacy로 들어가야 하는데 안타까운건 TextMeshPro를 그냥 쓰면 영어는 괜찮지만 한글은 깨진다는 것이다 (한글을 깨트릴거면 폰트 좀 바꿔줘라!!)알다시피 문제는 폰트때문이다.TextMeshPro에서 한글을 쓰기 위해선 폰트를 바꿔주어야 한다 기본 폰트인 LibersSans는 한글이 깨지니 새로운 폰트를 구해야 한다필자의 경우 찾아보다 넥슨 메이플스토리 서체가 있길래 그걸 사용했다https://maplestory.nexon.com/Media/Font 서체 | 미디어 | 메이플스토리 maplestory.nexon.com메이플스토리 서체는 개인 및 기업 사용자를 포함한 모든 사용자에..

Unity 2025.01.17

[Unity] 스크롤 가능한 텍스트 영역 만드는 방법

Unity로 앱 개발할때 텍스트 정보를 띄우면서 많은 텍스트 정보로 인해 텍스트를 스크롤링이 되게 만들어야 할때가 있습니다저의 경우 로그나 Debug 정보를 화면에 띄울때 특히나 필요한데요그러한 UI를 어떻게 만드는지 알아보도록 하겠습니다 Scroll 되는 TextArea 우선 ScrollView를 먼저 추가해줍니다 Canvas 생성 후 UI > Scroll View 를 클릭하여 ScrollView를 생성해 줍니다만들어진 ScrollView 게임오브젝트에 ScrollRect Component가 있을건데 저의 경우 가로로 스크롤이 되는건 필요없기 때문에 Horizontal 프로퍼티 체크를 해제하고 Horizontal Scrollbar를 제거해줍니다 만들어진 ScrollView아래 Content 게임오브젝..

Unity 2025.01.16

[Unity] AddressableAsset 사용방법

AddressableAsset은 어떻게 언제 Asset들을 로드할지 컨트롤할 수 있게 만들어주는 기능이다Scene에 오브젝트나 리소스들을 다 넣어놓으면 해당 Scene을 로드할때 그 오브젝트와 리소스들을 다 메모리에 불러와야하기에 Scene 로드에 시간이 많이 걸리게 된다. 그렇게 하기 보단 필요한것만 Scene에 넣고 그때그때 필요한건 필요할때 불러오는 방식으로 개발해야 Scene 로드에 많은 시간 소모를 겪지 않게 된다1. Addressables 설치PackageManager에 들어가 Unity Registry 탭에서 Addressables 를 검색하면 위 이미지와 같이 Addressables unity package가 나오는데 해당 패키지를 설치해주면 된다 2. 사용방법먼저 상단 탭에서 Window..

Unity 2024.12.12