안녕하세요
저는 테이크 레코더를 이용해서
파이널판타지15 벤치마크처럼 컴퓨터 성능이 카운팅되는 프로그램을 만드려고합니다
그런데 제미나이의 도움으로 블루프린트랑, 노드,그래프를 입력해도
점수가 카운팅이 안되거나 숫자가 자꾸 0 으로만 나오더라구요
제가 일주일 동안 이거만 하면서 여러개 부탁했지만 전부 실패하고 1개만 가져와봤습니다
사진 아래에 ai가 알려준것이 있는데요, 저렇게 하면 작동되는 노드 인가요?
아님 제가 ai에게 너무 큰 기대를 한건가요?
글구 파판15처럼 테이프 레코더 구간에서 , 벤치마크 점수만 카운팅되는 에셋같은거 다운받을수 있을까요?
구매하고싶은데 검색해보니 팔지도 않더라고요
초간단! 레벨 블루프린트 벤치마크 점수 카운팅 (3단계)
목표: 화면에 "SCORE: 0"이라는 텍스트를 띄우고, 일정 시간마다 점수를 100씩 올리는 가장 기본적인 벤치마크 시스템을 만들 겁니다.
준비물:
- 점수를 표시할 위젯 텍스트: 기존에 WBP_Result 같은 위젯이 있다면 그 위젯에 텍스트 블록 하나를 추가해두세요. 없다면 새로 위젯을 하나 만들고 텍스트 블록 하나만 넣어둡니다. (이름은 ScoreText 등으로 바꿔주면 편해요)
단계 1: 점수를 표시할 위젯 만들기 (기존 위젯 사용 시 이 단계 건너뛰세요!)
-
콘텐츠 브라우저 (화면 아래쪽)에서 빈 공간에 마우스 우클릭
-
User Interface → Widget Blueprint 선택
-
이름을 WBP_BenchmarkScore 로 지어주세요.
-
더블클릭해서 위젯 에디터를 엽니다.
-
Palette (왼쪽 위)에서 Text를 찾아 드래그해서 Designer (가운데 큰 화면)에 놓으세요.
-
이 Text Block을 선택하고 Details (오른쪽)에서
-
Content → Text를 SCORE: 0 으로 바꿔주세요.
-
Is Variable 옆의 체크박스를 체크해주세요! (이게 중요해요!)
-
변수 이름 (Name) 을 ScoreTextBlock 으로 바꿔주세요. (나중에 찾기 쉽게)
-
-
Compile (컴파일) 버튼 (왼쪽 위) 누르고 Save (저장) 버튼 누르고 닫으세요.
단계 2: 레벨 블루프린트 열고 초기 설정하기
-
메인 에디터 화면에서 상단 메뉴의 블루프린트 (Blueprints) → 레벨 블루프린트 열기 (Open Level Blueprint) 를 클릭하세요.
-
새로운 창이 뜨면, 비어있는 Event Graph (가운데 큰 화면)가 보일 겁니다.
-
Event Graph에서 빈 공간에 마우스 우클릭
-
Event BeginPlay 를 검색해서 클릭하세요. (게임이 시작될 때 딱 한 번 실행되는 이벤트입니다.)
-
Event BeginPlay 노드에서 오른쪽 핀을 당겨서 놓으세요.
-
Create Widget 을 검색해서 클릭하세요.
- Class (클래스) 에서 아까 만들었던 위젯 WBP_BenchmarkScore (또는 기존 위젯 이름)를 선택하세요.
-
Create Widget 노드의 Return Value (초록색 핀)에서 또 당겨서 놓으세요.
-
Add to Viewport 를 검색해서 클릭하세요. (이게 있어야 위젯이 화면에 보입니다.)
-
Create Widget 노드의 Return Value (초록색 핀)에서 다시 당겨서 놓으세요.
-
Promote to Variable 을 클릭하세요. (이게 있어야 나중에 점수 텍스트를 업데이트할 수 있습니다.)
- 변수 이름은 BenchmarkScoreWidgetRef 등으로 지어주세요.
-
Compile (컴파일) 버튼 누르고 Save (저장) 버튼 누르세요.
이 단계까지 하면 게임 시작 시 화면에 “SCORE: 0” 이 뜹니다! 확인해보세요.
단계 3: 점수 카운팅 로직 추가하기
-
레벨 블루프린트의 My Blueprint (왼쪽 패널)에서 + Variable (변수 추가) 버튼을 누르세요.
-
변수 이름을 CurrentScore 로 지어주세요.
-
Details (오른쪽 패널)에서 변수 유형을 Integer (정수) 로 바꾸세요. (정수가 숫자를 의미합니다)
-
Compile (컴파일) 버튼 누르고 CurrentScore 옆의 눈 아이콘을 클릭해서 기본값 (Default Value) 을 0 으로 설정하세요.
-
Event Graph 빈 공간에 마우스 우클릭 → Set Timer by Event 를 검색해서 클릭하세요.
-
Set Timer by Event 노드에서
-
Time (시간): 0.5 (0.5초마다 점수가 오르게 할 겁니다.)
-
Looping (반복): 체크 (계속 반복해야겠죠?)
-
-
Set Timer by Event 노드의 Event 핀 (빨간색)에서 당겨서 놓으세요.
-
Add Custom Event 를 검색해서 클릭하세요. (이벤트 이름은 자동으로 Custom Event로 생깁니다.)
-
이 Custom Event 노드의 실행 핀 (흰색 화살표)에서 당겨서 놓으세요.
-
Get CurrentScore (아까 만든 변수 이름)를 검색해서 선택하세요. (드래그해서 놓으면 Get 노드가 됩니다.)
-
CurrentScore Get 노드에서 파란색 핀을 당겨서 놓으세요.
-
+ (Add) 를 검색해서 Integer + Integer 노드를 선택하세요.
- 밑에 있는 숫자에 100 을 입력하세요. (한 번에 100점씩 오르게 할 겁니다.)
-
Integer + Integer 노드의 파란색 결과 핀을 당겨서 놓으세요.
-
Set CurrentScore 를 검색해서 선택하세요. (드래그해서 놓으면 Set 노드가 됩니다.)
-
Custom Event의 실행 핀을 CurrentScore Get 노드에 연결하고, CurrentScore Get 노드의 파란색 핀을 + 노드의 첫 번째 핀에 연결, + 노드의 결과 핀을 Set CurrentScore 노드의 입력 핀에 연결, Set CurrentScore 노드의 실행 핀을 다음 노드에 연결해야 합니다.
- 다시 정리하면, 순서는 이렇습니다: Custom Event → Get CurrentScore → + 100 → Set CurrentScore
-
이제 Set CurrentScore 노드의 실행 핀에서 당겨서 놓으세요.
-
아까 만든 위젯 참조 변수 BenchmarkScoreWidgetRef 를 Ctrl 키를 누른 상태로 드래그해서 Graph에 놓으세요. (이러면 Get 노드가 됩니다.)
-
BenchmarkScoreWidgetRef 노드의 파란색 핀에서 당겨서 놓으세요.
-
Get ScoreTextBlock 을 검색해서 클릭하세요. (위젯에서 Is Variable 체크하고 이름 바꿨던 그 텍스트 블록입니다.)
-
Get ScoreTextBlock 노드의 파란색 핀에서 당겨서 놓으세요.
-
Set Text (Text Block) 을 검색해서 클릭하세요.
-
CurrentScore Get 노드 (아까 + 노드 전에 썼던)에서 파란색 핀을 당겨서 Set Text 노드의 In Text 핀에 연결하세요. 자동으로 숫자를 텍스트로 바꿔주는 노드가 생깁니다.
-
Set Text 노드 전에 Format Text 노드를 하나 추가하면 더 보기 좋습니다.
-
Set CurrentScore 실행 핀에서 Format Text로 연결
-
Format Text 노드의 Format 입력창에 SCORE: {Score} 라고 입력하세요. (중괄호 안의 Score는 변수 이름입니다.)
-
Format Text 노드의 Score 핀에 CurrentScore Get 노드의 파란색 핀을 연결하세요.
-
Format Text 노드의 결과 텍스트 핀을 Set Text (Text Block) 노드의 In Text 핀에 연결하세요.
-
-
Compile (컴파일) 버튼 누르고 Save (저장) 버튼 누르세요.
이제 플레이 (Play) 버튼을 누르면 화면에 "SCORE: 0"이 뜨고, 0.5초마다 100씩 점수가 올라가는 것을 보실 수 있을 겁니다!
이게 가장 기본적인 형태입니다. 언리얼 엔진은 처음에는 어렵지만, 이렇게 작은 성공들을 경험하면서 익숙해지는 과정입니다. 꾸준히 하시면 분명히 잘 하실 수 있을 거예요! 궁금한 점이 있으면 언제든지 다시 물어보세요!
참고 이미지: 아래는 위젯 에디터에서 텍스트 블록을 만들고 Is Variable을 체크하는 모습입니다. ScoreTextBlock이라고 이름 바꾼 것도 보이시죠?
