C++ Log和蓝图Log
C++ Log 方法 UE_Log(参数1,参数2,参数3)
cpp
//举例:
UE_LOG(LogTemp, Error, TEXT("Log Info: %s"),"Test Log");
三个参数的作用
参数1:输出窗口归类使用,你写什么它就显示什么
参数2:可选择Log、Warning、Error,分别对应不同颜色,如果程序报错了,一定是Error
参数3:打印内容
C++输出屏幕
用 GEngine->AddOnScreenDebugMessage
要添加"Engine/Engine.h"
cpp
GEngine->AddOnScreenDebugMessage(-1, 3.0f, FColor::Green,Name);
GEngine->AddOnScreenDebugMessage(-1, 3.0f, FColor::Red,Stat,true,FVector2D(1.5f,1.5f));
蓝图输出屏幕直接用PrintText和PrintString方法
GameMode
GameMode主要记录场景配置
1、DefaultPawnClass -- 加载角色蓝图
角色蓝图必须继承自 ACharacter类
角色蓝图包含主角模型,Component等
还可以创建角色蓝图基类,子类重写基类数据等操作,选择角色蓝图的地方选子类蓝图
2、HUDClass -- UI
3、PlayerControllerClass -- 玩家控制器
用户输入的地方,例如键鼠操作
4、GameStateClass
5、PlayerStateClass
6、SpectatorClass
蓝图、C++、Lua调用规则
蓝图调用C++方法
C++方法加宏
cpp
UFUNCTION(BlueprintCallable, Category = Projectile,Meta = (Tooltip = "Custom Tip"))
Category 的作用是在蓝图中右键调用方式时,给方法分类,快速定位
Tooltip的作用是自定义蓝图提示,鼠标放在蓝图方法上就会显示自定义提示
蓝图修改C++变量
C++变量需要加宏
cpp
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Adjust")
Lua访问C++对象
由于Lua是无法直接访问C++
蓝图根据路径加载资源
- MakeSoftObjectPath用字符串制作路径
- SoftObjPathToSoftObjRef从路径获取到类引用,这一步还没拿到对象
- LoadAssetBlocking加载UObject资源对象
- 把UObject资源对象转换成你想要的类型
资源加载是个非常有用的功能,例如时装系统,头盔、铠甲有无数种,策划只需配表写资源地址,程序根据服务器数据加载不同模型到角色身上。