实用标准文档
UE4模型拆装蓝图实例
最终效果如下图所示
步骤1:导入FBX 并且所有模型的原点在同一个位置 (原点)最好将所有原点归到所有模型的下方中心 方便散开时候往上散 不至于散到地面一下
步骤2:创建新项目 和不同的文件夹(选择不具有初学者内容 )然后在WorldSeting中添加新的游戏模式和新的PawnClass(添加后系统会自动创建BlueSprint的文件夹)
3:将导入的FBX分别创建为蓝图类如下图所示
文案大全
实用标准文档
在此之前先创建一个蓝图BP_Expose作为蓝图父类,然后在BlueSprint文件夹中打开所有FBX
创建的蓝图类,在ClassSetting中设置它们为BP_Expose蓝图类的子类(就是继承关系)
*将所有蓝图拖拽到场景中
*****进入蓝图部分
——在蓝图父类BP_Expose中
文案大全
实用标准文档
首先通过Get component by class获取场景中的蓝图类(选择对象为StaticmeshComponent)返回了一个数组(场景中八个蓝图类),首先判断这个数组是否长度为大于0(否则一切没有意义),然后通过Get函数获取这个数组的第一个元素将其设置为名称为StaticMesh的一个变量,类型为StaticmeshComponent
这个步骤的意义在于保存场景中蓝图类
StaticMesh的引用 ****
在这个步骤蓝图中,主要是通过getComponentBounds获取模型的中心(重心),不是原点,通过Get direction Vector这个函数算出原点到中心这个方向,以及距离 并且将这数值保存到两个以后要用的变量 (散开的距离),random rotator是一个随机旋转角度并且赋值个一个旋转变量 **
文案大全
实用标准文档
这个图表中显示通过在蓝图父类的所有子对象上悬停发生两个事件 一个是悬停时候设置材质高亮 一个是离开时候设置材质为普通材质,也可以在初始时候就将所有的蓝图类赋予初始材质 显示高亮后又可以变成另外一种普通材质
***接下来要进行的是组装和拆分两个动作的自定义事件 可以通过Timeline这个事件节点来设置模型拆分出去的动作和旋转的速度
1模型拆分
由于清晰度 我截图分成两半
首先自定CustomEvent 将其命名为huandong(这个名字最后觉得没有命名好),然后在这个自定义事件中增加一个整形变量
文案大全
实用标准文档
目的是为了以后由这个变量的值来决定是否是依次来拆分还是同时拆分 如果这个变量是一就延迟0.2秒来一次拆分每个模型 如果是0不进行延迟,timeline这里就不多说了,游戏开始时候从原点开始,然后通过Ease这个函数来进行线性缓动,缓动原点是0.0.0,目标就是P To END这个事先保存好的值,也可以修改,然后再设置拆分的目的地以及旋转(旋转中也可以通过Ease这个函数来事先一个线性的角度旋转 不是匀速旋转)。这里有一点重要的是没有讲到的 一个状态的存储,我们现在Bluesprint文件夹中右键创建一个Enumerators(枚举变量),在其中创建两个变量 分别为Start和end两种状态,为了在模型移动后把这种状态给保持下来
文案大全
UE4模型拆装蓝图实例
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)