반응형

전체 글 142

생성형 AI로 영화 포스터 만들기

생성형 AI를 활용하면 이미지 디자인 및 제작 과정이 훨씬 쉽고 빨라진다.예전에는 이미지를 직접 촬영하거나 일러스트를 제작한 뒤 편집해야 했지만, 이제는 원하는 장면을 문장으로 정리하고 AI 이미지 생성 도구를 활용해 포스터의 기본 이미지를 만들 수 있다.이번 글에서는 Mockup의 개념을 먼저 배우고, 생성형 AI로 영화 포스터 이미지를 만든 뒤 제목, 소제목, 폰트, 자간, 그림자 효과를 조정해 실제 포스터처럼 완성하는 과정을 작성했다.실제로 작업해 보면 이미지를 잘 뽑는 것보다, 그 이미지를 포스터처럼 보이게 정리하는 과정이 더 중요하게 느껴진다. MockupMockup은 디자인 제품을 실제로 만들기 전, 완성된 결과물이 어떻게 보일지 미리 확인하기 위해 제작하는 시각적 시제품이다.쉽게 말하면 “이..

Midjourney 사용법 정리: 프롬프트 작성과 이미지 수정

Midjourney를 처음 사용하면 가장 먼저 눈에 들어오는 것은 4개의 이미지 결과다.같은 프롬프트를 입력했는데도 서로 다른 분위기의 이미지가 나오고, 그 아래에는 U1, U2, V1, V2 같은 버튼이 붙어 있다.처음에는 이 버튼들이 단순한 선택 버튼처럼 보이지만, 실제로는 Midjourney 작업 흐름의 핵심에 가깝다.이번 글에서는 Midjourney 이미지 생성 방법, 프롬프트 작성법, Variation과 Upscale 차이, Remix Mode, Vary Region, Zoom Out, Pan, --ar, --no 같은 주요 파라미터를 정리해보려고 한다.참고로 이 글은 Midjourney의 가입이나 설치 방법을 설명하는 글이 아니라, 실제로 이미지를 생성하고 수정하는 사용법을 정리한 글이다.Mi..

영상이론 기초 정리: 미장센, 샷, 카메라 앵글, 매치컷 이해하기

영상을 만들 때 가장 먼저 필요한 것은 좋은 카메라나 화려한 편집 효과가 아니다.더 중요한 것은 완성된 영상이 어떤 느낌이어야 하는지 머릿속에 먼저 그려져 있어야 한다는 점이다.영상 제작자는 촬영 전에 이미 전체 분위기, 장면 흐름, 배경음악, 편집 리듬, 관객이 느낄 감정까지 어느 정도 상상하고 있어야 한다. 그래야 카메라 구도와 컷 편집이 단순한 기술이 아니라 의도를 가진 연출이 되기 때문이다.실제로 영상을 만들다 보면 촬영이나 편집보다, 처음에 어떤 분위기를 만들지 정하는 과정에서 결과물의 방향이 거의 결정된다는 느낌을 받게 된다.이번 글에서는 영상이론의 기본 개념인 미장센, 샷, 씬, 시퀀스, 카메라 앵글, 카메라 움직임, 매치컷을 쉽게 이해할 수 있도록 정리하였다. 영상을 만들기 전에 먼저 정해..

언리얼 엔진 SaveGame과 GameInstance로 다회차(NG+) 구현하기 - 부활, 레벨 이동, 체크포인트 정리

UE5에서 다회차(NG+) 시스템을 구현할 때 가장 어려운 부분은, 서로 다른 성격의 데이터 흐름이 한 시스템 안에서 동시에 충돌 없이 돌아가도록 만드는 것이다.특히 아래 요소들이 함께 들어가기 시작하면 구조가 빠르게 복잡해진다.스테이지 이동플레이어 사망 후 부활체크포인트 저장 및 복원세이브/로드다회차 진입 시 일부 데이터 유지겉보기에는 각각 독립적인 기능처럼 보이지만, 실제 구현에서는 모두 같은 데이터를 서로 다른 시점에 읽고 쓰는 문제로 연결된다.예를 들어 사망 후 부활은 체크포인트 시점의 상태로 되돌려야 하고, 스테이지 이동은 현재 최신 상태를 다음 레벨로 이어가야 하며, 다회차는 월드 진행은 초기화하되 일부 데이터는 유지해야 한다.이번 글에서는 이런 상황에서도 안정적으로 동작할 수 있도록, 다회차..

고베 Fate 성지순례 후기 | Fate/stay night 무대탐방 가이드

지난번 도쿄 쪽 Fate 무대탐방 후기에 이어, 이번에는 고베 쪽 Fate 시리즈 무대탐방 후기를 정리해보려고 한다.15년 넘게 Fate 시리즈를 좋아해 온 팬으로서 직접 다녀온 뒤 적는 글이며, 이번 글 역시 고베와 오사카 근교에서 Fate 시리즈 무대탐방을 하고 싶은 분들께 작은 도움이 되었으면 하는 마음으로 쓴다.이번 일정은 실제로 돌아보면 오사카보다 고베를 거점으로 잡는 편이 훨씬 편하다.주요 목적지들이 대부분 고베를 중심으로 이동하기 좋은 위치에 있기 때문이다.개인적으로는 고베산노미야역 근처 숙소를 추천한다.주변에 비즈니스호텔이 많아서 가격이 비교적 저렴한 편이고, 교통 동선도 깔끔하다.Fate 무대탐방뿐 아니라 일반 여행 동선까지 생각하면 꽤 괜찮은 선택지였다. 간사이 공항에서 고베로 이동하는..

Travel/Abroad 2026.02.27

도쿄 Fate 성지순례 후기 | Fate/stay night, UBW 무대탐방 가이드

15년 넘게 Fate 시리즈를 좋아해 온 팬으로서, 직접 다녀온 도쿄 근교 Fate 무대탐방 후기를 정리해 보려고 한다.이번 글은 단순한 여행 후기보다는, 도쿄 쪽에서 Fate/stay night와 UBW 배경지를 돌아보고 싶은 분들을 위한 가이드에 가깝다.나 역시 무대탐방을 준비하면서 정보를 여기저기 찾아봤는데, 막상 직접 가 보니 동선이나 위치감, 사진 찍기 좋은 포인트 같은 건 실제로 다녀온 사람의 후기가 훨씬 도움이 됐다.그래서 페이트 성지순례를 계획하는 분들께 작은 참고가 되었으면 하는 마음으로 정리하였다.아래 링크는 직접 만든 페이트 무대탐방 지도다. 이 글과 같이 띄워 두고 보면 위치를 비교하기 편하다.https://www.google.com/maps/d/edit?mid=1SE6PE1UX_Q..

Travel/Abroad 2026.02.13

언리얼 엔진 SaveGame 저장 시스템 구현하기 - GameInstance, 체크포인트, 자동 저장

언리얼 엔진에서 Save 시스템은 진행 중인 게임 데이터를 저장하고, 다시 같은 상태로 복구하기 위한 핵심 기능이다.특히 플레이어의 위치만 저장하는 수준이 아니라, 현재 진행 상황과 장비 상태까지 함께 복구해야 실제 플레이 흐름이 자연스럽게 이어진다.이번에는 GameInstance를 활용한 중앙 집중식 데이터 관리, 자동 저장과 수동 슬롯 저장 구조, 그리고 무기별 탄약 상태까지 복구하는 Save 시스템을 직접 구현한 과정을 정리해보려고 한다.내가 구성한 전체 흐름은 다음과 같다.SaveGame: 실제 저장될 데이터 보관GameInstance: 데이터 캐싱, 저장/로드 실행, 자동 저장 및 수동 슬롯 관리Checkpoint: 플레이어가 닿았을 때 현재 상태를 수집해 자동 저장 요청이번 시스템에서 저장 대..

언리얼 엔진 레벨 전환 데이터 관리 - GameInstance와 GameMode 역할 정리

Stage 기반 게임을 만들다 보면 가장 헷갈리는 부분 중 하나가 데이터 관리다.특히 아래 두 상황을 동시에 만족해야 할 때 구조를 어떻게 잡아야 할지 고민하게 된다.Player가 죽으면 현재 레벨 시작 시점의 상태로 부활해야 한다.Player가 Level을 클리어하면 현재 상태를 다음 Level로 넘겨야 한다.겉보기에는 단순해 보이지만, 이 두 요구사항은 서로 반대되는 성격을 가진다.사망 시에는 현재 진행 중인 상태를 버리고 이전 상태로 돌아가야 하고,레벨 클리어 시에는 현재 진행 중인 상태를 유지한 채 다음 레벨로 넘겨야 하기 때문이다.이 문제는 각 클래스에 역할을 명확히 나누면 비교적 깔끔하게 해결할 수 있다.이번 글에서는 내가 실제로 구현한 방식을 기준으로, GameInstance와 GameMod..

언리얼 엔진 파괴 가능한 오브젝트 구현 - 폭발, 파편, 범위 대미지 만들기

FPS나 TPS 장르에서는 총격이나 폭발에 반응하는 파괴 가능한 오브젝트가 전투의 몰입감을 크게 높여준다.단순히 메시가 사라지는 수준이 아니라, 피격에 따라 상태가 변하고, 파괴 순간에는 이펙트와 사운드, 범위 대미지, 파편 연출까지 함께 들어가야 실제 게임 플레이에서 존재감이 생긴다.이번에는 그런 느낌을 살리기 위해, Player의 공격으로 파괴되는 자판기 오브젝트를 직접 구현한 과정을 정리해보려고 한다.오브젝트 이름은 자판기라는 역할에 맞춰 VendingMachine으로 두었고, 아래 조건을 만족하도록 구성했다.Player의 공격으로 파괴 가능일정 조건에 도달하면 불타는 상태 연출 출력파괴 시 폭발 이펙트와 사운드 출력일정 범위 내 액터에게 방사형 대미지 적용Geometry Collection을 이용..

사망 UI 출력 추가 변동 사항

25.09.11 변동 사항PlayerBase의 멤버 변수를 제거하고, PrimaryAttribute에 있던 공격자에 관한 데이터를 받아오는 Delegate로 수정하여 Player를 사망하게 한 공격자에 관한 정보를 Player 사망 UI에 전달하도록 해주었다.우선 PrimaryAttributeSet에 있는 Delegate에서 DYNAMIC을 제거하여 표준 C++ 델리게이트로 변경해주었다.PrimaryAttributeSet1234567891011121314151617181920212223242526272829303132333435363738394041424344PrimaryAttributeSet.h /** 델리게이트가 공격자 정보가 포함된 FGameplayEffectModCallbackData를 전달하도록..