目录
1:变量
1.1常见变量类型
常见变量类型有如下几种:
用编程的思想理解的话,布尔就是数据类型里的true和false
整数就是int,integer64就是更长的整数longint,字节则是短的意思
浮点也就是小数
命名、字符串和文本三个类似,命名就是表面意思起命名作用,用到的地方不多,字符串用到比较多,在开发时用来调试,一般都会用到打印字符串的操作,如下:
当按下左键时会打印字符串hello
文本用来写入一段话,适合长字符
向量和数学中的向量类似,用来存储一条向量,分别有xyz三个轴向
比如速度这种有大小有方向的量都可以用向量表示
旋转体:一样有三个轴向,旋转体的作用顾名思义是使物体旋转,具体旋转的朝向由旋转体的三个参数决定:
如果我们把x改为100,也就是说绕着x轴旋转100度,yz同理
变换:变换结合了位置、旋转与缩放,而这三个量都可以拆分为三个量,也就是说变换我们可以调节九个量。
1.2特殊变量类型
再往下是一些特殊的变量类型,有非常非常多,大部分都是对象类型。这个对象我们要用面对对象的编程思想理解。比如我们在Python中创建了一个人的类,这个类中实例化了一个叫小明的人,那么我们如果想在别处使用小明这个实例化出来的对象,就需要引用他,(ue5中是这样的)ue5中我们创建出我们想引用的对象的变量之后就可以使用这个对象的方法,他的属性也可以调用(这个对象的属性应该就是在这个对象中创建的变量)。这个比较常用
1.3变量容器
变量再选择好类型后,还可以选择存放变量的容器,有以下几种容器:
一般我们使用单个,也就是只有一个数据。当我们需要多个相同的数据类型组成的集合时可以使用数组,数组具有动态,可添加,可删除的特点。我理解为存放相同类型数据的列表。
上图创建的是布尔类型的变量,因此只能选择单个和数组两种容器。
集和映射我用到的还比较少,先不记了
1.4变量的创建
在任意蓝图左下角都可以创建变量,选择好变量类型以及变量容器类型,一个变量就创建好了。
创建出来的变量可以拖到蓝图中,按住Ctrl拖动是获取变量,按住alt拖动是设置变量
1.5变量使用的例子
下面是一个判断玩家血量的小例子
这里创建了当前生命值这个浮点类型的变量,并且只有一个数据,由上图可以看到,当玩家受到伤害时我们把变量“当前生命值”按住alt拖出来,设置当前生命值为当前生命值减去伤害值,因此再按住Ctrl拖出变量,在右键蓝图选择减法节点,最终将当前生命值这个变量设置为了减去受到的伤害值
判断状态时我们经常使用布尔类型的变量,如:是否处于受击状态,是否处于行走状态,是否死亡等等。在玩家属性上经常使用浮点或整数类型的数据,如:经验、血量、等级等等.....
2:蓝图类型
2.1常见蓝图类型
2.1.1actor
actor一般用来创建场景中的物体,上图有解释,可以动态的生成。比如要创建一个靶子,被射击到后消失,就可以创建一个actor蓝图,在里面写上逻辑:当子弹和靶子重叠时销毁actor
2.1.2pawn和角色
pawn是角色的父类,所以角色拥有的功能pawn应该都有,在创建时先明确要创建的蓝图作用是什么,一般来说如果是角色就直接创建角色蓝图就行了,但如果是那种同样需要我们控制,但它又不是角色,那么创建pawn类。比如说需要做一个角色,并且拥有御剑飞行的技能,那么创建蓝图时就要创建一个pawn,一个角色类,其中飞剑使用的就是pawn类,因为它受我们控制,并且不是角色。
2.1.3玩家控制器、游戏模式
在进行玩家控制器的创建前,一般要先搞定游戏模式、默认主角,在世界设置中找到游戏模式,将其设置为我们刚刚创建的游戏模式,再把下面的默认角色设置为我们创建的角色。最后把玩家控制器设为创建的玩家控制器,这样我们开始游戏游戏后就有了自己的主角并且可以控制它。
其中游戏模式一般用来给游戏设置规则,并且定义了正在进行的游戏。
2.1.4actor组件
暂时略过,不怎么会
2.2其他蓝图类
也没用到多少,不怎么会,之前创建怪物ai时用到了,展开说说:创建怪物ai后,可以在我们想让ai操控的怪物蓝图中的细节面板找到下面这个东西:
选择上刚刚创建的怪物ai控制器后,就可以写ai的逻辑了,一般都是在怪物ai控制器蓝图中写入在事件开始运行时运行行为树,然后在行为树中写ai逻辑。
ai挺复杂,后面再记吧。
2.3结构体、枚举、数据表、
2.3.1结构体
结构体可以和数组放在一起比较,数组中的元素都是同一类型的,而结构体中的元素可以为不同类型,如下,创建了一个布尔类型,字符串类型与整数类型:
结构体的使用:
在别处蓝图中创建任意变量类型为此结构体的变量,拉出后选择中断节点即可拿到结构体中的数据:
2.3.2枚举
枚举一般用于条件判断,也就是选择中,比如一个枚举数据中有不及格、及格、良好、优秀四个数据,然后可以创建类型为此枚举的变量,再设置此枚举的初始值,拉出切换节点,即可实现判断功能:
枚举较为简单,与结构体和数据表无直接关联
2.3.3数据表
数据表的创建
数据表创建必须选择一个结构体
上图可见,选择完结构体后可以设置结构体中创建的元素
数据表的使用
创建一个类型为datatable数据表的变量,编译蓝图后在数据表值选择创建的数据表,将其拖出以获取数据表内容:
2.3.4小结
枚举与结构体和数据表无直接关联,枚举用于存储不同类型的数据,数据表创建后必须指定一个结构体作为行结构,二者有直接联系,结构体用来创建行名称,而数据表类似数据库中的数据表。