인프런 커뮤니티 질문&답변

정기준님의 프로필 이미지
정기준

작성한 질문수

언리얼 엔진4 입문 (C++ 기반)

게임플레이 프레임워크

바인딩 로그 출력 관련 질문이 있습니다.

작성

·

180

0

// MyPawn.cpp

// Fill out your copyright notice in the Description page of Project Settings.


#include "MyPawn.h"

// Sets default values
AMyPawn::AMyPawn()
{
 	// Set this pawn to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
	PrimaryActorTick.bCanEverTick = true;

	Mesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("MESH"));

	// StartContents 에서 제공하는 메쉬를 사용(의자모습)
	static ConstructorHelpers::FObjectFinder<UStaticMesh> SM(TEXT("StaticMesh'/Game/StarterContent/Props/SM_Chair.SM_Chair'"));

	// 의자 모습을 불러오는게 성공하였을때 해당 Object Mesh를 설정해준다.
	if (SM.Succeeded())
	{
		Mesh->SetStaticMesh(SM.Object);
	}

}

// Called when the game starts or when spawned
void AMyPawn::BeginPlay()
{
	Super::BeginPlay();
	
}

// Called every frame
void AMyPawn::Tick(float DeltaTime)
{
	Super::Tick(DeltaTime);

}

// Called to bind functionality to input
void AMyPawn::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
	Super::SetupPlayerInputComponent(PlayerInputComponent);

	PlayerInputComponent->BindAxis(TEXT("UpDown"), this, &AMyPawn::UpDown);
	PlayerInputComponent->BindAxis(TEXT("LeftRight"), this, &AMyPawn::LeftRight);
}

void AMyPawn::UpDown(float Value)
{
	UE_LOG(LogTemp, Warning, TEXT("UpDown %f"), Value);
	UE_LOG(LogTemp, Error, TEXT("Tick %f"), Value);
}

void AMyPawn::LeftRight(float Value)
{
	UE_LOG(LogTemp, Warning, TEXT("LeftRight %f"), Value);
}

 
위와 같이 UpDown, LeftRight 값을 읽어오려는데 에러도 없고 값도 출력이 안되는데 왜이런지 알 수 있을까요.. 검색을 해봐도 다 같은 방식으로 키 매핑하고 폰액터 만들고 하던데 잘 안되네요.. 
 

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

언리얼이 아무문제 없는데도 적용이 안되는 그런 잔버그가 아주 많습니다.
UpDown, LeftRight 키 매핑을 잘 했는지 다시 한 번 확인해보고,
그래도 해결이 안 되면 다 끄고 uproject 파일 우클릭 -> generate visual studio project file도 해보시기 바랍니다.

정기준님의 프로필 이미지
정기준

작성한 질문수

질문하기