반응형

전체 글 70

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

Bi-Encoder 모델 구조

바이 인코더는 BERT 모델의 출력을 풀링(Pooling)층을 통해 고정된 크기의 문장 임베딩을 생성합니다. BERT 모델은 입력 토큰마다 출력 임베딩을 생성하는데 풀링층을 사용해 문장을 대표하는 1개의 임베딩으로 통합합니다.풀링층을 통해 문장의 길이가 달라져도 1개의 고정된 차원의 임베딩이 반환되기 때문에 코사인 유사도(Cosine Similiary)와 같은 거리 계산 방식을 활용해 두 문장 임베딩 사이의 거리를 쉽게 계산할수 있습니다.

AI/LLM 2025.02.09

문장 사이 관계를 계산하는 방법 Bi-Encoder vs Cross-Encoder

문장 Embedding을 활용하면 문장과 문장 사이의 유사도 혹은 관련성을 벡터 연산을 통해 쉽게 계산할수 있습니다. Transformer Encoder 구조를 활용한 BERT 모델은 입력 문장을 문장 Embedding으로 변환 시킬수 있습니다. 이 BERT 모델을 사용해 문장과 문장 사이의 관계를 계산할수 있는데 이 때 2가지 방법이 있는데 첫번째 바이인코더(Bi-Encoder) 두번째로는 교차인코더(Cross-Encoder) 가 있습니다 Bi-Encoder 바이 인코더 방식은 각각의 문장을 독립적으로 BERT 모델에 입력으로 넣고 출력결과인 문장 임베딩 벡터로 벡터 사이 코사인 유사도를 통해 문장 관계를 계산하는 방식입니다. BERT 다음 Pooling Layer를 넣는 이유는 문장 임베딩 벡터의 차..

AI/LLM 2025.02.08

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

Undefined symbol: __mh_execute_header

Native iOS App에서 Unity를 Library로 사용하려고 코드를 짜고 있는데 _mh_execute_header에서 undefined symbol 에러가 떴다찾아보니 xcode16부터 이런 에러가 많이 발생하는거 같은데 나도 마침 xcode16이었다 기존 코드가 아래와 같이 되어 있었는데if ufw?.appController() == nil { let machineHeader = UnsafeMutablePointer.allocate(capacity: 1) machineHeader.pointee = _mh_execute_header ufw?.setExecuteHeader(machineHeader)}여기서 _mh_execute_header에 undefined symbol 에러가 떴..

Issue Tracking 2025.01.28

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