전체 글 192

언리얼 5.6 메타휴먼 완전정복 - 1. 다른 토폴로지를 사용할 경우

목차다른 토폴로지를 사용할 경우필요한 플러그인 설치 - 언리얼, 마야(DCC)다른 토폴로지를 메타휴먼 프로젝트에 가져오기.메타휴먼 아이덴티티를 만들기불러온 다른 토폴로지를 사용하여 정확히 싱크를 맞춰 작업메타휴먼 캐릭터 만들기위에서 만든 아이덴티티를 기본으로 하여 페이스 만들기바디는 페이스에 맞게 간단히 만들기DCC로 Export마야에서 편집하기바디 싱크 맞추기헤드 싱크 맞추기 다른 토폴로지(ex.언리얼 다른 버전 토폴로지)를 사용할 경우 메타휴먼 사용하기1. 플러그인 설치 및 엔진 필수 요소 설치언리얼 플러그인 - 엔진 필수 요소 - 런처에서 메타 휴먼 크리에이터 코어 데이터 설치 마야 플러그인Fab에서 메타휴먼 마야를 검색하여 설치하기.설정 완료 후 플러그인 설치를 하면 마야에서 메타휴먼 플러그인을..

Engine/UNREAL 2025.12.03

Maya Script - Simple Export Tool

툴 설명마야 씬을 FBX나 OBJ로 간단히 익스포트 하는 툴입니다.아래 실행파일을 마야에 드래그 하면 자동 실행됩니다.실행 파일실행창 및 작동 법 (1) - 추가 된 마야 파일들(2) - 추가 할 파일들 선택하기(3) - Export 될 폴더 네임(4) - Export 할 폴더 지정(5) - Export 포맷 설정(6) - 1번에 추가된 파일들 3번 폴더로 익스포트 실행 버튼(7) - 1~6번까지 내용 스킵하고, 현재 마야 씬 Export. (현재 폴더에 FBX 폴더 만들어 실행) 코드import maya.cmds as cmdsimport maya.mel as melimport maya.OpenMayaUI as omuiimport osfrom PySide2 import QtWidgets, QtCo..

MAYA/Python 2025.11.17

스팀에 1인 개발게임 데모 등록 완료 - 가야 더 미스터리(Gaya The Mystery)

혼자서 1년간 만든 게임을 드디어 스팀에 데모를 출시했다.여전히 완전히 상품화된 게임이라 하기엔 부족한 곳 투성이지만, 그래도 첫 입성을 했다는 것에 뿌듯함을 느낀다.더 갈고 닦아 어디 내놔도 부끄럽지 않은 진짜 게임의 형태를 만들어 내보고 싶다. https://store.steampowered.com/app/4001270/GAYA__The_Mystery/ GAYA - The Mystery on SteamA Korean-style Soulslike RPG set in the ancient Gaya era. A mysterious adventure of a warrior’s desperate journey to save the kingdom!store.steampowered.com

자체 개발 2025.10.18

UE5.5 - Motion Matching. 내 캐릭터로 교체하기

1. 언리얼5.5 모션 매칭 데이터를 내 캐릭터로 심플하게 교체하기https://youtu.be/n3CX5xXYk1s?si=b3aI8eXC1ugKJfSg 2.언리얼5.5 모션 매칭 데이터를 내 캐릭터로 완전히 교체하기2-1 - 데이터셋과 소스까지 전부 교체하기https://youtu.be/aLba_ey6C94?si=qPW094c4QqpdvmvZ 2-2 - 데이터셋은 엔진 것을 사용하고 내부 소스만 교체하기https://youtu.be/mubY6N12HGQ?si=dQWp9WndtVvRK7LP

시작 메뉴 생성 -> 인트로 widget 스토리 -> 시퀀서 연결 정리.

Persistant_Main 레벨에서 시작시 StartWidget부터 강제로 실행되도록 설정. StartWidget이 실행되어 시작 화면을 통해 시작을 누를 때 두가지 분기를 타게 된다.1. 퀘스트 진행중인 것이 있을 때는 바로 게임 시작 - 메인 메뉴 음악 재생하다가 끄고 1퀘스트 메인 음악으로 변경2. 게임을 처음 시작하여 아무 퀘스트도 없을 때는 인트로영상인 IntroAnimation Widget으로 로 시작. - Intro Aniamtion 메인 음악으로 변경.3. 인트로 애니메이션은 자동으로 재생되며, Skip을 누를 시 넘어가게 되고, Sequencer가 실행된다.대사가 Set Timer 이벤트를 활용하여 한글자씩 찍히도록 처리했다. 너무 길어서 이건 스샷 올리기 힘듬..4. 시퀀서가 끝나면 ..

AI 캐릭터가 주인공을 발견했을 때의 이벤트 처리.

먼저 AIController 블루프린트에서 주인공 캐릭터를 발견했을 때를 이벤트 디스패처로 처리한다. 그리고 주인공 캐릭터 BP에서 처리한 이벤트를 호출하여 디텍트 이벤트로 바인드 한다. 이렇게 처리하면 AI가 주인공을 발견했을때만 이벤트가 일어난다.이것을 이용해 몬스터가 주인공에게 뛰어 올때 자동으로 무기를 장착하도록 처리했다.

패키지 빌드 성공 후 디버그 방법.

IDE 프로그램(라이더 같은..)에서 프로젝트를 실행하고, 메뉴에서 Editor / Game 을 골라서 디버그 및 실행이 가능해 진다.말그대로 Editor 로 선택 시 언리얼엔진과 에디터에서 실행되게 되고, Game을 선택시 최종 패키징 된 빌드가 실행되게 된다.타깃과 구성 별로 고를 수 있으며, 최대한 많은 문제를 잡아 내기 위해서는 Debug 모드로 실행하는게 좋은데, 여러가지 문제를 뒤지느라 프레임이 많이 떨어지게 된다.반대로 Shipping 모드로 할 경우 디버그가 아예 안되게 막혀있고, 프레임이 가장 잘 나오게 된다.

LowLevelFatalError Maximum number of UObjects

이 에러가 날 힘들게 하고 있다...;;UObject 의 수가 한도치를 넘어서서 에러가 발생했다는 건데.. 내 씬이 이렇게가지 무겁게 셋팅이 안되어있는데, 도무지 영문을 모르겠다..;.;열심히 문제를 찾아봐야겠네.. 어딘가에서 오브젝트가 무한 증식하고 있는 듯 하다.문제를 찾았다! 위 문제에 대한 Debug 방법 정리.Editor Preferences -> Genera - Performance 에서 Show Frame Rate and Memory를 체크하면 UObect를 디스플레이 해준다.현재 UObject가 무한 증식 되고 있는 것을 확인할 수 있다.그다음 여러 프로파일링을 돌려서 확인하는게 좋은데, 나는 일단 가장 의심되는 오브젝트들을 하나씩 지우면서 확인해서 찾아냈다.AI 로직쪽에서 부하를 일으킨다..

포인터 개념을 이해하자.

엔진 코드 중에  UniquePtr.h  라는 포인터 처리 코드가 있습니다.코드에서 포인터를 사용할 경우 해당 헤더파일을 반드시 참조하게 되어 디버그에러시 해당 파일과 잘못연결되어 에러를 뱉는 경우가 허다합니다.메모리에 올렸다 해제했다를 잘해야 하는데, 그러지 못한 경우 해당 코드에서 문제를 일으키는 것입니다.포인터의 개념을 잘 숙지하여 해당 코드와 문제가 일으나지 않도록 관리하는 것이 필요합니다.자, 이제 포인터에 대해서 자세히 알아봅시다.. 포인터란 무엇일까?포인터는 **"다른 변수의 메모리 주소를 가리키는 변수"**라고 생각하면 됩니다. 조금 더 쉽게 말하면, 포인터는 다른 데이터가 저장된 위치를 기억하는 변수예요.비유로 이해하기포인터를 주소로, 그리고 변수를 집이라고 생각해볼게요.변수는 데이터가 ..