UE学习篇ContentExample解读-----------Blueprint_Overview
文章目录
- 总览描述
- 批次阅览
- 1.1 Blueprint- Hello World
- 1.2 Blueprint- Components
- 1.3 Blueprint- Variables
- 1.4 Blueprint- ConstructionScript
- 1.5 Blueprint- Event Graph
- 1.6 Blueprint- Simple Math
- 1.7 Blueprint- Flow Control
- 概念总结
- 致谢:
总览描述
打开关卡后,引入眼帘的就是针对关卡的总体性文字描述,这里翻译一下:
这个地图是一个针对虚幻蓝图可视化脚本背后关键概念的基本介绍。这儿展示的案例是比较基础的,但对于那些刚接触系统的新人来说,这是他们在使用蓝图之前,必须演示的一些基本原则!
批次阅览
1.1 Blueprint- Hello World
使用事件图表来对一个文本渲染组件设置文本,点击Simulate或者Play就能看到"Hello World"出现在空气中
(所有的代码都从Hello World开始,程序员秒懂!)
关键概念:
- Event Graph
- Text Render Component
- Simulate or Play
蓝图分析:
-
Actor的Component结构
BillBoard组件作为根组件,它的子组件是TextRender组件
-
事件图表
给名为HelloWorld的TextRender组件设置一个文本内容
结果展示:
1.2 Blueprint- Components
翻译:蓝图中可用的一小部分组件
关键概念:
- Sprite Component
- StaticMesh Component
- PointLight Component
蓝图分析:
1、图中显示4个Actor,从左到右,前三个是单一组件构成,第4个是复合组件构成
2、Sprite Component 用于显示永远正对相机的2D纹理
3、StaticMesh Component 用于显示一个网格模型
4、PointLight Component 表示点光源
以第二个Actor举例,我们看一下它的蓝图:
通过添加StaticMeshComponent,然后设置它的StaticMesh达到目的!
由于前三个都差不多,不多赘述。这里再看下最后一个复合组件的Actor:
我们观察到,它是由Sprite Component 作为根组件,Sprite Component有两个子组件:StaticMesh Component和PointLight Component构成!
1.3 Blueprint- Variables
**翻译一下:**变量。公共变量的是可以在细节面板被修改,私有变量只能在蓝图中被修改!
关键概念:
- Variable
- Public / Private
- Detail panel
解释说明:
1、什么叫公共变量可以在细节面板修改?
点击Actor对象后,我们观察细节面板,可以看到一个Public Color的变量,不用进入蓝图,直接即可修改它的值!
蓝图中可以修改Public变量的值么?当然可以
2、什么叫私有变量只能在细节面板修改?
如上图所示,压根私有变量在细节面板不出现,无从谈起修改与否。进入蓝图看看:
发现无论Public还是Private变量,右侧的DefaultValue都可以修改。
3、那如何设置共有还是私有?
我们看左侧红框的右边,有小眼睛的就是Public变量、没有小眼睛的就是Private变量;
同理,我们通过右侧细节面板的,Instance Editable的选项也可以得知,打钩的就是Public,否则就是Private
1.4 Blueprint- ConstructionScript
构造脚本在对象创建的时候会执行一次,这儿它用来给蓝图Actor添加组件
关键概念:
- Construction Script
对比分析:
1、左侧的Actor是在组件列表直接添加的组件
2、右侧的是在Construction Script中,根据每一个实例的变量进行选择是否要添加对应的组件
左侧的蓝图如下:
右侧的蓝图如下:
我们发现他的组件列表,明明没有这些组件,其实它根据左下角的三个Boolean变量,在构造脚本决定是否添加组件!构造脚本如下:
它都是根据变量的值判断,是否添加对应组件。又因为这些变量是Public的,所以每个实例都可以在细节面板按需调节!
我们调节演示一下,将静态网格体组件设为false,观察如下图,那部分也就不见了!
1.5 Blueprint- Event Graph
翻译一下:
- 在构造脚本和事件图表设置火箭的颜色
- 蓝图允许你改变材质的颜色
- 选择火箭,不需要编辑材质即可改变它的颜色
关键概念:
-
Event Graph
-
Material
蓝图分析:
1、选中火箭,观察细节面板,发现它公开了两个颜色变量
2、进入蓝图观察构造脚本
就是创建了材质实例,将它作为了模型的材质进行设置,并且利用ConstructionScriptColor颜色变量,进行设置材质的颜色参数。
3、观察事件图表,发现了Beginplay连接了一些逻辑如下:
其实就是通过时间轴,动态的设置材质颜色的线性过渡,从ConstructionScriptColor到EventGraphColor
1.6 Blueprint- Simple Math
翻译: 这个蓝图使用Tick事件,对一个整型变量让它每1秒+1
关键概念:
- Event
- Tick
- Integer Variable
蓝图分析:
打开蓝图观察一下,它就是有一个根节点挂两个Text Render Component组成,还添加了一个变量
我们观察他的事件图表中,Tick事件逻辑如下:
每次进入Tick,都延迟1s,然后给变量+1,然后更新渲染文本组件的值!
结果展示:
这里简单解释一下Tick,Tick就像游戏世界里面的时钟,滴答滴答,搞电子的人应该都明白,简单点说就是一帧一帧的意思!
1.7 Blueprint- Flow Control
翻译: 这个蓝图使用不同类型的流控制节点,来修改移动、颜色和效果
关键概念:
- Flow Control
蓝图分析:
1、我们打开蓝图,看一下组件结构,就是一个Sprite组件挂了一个静态网格组件(硬币)
2、看一下构造脚本
好像就是创建了一个材质实例,然后根据一个变量,给他设置不同的颜色
3、看一下事件图表
这里用到了一个Sequence节点,引出了4个分叉。这里就是不断的累加一个开始游戏的时间计数!
Sequence节点就是Flow Control的一种,它的的作用就是一次触发,依次顺序执行多个输出引脚的逻辑!
分别来看一下分叉做了什么:
(1)Then0
硬币绕Z轴增加了相对旋转
(2)Then1
根据变量,设置材质的颜色是绿色还是红色,从而改变硬币的颜色
(3)Then2
根据Movement Direction变量和Elapsed Timer变量,决定是不断往Z轴上下来回动,还是往Y轴来回移动!
(4)Then3
这个就是延迟,然后生成火花的特效!
结果展示:
概念总结
1、蓝图
2、组件
3、变量Public / Private
4、构造脚本
5、事件图表
6、Tick事件
7、流控制
致谢:
今天的学习就到此为止啦,喜欢的小伙伴点点关注+赞哦!感谢大家Thanks♪(・ω・)ノ!我是火火,火一般的男人!