
기존의 존재하텍스트는 Old Input System 에서 다양한 플랫폼 간의 일관성과 유연성을 위해 만들어졌습니다.구 버전의 경우 Input.Getkey류 메서드를 통해 코드 기반으로 이벤트를 만들었다면 신 버전은 미리 버튼에 대해 이벤트 함수를 만들고 연결해주는 식으

오늘은 Unity에서 사용되는 반복문에 속도 비교를 해보려고 합니다.Unity에서 사용되는 반복문은 아래와 같습니다.for 반복문장점가장 빠르고 단순한 반복문입니다.반복 횟수가 명확한 경우에 사용하면 속도가 빠릅니다.단점동적 조건 기반 처리에는 부적합사용 되는 곳반복

오늘은 UniTask에 대해 설명해보는 시간을 가지겠습니다..NET의 비동기 처리 클래스입니다..NET 프레임 워크에서 제공되며 C일정한 코드가 작성이 가능하며 타사 라이브러리와의 호환성이 좋습니다. (.NET 라이브러리)단점으로는 GC의 비용이 높으며 Unity와 같

UI 개발에 자주 사용되는 디자인 패턴인 MVC, MVP, MVVM 중 MVC 패턴에 대해 알아보겠습니다.총 3개의 글로 정리 될 예정이며 이 글은 첫번째 글입니다.MVP : 아직 작성 안함MVVM : 아직 작성 안함설명에 앞서 디자인 패턴에 대해 먼저 알아보겠습니다.

UI 개발에 자주 사용되는 디자인 패턴인 MVC, MVP, MVVM 중 MVP 패턴에 대해 알아보겠습니다.총 3개의 글로 정리 될 예정이며 이 글은 두번째 글입니다.MVC : MVCMVVM : 아직 작성 안함MVP 는 Model, View, Presenter의 약자입니

UI 개발에 자주 사용되는 디자인 패턴인 MVC, MVP, MVVM 중 MVVM 패턴에 대해 알아보겠습니다.총 3개의 글로 정리 될 예정이며 이 글은 마지막 글입니다.MVC : MVCMVP : MVPMVVM 은 Model, View, ViewModel의 약자입니다.MV

오늘은 Observer 패턴에 대해 알아보는 시간을 가지겠습니다.객체의 상태 변화를 관찰하는 "Observer"들이 해당 상태 변화에 반응할 수 있도록 설계 된 디자인 패턴입니다.객체 간 1 대 N 의존성을 정의하여 한 객체의 상태가 변경되었을 때, 의존하는 다른 객체

오늘은 Command 패턴에 대해 알아보는 시간을 가지겠습니다.요청을 객체로 캡슐화하여, 행동 실행의 호출자와 수행자를 분리하고 행동을 기록하거나 취소할 수 있는 디자인 패턴입니다.즉, 이벤트가 발생했을 때 실행될 기능이 다양하면서도 변경이 필요한 경우에 이벤트를 발생

오늘은 Factory 패턴에 대해 알아보는 시간을 가지겠습니다.객체 생성에 관한 디자인 패턴으로, 객체 생성 로직을 별도의 Factory(공장) 클래스로 분리하여 코드의 재사용성과 유지보수성을 높여줍니다.객체를 직접 생성하는 대신 Factory를 통해 생성하면, 새로운

오늘은 State 패턴에 대해 알아보는 시간을 가지겠습니다.객체의 상태에 따라 그 객체의 행동이 달라지도록 설계하는 디자인 패턴입니다.주로 상태를 변경해야 할 필요가 있을 때 객체의 행동을 수정하지 않고, 상태별로 객체를 나누어 코드의 유연성과 확장성을 높이는 데 도움

게임 개발에서 시간의 흐름은 플레이어의 몰입감을 높이는 중요한 요소입니다. 오늘은 Unity 3D에서 낮과 밤이 자연스럽게 전환되는 시스템을 구현하는 방법을 알아보겠습니다.시간이 흐르면서 낮과 밤이 자연스럽게 전환되는 효과횃불과 같이 어두울 때 주변을 밝힐 수 있도록

게임 개발에서 최적화는 성능과 플레이어 경험을 동시에 잡는 중요한 과정입니다. Unity 3D에서는 LOD와 Occlusion Culling 같은 기술을 통해 퍼포먼스를 극대화할 수 있습니다. 이번 글에서는 이러한 최적화 기법들을 자세히 알아보겠습니다.LOD 사용Occ

Unity Navigation System은 AI가 지능적으로 탐색할 수 있도록 하는 기능입니다. 적의 순찰, 동적 경로 탐색까지, 이 시스템은 AI Navigation을 효율적으로 만드는 도구를 제공합니다. 이번 글에서는 Unity Navigation System의

Inventory System은 게임의 핵심적인 시스템 중 하나로, 플레이어가 아이템을 저장, 정렬, 관리할 수 있도록 도와줍니다. 이를 통해 플레이어는 게임 플레이 중 필요한 아이템을 효율적으로 사용할 수 있으며, 게임 내 자원 관리 및 전략적 선택에 중요한 역할을

어제 설명했던 Inventory System (1)에 이어지는 내용입니다. 이번 글에서 구현할 건 인벤토리와 장비창에 대한 내용입니다. Inventory System (1) 보러가기 Inventory System (1) 인벤토리 구현에 필요한 정보 >- 구현에

어제 설명했던 Inventory System (2)에 이어지는 내용입니다.이번 글에서 구현할 건 장비창에 대한 내용입니다.Inventory System (1)Inventory System (2)구현에 대해 필요한 정보를 먼저 설명하겠습니다.MVP 패턴을 사용하여 장비창

오늘은 저번에 소개했었던 낮과밤 시스템의 체온을 추가해보도록 하겠습니다.간단하게 구현할 예정이며 낮,밤때 온도가 달라지게끔 하였습니다. 계절은 구현하고 싶으나. 에셋이 없네용..낮과 밤 시스템 구현플레이어의 체온 관리를 담당해 줄 클래스입니다.적정온도를 가지고 있으며

오늘은 Unity에서의 최적화를 구현해보려 합니다.저번에 구현했었던 LOD와 Occlusion Culling 을 적용하였으나 렌더링만 안될 뿐 메모리에는 올라가서 추가적으로 최적화 방식에 대해 고민하였습니다.LOD , Occlusion CullingLOD , Occlu

오늘은 3D 환경에서 Terrian 을 통해 랜덤으로 맵을 생성하는 방법에 대해 알아보겠습니다.TerrainGenerator지형의 높이맵 생성, 습도 맵 생성, 바이옴 적용, 나무,바위,풀 등의 오브젝트를 배치하는 역할을 합니다.BiomeGenerator높이와 습도 값

오늘은 랜덤 미로 생성기에 대해 구현해보았습니다.미로 생성은 DFS 알고리즘을 사용하여 구현하였습니다.경로 탐색은 BFS 알고리즘을 사용하여 구현하였습니다.미로 생성이 제대로 작동하려면 홀수여야하여서 짝수로 들어온 경우에는 홀수로 바꿔주게끔 하였습니다.시작점 같은 경우

오늘은 충돌 감지에 사용되는 AABB와 OBB에 대해서 알아보고 Unit Collider에 어떻게 적용되는지에 대해 알아보겠습니다.➡️ AABB (Axis - Aligned Bounding Box)는 이름에서 알 수 있듯이 상자의 모든 면이 전역 좌표계의 x,y,z 축

오늘은 무한 스크롤 (InfiniteScroll)에 대해 알아보도록 하겠습니다.➡️ 제한된 수의 오브젝트를 재활용하여 플레이어나 사용자에게 끝없이 진행하는 것 처럼 보이게 하는 기법입니다.➡️ 주요 사용처는 끝없는 환경을 구현하거나 UI ScrollView에 사용됩니다

오늘은 Unity DOTS에 대해 학습하고 구현해보며 1편에서는 개념과 정의에 대해 학습하며 2편에서는 구현해보도록 하겠습니다.Unity Dots TipHow to Convert a Game to DotsUnity DotsUnity DOTS(1)Unity DOTS(2)

오늘은 Unity DOTS 2편에서는 DOTS에 대한 간단한 회전과 이동을 구현해보도록 하겠습니다.Entities Graphics로 Hybrid Renderer가 이관되어씀 ㅇ;Unity DotsUnity DOTS(1)Unity DOTS(2)ECS에서 컴포넌트에 역할을

2D 프로젝트를 구상하기 전에 2D 개발과 관련되어 도움이 되는 정보들을 찾다가 좋은 정보를 찾은 것 같아 올리게 되었습니다.소개 영상 - Unity Korea소개 글 - Unity Blog소개 영상 - Unity Blog➡️ PPU 란?"한 유닛에 몇 픽셀을 대응시킬

이번 글에서는 2D 프로젝트 구현 과정에서 기존에 사용하던 velocity 대신, 최근 권장되는 linearVelocity를 채택하게 된 배경과 그 차이점을 비교하고, 두 속성이 내부적으로 어떻게 동작하는지에 대해 자세히 살펴보고자 합니다.velocity초기 Unity

오늘은 OpenAI인 ChatGPT를 Unity에 연동하여 NPC와의 대화를 구현해보았습니다.API 키 생성OpenAPI Platform에 들어가서 Key를 생성한 뒤 비밀키를 복사합니다.위 코드를 작성하고 빈 오브젝트에 추가해줍니다.저는 미리 성격을 설정하여 Syst

오늘은 Admob을 Unity에 연동하는 방법에 대해 구현해보았습니다.Guide(https://developers.google.com/admob/unity/quick-start?hl=ko\[Admob UnityPackage](https://github

과거 면접에서 들었던 OcclusionCulling을 직접 구현해본 적이 있냐는 질문이 생각나 구현하게되었습니다.카메라에서 Occludee의 상단 하단 코너 지점으로 Ray를 발사합니다.만약 Occluder가 중간에 존재하는 경우 Ray가 Occluder와 부딪히게 된
평소 사용은 자주 하였지만 좀 더 자세하게 알아보기 위한 시간을 가지도록 하겠습니다.Unity 엔진에서 MonoBehaviour처럼 씬에 붙이지 않고도 데이터 자산으로 관리할 수 있는 클래스입니다.게임 내 공통 설정이나, 다양한 데이터들을 코드가 아닌 에셋 형태로 보관

오늘은 GOAP에 대해 알아보겠습니다.에이전트가 여러 가능한 행동중에서 주어진 목표를 달성하기 위해 어떤 순서로 무엇을 해야할까? 라는 경로 찾기입니다.FSM의 수많은 상태 전이를 일일이 정의하거나 행위 트리에 복잡한 조건을 달지 않고도 액션과 목표를 선언해두면 런타

GOAP에 대해 좀 더 학습하기 위해 방치형 게임에서 사용될만한 행동 중 피가 적을때 SafeZone으로 이동하는 행동과 주위 가까운 적을 추적 및 공격하는 행동을 구현해보았습니다.안전지대와 적의대한 정보를 연결하고 목표의 형태를 정의해줍니다.일단은 공격처리 없이 거리
ML-Agents에이전트가 환경과 상호작용하면서 보상을 최대화하는 정책을 스스로 학습하는 기법환경 : 상태와 보상이 정의된 시뮬레이션행동 : 에이전트가 취할 수 있는 입력정책 : 상태를 행동으로 매핑하는 함수학습 : 에피소드를 반복하며 보상을 최대화하도록 정책을 업데이

오늘은 Jekins를 이용하여 CI/CD 환경을 구축해보겠습니다.JDK 17를 설치합니다.Java 17설치 후 환경변수 등록도 추천합니다.시스템 환경 변수 → JAVA_HOME 새로 추가 (C:\\Program Files\\Eclipse Adoptium\\java17)