最近在做虚拟仿真相关场景的研究,之前使用过场动画驱动物体移动和缩放,现在需要使用外部数据驱动UE4关卡中的物体,于是参照在unity里的做法,将物体移动和缩放的方法放在Tick事件中,使用Delta Seconds作为基础参数乘以一个速度变量。在正常状态下运行良好,如果将鼠标切出窗口,帧率明显下降,代码执行也变慢了,物体移动固定长度的时间延长了。熟悉unity的可以得出UE4中Tick相当于unity的Update方法,易受到机器性能影响,但UE4中没有Unity的FixedUpdate类似的方法。还是尝试了一些方法,做了一些测试得出一些结论。
一、对于实时性要求不高,重复性动作的
建议使用Matinee、Sequence动画解决。动画帧率是固定的,在不同性能设备上同一时间位置基本没有误差。还可以在蓝图中使用TimeLine节点,使用直接赋值的方式,避免TimeLine轨迹的计算。
用TimeLine直接给坐标赋值,不会受到帧率影响
用TimeLine轨迹经过计算后给坐标赋值,还是会受到帧率影响