Lecture 6
知识点:
- 尽量避免使用hot reload
- UE C++的debug tricks:
- UE_LOG(LogTemp,Log,TEXT(""))
- 可以在TEXT使用类似C++的插入操作例如%s
- log信息
- DrawDebug系列
- Breakpoint
- BP中的debug:
- 在BP的结点上添加Breakpoint
- DrawDebug/PrintString
- Watch value
- UCLASS(Abstract): ABC抽象基类
- PostInitializeComponents 是Actor 处于完全成型状态的最早时间点,因此它是放置在游戏开始时初始化 Actor 的代码的常见位置。
- Assertion in UE C++
- 可以使用ensure()检查nullptr // 第一次launch game的时候检查
- ensureAlways() // 每一次遍历时检查
- check() // 不建议使用 将会打断游戏
- 遇到棘手问题时可以切换至DebugGame Editor模式去编译
Note: 如果需要step into虚幻引擎自身的代码需要在库中下载引擎的Debug Symbol
项目实战内容:
https://github.com/yufeige4/ActionRoguelike
- 添加了瞄准UI
- 修复火球所射方向BUG // 修改火球初始Rotation
- 利用摄像机位置和旋转进行射线检测
- 以检测结果的位置和角色手的位置设置火球的旋转角
- 重构发射Projectile的函数
- 新建ABC类ProjectileBase
- 重构火球类 // 继承ProjectileBase
- 创建FireStormProjectile类
- 实现角色特殊攻击 // 生成FireStormProjectile
- 创建DashProjectile类
- 实现角色瞬移
|