1 / 15
文档名称:

UE4模型拆装蓝图实例.docx

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

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

分享

预览

UE4模型拆装蓝图实例.docx

上传人:沐雪 2022/4/17 文件大小:2.57 MB

下载得到文件列表

UE4模型拆装蓝图实例.docx

相关文档

文档介绍

文档介绍:学****文档 仅供参考
UE4模型拆装蓝图实例
最终效果如下列图所示
步骤1:导入FBX 并且所有模型的原点在同一个位置 〔原点〕最好将所有原点归到所有模型的下方中心 方便散开时候往上散 不至于散到地面一下
步骤2:创建新项目 和不同的vent 将其命名为huandong〔这个名字最后觉得没有命名好〕,然后在这个自定义事件中增加一个整形变量
学****文档 仅供参考
目的是为了以后由这个变量的值来决定是否是依次来拆分还是同时拆分 如果是0不进行延迟,timeline这里就不多说了,游戏开始时候从原点开始,然后通过Ease这个函数来进行线性缓动,,目标就是P To END这个事先保存好的值,也可以修改,然后再设置拆分的目的地以及旋转〔旋转中也可以通过Ease这个函数来事先一个线性的角度旋转 不是匀速旋转〕。这里有一点重要的是没有讲到的 一个状态的存储,我们现在Bluesprint文件夹中右键创建一个Enumerators〔枚举变量〕,在其中创建两个变量 分别为Start和end两种状态,为了在模型移动后把这种状态给保持下来
学****文档 仅供参考
在执行拆分模型完成后 将模型位置的状态设置为结束,将其保存下来 方便以后调用这个状态,
模型的组装:
其实就是把两个起始位置和目标位置反置一下就可以了
****
在游戏开始时候要做的事情 通过sequence这个序列节点来同时做有些事情 如下列图所示
学****文档 仅供参考

到此在蓝图类BP_Expose这个父类上的蓝图节点连接就结束了 接下来 我们到MyPawn这个类中进行蓝图调试与编辑
二 在MyPawn这个类中编辑蓝图
***
首先在Mypawn中添加Spring和camera ,将相机作为spring的子类
学****文档 仅供参考
相机就变为这条spring红线的端点位置了,可以设置这个红线的距离 白色圆球就是这个相机的聚焦位置,为了不让这个红线坚持到模型的碰撞 以免发生错误 把
Spring这个父类下面的这个DO collision Test勾选框勾掉
再把这个打勾,意思是可以让游戏模式旋转,过后将Mypawn拖到场景中 在WorldSetting中设置游戏模式为自己增加的游戏模式,和我的Mypawn,这样游戏开始 相机才是你调整的那个位置 不然就是默认的位置 接下来 我们来控制视角的变换,在ProjectingSetting的 在Input中的AXIS添加两个控制器MouseX和MouseY分别命名为Yaw和Pitch,并将MouseY的Scale值改为-1. 进入图表
学****文档 仅供参考
,通过Input Axis+Yaw〔自己刚刚命的名字,调用鼠标控制〕,然后通过Add controller Yaw Input
和Add controller Pitch两个函数来执行鼠标的左右上下控制弄能。
****鼠标以及视角调好了我们来做真正意义的模型拆分动作的调用功能
首先我们新建一个变量叫做Is by step〔是否一步一步的拆分〕,这就是在自定义缓动事件时候说的我新建的整形变量 在这里发挥作用了,这本变量设置成Bool,大家知道这个变量转换成整形不是0就是1,
下面是这个环节的总蓝图节点连接表
学****文档 仅供参考
通过两个键盘上的U和I键设置Isbystep这个变量的置
从左边开始,通过GetAll Actors of Class 这个节点来遍历查找每一个子蓝图类,然后将其调用到Ease huandong这个自定义事件上去执行 ,这个下面的 意思就是如果我设置成1,等于下面的就没有变化 在BP_Expose这个蓝图中的这个节点
,如果我设置成0,那么Index就是0,0* 等于不延迟,
接下来就是组装模型了 其实很简单 把最后面的调用自定义事件改为huandong2
就可以了
学****文档 仅供参考
****增加一个功能 :当我们选中一个对象,立刻聚焦到该模型上,其他模型随机隐藏
先展示一下最后蓝图表
首先我们得创建一个蓝图变量,即即时被选中的对象,类型为蓝图类BP_Expose〔我们在项目进行开始自己创建的蓝图父类〕
在这个功能之前 也是要首先进行蓝图类的查找与遍历,在LoopBody这个节点,通过ArrayElement 引出这个节点,目的是为了在MyPawn中引用,然后通过Set Vibisillty将所有蓝图隐藏,等隐藏所有完了,再单独通过创建的CurrentSelect蓝图变量来设置当前选择的对象被显示出来,