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同步用的
玩家控制器类
游戏状态类
玩家状态类
旁观者类
代理事件
单播 多播
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2019-09-06 OSG:幼儿园篇 第五章 界面交互类
2019-09-06 C++11:智能指针