六一的部落格
学习笔记
C++ Primer
在线课程笔记
虚幻C++
虚幻GAS
知识点碎片
虚幻引擎
杂项
Hugo主题开发
关于
版权声明
最近
最近发布
最近更新
章节目录
在线课程笔记
虚幻C++
Geometry Sandbox
初识虚幻引擎
熟悉虚幻编辑器
在虚幻编辑器创建C++类
虚幻C++基础知识和UBT
虚幻日志
可见的actor
添加静态网格体组件
材质类和材质实例类
让actor运动起来
定时器: 让材质颜色随机变化
动态创建actor对象
委托机制
销毁actor对象
材质颜色随机变化时, 输出颜色信息
初识gameplay
gameplay主要类概述
初识gamemode
pawn与键位绑定
为pawn添加组件
player controller与pawn
项目编译
源码的编译过程
宏和项目中间文件
内存回收机制
Shoot Them Up
角色和动画
运行ShooterGame示例项目
初始化ShootThemUp项目
代码规范
为游戏角色绑定模型
实现游戏角色前后左右移动
实现游戏角色视角旋转
为游戏角色添加向前走路动画
实现游戏角色跳跃
实现游戏角色跑步
添加走路转向动画
打包游戏
阶段性总结
健康系统
实时显示游戏角色生命值
对游戏角色造成伤害
模拟榴弹爆炸
使用伤害类型
添加游戏角色死亡逻辑
添加观察视角
自动治疗
坠落伤害
打包游戏
阶段性总结
武器
给游戏角色装载武器
绘制瞄准十字
武器组件
初识碰撞
射击轨迹
重构MakeShot
射击伤害
瞄准偏移
FABRIK
持续射击和瞄准偏离
武器派生类
榴弹类
为榴弹类添加运动
榴弹类造成伤害
切换武器
装备武器动画
装备武器标志位
装备武器动画只影响游戏角色身体上部分
弹药数据
装弹动画
为装弹动画剪辑添加通知
完善装弹逻辑
打包
虚幻示意图形
在蓝图中使用窗口部件实现游戏角色生命条
使用C++实现游戏角色生命条
在窗口部件绘制瞄准十字
在窗口部件显示当前武器和弹药库
观察者模式下的窗口部件以及元素动画
重构和打包
补给
补给基类、生命补给和弹药补给
持续提供补给
弹药补给
生命补给
补给绕Z轴旋转
重构和打包
Niagara粒子系统
初识Cascade和Niagara
撞击特效组件
物理材质
使用贴花实现弹痕
肌肉松弛效果
游戏角色受到伤害时为摄像机添加抖动
游戏角色受伤时添加闪烁红屏
为观察者视角添加黑白后期
枪口特效
子弹轨迹特效
重构和打包
非玩家游戏角色行为
让NPC移动到指定位置
初识行为树和黑板
在C++中创建任务类型
在C++中运行行为树和为NPC转向添加过渡
视觉感知
自定义行为树服务
射击服务
NPC自行更换武器
随机更换武器服务
清除行为树
使用EQS实现巡逻
使用EQS在敌人附近移动
使用EQS寻找生命补给
使用EQS寻找弹药补给
自定义生成器限制条件
打包
游戏模式
介绍游戏模式
动态创建NPC
游戏回合
回合中重建游戏角色
划分阵营
造成伤害时判断阵营
击杀和死亡计数
在窗口部件显示游戏数据
允许游戏角色回合中复活
在窗口部件显示复活信息
游戏结束处理
修复游戏角色复活后受伤无红屏告警
重构游戏角色类
修复弹簧臂组件发生碰撞时摄像机组件穿模
整理和打包
游戏接口
游戏状态
暂停窗口
游戏结束显示玩家得分
重启关卡
添加主菜单
介绍游戏实例
在游戏实例里保存关卡名称
回到主菜单
退出游戏
主菜单支持选择关卡
显示NPC生命条
设计优化
为用户界面添加动画
加载关卡动画
打包
音效
为按钮添加音效
为窗口部件添加音效
为游戏角色动画添加音效
为武器动画添加音效
为音效分组, 并设置音量
音效随距离增加而衰减
射击和死亡倒地音效
拾取补给和击中音效
静音
背景音效
音效混合
打包
额外
步枪支持瞄准镜变焦
击中游戏角色身体不同部位造成伤害值不同
NPC感知伤害
自定义关卡, 加载图片和游戏图标
完善和打包
虚幻GAS
第七章 Gameplay标签
第四十九节 Gameplay标签综述
第一章 介绍
第一节 介绍
第二章 创建项目
第三节 创建项目
第五节 Character基类
第六节 玩家和敌人派生类
第七节 Character蓝图
第八节 动画蓝图
第九至十二节 输入
第十三至十五节 选中敌人高亮
第三章 介绍GAS
第十六节 引入GAS
第十七节 GAS组成
第二十节 多人游戏中的GAS
第十八、十九、二十一节 使用GAS
第二十二节 复制模式
第二十三节 初始化AbilityActorInfo
第四章 属性
第二十四节 介绍属性
第二十五节 添加属性
第二十六节 属性存取器
第二十七节 更改属性的道具
第五章 RPG游戏UI
第二十八节 游戏UI架构
第二十九节 图表和控制器
第三十节 球型进度条
第三十一、二节 HUD显示生命值和魔法值
第三十三节 图表控制器
第三十四至三十六节 订阅
第六章 Gameplay效果
第四十八节 为Scalable Floats创建Curve Table
第三十七节 Gameplay效果综述
第三十八节 施加GE
第三十九节 瞬时GE
第四十节 定时GE
第四十一节 周期GE
第四十二节 Stacking
第四十三、四十四节 抽象EffectActor
第四十五节 无限GE
第四十六节 PreAttributeChange
第四十七节 Source/Target信息获取
学习笔记
C++ Primer
数据类型
指针和引用
const限定符
类型说明符auto
类型指示符decltype
初始标准库
标准库类型string
标准库类型vector
初识迭代器
表达式
左值和右值
类型转换
函数
函数组成
对象的生命周期
参数传递
可变形参
尾置返回类型
函数重载
默认实参
内联函数
类
成员的访问权限
类的组成
类的数据成员
类的函数成员
类的构造函数
拷贝控制成员
类的友元
类的类型成员
类的静态成员
标准库: IO
输入输出流
文件流
字符串流
标准库: 顺序容器
顺序容器
顺序容器操作: 添加元素
顺序容器操作: 访问元素
顺序容器操作: 删除元素
增删元素对迭代器, 引用和指针的影响
顺序容器操作: 为顺序容器赋值
顺序容器操作: 指定容器大小的显式构造函数
顺序容器操作: 设置容器大小
顺序容器操作: 管理容器容量
顺序容器操作: 迭代器运算
标准库: 顺序容器适配器
顺序容器适配器: 栈
顺序容器适配器: 队列
顺序容器适配器: 优先级队列
顺序容器适配器
标准库: 容器
容器
迭代器
初始化容器
标准库: array
标准库: forward_list
泛型算法
只读算法
写容器元素算法
重排算法
谓词
lambda表达式
lambda捕获和返回
函数适配器: bind
迭代器适配器
迭代器适配器: 插入迭代器
迭代器适配器: 流迭代器
迭代器适配器: 反向迭代器
迭代器类别
泛型算法与迭代器
算法命名规范
标准库: 关联容器
关联容器
关联容器: map
关联容器: set
关联容器: 添加元素
关联容器: 删除元素
使用map处理文本: 将缩写转换成完整短语
关联容器: 无序关联容器
关联容器: 访问元素和查找关键字
动态分配
使用内置指针管理动态内存
智能指针
智能指针: shared_ptr
shared_ptr与删除器
StrBlob: 共享字符串数组
智能指针: weak_ptr
智能指针: unique_ptr
动态数组
使用allocator分离动态内存申请和对象构造
使用StrBlobPtr访问StrBlob
拷贝控制
拷贝构造函数
拷贝赋值运算符
析构函数
类的拷贝操作
编译器提供的合成版本: 默认构造函数, 析构函数, 拷贝构造函数, 拷贝赋值运算符
拷贝赋值运算符行为: 类值和类指针
拷贝赋值运算符: 使用swap操作
拷贝控制: 使用文件夹管理消息
引入移动操作
对象移动
移动构造函数
移动赋值运算符
移动操作的合成版本
迭代器适配器: 移动迭代器
右值引用和成员函数
运算符重载与类类型转换
运算符重载
运算符重载: 输入和输出运算符
算术运算符重载: 加法
相等性判断: 相等运算符和不等运算符
排序: 小于运算符
运算符重载: 赋值运算符
运算符重载: 下标运算符
运算符重载: 递增和递减运算符
运算符重载: 成员访问运算符
运算符重载: 函数调用运算符
标准库: function类
运算符重载: 类型转换运算符
函数匹配与运算符重载
面向对象程序设计
继承与动态绑定
类的继承
类型转换与继承
虚函数
抽象基类
访问控制与继承
继承中的类作用域
构造函数与拷贝控制
多重继承与虚继承
知识点碎片
虚幻引擎
概念
虚幻类型
反射系统
宏
指针
杂项
Hugo主题开发