Unreal Engine 압력판: AI로 압력판과 문 퍼즐 만들기
Unreal Engine 압력판으로 문 여는 법: 돌 압력판, 슬라이딩 문, LinkedGate 변수를 AI 요청 한 번으로 만들고, 첫 테스트 실패를 고칩니다.
Unreal Engine 압력판 퍼즐은 세 가지 작은 아이디어로 이루어집니다. 플레이어가 그 위에 올라섰는지 알아차리는 압력판, 열고 닫을 수 있는 문, 그리고 압력판이 어느 문에 신호를 보내야 하는지 알게 해 주는 연결입니다. 가장 쉬운 방법은 AI에게 압력판, 문, 연결까지 퍼즐 전체를 한 번의 요청으로 맡기는 것입니다.
이 튜토리얼에서는 Ultimate Engine CoPilot이 플레이어가 올라서면 문을 열고, 플레이어가 내려서면 다시 문을 닫는 돌 압력판을 만듭니다. 프롬프트, 실패한 첫 번째 테스트, AI가 이를 고친 방법, 그리고 작동 원리에 대한 쉬운 설명을 모두 확인할 수 있습니다.
완성된 퍼즐이 하는 일
눈 위에 놓인 돌 압력판이 붉게 빛납니다. 그 위에 올라서면 압력판이 살짝 가라앉으면서 초록색으로 빛납니다. 멀리 떨어진 곳에서는 돌로 된 문이 위로 미끄러지며 열립니다. 발을 떼면 압력판은 다시 붉게 변하고, 2초 뒤에 문이 아래로 다시 내려옵니다.

눌려서 초록색으로 빛나는 압력판.
프롬프트
아래 내용을 복사해서 지연 시간을 바꾸거나 압력판을 하나 더 추가한 뒤, AI가 무엇을 만드는지 확인해 보세요.
Make a pressure plate and gate puzzle. Create BP_PressurePlate in /Game/Series/EP21_PressurePlate, a square stone slab 200 by 200 units that sinks 10 units when the player stands on it and glows green while it is pressed, and red while it is not. Create BP_Gate, a stone gate made from two pillars and a thick bar between them, that slides up 400 units in 1.5 seconds when the plate is pressed, and slides back down 2 seconds after the player steps off the plate. The plate has a variable called LinkedGate that points to the gate. Place the plate on the snow near the player start and the gate about 1000 units away, and link them. Then play test it: stand on the plate and check the gate opens, step off and check the gate closes after the delay, and fix anything that does not work.
눈여겨볼 부분은 LinkedGate라는 변수입니다. 두 부분으로 이루어진 모든 퍼즐의 비결로, 한 액터가 다른 액터에 대한 레퍼런스를 들고 있는 구조입니다. 요청에 이 내용을 말해 주면 AI가 그렇게 만들어 주므로, 압력판 열 개와 문 열 개를 배치한 뒤 에디터에서 서로 연결할 수 있습니다.
AI가 퍼즐을 만드는 과정
AI는 프로젝트를 읽고 필요한 도구를 찾습니다. 그러면 에셋이 나타납니다. 색상을 바꿀 수 있는 빛나는 압력판 머티리얼과 두 개의 Blueprint입니다. 문은 이전에 만든 문의 돌 머티리얼을 재사용하는데, 프로젝트 전체의 룩을 하나로 유지할 수 있는 좋은 습관입니다.
압력판은 플레이어를 감지합니다. 문에는 Open과 Close가 있고, Close는 먼저 2초를 기다립니다. 이 대기 시간 동안 플레이어가 다시 압력판 위에 올라서면 닫기가 취소됩니다. 아무도 요청하지 않은 동작이지만, 퍼즐을 제대로 된 느낌으로 만들어 주는 세부 요소입니다.

압력판 그래프. 플레이어가 올라서면 압력판이 가라앉고, 초록색으로 바뀌며, 문에 열라고 알립니다. 플레이어가 내려서면 압력판이 다시 올라오고, 붉은색으로 바뀌며, 문에 닫기를 시작하라고 알립니다.
첫 번째 테스트는 실패하고, AI가 고칩니다
첫 번째 실행은 통과하지 못했습니다. 문은 열렸지만 압력판에 문제가 있었습니다. AI가 압력판을 만들 때 트리거 박스가 Blueprint의 루트가 되어 버렸고, 그 결과 슬래브와 트리거가 엉뚱한 높이에 놓여 플레이어가 압력판 밖으로 밀려났습니다.
AI는 결과를 읽고 원인을 찾은 다음, 압력판을 다시 지면 위에 놓는 방식으로 계층 구조를 고쳤습니다. 그리고 테스트를 두 번째로 실행했습니다. 테스트하고, 결과를 읽고, 고치고, 다시 테스트하는 이 순환이 바로 핵심 루프입니다.
두 번째 실행에서는 10개의 검사가 모두 통과합니다.
- 플레이어가 도착하기 전에는 압력판이 눌리지 않은 상태이고, 올라서면 10 유닛 가라앉습니다.
- 잠시 뒤 문은 절반쯤 올라와 있어서 툭 튀지 않고 부드럽게 미끄러지며, 최종적으로 400 유닛 높이까지 올라갑니다.
- 플레이어가 내려서면 압력판이 다시 올라오고, 문은 약 1.5초 동안 열려 있다가 닫힙니다.
리포트

리포트에는 검사한 항목뿐 아니라, 그에 못지않게 유용한 정보인 AI가 검사하지 않은 항목도 함께 나옵니다.
리포트는 검사하지 않은 항목도 알려 줍니다. 빛나는 효과의 스크린샷은 찍지 않았으므로 초록색과 붉은색은 눈으로 확인하지 않았습니다. 압력판을 작동시키는 것은 플레이어뿐이며, 적이나 오브젝트는 해당되지 않습니다. 문의 빗장은 통로를 막도록 중간 높이에 있고, 기둥도 함께 올라갑니다. 또한 레벨이 아직 저장되지 않은 상태여서, 이름을 정해 저장하기 전에 에디터를 닫으면 배치한 액터가 사라집니다.
압력판의 작동 원리, 쉽게 설명하면
압력판에는 트리거 박스가 있습니다. 플레이어가 그 안에 들어오면 압력판은 세 가지를 합니다. 스스로 내려가고, 빛을 초록색으로 바꾸고, 연결된 문의 Open을 호출합니다. 문에는 이벤트가 두 개 있습니다. Open은 Timeline을 사용해 문을 위로 올립니다. Close는 2초를 기다린 뒤 문을 다시 아래로 내립니다. 기다리는 동안 플레이어가 돌아오면 그 대기는 취소됩니다.
거리, 속도, 지연 시간이 변수로 되어 있으므로, 숫자만 바꿔서 빠른 문이나 느리고 묵직한 문을 만들 수 있습니다.
확장 아이디어
- 두 압력판을 동시에 눌러야 열리는 문.
- 한 번 열리면 영원히 열려 있는 문.
- 압력판을 누를 수 있는 무거운 상자. 플레이어가 상자를 압력판 위로 밀어 올려야 합니다.
압력판 프롬프트를 위한 네 가지 팁
- 둘을 연결하는 변수에 이름을 붙이세요.
- 눌렀을 때와 뗐을 때 압력판과 문이 각각 무엇을 하는지 적으세요.
- 닫히기까지의 지연 시간을 지정하세요.
- 양쪽 방향을 모두 테스트하도록 AI에게 요청하세요.
CoPilot이 이런 프롬프트를 대신 써 주게 하는 방법은 Unreal Engine용 AI 프롬프트 작성법에서 확인하세요.
자주 묻는 질문
Unreal Engine 5에서 압력판으로 문을 열려면 어떻게 하나요?
압력판에 트리거 박스와 문을 참조하는 변수를 추가하세요. 플레이어가 트리거와 겹치면 압력판이 문의 Open을 호출합니다. 플레이어가 벗어나면 Close를 호출합니다.
압력판과 문은 어떻게 연결하나요?
압력판에 문을 가리키는 변수를 추가합니다. 이 예제에서는 LinkedGate라는 이름을 사용했습니다. 그런 다음 에디터에서 인스턴스마다 값을 지정하면, 하나의 Blueprint로 여러 개의 퍼즐을 구동할 수 있습니다.
첫 번째 테스트는 왜 실패했나요?
트리거 박스가 Blueprint의 루트가 되면서 슬래브와 트리거가 엉뚱한 높이에 놓였고, 그 때문에 플레이어가 밀려났기 때문입니다. AI는 테스트 결과에서 이 원인을 찾아내 컴포넌트 계층 구조를 고쳤습니다.
프로젝트에서 직접 사용해 보세요
Ultimate Engine CoPilot으로 무엇을 만들 수 있는지 제품 페이지에서 확인하거나, Fab에서 받아 보세요.
이 시리즈의 다른 빌드: Unreal Engine 포털 텔레포터, Unreal Engine 목표 마커, Unreal Engine 링 레이스, 그리고 Unreal Engine 레버와 다리.
함께 보기: Unreal Engine 두 열쇠 문.