目录
- 1 构造脚本(Construction Script)
- 1.1 介绍
- 1.2 案例1:利用样条组件程序化生成树木
- 1.2 案例2:利用样条组件和样条网格体组件程序化生成道路
1 构造脚本(Construction Script)
1.1 介绍
问题:为什么要先介绍一下构造脚本?
解答:构造脚本也属于编辑器工具的一种,构造脚本在非运行时就能被调用,因此可以在编辑场景时就能通过构造脚本来快速搭建场景。
局限性:构造脚本的功能仅仅只能作用一个Actor,也不能修改内容浏览器(content)中的资产,当我们想制作一些更加强大的编辑器功能时,就需要用到编辑器工具控件和编辑器工具蓝图了(感兴趣的话可以看我其它的文章)
构造脚本函数适合用来构建程序化 Actor 等等。只要把Actor拖入场景中就会运行
每个 Actor 蓝图都会有构造脚本函数,该函数会在 Actor 放入场景中就运行(不需要运行游戏),或者修改actor的属性时也会被再次调用。
1.2 案例1:利用样条组件程序化生成树木
本案例适用于程序化点模型,例如,树木、路灯、建筑物等;
在制作一个智慧城市案例中,道路两旁往往需要种上不同种类的树木。一颗一颗的拖入场景中效率低,此时就可以制作一个程序化的构造脚本函数提高效率。
1. 实现思路:根据模型的数量等分样条线,获取等分后的相对位置,然后创建静态网格体组件然后设置位置。设置两个变量:Count(整型变量,用于设置模型的数量)、StaticMesh(静态网格体,用于自定义模型)
2. 蓝图代码如下图所示(可以用新标签页点开查看全图)
3.结果展示
1.2 案例2:利用样条组件和样条网格体组件程序化生成道路
本案例适用于程序化线性模型,例如,道路、围栏、水管等;
1. 实现思路:根据样条点计算样条网格体组件数量,然后创建样条网格体组件然后以相邻的两个样条点作为起始和结束。设置一个变量:StaticMesh(静态网格体,用于自定义模型)
2. 蓝图代码如下图所示(可以用新标签页点开查看全图)
3. 结果展示