ue4中 dedicated server 动画 以及ui 是不会进行同步的 所以假如想要客户端执行相应的动画 需要通过RPC MultiCast的方式 通知客户端执行动画
其次 一些涉及到动画以及ui的逻辑也不要在服务器端执行 例如 获得骨骼socket 的位置 如果该骨骼没有运行任何动画的话 是无所谓的 加入骨骼使用了改变位置的动画 那么像是GetSocketTransform 类似这种获得骨骼位置的函数 返回值在服务器端与客户端执行的结果是不同的 服务器获得的是没有执行动画的原始位置 客户端则是正确的动画骨骼位置
同样的 像是GetUserWidget 服务器运行的话返回就是空
所以 凡是涉及到动画 ui方面的逻辑一定要放在客户端上运行
补充 动画的更新可以通过修改Skeletal mesh component 的 Mesh Component Update Flag属性 为Always TickPose and Refresh Bones
这样 即使服务器没有渲染动画 也会有实时的动画位置 同时 定义在动画中的notify函数 在服务器端也能运行 否则不会运行