Unreal Engine 열쇠 문: AI로 열쇠 두 개가 필요한 문 만들기
Unreal Engine 열쇠 문: 빨간 열쇠와 파란 열쇠, Keys 0/2 카운터, 둘 다 모으면 400 유닛 위로 열리는 석문을 AI 요청 한 번으로 만듭니다.
Unreal Engine의 열쇠 문은 세 가지 작은 아이디어로 이루어집니다. 주울 수 있는 열쇠, 어떤 열쇠를 가졌는지 기억하는 카운터, 그리고 닿았을 때 한 가지를 묻는 문입니다. 둘 다 가지고 있는가? 그렇다면 엽니다. 아니라면 안 된다고 알려 줍니다. 가장 쉬운 방법은 AI에게 열쇠, 문, 화면 텍스트까지 시스템 전체를 한 번의 요청으로 맡기는 것입니다.
이 튜토리얼에서는 Ultimate Engine CoPilot이 빨간 열쇠와 파란 열쇠를 모두 가지고 있어야만 열리는 석문을 만듭니다. 정확한 프롬프트, AI가 화면에서 찾아낸 버그, 그리고 열쇠 두 개짜리 문의 작동 원리에 대한 쉬운 설명을 확인할 수 있습니다.
완성된 문이 하는 일
눈 속에 석문이 하나 있고, 빨간색과 파란색 열쇠가 두 개 있습니다. 화면 위쪽에는 작은 텍스트 “Keys 0/2”가 표시됩니다. 문에 닿으면 “Door locked, you need two keys”라고 나옵니다. 첫 번째 열쇠를 주우면 “Keys 1/2”, 두 번째 열쇠를 주우면 “Keys 2/2”가 됩니다. 이제 문에 닿으면 문이 위로 미끄러져 열립니다.

왼쪽의 석문과 눈 위에 서 있는 플레이어.
프롬프트
아래 내용을 복사해서 색상이나 슬라이드 시간을 바꾼 뒤, AI가 무엇을 만드는지 확인해 보세요.
Make a door that needs two keys. Create BP_KeyPickup in /Game/Series/EP41_TwoKeyDoor, a floating spinning key with a Color variable, red or blue, that is collected when the player touches it, with a small pop of particles replaced by a quick scale-down. Create BP_TwoKeyDoor in the same folder, a stone door 300 units wide and 400 high that slides up 400 units over 1.5 seconds once the player has collected both a red and a blue key. Show a small text in the top centre below the existing Blizzard box: Keys 0/2, Keys 1/2, Keys 2/2, and Door opened. If the player touches the door with fewer than two keys, show Door locked, you need two keys for 2 seconds. Keep the slide height and time as variables. Place the door near the player start, a red key 800 units to its left and a blue key 800 units to its right. Then play test it: touch the door with no keys and check the locked text, collect the red key and check Keys 1/2, collect the blue key and check Keys 2/2, touch the door and check it opens, and fix anything that does not work.
이 요청이 작은 이야기를 들려주고 있다는 점을 보세요. 열쇠가 없으면 잠김. 열쇠 하나면 여전히 잠김. 열쇠 두 개면 열림. 모든 상태에 저마다의 텍스트가 있고, AI는 그 하나하나를 만들고 테스트합니다. 숫자도 보세요. 400 유닛, 1.5초, 2초입니다. 이 숫자들은 직접 바꿀 수 있는 변수가 됩니다.
AI가 열쇠 문을 만드는 과정
AI는 먼저 프로젝트를 읽습니다. HUD에서 Blizzard 박스와 그 박스가 끝나는 위치를 찾아, 열쇠 텍스트를 바로 아래에 둘 수 있게 합니다. 또한 돌 머티리얼을 재사용하기 위해 다른 에피소드의 이전 문도 확인합니다.
그러면 에셋이 나타납니다. Red와 Blue가 있는 색상 열거형, 열쇠 머티리얼 두 개, 열쇠 Blueprint, 문 Blueprint, 그리고 텍스트를 위한 작은 HUD 위젯입니다. 머티리얼은 컨스트럭션 스크립트에서 적용되므로, Play를 누르기 전에도 에디터에서 열쇠가 올바른 색으로 보입니다. 문은 Timeline으로 슬라이드합니다. 열쇠에 닿으면 열쇠가 문에 알리고, 0.2초 만에 점점 작아져 사라지면서 스스로를 제거합니다.

문 그래프: 닿으면 두 열쇠를 모두 확인하고, 그다음 Timeline이 문을 위로 올립니다.
플레이 테스트와 버그 하나
열두 개의 검사가 모두 통과합니다. 시작할 때 “Keys 0/2”, 잠김 메시지, 빨간 열쇠를 주운 뒤 “Keys 1/2”, 파란 열쇠를 주운 뒤 “Keys 2/2”입니다. 문은 슬라이드 중간쯤에서 약 200 유닛 올라가 있고, 최종적으로 정확히 400 유닛 높이에서 멈춥니다.
그런 다음 AI가 스크린샷을 살펴보고 실제 버그를 하나 찾아냅니다. 열쇠 텍스트의 앵커가 왼쪽 위로 잡혀 있어서 절반이 화면 밖에 있었습니다. AI는 텍스트의 앵커를 위쪽 중앙으로 다시 잡고, Blizzard 박스 아래로 조금 내린 뒤 다시 확인했습니다.
리포트

만든 내용, 배치 위치, 그리고 주의할 점.
리포트는 변수를 나열합니다. 문에는 SlideHeight(400)와 SlideTime(1.5)이 있고, 각 열쇠에는 열쇠 색상이 있습니다. 주의할 점도 알려 줍니다.
- 열쇠는 레벨에서 처음 찾은 문에 보고하므로, 한 레벨에 문이 두 개 있다면 작업이 조금 더 필요합니다.
- 문은 이전 에피소드의 돌 머티리얼 M_DoorStone을 빌려 씁니다.
- 잠김 메시지가 표시되는 동안 열쇠를 주워도, 텍스트는 2초가 다 지날 때까지 잠김 메시지를 유지한 뒤에 개수를 표시합니다.
- 그 지형은 울퉁불퉁해서 문은 플레이어 시작 지점보다 약 200 유닛 아래에 있고, 열쇠도 서로 높이가 조금씩 다릅니다.
- 프로젝트의 메인 메뉴는 플레이를 시작할 때 여전히 화면 위에 나타납니다.
테스트에서는 플레이어를 각 위치로 텔레포트하기도 했습니다. 그래서 영상에서는 실제 플레이 장면도 함께 보여 줍니다.
열쇠 두 개짜리 문의 작동 원리, 쉽게 설명하면
열쇠에는 저마다 색상이 있습니다. 플레이어가 열쇠에 닿으면 열쇠가 문에 자신이 빨간 열쇠인지 파란 열쇠인지 알립니다. 문은 두 가지 답, 즉 빨간 열쇠 보유 여부와 파란 열쇠 보유 여부를 저장하고, 몇 개가 참인지 센 값으로 텍스트를 갱신합니다.
플레이어가 문에 닿으면 Branch 노드 하나가 두 답을 함께 확인합니다. 둘 다 참이면 Timeline이 재생되어 문이 슬라이드 시간 동안 슬라이드 높이만큼 올라가고, 텍스트에는 “Door opened”가 표시됩니다. 그렇지 않으면 텍스트에 “Door locked”가 표시되고, 2초짜리 타이머가 이를 지웁니다. 슬라이드 높이와 슬라이드 시간이 변수이므로, 숫자 두 개만 바꿔서 묵직한 문이나 빠른 함정 문을 만들 수 있습니다.
확장 아이디어
- 세 번째 열쇠, 금색 열쇠.
- 열쇠를 주울 때의 작은 효과음, 그리고 문이 열릴 때의 묵직한 돌 소리.
- 텍스트 대신 화면에 아이콘으로 표시되는 열쇠.
열쇠 문 프롬프트를 위한 네 가지 팁
- 모든 상태를 저마다의 텍스트로 설명하세요.
- 슬라이드 높이와 시간을 숫자로 지정하세요.
- 플레이어 시작 지점을 기준으로 모든 요소가 들어갈 위치를 적으세요.
- 열린 경우만이 아니라 잠긴 경우도 테스트하도록 AI에게 요청하세요.
자주 묻는 질문
Unreal Engine 5에서 열쇠 두 개가 필요한 문은 어떻게 만드나요?
열쇠마다 색상을 지정하세요. 열쇠에 닿으면 문이 그 색상을 기록하고 카운터를 갱신합니다. 플레이어가 문에 닿았을 때는 두 답이 모두 참일 때만 문을 여세요.
플레이어가 열쇠를 몇 개 가졌는지 어떻게 보여 주나요?
열쇠를 하나 주울 때마다 문이 갱신하는 작은 텍스트 위젯을 사용하세요. Keys 0/2, 1/2, 2/2 순서로 표시하고, 마지막에는 “Door opened”를 표시합니다.
한 레벨에 문을 두 개 둘 수 있나요?
지금 만든 그대로는 안 됩니다. 열쇠는 레벨에서 처음 찾은 문에 보고하므로, 문이 두 개라면 작업이 조금 더 필요합니다.
프로젝트에서 직접 사용해 보세요
Ultimate Engine CoPilot으로 무엇을 만들 수 있는지 제품 페이지에서 확인하거나, Fab에서 받아 보세요. AI Blueprint 생성기가 어떻게 작동하는지 확인해 보세요.
이 시리즈의 다른 빌드: Unreal Engine 압력판, Unreal Engine 레버와 다리, 그리고 Unreal Engine 상호작용 프롬프트.