Notifications
Article
Photon之PUN动画状态同步技术
Published 24 days ago
8
1
Pun动画状态同步
本篇文章主要是讲解如何轻松地使用PhotonAnimatorView实现Mecanim动画同步。 只需使用Animator和PhotonView将PhotonAnimatorView组件添加到对象即可。
Demo实例化一个动画角色,使其动画与PhotonAnimatorView组件同步。 启动Demo的两个实例以查看正在发送哪些动画参数(速度,方向,跳转)以及从另一个客户端接收的值。
“Robot Kyle Mecanim”预制具有PhotonView组件,并且“Observed Components”列表包含PhotonAnimatorView和PhotonTransformView。 PhotonTransformView组件同步角色的位置和旋转。 要了解PhotonTransformView的所有细节,请查看RPG Movement Demo。
PhotonAnimatorView
PhotonAnimatorView允许您定义要同步的图层权重和哪些参数。 如果图层权重在游戏过程中发生变化,则只需要同步,并且可以根本不同步它们。 参数也是如此。 有时可以从其他因素推导出动画的价值。 速度值就是一个很好的例子,您不一定需要将该值完全同步,但可以使用同步位置更新来估计其值。 如果可能的话,尝试尽可能少的参数进行同步。
每个值可以离散或连续同步。
离散同步意味着一个值每秒发送10次(在OnPhotonSerializeView中)。 接收客户将价值传递给他们的本地动画。
持续同步意味着PhotonAnimatorView记录附加值。 当调用OnPhotonSerializeView(每秒10次)时,自上次调用以来记录的值一起发送。 接收客户端然后按顺序应用这些值以保持平滑过渡。 虽然此模式更顺畅,但它也会发送更多数据来实现此效果。
补充说明
初始Demo演示配置将“速度”设置为连续同步,而其他所有值均为离散同步。 速度和方向值特别说明了两种模式之间的差异。 您可以清楚地看到,速度参数的接收值在发送时变得平滑,但接收到的方向参数值以较大的步幅变化更慢。 如果将方向参数的同步模式从离散模式更改为连续模式,则结果将比离散模式更平滑(以流量为代价)。
所有这些都是通过简单地将PhotonAnimatorView组件应用到角色并将每个参数的同步模式设置为最适合的方式来实现的。

UUG山东
5
Comments
枫叶 飘零
24 days ago
ceo - Manager
可以添加微信公众号PhotonServer来获取更多内容。
0