일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Generative Model
- ue5.4
- Few-shot generation
- userwidget
- deep learning
- 모션매칭
- RNN
- 폰트생성
- dl
- BERT
- Font Generation
- motion matching
- Diffusion
- GAN
- Stat110
- NLP
- UE5
- multimodal
- 오블완
- ddpm
- 딥러닝
- Unreal Engine
- 생성모델
- CNN
- WinAPI
- cv
- animation retargeting
- 디퓨전모델
- WBP
- 언리얼엔진
- Today
- Total
목록언리얼엔진 (16)
Deeper Learning
더 많은 종류의 적을 추가하고 플레이어 캐릭터에도 점프, 달리기, 앉기 등 다양한 애니메이션들을 추가로 세팅할 때가 되었다. 기능은 이전에 구현해 놓았으나 문제는 기존 애니메이션 블루프린트가 전혀 모듈화 되어있지 않다는 것이었다. 전투 시스템을 전부 리뉴얼하고 나서 테스트를 위해 아래처럼 간단한 애니메이션 블루프린트를 계속 사용하고 있었으며 공격과 관련된 애니메이션은 시점에 맞는 이벤트 수집을 위해 애니메이션 몽타주로 관리하고 있다. 프로젝트에서 애니메이션 시스템 전체를 다시 설계, 최적화하여 변경 사항이 매우 많지만 이번 포스팅에서는 Animation Blueprint Linking, Animation Layer Interface만 소개하려 합니다 https://www.youtube.com/watch?..
액션 게임은 많은 애니메이션을 필요로 한다. 걷기, 달리기부터 공격, 가드, 회피, 각종 스킬까지 현재 진행 중인 프로젝트에서도 50개가 넘는 애니메이션 시퀀스를 사용하고 있다. 애니메이션 애셋을 구매하더라도 자신이 원하는 모션이나 움직임을 구현하려면 애니메이션 시스템의 설정을 세밀하게 조정하거나 애니메이션 자체를 수정하거나 또는 만들 줄 알아야 한다. 언리얼 엔진은 에디터 내에서 간단하게 애니메이션을 수정하거나 만들 수 있는 많은 기능을 제공하고 있으며 UE5 Manny를 예시로 간단한 애니메이션을 수정하는 방법을 소개하려 한다. (가드, 패리 등 아래 방식으로 만든 애니메이션을 추가하고 나서 업로드한 Devlog 영상) Level Sequence, Control Rig 에디터 상단에서 Level Se..
언리얼 엔진에서 애니메이션 작업을 하다 보면 Skeletal Mesh를 수정하고 싶을 때가 많다. Fab에서 다운받은 캐릭터가 제대로 Rigging이 되어있지 않거나 Root bone이 없는 등 바로 애니메이션을 재생할 수 없는 상태인 경우가 종종 있다. 이번 포스팅은 언리얼 엔진 에디터에서 제공하는 Skeletal mesh를 수정할 수 있는 플러그인을 사용법을 다뤄보려 한다. Mixamo 또는 Fab에서 다운받은 많은 캐릭터 모델의 Skeleton은 Root bone이 없이 hips 또는 pelvis가 가장 상위의 Root Bone으로 설정되어 있다. 루트 모션 애니메이션을 사용할 때 만약 hips, pelvis가 root bone으로 되어있으면 캐릭터가 상체를 회전시키거나 다리를 드는 과정에서 pel..
처음 프로젝트의 목표는 앞으로의 게임 개발을 쉽게 하기 위한 코드 베이스, 보일러플레이트 만들기였으나 이를 어느 정도 달성한 것 같아 프로젝트의 방향성을 조금 더 뾰족하게 다시 설정하고 내가 원하는 게임을 만들기로 결정하였다. 보스와의 전투가 메인이 되며 가드와 회피를 통해 보스의 공격을 흘려내며 매우 강력한 대미지를 가진 보스를 공략하는 소울류 게임의 보스 전투 시스템의 일부를 차용하였다. 프로젝트 초기에는 TPS 캐릭터를 만들기 위해 콜 오브 듀티, 배틀그라운드, 배틀필드를 참고하며 무기 픽업 기능, 조준 기능, 탄창 시스템을 만들었으며 이후 액션 게임 캐릭터를 만들기 위해 데빌메이크라이, 팬텀 블레이드 제로, 베요네타를 참고하며 기본 콤보시스템, 공중 전투 액션, 전투 시스템을 개발했다.이후 세키로..
개발 중인 개인 프로젝트에서 정해진 구간을 순찰하다가 플레이어를 발견하면 추적하고 공격하는 AI를 개발하면서 학습한 AI Percetion에 대한 포스팅이다. 대부분 잠입 액션게임, 오픈월드 게임에서 적은 시야에 플레이어가 들어왔을 때에만 반응한다. 적이 정보를 얻는 매개가 시야, 소리, 대미지라면 훨씬 더 현실적인 AI를 만들 수 있다. 언리얼 엔진에서는 이를 쉽게 구현할 수 있도록 AIPerceptionComponent를 제공한다. AI Controller의 헤더에 멤버로 AIPerceptionComponent 를 추가하자 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)class UAIPerceptionComponent* AIPerception; 앞서 언급한 시..
출시를 앞둔 프로젝트가 있어 개인 프로젝트에 시간을 많이 쓰지 못하고 있다. 저번 포스팅 이후 애니메이션 추가, Character 클래스 생성까지만 진행하였다. [UE5] 프로젝트 생성, 캐릭터 모델 import, Animation Retargeting (TPS 개발일지 - 1)언리얼 엔진 5.4의 신규 기능에 대한 학습이 어느 정도 완료되어 언리얼 엔진 5.4에서 TPS(3인칭 슈팅 게임)을 만들어보려 한다. 간단하게 구현한 기능들이나 진행한 작업들을 일지 형태로 포스팅dlaiml.tistory.com Animation Retargeting 저번 포스팅에서 애니메이션 스타터팩, Paragon: Belica, Mixamo의 애니메이션을 Retargeting해서 가져왔었다. 에픽게임즈에서 제공하는 프로젝트..
저번 포스팅에 이어 Chooser를 사용하여 Pose Search Databases를 상황에 맞게 교체하고 직접 Pose Search Schema에 Channel을 추가하여 더 자연스러운 모션매칭을 완성해보려 한다. [UE5] Motion Matching - 2 (Pose Search, 모션 매칭)저번 포스팅에 이어서 모션매칭을 이어 진행해보자. [UE5] Motion Matching - 1 (모션매칭, UE 5.4)언리얼 엔진에서 500개가 넘는 무료 애니메이션이 포함된 캐릭터를 포함하는 Unreal Engine Game Animation Sampledlaiml.tistory.com Chooser Content Drawer에서 우클릭한 뒤 Chooser Table을 만들자.애니메이션 블루프린트에 캐릭터..
언리얼 엔진에서 500개가 넘는 무료 애니메이션이 포함된 캐릭터를 포함하는 Unreal Engine Game Animation Sample Project을 공개하였다. Motion Matching 을 사용한 애니메이션 시스템을 선보인다고 적혀있는데, 이 샘플 프로젝트로 Motion Matching(모션 매칭)이 무엇이고 어떻게 사용하는지에 대해 이번 포스팅에서 다뤄보려 한다. 마침 진행하고 있는 TPS 프로젝트가 있어 Animation Retargeting + Motion Matching에 대해 같이 소개하겠다. UE Game Animation Sample Project 에픽게임즈 런처의 마켓플레이스에서 무료탭의 에픽게임즈 콘텐츠를 클릭하면 에픽게임즈에서 제공하는 여러 콘텐츠를 확인할 수 있다. 최신..
출시 이전 크라우드 펀딩에 공개할 데모를 만들기 위해 주요 기능을 우선으로 개발하고 있는데, 그 중 하나가 이전 포스팅에서 언리얼 엔진 WBP 기능에 대해 설명하면서 예시로 든 메신저 형태의 대화 기능이다. (해당 기능을 예시로 다룬 이전 포스팅) [UE5] User Widget Scroll Box를 활용하여 Log UI 구현 (ProjectVT 개발기)[UE5] User Widget을 사용한 다양한 레이아웃의 UI 개발 (ProjectVT 개발기)현재 진행 중인 프로젝트(ProjectVT)에서는 언리얼 엔진을 사용하고 있다. Widget Bluerpint(User Widget)의 사용이 매우 많고 그에 따라dlaiml.tistory.com [UE5] User Widget을 사용한 다양한 레이아웃의 U..
프로젝트에 사용할 캐릭터 애셋, 애니메이션을 찾다가 무료 애셋이 많은 사이트인 Sketchfab, Mixamo을 알게 되었다. Sketchfab에서 캐릭터를 가져오고, Mixamo에서 애니메이션을 가져와 원하는 애니메이션을 원하는 캐릭터에 사용하는 방법을 이번 포스팅에서 소개하려 한다. 언리얼 엔진 5.4 버전에서 애니메이션 리타게팅이 매우 편해졌다. 기본 삼인칭 캐릭터인 Manny, Quinn의 경우 Mixamo에서 import 한 애니메이션을 클릭 한 번으로 리타게팅 할 수 있다. Mixamo 애니메이션 가져오기 Mixamo에는 다양한 애니메이션이 있고 여러 포맷으로 다운로드 또한 가능하다. 원하는 애니메이션을 선택하고 fbx 파일로 다운받자. 언리얼 엔진 에디터의 Content Drawer에서 i..
[UE5] 클라이언트-서버 모델언리얼 엔진에서 싱글 플레이 게임에 대해서만 학습하다 보니 멀티플레이 게임, 네트워크에 대해 알고 싶어져 멀티플레이에 대해 학습을 시작하였다. 이번 포스팅에서는 언리얼 엔진의 멀티플dlaiml.tistory.com 지난 포스팅에서 LAN으로 간단하게 멀티 플레이 환경을 구현해 보았다. 하지만 실제로 다른 지역의 사람들과 게임을 같이하려면 신경 쓸 것들이 매우 많아진다. (세션관리, 매치메이킹, 보안, 여러 플랫폼 지원 등) Steam, XBox Live, Epic Online Services, PlayStation Network 등 온라인 서비스를 지원하는 다양한 플랫폼이 있는데, 각자 지원하는 기능이 다르고 명칭도 다르다. 온라인 서브시스템은 기능들에 공통적으로 접근할 ..
어렸을 때 즐겨하던 게임인 샌드박스 장르의 게임인 게리모드에는 물체를 잡고 돌릴 수 있는 physics gun이라는 장비가 있었다. physics gun의 기능 중에서 물체를 클릭하여 잡고 옮기는 기능 언리얼 엔진에서 구현해보자. 목표는 아래와 같은 사물을 마우스를 클릭하여 잡으면 플레이어 시점 앞으로 물체가 고정되고 놓았을 때 고정이 해제되면서 다시 물체에 물리법칙을 적용하는 것이다. Physics Handle ComponentUE Remark: Utility object for moving physics around Physics Handle Component는 물리가 적용되는 object를 이동시키기 위한 유틸리티 object이다.구현하고자 하는 기능에 꼭 필요한 Component로 Chara..
Actor Lifecycle언리얼 엔진에서 기능을 추가할 때, 어느 클래스에 해당 기능을 추가할 것인가, 해당 클래스의 어느 함수를 Override하고 그 함수의 호출 시점은 어떻게 되는가는 항상 고민하는 부분이다. 레벨에 배치할 수 있는 오브젝트인 Actor 클래스의 사전 정의된 함수의 호출, 목적에 대한 이해가 필요하면 이를 결정하는 것이 더 수월해질 것이라고 생각하여 이번 포스팅은 Actor의 Lifecycle에 대한 포스팅이다. 언리얼 엔진 공식문서의 Actor의 Lifecycle을 도식화한 사진이다.시작점이 Play in Editor, LoadMap(AddToWorld), SpawnActor, SpawnActorDeferred로 4개가 있다.Empty Level을 만들고 Actor를 상속한 ..
공격 판정을 위한 Collision 설정을 위해 Capsule 모양의 Component를 Rotation Matrix를 사용하여 Rotate 시킬 일이 있어 이번에는 Rotation Matrix에 대해 더 자세히 알아보려 한다 우선 언리얼엔진에서 좌표는 앞이 X, 오른쪽이 Y, 위가 Z로 설정되어 있다. (음의 방향은 각각 뒤, 왼쪽, 아래) 구현할 예시는 아래와 같은 캡슐 모양을 Pawn이 향하는 방향으로 눕혀 공격 판정을 위한 Collision을 만드는 것이다. 이를 구현하기 위한 코드 중 Rotation을 담당하는 부분은 아래와 같다.FVector TraceVec = GetActorForwardVector() * AttackRange;FQuat CapsuleRot = FRotationMatrix:..
*언리얼 엔진 학습 1주 차 포스팅으로 틀린 내용이 있을 수 있습니다 언리얼 엔진의 Character 클래스는 Material, Skeleton등을 멤버로 가지고 있는 Skeletal Mesh Component를 사용하여 애니메이션, 외형 등을 표현할 수 있다. 특정 Skeleton에서 사용하던 포즈, 애니메이션을 다른 캐릭터에 적용하면 아래와 같이 문제가 발생한다.캐릭터마다 골격이 달라서 그대로 사용이 불가능하다는 문제가 있다. 특정 캐릭터에서 사용하던 애니메이션을 다른 캐릭터에서도 사용가능 하도록 하는것을 Animation Retargeting이라고 한다. Animation Retargeting is the process of repurposing existing animations for use..
언리얼 엔진 4에서 사용하던 Axis, Action Mapping은 UE5에서 deprecated로대신 Enhanced Input을 사용하는 것을 권장하고 있다. Enhanced Input의 주요 컨셉은 아래와 같다. Input Action: 프로젝트 코드와 Enhanced Input system을 연결해 주는 역할을 하며 캐릭터가 취할 수 있는 점프, 이동, 문 열기 등 Action을 말한다 Input Mapping Contexts: 유저의 입력과 Actions을 매핑하는 역할을 하며 동적으로 추가, 제거가 가능하며 priority 또한 설정이 가능하다. 동일한 키를 입력하였을 때, 문을 열거나, 인벤토리의 아이템을 선택하는 기능을 구현하기 위해서 이전에는 현재의 상태를 정의하는 Boolean 변수를 ..