1 / 23
文档名称:

UE4模型拆装蓝图实例.docx

格式:docx   大小:4,089KB   页数:23页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

UE4模型拆装蓝图实例.docx

上传人:Alone-丁丁 2021/8/17 文件大小:3.99 MB

下载得到文件列表

UE4模型拆装蓝图实例.docx

文档介绍

文档介绍:UE4模型拆装蓝图实例
D
*将所有蓝图拖拽到场景中
*****进入蓝图部分
——在蓝图父类BP_Expose中
首先通过Get component by class获取场景中的蓝图类(选择对象为StaticmeshComponent)返回了一个数组(场景中八个蓝图类),首先判断这个数组是否长度为大于0(否则一切没有意义),然后通过Get函数获取这个数组的第一个元素将其设置为名称为StaticMesh的一个变量,类型为StaticmeshComponent
这个步骤的意义在于保存场景中蓝图类StaticMesh的引用
****
在这个步骤蓝图中,主要是通过getComponentBounds获取模型的中心(重心),不是原点,通过Get direction Vector这个函数算出原点到中心这个方向,以及距离 并且将这数值保存到两个以后要用的变量 (散开的距离),random rotator是一个随机旋转角度并且赋值个一个旋转变量
**
这个图表中显示通过在蓝图父类的所有子对象上悬停发生两个事件 一个是悬停时候设置材质高亮 一个是离开时候设置材质为普通材质,也可以在初始时候就将所有的蓝图类赋予初始材质 显示高亮后又可以变成另外一种普通材质
***接下来要进行的是组装和拆分两个动作的自定义事件 可以通过Timeline这个事件节点来设置模型拆分出去的动作和旋转的速度
1模型拆分
由于清晰度 我截图分成两半
首先自定CustomEvent 将其命名为huandong(这个名字最后觉得没有命名好),然后在这个自定义事件中增加一个整形变量
目的是为了以后由这个变量的值来决定是否是依次来拆分还是同时拆分 如果是0不进行延迟,timeline这里就不多说了,游戏开始时候从原点开始,然后通过Ease这个函数来进行线性缓动,,目标就是P To END这个事先保存好的值,也可以修改,然后再设置拆分的目的地以及旋转(旋转中也可以通过Ease这个函数来事先一个线性的角度旋转 不是匀速旋转)。这里有一点重要的是没有讲到的 一个状态的存储,我们现在Bluesprint文件夹中右键创建一个Enumerators(枚举变量),在其中创建两个变量 分别为Start和end两种状态,为了在模型移动后把这种状态给保持下来
在执行拆分模型完成后 将模型位置的状态设置为结束,将其保存下来 方便以后调用这个状态,
模型的组装:
其实就是把两个起始位置和目标位置反置一下就可以了
****
在游戏开始时候要做的事情 通过sequence这个序列节点来同时做有些事情 如下图所示