DUVER Tips

Unity,Unreal Engine,XR関係のblog

ue4 C++ 覚え書き

ue4 C++の覚え書き

ue4C++を始めたので、
主に個人のメモとして使用していきたいと思います。

変数定義

FVector

UnityのVector3にあたるものです。
以下のように使用します。

   FVector pos= FVector(0,0,0); 
FTransform

Transformの構造体です。
FTransform Transformで定義できますが、
値を入れたい場合はUKismetMathLibraryのMakeTransformを使用する必要があります。第二引数のRotatorはpitch,yaw,rollを指定してあげるため、引数は三つになります。

以下サンプルです

   //includeするヘッダーファイル
 #include "Runtime/Engine/Class/Kismet/KismetMathLibrary" 
   
   FTransform transform= 
   UKissmetMathLibrary::MakeTransform(FVector(0,0,0),FRotater(0,0,0),FVector(0,0,0)) ;
 
enum

enum定義です。

UENUM(BlueprintType)
enum class Number:uint8
{
    ONE,
    TWO,
    THREE,
};

関数

OpenLevel
//include するヘッダー
#include Runtime/Engine/Classes/Kismet/GameplayStatics.h

UGameplayStatics::OpenLevel(GetWorld(),"移動したいレベル名");
BPのTimerをC++で利用する
//include するヘッダー
#include "Runtime/Engine/Public/TimerManager.h"
#include "Runtime/Engine/Classes/Engine/World.h"

auto world  = GetWorld();
FTimerHandle timerHandle;

//第3引数に使用にコールバックの関数を指定、第4引数に時間を指定する
world->GetTimerManager().SetTimer(timerHandle,this,&AHogeHoge::Fuga,5,false);

//コールバックで使用する関数の例
AHogeHoge::Fuga()
{
 UE_LOG(LogTemp, Log, TEXT("log"));
}
GameModeの取得
  auto gmaeMode=(AGameMode*)GetWorld()->GetAuthGameMode();
PlayerPawnの取得
//include するヘッダー
#include "Runtime/Engine/Classes/Kismet/GameplayStatics.h"

//第二引数はplayerのインデックスの値、基本的には0で大丈夫
auto player=UGameplayStatic::GetPlayerPawn(this,0);
Logの出力

UnityのDebug.Log的なもの

//アウトプットログに出てきます
UE_LOG(LogTemp, Log, TEXT("log"));