Network Animator 组件允许您同步网络对象的动画状态。它同步来自 Animator Controller 的状态和参数。
请注意,如果您在空游戏对象上创建 Network Animator 组件,Mirror 还会在该游戏对象上创建 Network Identity 组件和 Animator 组件。
- Client Authority
启用它以更改从客户端发送到服务器的动画参数。 - Animator
使用此字段来定义您希望 Network Animator 与之同步的 Animator 组件。
通常,更改会发送到该组件所在对象的所有观察者。将同步模式设置为仅所有者使更改在服务器和对象的客户端所有者之间成为私有。
您可以使用同步间隔来指定同步频率(以秒为单位)。
Details
Network Animator 确保游戏对象动画在网络上的同步,这意味着所有玩家看到的动画同时发生。网络动画有两种权限(参见网络权限文档):
注意:Animator Triggers不会直接同步。改为调用 NetworkAnimator.SetTrigger。具有权限的游戏对象可以使用 SetTrigger 函数在其他客户端上触发动画触发器。
- 如果游戏对象在客户端上具有权限,您应该在拥有该游戏对象的客户端上本地对其进行动画处理。该客户端将动画状态信息发送到服务器,服务器将其广播给所有其他客户端。例如,这可能适用于具有客户端权限的玩家角色。
- 如果游戏对象在服务器上具有权限,那么您应该在服务器上对其进行动画处理。然后服务器将状态信息发送给所有客户端。这对于与特定客户端无关的动画游戏对象很常见,例如场景对象和非玩家角色,或服务器权威客户端。