UE Knowledge Base
- Actor
- Audio - 音频
- Blueprint - 蓝图
- Camera - 相机
- CDO
- Compileing
- Collision
- Crash
- Debug
- Input
- Interface
- Json
- Level
- Localization
- Log
- Math
- Sequence
- Streaming
- Slate
- Tools
- UI
Actor
Audio - 音频
class ATest : public AActor
{
public:
FOnAkPostEventCallback OnAkPostEventDelegate;
virtual void BeginPlay() override;
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
UFUNCTION()
void OnAkPostEventCallback(EAkCallbackType CallbackType, UAkCallbackInfo* CallbackInfo);
void LetWwiseSpeakSomething(AActor* Actor, UAkAudioEvent* AkEvent);
};
void ATest::BeginPlay()
{
OnAkPostEventDelegate.BindDynamic(this, &ATest::OnAkPostEventCallback);
}
void ATest::EndPlay(const EEndPlayReason::Type EndPlayReason)
{
OnAkPostEventDelegate.Clear();
}
void ATest::LetWwiseSpeakSomething(AActor* Actor, UAkAudioEvent* AkEvent)
{
UAkGameplayStatics::PostEvent(AkEvent, Actor, AK_EndOfEvent, OnAkPostEventDelegate);
}
- 怎么设置Wwise工程的ignore文件
- PS5平台疯狂刷sce相关的报错,WwiseMonitor刷prx加载失败
- Wwise在PS5平台与UE Audio存在兼容性问题,需要设置Wwise为项目唯一音频引擎
Blueprint - 蓝图
Camera - 相机
CDO
Compileing
- VS编译
- 应该选择 “Development Editor”
- 一直弹Error C4430 :默认为int之类的编译报错
- https://forums.unrealengine.com/t/error-c4430-missing-type-specifier-int-assumed-note-c-does-not-support-default-int/487372/3
- C4458: declaration of “InitialLocation” hides class member 声明隐藏了类成员
- 函数参数名不可以与class的成员名相同 F**k c++
- 怎么把FString转换为std::string
- 怎么引用其他模块的Private的Header文件(同时尽量不对其他模块进行修改)
- 什么时候加public dependency、什么时候加private dependency
- [怎么进行自定义的ustruct的序列化]
- 请参考
GameplayTagExportText
- 请参考
Collision
- 有时两个体型差别巨大的Pawn之间因为避障而出现奇怪的碰撞(小个子不能从大个子缝隙间通过等等),可以通过关闭RVOAvoidance来解决
- 更好的方法应该是给大家分到合理的Group里面
- LineTrace为什么没有返回PhysicalMatertial
- 需要设置CollisionQueryParams
Crash
#pragma warning(push)
#pragma warning(disable : 4250)
- 重命名导致引用丢失
- 在
DefaultEngine.ini
里面加上对应的redirect就可以了,不用一个个修复
- 在
Debug
- 关于Rider通过Attach的方式Debug打不到断点
- [关于exe一打开就crash]
- 方案1,命令行启动exe时添加参数
-WaitForDebugger
- 方案2
- 方案1,命令行启动exe时添加参数
在main函数里面,然后给b++这个打个断点
static int b =0;
while(true)
{
b++;
}
Input
EnhancedInputComponent->BindAction<AMyClass, bool>(IA_A, ETriggerEvent::Triggered, this, &AMyClass::DoIt, true);
void AMyClass::DoIt(const FInputActionValue& Value, bool bMyCustomParameter) {}
- 怎么实现InputAction的覆盖
- 将新的InputAction放到新的IMC里面,IMC注册的时候设置更高的Priority
Interface
- UE怎么实现Interface
- 太怪了
Json
- Json解析字符串到FJsonObject失败
FJsonSerializer::Deserialize
这个函数遇到尾”,”就会报错
- 怎么把Json字符串转化为对应的struct
- struct必须是ustruct
- struct的field必须是uproperty
- struct的field name必须跟json的key name完全一致
- JsonObject怎么转换为字符串
FString OutputString;
TSharedRef< TJsonWriter<> > Writer = TJsonWriterFactory<>::Create(&OutputString);
FJsonSerializer::Serialize(JsonObject.ToSharedRef(), Writer);
UE_LOG(LogTemp, Warning, TEXT("resulting jsonString -> %s"), *OutputString);
Level
Localization
Log
Math
Sequence
Streaming
Slate
- [怎么动态改变slot数量]
- 建议给Slot里面的Widget的Visisbility属性绑定函数,在函数中根据当前状态返回不同值
Tools
- 怎么用代码清空、写入、保存StringTable数据
- 一个开源的icon库
- 怎么把UE的蓝图做成网页
- C#程序怎么设置运行程序权限
- 让Confluence支持自己插入代码
- 怎么使用7zr.exe压缩和解压缩文件,以及解压缩并保留目录结构
- 7zr.exe的,一个是压缩时文件名跟压缩算法要对应,应该用7z,一个是解压参数e -o是解压并不保留文件结构,x -o才是解压并保留文件结构
- bat脚本新建快捷方式添加icon
- VS报错:MSB3821 无法处理文件 resx,因为它位于 Internet 或受限区域中,或者文件上具有 Web 标记。要想处理这些文件,请删除 Web 标记。
Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
- UE怎么用脚本创建asset
- WPF怎么使用TreeView
- 怎么在运行时获取某个文件夹下所有某种类型的资源文件
- 使用GetAssetRegistry的GetAssets节点,然后MakeARFilter,Package Paths填UE路径/Game/Levels,ClassName填写Copy Reference粘贴出来的类型名称(Blueprint或者World等等)
- UE的Python教程
- [怎么获得Python脚本的输出]
- 建议直接在python里面print,然后通过UE里面监听Console Log获取对应字符串
- 怎么写一个获取Level里Actor的Selector
- 如何扩展一个Menu列表
- Win11不知道为什么卡死
- 系统设置里关掉硬件加速
- 自定义控件
- 怎么为自定义的struct添加自定义的面板
- [怎么把为自定义的struct添加的Widget用于自定义的蓝图pin]
- 请参考
SGameplayTagGraphPin
- 请参考
- 怎么制作一个纯自定义行为和界面的蓝图节点
- 怎么给UFUNCTION的ref类型节点设置使用默认值
- [NodeJS]
- UE怎么给每个文件添加文件头
- 在EditorConfig文件里面加一行这个
file_header_template=Your Company. \nSome info about {fileName}
- 在EditorConfig文件里面加一行这个