pc8888888 发表于 2023-4-11 10:04

【UE4教程】Unreal 4.22 动态创建一个自定义长方体教程

Unreal 4.22 动态创建一个自定义长方体教程

本教程主要是用Custom Mesh组件来完成动态生成长方体。
思路是任意点击两点会连成一个有宽度的线——就是长方形,输入高度后能够动态形成长方体。
先来看一下效果图:













接下来是代码思路:

主要是用CustomMesh这个组件。


这个组件能根据添加进的三个点画出一个三角形




这里新建一个TopDown的初始项目(因为可以用鼠标点击,可以少写点东西)


创建好了之后呢,把地图的所有柱子都删了,再将人物的模型隐藏了,构建一下光照,将阴影去掉。(这里就不截图了,不是什么关键)
首先解决点击获取Location:
在TopDownController蓝图里面编辑如图




这里主要是要点击两次才调用方法,点击一次储存一次值,有两个值才能连成一个长方形,True后面是调用自己创建的蓝图的画长方形的事件。
创建蓝图,添加CustomMesh组件。
添加自定义事件:


这里主要是添加一个Data做备份,为了不浪费资源和重复绘图,每次画完都会将Location Array清空,Data数组是备份数组,XY的宏将在下图展示。


主要是两个角度公式,参考里也会有详解。
如果不会用Add Custom Mesh Triangles的可以多试试这个蓝图,试试就懂了。
在人物蓝图内编辑UI添加事件。
制作一个UI后添加,UI只有一个输入框和点击按钮,这里就不赘述了,输入的值要传递至拥有CustomMesh这个组件的蓝图内方便创建高度。


在拥有CustomMesh蓝图内添加事件,输入高度确定后调用:


这里图比较大,也是关键地方,具体就是从Data数组里面一次取两组数据,然后将底部的点添加高度,就拥有了长方体所有的点,一个面由两个三角形组成,拥有点就只要慢慢添加就好。
(如果一个方向画有三角形,返向没有的话,在材质里面选择双面材质就可以解决问题)
如果遗漏,欢迎补充。
2019/5/28 9:30:32
参考:

计算垂直线上的一点
页: [1]
查看完整版本: 【UE4教程】Unreal 4.22 动态创建一个自定义长方体教程