반응형

전체 글 75

[Unity] AI Navigation System 사용방법

Unity의 AI Navigation System이 2.0 이상 버전으로 업그레이드 되면서 기존에 사용하던 방법과는 다르게 바뀌었다이전 방법이 적힌 책이나 유튜브를 보면 도움이 되지 않으니 새로운 AI Navigation System을 사용하는 방법을 간단하게 소개합니다 1. Package Manager에서 AI Navigation Package 설치Package Manager에서 Unity Registry 항목에 ai navigation을 검색하면 나온다 해당 패키지를 먼저 설치하자필자의 경우 2.0.4 버전으로 설치하였다 2. NavMesh Surface 컴포넌트 추가NavMesh Surface 컴포넌트는 NavMesh Agent가 걸을수 있는 영역을 만드는 컴포넌트입니다빈 게임오브젝트를 하나 만들어..

Unity 2024.12.11

[Unity] NavMesh Surface Bake를 했는데 Scene View에서 파란색 표면이 보이지 않는 이슈

오랜만에 Unity AI Navigation을 사용하려고 하는데 NavMesh Surface를 Bake 하면 파란색으로 Bake된 영역이 보여야 하는데 보이지 않는 이슈가 생겼다 처음엔 Unity6를 처음 사용해봐서 설마 Unity6 이슈인가 했는데 나의 이슈였다하지만 나와 같이 당황하는 사람들이 있을거라 생각하고 그런분들을 위해 해결방법을 공유한다  1. AI Navigation 창을 열고 Show NavMesh를 클릭한다SceneView의 오른쪽 상단 햄버거 버튼을 클릭후 Overlay Menu를 클릭 Overlay Menu가 열리면 AI Navigation을 클릭해 AI Navigation 화면을 연다음 Show NavMesh를 클릭해 활성화 해준다 2. Gizmo를 활성화 해준다SceneView의..

Unity 2024.12.11

Attention

Attention에서의 핵심개념은 query, key, value 이다Attention이라는 개념이 나온 이유는 사람이 단어 사이의 관계를 고민하는 과정을 Deep Learning 모델이 수행할 수 있도록 모방하기 위한 연산 때문이다 1. 단어와 단어 사이의 관계를 계산해서 그 값에 따라 관련이 깊은 단어와 그렇지 않은 단어 를 구분할 필요가 있음2. 관련이 깊은 단어는 더 많이, 적은 단어는 더 적게 맥락에 반영해야 함 Query, Key, Valueex] 나 어제 파리 여행을 다녀왔어여기서 파리는 곤충 파리인가? 프랑스 도시 파리인가?문장의 문맥을 통해 파리가 도시인지 알기 쉬운 키는 '파리', '여행을', '다녀왔어' 이다  '파리'와 관계가 높은 키 값을 찾아야 함Query와 Key 토큰을 토큰 ..

AI/LLM 2024.12.01

[Unity] 특정 게임오브젝트 기준으로 카메라 움직이기

유니티에서 특정 게임오브젝트를 기준으로 카메라를 회전시키는 방법Cube를 중심으로 회전하는 카메라 Mouse의 X축 데이터를 가져온다xRotateMove = Input.GetAxis("Mouse X") * Time.fixedDeltaTime * rotateSpeed;가져온 X축 데이터에 Time.fixedDeltaTime을 곱해주고 이동속도인 rotateSpeed float 값을 곱해준다transform.RotateAround(targetPos, Vector3.up, xRotateMove);Transform안에 RotateAround 함수를 사용해 기준점이 되는 게임오브젝트의 position을 기준으로 xRotateMove만큼 회전한다 transform.LookAt(targetPos); 회전하면서 카메라..

Unity 2024.11.29

RAG Pipeline과 LlamaIndex, LangChain 간략소개

RAG(Retrieval-Augmented Generation) RAG는 대규모 언어 모델의 출력을 최적화하여 응답을 생성하기 전에 학습 데이터 소스 외부의 신뢰할 수 있는 지식베이스를 참조하도록 하는 프로세스 RAG 사용 이전에는 LLM에 문제점들이 있었음, 거짓 답변(할루시네이션), 학습 이전의 최신 정보를 모름 등의 문제가 있었지만 RAG를 사용함으로써 해당 문제들이 해결됨 RAG PipelineUser Query가 들어오면 관련성 있는 문서를 Retrieval해서 결과를 생성해 사용하는 형태 Rag Framework에는 크게 두가지가 있는 LlamaIndex와 LangChain이 존재 LlamaIndex & LangChain LlamaIndex는 Document를 넣어주면 code 몇줄만으로 Ve..

AI/LLM 2024.11.25

[Unity] 캔버스 랜더모드(Canvas RenderMode)

Canvas란?Canvas란 Unity의 Component로 모든 UI들의 UI 컨테이너로써 활용됨UI Element를 생성하면 Canvas는 자동으로 생성되어짐Canvas 게임오브젝트는 4개의 Component들을 가짐 (RectTransform, Canvas, Canvas Scaler, Graphic Raycaster)- RectTransform은 World Canvas 모드일 경우 Canvas를 어느 위치에 둘지를 결정- Canvas는 Rendering 순서와 UI element들의 표현을 관리- Canvas Scaler는 서로 다른 해상도와 그래픽에서 UI를 어떻게 설정할지를 관리 단일 Canvas를 사용하는거 보단 나눠서 여러 Canvas를 사용하는게 낫다예를 들어 Canvas에 있는 UI요소 ..

Unity 2024.11.22

Unity New InputSystem 사용방법

유니티 패키지에 InputSystem이 생겼습니다.(사실 생긴지는 꽤 된거 같은데 제가 사용을 시작한지 얼마되지 않았습니다)New InputSystem을 사용하기 전에는 여러 입력 디바이스, 예를 들어 키보드와 마우스 / 게임패드 / 모바일 터치 등에 대해 따로 처리를 해주어야 했습니다. 하지만 새로운 InputSystem을 사용하게 되면 여러 입력 디바이스에 대해 다 따로 구현할 필요 없이 한방에 해결할 수 있다는 이점이 있습니다. 설치 및 설정먼저 PackageManager에서 InputSystem 패키지를 설치를 해줍니다설치 후 Project Setting에 들어가면 Active Input Handling이라는 설정을 볼 수 있는데 Both로 설정 한다면 이전 InputSystem과 새롭게 설치한 ..

Unity 2024.11.22

Unity Vector3.Lerp 선형보간으로 부드럽게 움직이게 하기

유니티에서 캐릭터를 움직이거나 물체를 다른 위치로 이동시키거나 할때 끊김 없이 부드럽게 움직이게 하는 방법중 하나가 Vector3.Lerp 함수 입니다. 이는 선형보간이라는 방법을 사용하는건데두 벡터 간 사이에 위치한 값을 추정하기 위해 직선 거리에 따라 선형적 계산을 하는 방법입니다 Reference : https://docs.unity3d.com/ScriptReference/Vector3.Lerp.html Unity - Scripting API: Vector3.LerpInterpolates between the points a and b by the interpolant t. The parameter t is clamped to the range [0, 1]. This is most commonly ..

Unity 2024.11.12

Unity Animation Rigging - Two Bone IK Constraint 사용방법

Unity로 게임개발을 할 때 여러 애니메이션들을 많이 쓰곤 하는데요회사에서 하는 개발의 경우 Animator가 필요한 애니메이션을 만들어주거나 하면 되지만 1인 개발을 하거나 하게 되면 필요한 애니메이션을 찾기도 힘들고 못찾을수도 있게 됩니다.원하는 애니메이션을 찾지 못하는 경우가 발생하는데 그렇다고 애니메이션을 만들자니 쉽지 않습니다.이럴 경우 Unity의 Animation Rigging 을 사용하면 개발자도 손쉽게 애니메이션을 만들 수 있습니다. 이번 포스팅에서는 Two Bone IK Constraint 컴포넌트를 이용하여 팔을 움직이는 애니메이션을 만들어 보도록 하겠습니다. 우선 Unity Package Manager에 들어가 Animation Rigging 패키지를 다운받아 설치합니다Packag..

Unity 2024.11.11

Generic Animation Type의 3D Model에 Avatar Mask 적용시키는 방법

3D 모델에 애니메이션을 적용시킬때 애니메이션 클립의 모든 동작을 다 적용시키고 싶지 않을때가 있다다리의 움직임 혹은 손의 움직임만 적용시키고 싶을때도 있는데 그럴때 사용하는 방법이 Avatar Mask 이다 3D 모델의 Animation이 Humanoid 타입인 경우에는 Avatar Mask에서 Humanoid 탭을 이용해 손쉽게 적용시키고자 하는 부위와 적용시키지 않고자 하는 부위를 선택할 수 있다  적용시키고 싶지 않은 부위는 클릭 하여 빨간색으로 만들면 적용되지 않게 된다 반면 초록색은 적용시킬 부위이다 이 글에선 Humanoid Type의 Animation Type이 아닌 Generic Type의 Animation Type을 가졌을 경우 아바타 마스크를 어떻게 적용하는지 알아보자 우선 Avata..

Unity 2024.11.07