이번 글에서는 탑쌓기 게임의 기획 초안을 다룹니다. 이 게임의 주요 기능, 사용 기술, 각 기능의 구현 방법 등을 상세히 설명합니다. 블럭의 부분 삭제, 블럭 스폰, 블럭 이동, 사용자 입력 처리, UI 구성, 패배 조건 등 게임의 핵심 요소들을 다루며, 프로젝트 진행을 위한 구체적인 로드맵을 제시합니다.
한줄 요약하면 탑 쌓기 게임입니다.
깃허브! |
---|
★ https://github.com/ChangJin-Lee/Project_StackBlock |
블럭 게임의 핵심 기능 중 하나는 블럭의 일부를 삭제하는 기능입니다. 이는 플레이어가 탑을 쌓는 과정에서 장애물을 제거하거나 블럭을 조작하는 데 유용합니다.
다음처럼 사용할 예정 |
Collision → Impact point → Delete
Ray → Distance → Delete
FHitResult HitResult;
FVector Start = PlayerCamera->GetComponentLocation();
FVector End = Start + (PlayerCamera->GetForwardVector() * RayDistance);
GetWorld()->LineTraceSingleByChannel(HitResult, Start, End, ECC_Visibility);
if (HitResult.Actor != nullptr)
{
HitResult.Actor->Destroy();
}
Boolean을 사용한 제거
블럭 스폰은 게임의 중요한 기능 중 하나로, 일정한 규칙에 따라 새로운 블럭을 생성합니다.
float RandomX = FMath::RandRange(-10.f, 10.f);
float RandomY = FMath::RandRange(-10.f, 10.f);
float RandomZ = FMath::RandRange(0.f, 20.f);
FVector SpawnLocation(RandomX, RandomY, RandomZ);
블럭의 이동은 플레이어의 입력이나 게임의 물리 엔진에 의해 제어됩니다.
FVector CurrentLocation = Block->GetActorLocation();
FVector NewLocation = CurrentLocation + (MovementDirection * DeltaTime * MovementSpeed);
Block->SetActorLocation(NewLocation);
사용자의 입력을 처리하여 게임의 주요 기능을 수행합니다.
프로젝트 세팅 → 입력 → 액션 및 바인드 설정
PlayerInputComponent->BindAction("Jump", IE_Pressed, this, &AMyCharacter::Jump);
C++ 로직 완료 후 BP에서 Key SpaceBar 로직 실행
UE5 향상된 입력 사용
게임의 다양한 상태를 표시하는 UI를 설계합니다.
게임에서 플레이어가 패배하는 조건을 설정합니다.
이 기획 초안을 바탕으로 프로젝트를 진행하고자 합니다. 각 작업을 분담하여 효율적으로 작업을 진행하고, 구체적인 로드맵을 작성하여 목표를 달성할 예정입니다. 추가적인 정보나 수정이 필요하면 언제든지 알려주세요!