UE4:开发大全

基础数据

bool BOOL TCHAR 

uint8 int8 uint16 int16 uint32 int32 uint64 int64

float double PRINT

 

复杂数据

FVector Float FName FText FString FRotator

TArray<FEditedDocumentInfo>

TObjectPtr<UBTCompositeNode>

 

FString<->Array

1.FString->Array
FString JsonStr;
TArray<uint8> content;

content.SetNum(JsonStr.Len());
memcpy(content.GetData(), TCHAR_TO_ANSI(*JsonStr), JsonStr.Len());

2.Array->FString
TArray<uint8> content
...
const std::string cstr(reinterpret_cast<const char*>(content.GetData()), content.Num());
UE_LOG(VRSLog, Warning, TEXT("%s"), *frameAsFString);

FString<->FText

1.FString->FText
FString Str = Text("str");
FText Text = FText::FromString(Str);

2.FText->FString
FString Name = NameDesc->GetText().ToString();

FString<->std::string

1.FString->std::string
#include <string>
...
FString UE4Str = "Flowers";
std::string MyStdString(TCHAR_TO_UTF8(*UE4Str));

2.std::string->FString
#include <string>
...
std::string TestString = "Happy";
FString HappyString(TestString.c_str());

 

坐标系

 

 

打印日志

GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, )

 

UE_LOG(LogTemp, Warning, TEXT("hello!"));

 

 

蓝图

 

 

 

C++

//BlueprintCallable 有执行引脚 返回值在调用时创建一个局部变量

UFUNCTION(BlueprintCallable, Category = "MyFunction")

  void A();

//BlueprintPure 没有执行引脚 一般声明为static 没有输入输出引脚

UFUNCTION(BlueprintPure, Category = "MyFunction")

  void B();

 

//GameMode 游戏模式

 

 

//Character 游戏人物

 

 

//GetWorld()

 UWorld* World = FAITestHelpers::GetWorld();

UWorld& World = GetWorld();

 

//类型转换

 Cast<UBehaviorTreeComponent>(BrainComp)

 

动画系统

导入一个人物包含:纹理 材质 骨骼(Skeleton)骨骼网络体 物理资产

 

每个动画都是动画序列 加在一起就是混合动画 动画合成 蒙太奇动画(这样过渡才自然)

 

所有动画由动画蓝图控制,包含状态机用来变量控制

 

 

插件

virtual void StartupModule() override;
virtual void ShutdownModule() override;

 

粒子系统

Niagara粒子系统

 

 

输入输出

引擎-输入-轴映射

 轴和操作映射现已废弃,请改用增强输入操作和输入映射上下文

 

游戏模式

默认Pawn类

 

 

HUD类

这个一般是以多人界面UI同步用的

 

玩家控制器类

 

游戏状态类

 

玩家状态类

 

旁观者类

 

代理事件

单播 多播 

 

posted @ 2021-09-06 17:49  言午丶  阅读(154)  评论(0编辑  收藏  举报