蓝图基础(1) —— 变量和变量类型

时间:2024-04-04 10:32:24

概述
蓝图 - 是虚幻4实现的一套完整的可视化脚本系统。它和其他脚本语言(python,lua等)的不同之处在于,它无需编写代码,可以通过拖拽节点来直观的实现所需的功能。但它本质上还是属于一种编程语言,也有变量,数据类型,函数等概念,开发中也需遵循者面向对象的思想,以学习一门新语言的方法来学习它,相信会事半功倍的。
变量:存放一个值或引用世界中的一个Actor的属性,游戏中加载进去的任何游戏对象都是由不同类型的变量存储的。
变量类型:用于标识变量,数据类型包括一些基础变量类型和引用类型。
变量类型 说明
蓝图基础(1) —— 变量和变量类型
创建变量
点击Blueprints下拉按钮,点击Open Level Blueprints打开关卡蓝图。
转到MyBlueprint面板,点击Variables右侧的’+’新建变量,并把变量命名为fVal。
蓝图基础(1) —— 变量和变量类型
转到Details面板,点击Variables Type右边的下拉框,弹出变量类型对话框
蓝图基础(1) —— 变量和变量类型
可以选择任意一种变量类型,在这里选择Float,点击Compile编译。
再转到Details面板,发现Default Value·标签下,Val右边的控件由复选框变成了编辑框,
在编辑框中输入5,设置变量的初始值,点击Compile编译。
蓝图基础(1) —— 变量和变量类型
创建并初始化好变量后,就要使用变量了。
变量的获得和设置
用鼠标左键点击变量fVal,并将其拖拽到事件图表中,松开鼠标,会弹除菜单,选择Get fval,获取变量。
蓝图基础(1) —— 变量和变量类型
在事件图表中,点击右键,会弹出所有的蓝图节点,在搜索框中输入Print String,点击并创建该节点,将变量的引脚与Print String节点的输入引脚相连,由于变量类型不同,引擎会进行自动变量类型转换,添加一个转换节点。
蓝图基础(1) —— 变量和变量类型
现在PrintString节点还没有事件调用,所以变量还无法输出,需要添加键盘事件节点。点击右键创建事件“1”节点,再连接执行引脚,这样在按下”1”键后,屏幕左上角就会打印出fVal的值,也就是5。点击Compile编译。
蓝图基础(1) —— 变量和变量类型
点击play,按下“1”键,输出结果
蓝图基础(1) —— 变量和变量类型
变量还可以在程序中设置,拖动变量fVal到事件图表中,点击Set fVal。创建出Set节点,创建事件”2”节点,连接到Set fVal,点击Compile编译。
蓝图基础(1) —— 变量和变量类型
点击play运行,当按下1键时输出5,当按下2键是将变量修改成了0,再次按下1键时,会打印0,结果如下
蓝图基础(1) —— 变量和变量类型
提升变量
除了上面的方法创建变量外,还可以通过节点的返回值引脚,提升成变量。
蓝图基础(1) —— 变量和变量类型
修改变量名
选中新创建的变量,右击变量,再点击Rename,输入新变量名fVal01。如图
蓝图基础(1) —— 变量和变量类型
复杂的变量类型
除了基础的变量类型,通过组织基础变量类型创建一些复杂的变量类型,如Rotator,Transform等。创建Transform类型的变量tVal,设置初始值,并打印输出。
蓝图基础(1) —— 变量和变量类型
Transform包含位移(Vector)旋转(Rotator)和缩放(Scale),输出结果
蓝图基础(1) —— 变量和变量类型
分解变量
通过Break Transform节点分解Transform变量,对包含的变量值进行操作,同理可以通过Break Vector节点分解Vector变量。
蓝图基础(1) —— 变量和变量类型
打印输出。
蓝图基础(1) —— 变量和变量类型
构造变量
通过Make Transform构造Transform变量,给Transform变量赋值,同理可以通过Make Rotation节点构造Rotation变量。
蓝图基础(1) —— 变量和变量类型
打印输出,变量tVal中的Rotation被重新构造了
蓝图基础(1) —— 变量和变量类型
变量的属性
选中float类型的变量fVal,转到Details面板,查看变量属性(不同的变量类型属性稍有不同)
蓝图基础(1) —— 变量和变量类型
属性详解

属性

说明

Variable Name

变量名,标识该变量

Variable Type

变量类型,可在下拉框中选择其他类型

Instance Editable

实例化后是否可编辑

Blueprint Read Only

是否只读,如果为设置为只读,该变量不能使用set

Tooltip

提示,设置变量的提示信息

Expose on Spawn

是否暴露到Spawn

Private

设置该变量是否是私有变量

Expose to Cinematics

是否暴露到Cinematics

Category

变量分类

Slider Range

通过滑动( )来设置变量值时,变量的大小范围

Value Range

通过直接修改输入框来设置变量值时,变量的大小范围

Replication

是否网络复制

Replication Condition

复制方式