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