角色移动
1. 绑定键盘操作
Project Setting --> Engine Input
Axis Mapping 中是设置运动方向,上下左右的
给操作取个名字,绑定相应的键位,比如向前Forward绑定W键
2. 在人物蓝图中,绑定操作
到达Event Graph ,选择 MoveForward Action
调用位移函数 Add Movement Input
角色移动
1. 绑定键盘操作
Project Setting --> Engine Input
Axis Mapping 中是设置运动方向,上下左右的
给操作取个名字,绑定相应的键位,比如向前Forward绑定W键
2. 在人物蓝图中,绑定操作
到达Event Graph ,选择 MoveForward Action
调用位移函数 Add Movement Input
动画蓝图
动画蓝图基于骨骼
在人物蓝图中,设置Mesh的 Animation BluePrint为 Use Animation Blueprint ,选择制作好的动画蓝图。
开始游戏
进入游戏,鼠标可以进入游戏界面
Play In Editor:
Game Gets Mouse Control 勾上
自动控制玩家
选中玩家角色,Auto Possess Player 选中Player 0
蓝图初探
蓝图类默认打开是新开一个窗口和主窗口不同。
可以通过 Editor Preference --> Assert Editor Open Location 中去修改。
资源转移:
右键点击要转移的资源 --> Asset Actions --> Mirgrate 转移到新建工程的Contents目录中
蓝图项目重写为C++项目
UMG 动画 AI都设计好了,直接上手C++就可以了
蓝图里面这几个类什么关系,要画一下,不记得了
ActionRPG 官方案例
参考价值更高
Gameplay Abilities 插件功能强大,堡垒之夜有用,带技能的游戏非常有用
如果去读一个新的项目?
先找GameMode
GameMode里面可以找到玩家控制器,玩家实体等内容
从蓝图跳转到源码
1. 下载debug信息,超大
下载位置:引擎下载安装选项,启动下面设置
示例版本: UE4 4.24.2
2. 下载完了,找不到文件
创建文件夹:D:\build\++ue4\sync
从cmd进入该目录
官方案例ShooterGame
新建Content Brower
如何权衡蓝图和C++?
1. 基本数据,基本类型放到C++中
这样蓝图和C++都能用
2. 资源加载放在蓝图中
因为资源路径变了,蓝图会自动更新,C++没办法做到。
3. 从蓝图转成c++
开始的时候让蓝图继承自基础C++类,到达重构点后,把蓝图部分或者全部变成C++
问题:
怎么变???
什么时候必须用蓝图?
UMG, 动画,粒子效果
编译快,崩溃少
什么时候必须用C++?
蓝图可调用函数申明:
UFUNCTION(BlurprintCallable)
其他的函数蓝图都调用不了,需要更灵活的操作,使用C++
UE4 C++ 类的层次结构
用代码找父类
找到父类之后查文档找子类
俄罗斯套娃
蓝图节点的组织方式
build.cs 工程包含的模块?
蓝图节点 对应c++中的函数。属于某个类
站在函数的角度,节点就不再是孤立的,而是有联系的。方便记忆。
蓝图节点如何记忆?
# 找到UE4中的代码
> 方便借鉴
使用ag 快速找文件夹中的文字
1. 安装cygwin
2. 在cygwin中安装silver searcher,chere
把cygwin 加入到右键菜单,方便操作
在Engine所在文件夹中,右键bash打开cygwin
ag '要搜索的字符串'
举例:
找Select方法的实现函数
ag 'return the option at index'
3. 忽略掉不要的文件夹
在Engine中加入一个.ignore文件
ThirdParty/
写入上面一行代码,就可以忽略掉ThirdParty文件夹
链接:https://pan.baidu.com/s/1AWptTwUESwE9C4OYvLxUiA
提取码:
3tpg
20191209
金属度————>漫反射
高光值————>菲涅尔值
灯光颜色×材质颜色
类型_生命周期_存在_是否复制_进程内个数
GameInstance_Process_S/C_No_S1C1
GameMode_level_S_Yes_N/A_S1
GameState_level_S/C_Yes_S1C1
PlayerContorller_level_S/C_Yes_SNumC1
PlayerStata_level_S/C_Yes_SNumCNum
Pawn/Character_logic_S/C_Yes_SNumCNum