전체 글 27

공부용

운영체제 DB C++ 알고리즘 자료구조 다 섞임... CPP 관련 Push_back이랑 emplace_back 차이 Push_back은 함수 외부에서 임시 객체를 먼저 만들고, 그걸 복사해 옮긴 다음 임시 겍체를 파괴하는 과정을 거치지만, emplace_back은 생성자의 인자들만 전달받아 벡터가 할당해둔 메모리 공간 내부에서 객체를 직접 생성하기 때문에 복사할당비용이 더 적게들어 성능 최적화에 유리Emplace_back은 가변 템플릿이랑, forward를 사용하기 때문에 벡터 내부 메모리에 있는 생성자한테 그대로 전달할수있어서 직접생성이 가능하흐다 String은 힙메모리에 문자열을 저장함. 동적메모리이다! 객체지향 관련컴파일러가 자동으로 생성하는 6가지 함수 : 기본생성자, 소멸자, 복사생성, 복사..

허공 2026.06.07

motion matching/GASP에 메타휴먼/루트모션끄기

애니메이션을 검색엔진 사용해서 필요한거 찾아다쓰는 기능실시간으로 엔진 데이터에셋을 뒤져서 포즈를 비슷한거 찾아옴발 밑에 궤적을 이용해 미래에 갈 예정인 곳을 나타냄 GASP(Game Animation Sample Project)에 담긴 500개의 애니메이션 속에서... 딱 상황에 맞는걸 골라오는것 필요 플러그인 GASP(Game Animation Sample Project)샘플프로젝트에 내가 만든! 메타휴먼 갖다쓰는법visual override중 메타휴먼은 Kellan밖에 없어서 BP_Kellan을 복사해준다 왼쪽이 원래 Kallen, 오른쪽이 내 메타휴먼메타휴먼은 같은 프로젝트에서 만들거나, 다른 프로젝트에서 만들었다면.. 이주시켜주면됨 body랑 face 전부 내 메타휴먼거로 바꿔주고 필요없는 fee..

ue5 2025.12.31

metahuman 만들기

먼저 ue5.7 다운-> 옵션에서 metahuman core? 체크하고 다시 다운받아준다그러고 관련 플러그인 켜준 뒤 재시작해주면 됨캐릭터 만들어주고 프리셋도 있지만 원하는 metahuman을 만들 수도 있음커스터마이징 해주면 된다자세한설명은 ue5.7 관련 문서에 잘 나와있음 얼굴 녹화해서 표정 추출할 수 있음.. 신기하다그리고 언리얼이 뽑아준 내 얼굴 봤다가 비대칭 심각한거 보고 그냥 커마한걸로 썼다그리고 진짜 내 얼굴 추출하는게 ram을 너무 잡아먹어서...내 노트북이 이상한걸 수 도있는데 일반 metahuman character 만드는 것도 오래걸리는덱거기에 얼굴까지 추출하면 그냥 하나 로딩하는데 한세월 걸림 일단 표정까지만 추출하는걸로 만족한다 뽑았으면 레벨로 돌아가서level sequence ..

ue5 2025.12.23

아이템 시스템

프로젝트의 주요 레이어레이어 아키텍처 1. 데이터 레이어 (가장 밑바닥) - 게임을 구성하는 기본 데이터 (스탯 정보, 캐릭터 레벨 테이블 등등..) - 순수 정보만을 다룸. 로직은 거의 없고.. 숫자나 텍스트 위주 2. 미들 웨어 레이어 - 게임에 사용되는 미들웨어 모듈 (UI, 아이템, 애니메이션, AI 등등..) - 게임에 필요한 기능을 구현.. 이 기능들은 다른 게임을 만들때 가져가서 재사용 가능할만큼 독립적이어야함.. 3. 게임 레이어 (가장 위) - 게임 로직을 구체적으로 구현하는데 사용 ( 캐릭터 , 게임 모드 등등..) - 우리가 만드는 이 게임만의 구체적인 규칙.. .=> 위에서 아래로는 직접 참조하되, 아래에서 위로는 인터페이스를 통해 접근하도록 설계.. 여기..

ue5 2025.12.02

Niagara2

SubUVAnimation파티클 하나에서 동영상.. 애니메이션을 재생하는 기술!!SubUV란.. sub-divided UV의 약자플립북을 촤를르르륵 넘기면 그림이 움직이는 것처럼 보이듯이.. 이것도 그런 원리를 적용해서 애니메이션을 재생하는거이런 플립북 애니메이션을 만들기 위해선 4가지 요소가 필요하다..1. Flip Book Texture- n*n 그리드에 담긴 원본 텍스처 에셋!! 한마디로 그냥 프레임들.. 모아둔거라고 생각하면됨2. Custom Material- Sprite Renderer는 이 필름..텍스처를 받았을때.. 얘를 어떻게 재생해야할지 모름그래서 이 텍스처가 플립북이란걸 머티리얼한테 알려줘야함!! 머티리얼 에디터에서 Particle SubU라는 노드를 이용해 재생로직을 짜주면 된당..3..

ue5 2025.11.23

깃3

Git 브랜치란?- 기존의 안정적인 메인 코드는 그대로 유지하면서....독립적인 개발 라인을 만들어 새로운 작업을 하는 기능! - 메인코드에 전혀 영향을 주지 않으면서... 새로운 기능이나, 수정한 후 이 브랜치를 병합(Merge)해서 합칠 수 있다! 브랜치가 가벼운 이유- git은.. 커밋을 저장할때 3가지 종류의 객체를 사용하는데1. Blob (블롭) - 파일의 '내용물' 그자체.. - Git은.. 파일 이름이 아니라 내용을 기준으로 Blob을 저장함!2. Tree (트리) - 폴더에 대한 정보 - 이 폴더 안에 이런 파일(Blob)들과.. 저런 하위 폴더(Tree)가 있다는 목록(포인터)를 저장함3. Commit (커밋) - 프로젝트의 스냅샷 - 커밋에는 다음과 같은 정보 - Author..

2025.11.12

Niagara 1

나이아가라 VFX 나이아가라에는 3가지 구성요소 존재1. 나이아가라 모듈(Module) - 이펙트의 가장 작은 단위의 '기능' 또는 '명령'2. 나이아가라 이미터(Emitter) - 파티클 입자를 생성하고, 관리하는 발사대 - 하나의 emitter는, 하나의 일관된 이펙트를 담당함! - 모듈이 모여 하나의 emitter를 구성3. 나이아가라 시스템 (System) - 최종 완성된 이펙트 에셋... - 하나 이상의 emitter를 조합해 만든다.. - 이 시스템을 레벨에 배치해 사용한다! 모듈스택 이해하기 Emitter Spawn : emitter가 처음 생성될 때 단 한 번 실행. Emitter Update : emitter가 활성화 된 동안 매 프레임 실행Particle Spawn : 각 파티클이..

ue5 2025.11.12

깃2

git diff / git diff --staged 에 관해- 차이점을 비교해주는 명령어- 둘의 차이는 비교 대상 git diff- 비교대상 : Working directory Staging area- 파일을 수정 후.. git add를 하기 전에!!! 파일을 수정했을 때... 방금 내가 수정한 내용과 staging area에 있는 버전과 뭐가 달라졌는지? 보여준다!bbbbb44444를 추가했다는걸 한눈으로 볼 수있다..! 아직 add는 안한상태.. git diff --staged ( 또는 --cached)- 비교 대상 : Staging area . git directory- git add를 사용 한 후..., git commit을 하기 전 사용! - staging area에 올린걸 제일 최근에..

2025.11.02

깃1

일단.. 깃(Git) 이란?버전 관리 시스템- 대부분 로컬에서 실행됨- 오프라인 상태에서도 가능하다!!- 저장소 전부가 복제됨.. 깃은 히스토리 포함 모든 정보를 내 로컬 pc에 저장시켜줌최신에 한 작업물만 가져오는게 아니라…Clone 이라는 명령어 통해서..~- 저장소의 일부를 가져오는게 아니라, 저장소에 들어있는 모~든데이터를 내 로컬에 복제가 됨 복제가 된 이후에는.. 완벽한 쌍둥이처럼 존재! - 깃은 파일 링크를 관리함- 해시 코드 형태로 존재한다! -> 포인터 형태의 자료구조를.. 트리 형태로 가진다.. - 깃은 브랜치를 제공.. branch(가지)기존의 버전에 영향을 주지 않고, 새로운 기능이나 버그 수정을 위해 독립적인 작업공간! = 브랜치를 가질 수 있게함.. 여기서 마음껏 작성해본뒤, 나..

2025.11.01