본문 바로가기

전체 글767

Unity6 GameObject 생성, 복제, 삭제, 활성화 방법 ▣ 이번 글에서는 Unity Scene을 구성하는 기본 객체인GameObject를 생성하고,복제하고,삭제하고,활성화 / 비활성화하는 방법을 알아보겠습니다.앞에서 Unity의 기본 구조를Scene↓GameObject↓Component형태로 알아봤습니다.그리고 GameObject에는 기본적으로Transform Component가 존재하고,Position,Rotation,Scale을 이용해서 위치와 방향, 크기를 변경할 수 있다는 것도 확인했습니다.게임을 만들다 보면 Scene에PlayerEnemyItemGroundCameraLightDoor같은 GameObject를 계속 만들게 됩니다.같은 Object가 여러 개 필요하면 복제하고,필요하지 않은 Object는 삭제할 수도 있습니다.게임 진행 상황에 따라보이게.. 2026. 9. 18.
Unity6 World 좌표와 Local 좌표 알아보기 ▣ 이번 글에서는 Unity의 Transform에서 자주 사용하는World 좌표와 Local 좌표의 차이를 알아보겠습니다.앞 글에서는 Transform Component의PositionRotationScale을 이용해서 GameObject의 위치와 회전, 크기를 변경해봤습니다.GameObject 하나만 사용할 때는 Position 값을 그대로 보면 되기 때문에좌표가 크게 어렵지 않습니다.하지만 GameObject 사이에 Parent와 Child 관계가 생기면다음과 같은 상황을 볼 수 있습니다.Scene에서 보는 위치와Inspector에 표시되는 Position이 서로 달라 보인다.이런 차이를 이해하려면World CoordinateLocal Coordinate개념을 알아야 합니다.Unity 공식 문서에서도.. 2026. 9. 18.
언리얼엔진5 C++ ActorComponent로 재사용 가능한 게임 기능 만들기 ▣ 게임을 만들다 보면 서로 다른 Actor에서 같은 기능이 필요한 경우가 많습니다.예를 들어Player→ 공격 CooldownEnemy→ 공격 CooldownWeapon→ 발사 CooldownSkill→ 사용 Cooldown처럼 사용하는 Actor는 서로 다르지만 실제 필요한 기능은 비슷할 수 있습니다.이 기능을 각각의 클래스에 직접 구현하면APlayerCharacter→ Cooldown 변수→ Timer→ Cooldown 함수AEnemyCharacter→ Cooldown 변수→ Timer→ Cooldown 함수AWeapon→ Cooldown 변수→ Timer→ Cooldown 함수처럼 같은 코드가 반복됩니다.이럴 때 공통 기능을 UActorComponent 하나로 분리하면Player└─ ActionC.. 2026. 9. 18.
언리얼엔진5 C++ TWeakObjectPtr 사용법과 UObject 안전하게 참조하기 ▣ 게임을 만들다 보면 다른 Actor나 UObject를 잠시 기억해두고 나중에 다시 사용해야 하는 경우가 많습니다.예를 들어 AI가 현재 공격할 Player를 기억한다고 하겠습니다.Enemy↓Player Target 저장↓Player 추적↓Player 공격그런데 Target으로 저장한 Player가 먼저 사망해서 제거되면 어떻게 될까요?Enemy 입장에서는저 Actor가 아직 존재하는가?이미 Destroy되었는가?계속 사용해도 되는가?를 확인해야 합니다.이처럼 다른 UObject의 수명을 직접 책임지지 않으면서객체가 살아 있는 동안만 안전하게 참조하고 싶을 때 사용할 수 있는 것이TWeakObjectPtr입니다.이번 글에서는 Unreal Engine 5.8을 기준으로 TWeakObjectPtr의 사용 .. 2026. 9. 18.
언리얼엔진5 C++ UObject와 Actor 차이, 객체 생명주기와 Owner Instigator 이해하기 ▣ 언리얼 엔진 C++ 코드를 보다 보면 대부분의 클래스 앞에UAF같은 접두사가 붙어 있는 것을 볼 수 있습니다.예를 들어UObjectUActorComponentUUserWidgetAActorAPawnACharacter같은 클래스입니다.이 중 Unreal Engine의 객체 시스템을 이해할 때 가장 먼저 구분해야 하는 것이UObjectAActor입니다.그리고 Actor를 사용하기 시작하면 자연스럽게GetOwner()GetInstigator()GetInstigatorController()같은 함수도 만나게 됩니다.특히 총기, Projectile, Damage 시스템을 만들다 보면이 총알은 누가 만들었는가?이 무기는 누구의 것인가?이 데미지를 발생시킨 실제 캐릭터는 누구인가?를 구분해야 합니다.이번 글에서는.. 2026. 9. 17.
언리얼엔진5 C++ Widget Blueprint 버튼 찾고 클릭 후 2초 비활성화하기 ▣ 이미 만들어져 있는 Widget Blueprint가 있고, 그 안에 있는 Button을 C++에서 찾아서 사용해야 하는 경우가 있습니다.예를 들어 기존에WB_Main이라는 Widget Blueprint가 있고,Designer 안에ActionButton이라는 Button이 있다고 하겠습니다.이번에는 Widget Blueprint를 새로 만들거나 C++ UserWidget 클래스를 부모로 만드는 것이 아니라이미 만들어져 있는 WB_Main↓C++에서 Widget Instance 사용↓이름으로 ActionButton 찾기↓OnClicked 함수 연결↓Button 클릭↓원하는 함수 호출↓Button 2초간 비활성화↓2초 후 다시 활성화하는 방법을 알아보겠습니다.이 글은 Unreal Engine 5.8을 기준.. 2026. 9. 17.
Unity6 Transform Position, Rotation, Scale 사용 방법 ▣ 이번 글에서는 모든 GameObject에 기본적으로 존재하는Transform Component를 알아보고,PositionRotationScale을 이용해서 GameObject의위치,회전,크기를 변경하는 방법을 알아보겠습니다.앞 글에서 Unity의 기본 구조를Scene↓GameObject↓Component형태로 알아봤습니다.그리고 GameObject를 생성하면기본적으로 Transform Component가 존재한다는 것도 확인했습니다.Transform은 Unity에서 굉장히 자주 사용하는 Component입니다.예를 들어Player 위치 이동Camera 회전Door 회전Item 크기 변경Enemy 배치건물 배치같은 작업에서 Transform을 사용합니다.Unity 공식 문서에서도 Transform은 G.. 2026. 9. 17.
Unity6 Scene과 GameObject, Component 이해하기 ▣ 이번 글에서는 Unity에서 가장 기본이 되는Scene,GameObject,Component의 관계를 알아보겠습니다. 이전에 Unity Editor의 기본 화면과 조작 방법을 알아보면서Cube를 하나 생성해봤습니다.Cube를 선택하면Hierarchy에는 Cube가 표시되고,Inspector에는 여러 Component가 표시됐습니다.처음에는 이것들이 서로 다른 기능처럼 보일 수 있지만Unity의 기본 구조를 간단하게 정리하면Project↓Scene↓GameObject↓Component형태로 이해할 수 있습니다.예를 들어 3D 게임 Stage 하나를 만든다고 생각해보겠습니다.Main Scene├─ Player├─ Enemy├─ Main Camera├─ Directional Light├─ Ground└─ .. 2026. 9. 17.
Unity6 Git과 GitHub로 프로젝트 백업하는 방법 ▣ 이번 글에서는 Git과 GitHub를 이용해서Unity Project를 백업하고 변경 내용을 관리하는 방법을 알아보겠습니다.Unity Project를 만들다 보면C# Script 수정Scene 수정Prefab 수정Material 수정Project Settings 변경Package 추가등 수많은 파일이 계속 변경됩니다.게임을 만들다가 잘못 수정했거나파일을 실수로 삭제하면이전 상태로 돌아가야 하는 경우도 있습니다.또 컴퓨터에 문제가 생겼을 때Project가 한 곳에만 저장되어 있다면프로젝트 전체를 잃어버릴 수도 있습니다.그래서 게임 개발에서는Git+GitHub같은 Version Control System을 이용해서Project의 변경 내용을 기록하고원격 저장소에도 보관하는 방법을 많이 사용합니다.1. G.. 2026. 9. 16.
Unity6 프로젝트 폴더 구조 알아보기 ▣ Unity Project를 생성하면 프로젝트 폴더 안에 여러 폴더와 파일이 만들어집니다.처음 프로젝트 폴더를 열어보면 다음과 같은 이름들을 볼 수 있습니다.MyProject├─ Assets├─ Library├─ Logs├─ Packages├─ ProjectSettings├─ Temp└─ UserSettingsProject를 실행한 상태나 Unity Version,사용하고 있는 Package 등에 따라 일부 폴더는 추가되거나 보이지 않을 수도 있습니다.Unity 공식 문서에서도 프로젝트를 생성하면 기본적으로AssetsLibraryLogsPackagesProjectSettingsTemp등의 폴더가 생성된다고 설명하고 있습니다.처음에는 폴더가 많아 보여 복잡하지만우선 다음 세 개를 가장 중요하게 생각하면 .. 2026. 9. 16.
Unity6 공식 Manual과 Scripting API 보는 방법 ▣ Unity를 공부하다 보면 인터넷 검색이나 영상만으로 해결하기 어려운 문제가 생깁니다.예를 들어 다음과 같은 상황입니다.Rigidbody는 정확히 어떤 Component인가?AddForce() 함수는 어떻게 사용하는가?Transform.position은 어떤 값을 사용하는가?이 함수가 반환하는 값은 무엇인가?Input System의 현재 사용법은 무엇인가?예전에 작성된 Unity 코드가 Unity 6에서도 사용할 수 있는가?Cinemachine 2와 Cinemachine 3은 무엇이 다른가?이럴 때 가장 먼저 확인하면 좋은 자료가Unity에서 제공하는 공식 Documentation입니다.Unity 공식 자료는 크게 다음처럼 나누어 생각하면 이해하기 쉽습니다.Unity Manual→ Unity 기능의 .. 2026. 9. 16.
Unity6 Package Manager와 Project Settings 사용 방법 ▣ 이번 글에서는 Unity 프로젝트의 기능을 추가하거나 관리할 때 사용하는Package Manager와 Project Settings,그리고 Unity Editor의 개인 작업 환경을 설정하는 Preferences에 대해 알아보겠습니다.Unity를 사용하다 보면 앞으로Input System 설치Cinemachine 설치AI Navigation 설치XR Interaction Toolkit 설치프로젝트 Physics 설정게임 이름 설정화면 설정Visual Studio 연결같은 작업을 하게 됩니다.이 기능들이 모두 같은 곳에서 설정되는 것은 아닙니다.크게 구분하면Package Manager→ Unity 프로젝트에 기능과 Package 추가Project Settings→ 현재 프로젝트의 전역 설정 관리Pref.. 2026. 9. 16.
언리얼엔진5 Modeling Mode 기본 사용법 ▣ Unreal Engine에서 Static Mesh를 사용하다 보면 간단한 Mesh 수정이 필요한 경우가 있습니다.예를 들어Cube 하나를 직접 만들고 싶다.Static Mesh의 Pivot 위치를 수정하고 싶다.여러 Mesh를 합치고 싶다.하나의 Mesh를 여러 개로 분리하고 싶다.Mesh 일부를 잘라내고 싶다.UV를 수정하고 싶다.Collision을 만들고 싶다.같은 작업입니다.이런 작업을 할 때마다 Blender, Maya, 3ds Max 같은 외부 Modeling 프로그램으로 돌아갈 수도 있지만 Unreal Engine에는 Editor 안에서 직접 Mesh를 생성하고 수정할 수 있는Modeling Mode가 있습니다.이번 글에서는 특정 Modeling Tool을 깊게 사용하기 전에 Modelin.. 2026. 9. 16.
언리얼엔진5 Texture와 UV 좌표 기본 개념 ▣ 이전 글에서는 Material의 Base Color, Metallic, Roughness와 Material Instance를 알아봤습니다.Material을 조금 더 자연스럽게 만들기 시작하면 단순한 색상 값만으로는 부족해집니다.예를 들어 나무 Material을 만든다고 하겠습니다.단순하게Base Color→ Brown으로 설정하면 갈색 표면은 만들 수 있지만 실제 나무처럼 보이는나뭇결색상 변화표면의 거칠기작은 홈과 굴곡을 표현하기 어렵습니다.이럴 때 사용하는 것이Texture입니다.하지만 Texture 이미지만 준비한다고 바로 3D Mesh에 정상적으로 적용되는 것은 아닙니다.3D Mesh의 어느 위치에 Texture의 어느 부분을 표시할 것인지 알려주는 좌표가 필요합니다.이때 사용하는 것이UV 좌표.. 2026. 9. 16.
Unity6 Editor 기본 화면과 조작 방법 ▣ 이번 글에서는 Unity Editor의 기본 화면을 알아보고,직접 GameObject를 생성해서선택, 이동, 회전, 크기 변경 등의 기본 조작을 해보겠습니다.Unity Editor를 처음 실행하면 여러 Window와 버튼이 한 번에 보여서화면이 복잡하게 느껴질 수 있습니다.하지만 처음부터 모든 기능을 알 필요는 없습니다.우선 자주 사용하는SceneGameHierarchyInspectorProjectConsole정도만 알고 있으면 됩니다.이 Window들은 앞으로 Unity로 게임을 만드는 동안 계속 사용하게 됩니다.이번 글에서는 이전에 만든Universal 3D프로젝트를 기준으로 진행하겠습니다.1. Unity Editor 실행Unity Hub를 실행합니다.Projects에서 이전에 생성한 프로젝트를 .. 2026. 9. 15.
Unity6 프로젝트 생성과 Universal 2D, Universal 3D 차이 알아보기 ▣ 이번 글에서는 Unity 6.6으로 새로운 프로젝트를 생성하고,프로젝트를 만들 때 볼 수 있는Universal 2D와 Universal 3D Template의 차이를 알아보겠습니다.이전 글에서 Unity 6.6과 Windows PC 게임 Build에 필요한 개발 환경을 설치했습니다.이번에는 실제 게임을 만들기 위한 Unity Project를 생성해보겠습니다.Unity Hub에서 새로운 프로젝트를 만들려고 하면 여러 종류의 Template을 볼 수 있습니다.처음 Unity를 사용하는 경우Universal 2DUniversal 3D중에서 어떤 것을 선택해야 하는지 헷갈릴 수 있습니다.간단하게 먼저 정리하면2D 게임 제작→ Universal 2D3D 게임 제작→ Universal 3D를 사용하면 됩니다.하.. 2026. 9. 15.
언리얼엔진5 Material Instance와 Parameter 사용법 ▣ 이전 글에서는 Material의 기본 속성인Base ColorMetallicRoughness에 대해서 알아봤습니다.예를 들어 빨간색 플라스틱 Material을 만들었다고 생각해보겠습니다.이번에는 같은 구조를 사용하면서파란색 플라스틱노란색 플라스틱매끄러운 플라스틱거친 플라스틱도 만들고 싶습니다.가장 단순하게 생각하면 Material을 계속 복제해서 각각의 값을 변경할 수 있습니다.M_RedM_BlueM_YellowM_RoughM_Smooth하지만 Material의 구조가 모두 같은데 색이나 Roughness 같은 값만 다르다면 이렇게 Material을 계속 복제해서 관리하는 것은 비효율적입니다.이럴 때 사용하는 것이Material Instance입니다.이번 글에서는 Unreal Engine 5.8을 기.. 2026. 9. 15.
Unity 6.6 설치 및 Windows PC 빌드 환경 설정 ▣ 이번 글에서는 Unity Hub를 설치하고,이번 Unity6 과정에서 사용할 Unity 6.6 Editor와 Windows PC 게임 제작에 필요한 개발 환경을 설치해보겠습니다.이번 블로그에서 기본적으로 만드는 게임은Windows PC에서 실행할 수 있는 게임을 기준으로 진행합니다.최종적으로 Unity Editor 안에서만 게임을 실행하는 것이 아니라Game.exe형태의 Windows 실행 파일을 만들어서Unity가 설치되어 있지 않은 PC에서도 실행할 수 있는 게임을 만드는 것이 목표입니다.Unity에서는 이런 작업을 일반적으로Build라고 부릅니다.언리얼 엔진에서 사용하는 Packaging과 비슷한 개념이라고 생각하면 됩니다.이번 설치 과정은 다음과 같이 진행합니다.Unity Hub 설치↓Unit.. 2026. 9. 14.
Unity란? ▣ Unity6를 배우기 전에 먼저 게임 엔진이 무엇인지,Unity로 어떤 작업을 할 수 있는지 간단하게 알아보겠습니다.게임을 처음 만들어보면 캐릭터를 움직이거나 적과 전투하는 기능부터 생각하기 쉽습니다.하지만 실제 게임 하나를 만들기 위해서는 생각보다 많은 기능이 필요합니다.예를 들어 간단한 액션 게임을 만든다고 생각해보겠습니다.캐릭터를 화면에 출력키보드와 마우스 입력 처리캐릭터 이동카메라 이동벽이나 바닥과 충돌중력과 물리 처리적 캐릭터 AI캐릭터 애니메이션공격과 데미지 처리이펙트배경 음악과 효과음체력바와 게임 UI아이템과 인벤토리세이브와 로드게임 실행 파일 제작이런 기능들을 게임을 만들 때마다 처음부터 전부 직접 구현한다면실제 게임 콘텐츠를 제작하기 전에 굉장히 많은 시간과 기술이 필요합니다.그래서 .. 2026. 9. 14.
언리얼엔진5 Static Mesh Editor 기본 사용법 ▣ 이번에는 Static Mesh Asset 자체를 확인하고 수정할 때 사용하는Static Mesh Editor를 알아보겠습니다.Static Mesh Editor에서는 단순히 3D 모델의 모양만 보는 것이 아니라Mesh 정보Material SlotCollisionLODNaniteUV ChannelSocket등 Static Mesh Asset과 관련된 여러 설정을 확인하고 수정할 수 있습니다.Unreal Engine에서 환경 Asset을 사용한다면 굉장히 자주 열어보게 되는 Editor입니다.이번 글은 Unreal Engine 5.8을 기준으로 작성합니다.1. Static Mesh Editor란?▣ Static Mesh Editor는 Static Mesh Asset을 확인하고 설정하는 전용 Asset Ed.. 2026. 9. 14.
언리얼엔진5 Static Mesh와 Static Mesh Actor 차이 ▣ 이번에는 Unreal Engine에서 Level을 만들 때 가장 많이 사용하는Static MeshStatic Mesh Actor의 차이를 알아보겠습니다.이름이 비슷하기 때문에 처음에는 같은 것으로 생각하기 쉽습니다.하지만 실제로는 역할이 다릅니다.간단하게 먼저 정리하면Static Mesh→ 3D Mesh 데이터를 저장하는 AssetStatic Mesh Actor→ Static Mesh를 Level에 표시하기 위해 배치하는 Actor입니다.예를 들어 Content Browser에SM_Chair라는 의자 Static Mesh가 있다고 하겠습니다.이것을 Level에 Drag & Drop하면SM_ChairStatic Mesh Asset ↓ Level에 배치Static Mesh Actor가 만들어.. 2026. 9. 14.
언리얼엔진5 Actor와 Asset 차이 ▣ Unreal Engine을 처음 사용하다 보면 Actor와 Asset이라는 단어를 굉장히 자주 보게 됩니다.예를 들어 Content Browser에는Static MeshMaterialTextureBlueprintAnimationSound같은 파일들이 있고,Viewport와 Outliner에는CubeDirectionalLightPlayerStartBP_PlayerCameraActor같은 오브젝트들이 있습니다.처음에는Content Browser에 있는 것도 오브젝트인데?Viewport에 있는 것도 오브젝트인데?Actor와 Asset은 무엇이 다른 거지?라고 생각할 수 있습니다.이번 글에서는 Unreal Engine에서 사용하는 Actor와 Asset의 차이를 알아보겠습니다.이 글은 Unreal Engin.. 2026. 9. 14.
언리얼엔진5 공식 문서 및 C++ API Reference 보는 방법 ▣ Unreal Engine을 공부하다 보면 인터넷 검색이나 영상만으로 해결하기 어려운 문제가 생깁니다.예를 들어 다음과 같은 상황입니다.SetActorLocation은 정확히 어떤 함수인가?이 함수의 매개변수는 무엇인가?AActor는 어떤 클래스를 상속받는가?이 클래스를 사용하려면 어떤 헤더를 include 해야 하는가?UE 5.7과 UE 5.8에서 기능이 달라졌는가?이 Blueprint 노드는 내부적으로 어떤 기능을 사용하는가?이럴 때 가장 먼저 확인해야 하는 자료가 Epic Games에서 제공하는 Unreal Engine 공식 문서입니다.Unreal Engine 공식 자료는 크게 다음처럼 나누어 생각하면 이해하기 쉽습니다.Documentation→ 개념, 사용법, 튜토리얼C++ API Referen.. 2026. 9. 10.
언리얼엔진5 프로젝트 기본 폴더 구조 ▣ Unreal Engine 프로젝트를 생성하면 프로젝트 폴더 안에 여러 폴더와 파일이 만들어집니다.처음 프로젝트 폴더를 열어보면 다음과 같은 이름들을 볼 수 있습니다.MyProject├─ Binaries├─ Build├─ Config├─ Content├─ DerivedDataCache├─ Intermediate├─ Plugins├─ Saved├─ Source└─ MyProject.uproject프로젝트 종류와 작업 상태에 따라 일부 폴더는 없을 수도 있습니다.예를 들어 Blueprint 프로젝트에서는 처음부터 Source 폴더가 없을 수 있고, C++ 클래스를 추가하면 관련 폴더와 파일이 생성됩니다.또 Binaries, Intermediate, Saved 같은 폴더는 Unreal Engine을 실행하거.. 2026. 9. 10.