사전 캠프 퀘스트
미니 프로젝트: 나만의 인터랙티브 공간 만들기
왜 중요한가요?
지금까지 배운 기능들을 실제로 조합해보는 종합 과정을 통해, 기술의 이해를 자기 것으로 만드는 실전형 경험을 얻게 됩니다. 주어진 기능을 단순히 따라하기보다, 자신만의 기획으로 구성해보는 과정에서 창의력과 응용력이 함께 성장합니다.
개념 바로 알기
미니 프로젝트란?
정해진 기능을 구현하는 것이 아니라, 자신이 직접 구성한 공간에 목적을 부여하고 상호작용 요소를 설계하는 것
본인의 관심 분야(게임, 건축, 디오라마 등)에 맞춰 자유롭게 설정 가능
제출하기
직접 구현해보기
목표: 자신만의 씬을 기획하고, 캐릭터 이동 및 최소 1가지 상호작용 기능을 포함해 완성합니다.
🎮 [Day10 Mini Project] - 나만의 Sci-Fi 실험실
1.주제 소개
[Step 1] 주제 설정
예시 주제:
나만의 방
작은 게임 맵 (던전 입구 + NPC + 아이템 줍기)
미니 마을
Sci-Fi 실험실
어떤 콘셉트로 공간을 꾸밀지 구상하고 간단히 메모
동굴 형태의 보스 방 형태 구현(동굴 내 플레이어 입장 시 불이 켜지고 보스 스폰하는 형태로 구현)
2.구현 기능
E 키를 누르면 문이 열리는 상호작용 구현[Step 2] 공간 구성
Static Mesh 또는 외부 에셋을 활용해 배경 구성
공간 구획, 동선 설계, 빛 연출 등 전체적 분위기 설정
토치 에셋(https://fab.com/s/a32cf26cfa9b)
동굴 에셋(https://fab.com/s/1b61e3a89c37)
동굴 내 토치 배치 시 빛의 세기 약해서 Spot Light 추가해주고 토치 체인 룰로 차례대로 켜지게 하기 위해서 Next Torch(토치 자기 자신 변수), bChainStarter(처음 시작 토치 유무), ChainDelay(딜레이 값) 변수로 지정
동굴 내 토치 배치 시 다음 토치 변수로 받아서 Chain 형태로 차례대로 켜지게 블루프린트 구성
구현 중간 단계 테스트 성공(동굴 내 입장 시 차례대로 토치 켜지는 형태)
보스 몬스터 에셋(https://fab.com/s/224591658daf)
보스 스폰 크리스탈 에셋(https://fab.com/s/10c41354c863)
추가적으로 나머지(돌,나무 에셋들 배치해서 배경 구성)
[Step 3] 캐릭터 조작 기능 포함
캐릭터 이동 및 카메라 회전 기능 정상 작동 확인
점프/회전/내비게이션 문제 없는지 점검
횟불 액터의 메시와 접근 범위를 위해 지정한 콜리전에 대해서 사용자가 지나갈 때 해당 범위에서 땅으로 꺼지는 현상 발생해서 해당 부분에 대해서 메시는 BlockAll로 처리, 접근 범위 콜리전 Trigger로 처리해서 해결
[Step 4] 상호작용 기능 최소 1개 이상 구현
예: 문 열기, 아이템 줍기, 버튼 누르기 등
E 키 또는 클릭 이벤트로 동작하게 연결
동굴 내 크리스탈 존재하고 해당 크리스탈에 플레이어가 접근 시 상호작용 E키 누르라는 메세지가 출력되고 클릭 시 크리스탈 사라지고 보스 몬스터 액터 스폰 기능 구현
플레이어 캐릭터 상호작용 E키 누를 때 상호작용하게 하기 위해서랑 크리스탈에 접근했을 때 텍스트 메시지 띄우기 위해서 블루프린트 구성
플레이어
플레이어 캐릭터에 메세지창 상호작용을 하게 하기위해 ShowInteractMessage,HideInteractMessage 함수 추가해주고 클리스탈 접근 파악하게 하기 위해서 CurrentInteractTarget이란 크리스탈(BP_BossSPawn) 변수로 추가, 메세지창 동작을 위해서 InteractWidgetRef(메세시창 위젯) 변수로 추가
추가적으로 게임 내에 메세지창 띄우게 하기 위해서 Widget BluePrint(WBP_InteractMessage)에 E키 입력하라는 메세지 추가해서 저장(처음에는 숨김 상태로 처리 위해서 Visible을 Hidden으로 처리)
플레이어 캐릭터가 접근했을 때 메세지창의 visible 변경을 통해서 메세지창 띄우고 사라지게 하기위 해서 ShowInteractMessage, HideInteractMessage 함수 블루프린트 다음과 같이 구성
게임 시작 시 메세지 창 히든 상태로 활성화 하는 것과 플레이어가 상호작용 키 입력 시 상호작용 대상(보스 스폰 크리스탈) 확인 이후 보스 스폰 크리스탈의 Spawn 상호작용 이벤트 실행 블루프린트 구성
보스 스폰 크리스탈
플레이어 접근 범위 체크용( bPalyerInRange), 플레이어 접근 시 띄우는 메세지창 참조용(InteractWidgetRef) 변수 보스 스폰 크리스탈(BP_BossSPawn)에 추가
보스 스폰 크리스탈에 플레이어 접근 시 접근 범위 체크용 변수 True 처리와 함께 Interact Message 창 띄우는 함수 실행하고 접근 종료 시 사라지게 처리하는 블루 프린트 구성
보스 스폰 크리스탈에 상호작용 이벤트 발생 시 크리스탈의 메시와 접근 범위 관련 비활성화되고 타임라인에 따라서 종료될 때 크리스탈 사라지게 하고 보스 스폰 크리스탈 위치에서 약간의 조정된 위치에 보스 몬스터(BP_Bossmob) 스폰하는 블루 프린트 쿠성
3.결과물
숲 속 내 동굴 형태의 보스방 맵 구현(보스 방 입장 시 순서대로 횃불 켜지게 되고 가운데 크리스탈 E키로 상호작용 시 보스몬스터 소환 확인 완료
[Step 5] 프로젝트 정리
콘텐츠 폴더 구조 정리

📂Content/
│
├─ 📂 Fab/ # Fab 마켓플레이스에서 다운로드한 외부 에셋 기본 저장 위치
│
├─ 📂 BluePrint/ # 프로젝트에서 직접 만든 주요 블루프린트 저장
│ ├─ 📂 BP_Torch # 횃불 블루프린트
│ ├─ 📂 BP_Bossmob # 보스 몬스터 블루프린트
│ ├─ 📂 BP_BossSpawn # 보스 스폰용 크리스탈/오브젝트 블루프린트
│ ├─ 📂 BP_MyCharacter # 플레이어 캐릭터 블루프린트
│ ├─ 📂 WBP_InteractMessage # 상호작용 메시지 위젯
│ └─ (기타 프로젝트 관련 BP)
│
├─ Material/ # 직접 제작한 머티리얼
│ └─ 📂 M_Grass # 랜드스케이프에 사용한 Grass 머티리얼
│
├─ Level/ # 프로젝트용 레벨 저장 공간
│ └─ 📂 Level_01.umap # 최초 생성 레벨
│
├─ 📂 Input/ # Input 관련 리소스 (필요 시)
│
├─ 📂 Characters/ # 캐릭터 관련 에셋 (Skeletal Mesh 등)
│
├─ 📂 LevelPrototyping/ # 프로토타입용 레벨/테스트용 자산
│
├─ 📂 ExternalActors/ # 언리얼 외부 액터 저장용 자동 생성 폴더
├─📂 ExternalObjects/ # 외부 오브젝트 저장용 자동 생성 폴더
│
├─ 📂 ThirdPerson/ # ThirdPerson 템플릿에서 자동 생성된 폴더
└─ 📂 Collections/ Developers/ StarterContent 등 # 템플릿 및 에디터에서 자동 생성된 폴더들
조명 및 머티리얼 마무리
하늘 조명 구성
횟불 밝기 작아서 SPot Light 조명 추가 구성
랜드 스케이프 머티리얼(외부 에셋 KT_SmartMat_Vol_1 사용)
4.소감