점프스트림 개발 로그 #3
이번 포스트에서는 이전 글에서 구현에 실패했던 발판 깜빡이기 기능을 어떻게 해결했는지, 구체적인 블루프린트 로직과 구조를 중심으로 설명드립니다. 이 기능은 랜덤 레이저 공격 발생 전, 발판에 시각적 경고를 주기 위한 핵심 시스템입니다.
🎯 구현 목표
- 특정 위치에 발판(BP_StartFloor)이 존재함
- 해당 발판 위에 레이저 공격이 발생 예정일 경우, 빨간색으로 깜빡이며 경고
- 일정 시간 후 원래 색상으로 복구됨
- 깜빡이는 효과는 재귀 구조와 딜레이를 활용
🧱 액터 구조 및 컴포넌트
BP_StartFloor 액터 구조:
이 두 메시 컴포넌트가 깜빡이는 발판입니다.
🔄 구현 과정 요약
1. Getter 함수 추가 (BP_StartFloor)
- GetRightBridge() 및 GetLeftBridge() 함수 생성
- 각각 SM_SkyBridgeRight / SM_SkyBridgeLeft를 반환
- 반환 타입은 Static Mesh Component로 지정
[GetRightBridge]
Return Node → Output: StaticMeshComponent (SM_SkyBridgeRight)
2. BP_RandomCreatActor에서 머티리얼 변경
- 기존에 저장해둔 StartActorReference를 통해 발판 액터에 접근
- Getter 함수 호출하여 메시 컴포넌트를 가져옴
- SetMaterial 노드를 사용하여 깜빡이기 시작
StartActorReference → GetLeftBridge() → SetMaterial(Index: 0, RedMaterial)
3. 원래 색으로 복구하는 로직
- 함수 내부에서 Delay 노드를 사용할 수 없기 때문에 커스텀 이벤트 사용 ( Unreal Engine - Delay가 함수와 반복문에서 작동하지 않는 이유 )
- 예: BlinkPlatform_Left, BlinkPlatform_Right 커스텀 이벤트 생성
4. 재귀적 깜빡이기 구현
- IsBlinking 플래그와 반복 횟수 제한 변수 사용
- 재귀 호출을 통해 n회 깜빡임 후 종료
- 반복문이 아닌 재귀를 선택한 이유 ( Unreal Engine - Delay가 함수와 반복문에서 작동하지 않는 이유 )
Event BlinkPlatform_Left
├── SetMaterial(Red)
├── Delay(0.2)
├── SetMaterial(Normal)
├── Delay(0.2)
└── Branch (if count < max)
└── Call BlinkPlatform_Left
✅ 결과 및 효과
- 레이저 공격이 시작되기 전, 해당 발판이 눈에 띄게 깜빡이며 경고 역할 수행
- 플레이어는 공격을 예측하고 사전에 회피할 수 있음
- 시각적 피드백을 통해 레벨 디자인의 명확성과 몰입도 향상
💡 마무리
이번 개선을 통해 레벨 디자인 요소 중 하나였던 발판 시각 경고 기능을 성공적으로 구현하였습니다. 재귀와 커스텀 이벤트 구조를 통해 Delay 한계를 우회하는 방식은 UE5.5 블루프린트 설계 시 자주 응용될 수 있는 기법입니다.
[1부] Unreal Engine - 점프스트림: 플랫폼 이동형 게임의 레벨 디자인 기획
[1부] Unreal Engine - 점프스트림: 플랫폼 이동형 게임의 레벨 디자인 기획
레벨 디자인 목표게임 컨셉: 플레이어가 특정 방향으로 움직이는 플랫폼 위에 탑승해 장애물을 피하면서 목표 지점까지 도달하는 게임.핵심 요소:플레이어는 2단 점프 기능을 사용해 장애물을
roanne.tistory.com
[2부] Unreal Engine - 점프 스트림: 구현된 레벨 디자인 완성된 게임 기능 소개
[2부] Unreal Engine - 점프 스트림: 구현된 레벨 디자인 완성된 게임 기능 소개
이 글은 삭제됐다가 다시 쓰는 글입니다. 로안님 2025. 1. 8. 15:36이번 글에서는 플랫폼 이동형 게임인 점프스트림(Jumpstream) 의 레벨 디자인 구성과 구현된 주요 기능들을 정리합니다. 각종 이벤트
roanne.tistory.com
'언리얼 엔진 > 블루프린트' 카테고리의 다른 글
[2부] Unreal Engine - 점프 스트림: 구현된 레벨 디자인 완성된 게임 기능 소개 (1) | 2025.04.24 |
---|---|
[1부] Unreal Engine - 점프스트림: 플랫폼 이동형 게임의 레벨 디자인 기획 (0) | 2025.01.08 |
Unreal Engine - 블루프린트: 총기 시스템과 스킬 쿨타임 구현하기 (1) | 2024.12.18 |