1,创建项目
在创建项目中如果要创建一个第一人称射击游戏,点击FisrtPerson,即可在改模板上进行设计,Flying是创建飞行游戏的时候可以用该模板,如果选择蓝图下面的选项就是通过连线进行游戏开发,选择c++下的选项就是通过代码进行游戏开发
2,创建蓝图
会打开蓝图,可以在里面添加节点,连线,里面的节点非常丰富,非常多
3,也可以创建类蓝图,在资源文件中的BluePrints中,在右侧空白区域右键点击blueprint,创建类蓝图
4,创建过长动画,点击蓝图右侧的Matinee
5,播放游戏,点击play右侧三角,第一个是窗口运行,第二个是在移动设备上预览,第三个会创建一个新的窗口运行游戏,第四个是独立于编译器来启动游戏,相对于第一个和第三个基于编译器启动会更慢,如果要多人测试,把1改成2等等,选择New Editor Window会出现两个窗口,出现两个角色实现多人游戏
6,场景蓝图和类蓝图
场景(关卡)蓝图:对于角色的动作切换等一系列过程,通过线段的连接,面向过程编程
类蓝图:对于抽象的人物的实例的创建,物体的定义等等,面向对象编程
7,关卡蓝图,点击Window-->My Blueprint,可以创建变量,要创建节点,右侧Event Graph中右键创建节点
对于节点,如果是如下带f,表示该节点是个函数
8,输出日志,在window-->Developer Tools-->Output Log
9,复制节点,ctrl+w对一个节点复制,
10,添加延时节点,直接用Delay节点即可,event tick节点,每一帧都会执行一次任务。 如果想要每隔一秒钟打印一次语句,先加入event tick节点每一帧都检测,然后延时一秒,然后打印语句
11,在蓝图节点中设置变量,点击+variable,设置变量类型为Interger整数,将左边的变量拖动到右边,Event Graph中,选择Get还是Set该变量,当然也可以在右侧,右键,当然首先创建变量名假如叫做count,输入set Count 或get Count即可
12,对于运算符号,右键,输入+就会弹出哪两种类型相加的函数,选择即可,如图,两个变量相加后转成string类型,
13,对于一个string,字符串的拼接可以采用Append节点,在前面的string后再加上一个string
14,对于实时更新时间,可以采用append节点进行拼接。这个是显示当前时间多少秒的拼接,还得加入每秒更新变量的模块,然后拼接。
14,流程节点:branch节点,
condition为真和假做出不同的判断,输入E按键进行条件判断,做出不同的输出
在流程节点中,DoOnce指的是节点只会执行一次,Do N指的是执行N次
这个N指的是执行的次数,
15 FlipFlop节点,例如对于灯的开关状态的切换
16, Gate节点,Open是打开当前门,Close是关闭,Toggle是开关进切换,
17,Sequence节点,每个节点都是并行执行
18,把变量设置成数组,设置一个变量,点击右侧的九宫格就把它制成了数组的形式,然后在最下面Default Value可以在数组中添加多个元素
19,要想取得数组中的某个值,再添加一个Get节点,即可获得数组中的第几个元素,如果要给数组添加一个元素,要后面加个Add节点 ,获得数组的长度,就添加一个Length节点即可,添加不重复的元素是加入AddUnique节点,删除元素是Remove等节点,数组的查找是Find等节点
20,数组的遍历,添加节点,ForEachLoop,这样可以输出每个元素和索引,Completed是遍历完后的操作 ,数组遍历还有一个节点,ForEachLoopWithBreak,它可以随时中断遍历
21,制作蓝图的时候如果有红色错误,编译一下就好了
22,等于的节点输入==即可找到等于的函数节点,对于一个数等于它怎么做不等于怎么做,先加入==的节点,后面再连接branch判断true和false
23,数组shuffle节点, 将数组输入到该节点后会打乱该数组
24,创建结构体,在蓝图中创建变量,类型选择My Struct,拖动到右侧,后面连接break myStruct ,就可以提取结构体中的某一个变量,Struct Ref表示结构体的引用
25,修改结构体中的某个值,直接在括号里面修改就行,把结构体传到Struct Ref引用中
26,将一个结构体用另一个结构体替换,将第一个结构体拖动到右侧,选择set,输入make Mystruct创建一个新的结构体来替换第一个结构体
27,创建结构体数组,和变量转成数组的方法一样,点击九宫格,然后一个一个添加结构体,对于结构体数组,要想获得其中的某个结构体中的某个值,先通过get方法获得第几个元素(结构体),然后通过break myStruct获得该结构体中的某个元素
28,多维结构体嵌套的时候,只需把结构体变成数组嵌套即可
29,进行人物空间坐标的位置信息的节点,set Actor Location节点会
30,Actor,在蓝图当中可以理解为角色
31,选中物体并切换到蓝图中,右键来获取这个物体的引用
32,对于移动物体的操作,记得把物体的Mobility属性从Static改成Movable,因为美术对光照静态烘焙的时候就默认是静止不动的,同事物体移动偏移的操作可以采用Add Actor Local Offset节点,或者set Actor Location
33,sweep属性,物体移动的时候如果勾上sweep那么如果移动过程中有物体挡住它的移动会停下来
34,碰撞节点Break Hit Result,第一个参数是是否有阻挡物,第二个参数是移动时间的百分比,第三个是碰撞点
35 ,给物体设置一个位置,旋转和缩放使用Make Transform节点,
36,触发器Trigger, 选中物体,在蓝图中选择Add Event for Trigger 物体名,可以对物体进行触发检测,添加节点,在Collision中有三种检测方式,进入相交状态,相交离开 状态
37, 对于不同配置的电脑FPS不一致,要想使得不同FPS的顺滑程度一样,在Event Tick 节点中使用Delta Seconds乘以移动的速度即可
38,对于一个变量的渐变可以用Lerp节点
39,碰撞事件,Collision--->OnActorHit 节点,要想物体有碰撞属性而不是触发,在物体的Details中的Collision Presets的Trigger改成Block All,这样就不会穿过物体,在Detail属性中第一个是触发碰撞事件,第二个是触发触发器事件
40,在OnAcorHit节点中可以获得自身物体,碰撞物体等信息,对于最后一个属性Hit,它是一个碰撞事件,用来驱动碰撞的信息