您的位置:首页 > 其它

虚拟引擎4.14版本的简单使用

2016-11-25 00:33 162 查看
虚拟引擎4.14版本使用
PS:这个是我看视频做的,我只是将自己的理解加了一点点,视频链接如下http://i.youku.com/i/UMzE2NzI4ODM2,另,因为初学且英语不好,好多专业名词我都说不上来,大家看时请见谅
利用循环做一个程序墙(暂命名)
首先,创建一个类蓝图在你能找到的文件夹中。之后打开它并在它的视口界面添加一个静态网格物体,在这里我用的是如下图所示的那个(蓝圈中是它的名字),另,在图中的添加新项中添加一个矢量(variable),并将该变量类型改为vector型。


此外,在该变量的细节处改成如下图所示,这个设置会对以后的蓝图设定有用,且显示3D控件会使得你在制作完成后不至于找不到这个终止点,使得你无法看到你制作的东西的效果。


好了,接下来说说它的这个蓝图设计,我们需要跳转到它的construction script窗口。如下图是蓝图全貌,接下来,我会一一解释我会对下图每个白框以及其中函数的理解。如有不足之处,欢迎指正。


我先讲下这个循环函数吧,因为上面那些白框都是围绕这个函数来的。详细图如下,我们可以看到,它总共有六个接口,左上角的连接的是循环开始的条件,first inde和last index代表了循环初始值到结束值,而那个单独的index,我个人认为它就是一个统计了循环次数的计量值,至于为什么这样认为,后面的内容我会说到。loop
body翻译过来就会明白它就是循环的主体,也就是每循环一次它就会被执行一次。completed连接的便是循环结束后的一些收尾善后工作。


循环开始:(如下图)我们将我们刚刚定义的那个变量在窗口中获取并连接上一个vector+vector函数,函数设置如图所示(这样做的效果应该是记录它在平面上运动的数值吧,至少目前我对这个也不是很理解,我只能根据最后做出的效果来猜测)。我们可以看到vector+vector函数后面连接了一个not equal函数,这个函数在这里的作用就是判定,判定的方式就是通过它后面跟的那个分支,当vector不为0时,值为真,开始执行循环(也就是说,当我们做好这个程序墙后,我们移动终止点,就会得到我们要的效果)


有开始便要有结束,结束的条件设置如下图所示,作用都在注释里了,主要知道最后那个Floor是向下取整就好,因为输入last index需要输入整数。在这里我要补充一下,在上面的那个循环函数的图里面,你会发现First index 的值为1,这个我也不知道原理,照着写就好,看了好多都是这样。(演员指的就是我们的墙体构成个体,即最开始添加的那个静态网格物体)


接下来要做的就是建造循环体了,看下图,那几个蓝色框从左到右依次为添加静态网格物体(它连接后面的函数目的是接收一个返回值,这个返回值其实就是我们最开始添加的那的静态网格物体,此外,将它的手动连接后面的勾要打上,如图)后面那两个框就是分别获得返回值并固定位置的,且我们要在Attach to 中将attach type设置成如图所示。我们可以看到,index连接了一个int*float函数,且相乘的值设置为50,这个应该就是设置位置的,因为静态网格物体宽为50,循环次数代表加了多少个物体,由此定义位置,并将返回值添加到最后一个蓝框的位置数值上。


其实到这里程序墙已经算是做完了,但我们想要的是让墙体末端始终随着终止点在平面上的运动来扩张,所以我们还应添加一个让墙体在循环结束后旋转的善后工作(上面那个做出来的只会在x轴上扩张,如果你将上图make value 的连接点更换的话,会出现不同方向上的扩张,有兴趣的朋友可以试试)。
旋转的蓝图部分如下图,作用都在注释中,我就不多说了


第一次写,感觉废话挺多的,不过因为我时常看别人发的东西好多都不懂(可能因为是初学的缘故吧),所以我就尽量写的比较详细。以便让更多的像我这样的人都可以看懂。嗯,就这
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐