一、完善回放系统,加入回放时的控制UI。
二、整合串联各成员的工作内容。
三、创建必要的Widget组件以触发各个事件。
四、添加了开头动画。
五、添加了剩余的关节碰撞体,简化了一些代码。
这周的工作比较杂主要说一下遇到的新问题。
1)上周回放系统无法即时回放。这周增加了按钮来触发之后,用同样的方法及可即时回放,还没弄清楚根本原因但是问题解决了。
2)关于UE4中的gamemode类。UE4中gamemode类有许多参数,一般模式下用户控制的角色都是DefaultPawnClass,角色的Controller也是PlayerControllerClass中所设置的。但是在回放系统中控制角色就不再是DefaultPawnClass而是SpectatorClass,Controller也变为ReplaySpectatorPlayerControllerClass,也就是说DefaultPawnClass与PlayerControllerClass在回放系统中不会被使用,其数据也会恢复默认值。然而虽然它们各自应用于特定的模式,在其他模式下不会被使用,但是它依然存在。比如我在我的ReplaySpectatorPlayerControllerClass中使用了widget,但我只想在回放的时候才显示它,如果只是单纯的调用的话,在普通模式中,虽然controller依然是PlayerControllerClass,但是还会显示ReplaySpectatorPlayerControllerClass所使用的widget,因此就需要做一个判断,判断当前的controller是PlayerControllerClass还是ReplaySpectatorPlayerControllerClass:
使用tag将component合为数组
3)在PIE模式下运行项目声音是正常的,而在standalone模式下则成了静音,原因是默认设置中禁用了声音选项。需要在advanced setting中取消勾选。
4)视频文件的播放 :点击打开链接
由于我们使用的是本地文件,所以需要对其中的步骤做一些改动,本地文件播放参考:点击打开链接。这样还不够,因为如果我们按照链接所做直接将资源文件拖入UE4中,它会自动生成一个file media source文件,这个文件只是指定了资源文件的路径,这显然不适用于多人合作的项目。因此我们需要在系统的文件浏览器中将资源文件复制到项目文件的content目录下的合适位置,再在file media source文件中手动指定资源路径,如果资源在项目中,它生成的路径就是相对路径而不是绝对路径,这样其他人也能正常使用。