Photon Fusion 1.1.2

Public Member Functions | Public Attributes | Properties | List of all members
NetworkMecanimAnimator Class Reference

A component for synchronizing the Animator controller state from the State Authority to network proxies. Requires a Unity Animator component, and a NetworkObject component. NOTE: Animator Root Motion is not compatible with re-simulation and prediction. More...

Inherits NetworkBehaviour, and IAfterAllTicks.

Public Member Functions

override void Spawned ()
 Post spawn callback. More...
 
void SetTrigger (int triggerHash, bool passThroughOnInputAuthority=false)
 Queues a SetTrigger() call for the associated Animator on the State Authority. Call this instead of Animator.SetTrigger() for the State Authority to ensure that triggers are captured. On State Authority, this call will defer the SetTrigger() pass-through to the Animator until FixedUpdateNetwork() is called, where all queued triggers will be executed (this is to ensure tick agreement between server and clients). More...
 
void SetTrigger (string trigger, bool passThroughOnInputAuthority=false)
 Queues a SetTrigger() call for the associated Animator on the State Authority. Call this instead of Animator.SetTrigger() for the State Authority to ensure that triggers are captured. On State Authority, this call will defer the SetTrigger() pass-through to the Animator until FixedUpdateNetwork() is called, where all queued triggers will be executed (this is to ensure tick agreement between server and clients). More...
 
override void FixedUpdateNetwork ()
 Fusion FixedUpdate timing callback. More...
 
- Public Member Functions inherited from NetworkBehaviour
delegate int[] InterestGroupsCallback (Type type, NetworkBehaviour behaviour)
 
int GetLocalAuthorityMask ()
 Gets a bitmask of AuthorityMasks flags, representing the current local authority over this NetworkObject. More...
 
void CopyStateFrom (NetworkBehaviour source)
 Copies entire state of passed in source NetworkBehaviour More...
 
virtual void CopyBackingFieldsToState (bool firstTime)
 
virtual void CopyStateToBackingFields ()
 
virtual void Despawned (NetworkRunner runner, bool hasState)
 Called before the network object is despawned More...
 
bool GetInterpolationData (out InterpolationData data, bool? predicted=null)
 Get 'To' and 'From' states, and the Alpha (t) values needed for lerping. More...
 
bool GetInterpolationData (out InterpolationData data, out bool predicted)
 Get 'To' and 'From' states, and the Alpha (t) values needed for interpolation. More...
 
virtual bool IsInterpolationDataPredicted ()
 If the behaviour data should be interpolated between latest predicted states or between snapshots. More...
 
void OnChangeClearAll ()
 Clear all dynamic OnChange callbacks from this behaviour More...
 
bool OnChangeRemove (NetworkBehaviourCallbackReference reference)
 Removes a specific OnChange callback from this behaviour More...
 
NetworkBehaviourCallbackReference OnChangeAdd< T > (int wordOffset, int wordCount, ChangedDelegate< T > callback, OnChangedTargets targets=OnChangedTargets.All)
 Adds a OnChange callback to this behaviour which is bound to a specific word offset and word count More...
 
NetworkBehaviourCallbackReference OnChangeAdd< T > (string propertyName, ChangedDelegate< T > callback, OnChangedTargets targetses=OnChangedTargets.All)
 Adds a OnChange callback to this behaviour which is bound to a specific weaved property More...
 
T? GetInput< T > ()
 
bool GetInput< T > (out T input)
 Returns true if it a valid INetworkInput can be found for the current simulation tick (Typically this is used in FixedUpdateNetwork). More...
 
RawInterpolator GetInterpolator (string propertyName)
 Get a raw interpolator for a networked property. The returned RawInterpolator provides a way to calculate the "between-ticks" value of the named [Networked] property. More...
 
Interpolator< T > GetInterpolator< T > (string propertyName)
 Get an interpolator for a networked property. The returned Interpolator provides a way to calculate the "between-ticks" value of the named [Networked] property with the specified type T. The value is a linear interpolation between the "from" and the "to" ticks and is available via the Value property on the Interpolator. More...
 
- Public Member Functions inherited from SimulationBehaviour
virtual void Render ()
 Post simulation frame rendering callback. Runs after all simulations have finished. Use in place of Unity's Update when Fusion is handling Physics. More...
 
- Public Member Functions inherited from Behaviour
AddBehaviour< T > ()
 Wrapper for Unity's GameObject.AddComponent() More...
 
bool TryGetBehaviour< T > (out T behaviour)
 Wrapper for Unity's GameObject.TryGetComponent() More...
 
GetBehaviour< T > ()
 Wrapper for Unity's GameObject.GetComponentInChildren() More...
 

Public Attributes

Animator Animator
 The Animator being synced. More...
 
Accuracy FloatAccuracy = new Accuracy(AccuracyDefaults.DEFAULT)
 Accuracy used for parameter float values. More...
 
Accuracy TimeAccuracy = new Accuracy(AccuracyDefaults.NORMALIZED_TIME)
 Accuracy used for animator state normalized time values. More...
 
Accuracy WeightAccuracy = new Accuracy(AccuracyDefaults.DEFAULT)
 Accuracy used for layer weight values. More...
 
- Public Attributes inherited from NetworkBehaviour
int * Ptr
 Pointer to the allocated memory associated with this Object. More...
 
int ObjectIndex
 The index of this NetworkBehaviour, in the NetworkObject.NetworkedBehaviours array. More...
 
bool InvokeRpc
 
int offset
 Gives access to the offset (in 32 bit words) and count (in 32 bit words) of this behaviour backing data More...
 
- Public Attributes inherited from SimulationBehaviour
NetworkRunner Runner
 The NetworkRunner this component is associated with. More...
 
NetworkObject Object
 The NetworkObject this component is associated with. May be null if this GameObject does not have a NetworkObject. More...
 

Properties

override? int DynamicWordCount [get]
 
- Properties inherited from NetworkBehaviour
InterpolationDataSources InterpolationDataSource [get, set]
 Get/Set the time frame this object is rendered in. More...
 
NetworkBehaviourId Id [get]
 The unique identifier for this network behaviour. More...
 
virtual ? int DynamicWordCount [get]
 Override this value for custom memory allocations. This is for advanced use cases only, and cannot be used if NetworkedAttribute is used in the derived class.
More...
 
virtual bool InvokeOnChangedForInitialNonZeroValues [get]
 Override this property to change whether initial non-zero values assigned to [Networked] properties invoke OnChanged callbacks. For clients the initial value comes from the simulation snapshot, not from what has been set locally in the inspector. More...
 
- Properties inherited from SimulationBehaviour
bool CanReceiveCallback [get]
 
virtual bool? HasInputAuthority [get]
 Returns true if the Simulation.LocalPlayer of the associated NetworkRunner is the designated as Input Authority for this network entity. More...
 
virtual bool? HasStateAuthority [get]
 Returns true if the associated NetworkRunner is the State Authority for this network entity. More...
 
virtual bool? IsProxy [get]
 Returns true if the associated NetworkRunner is neither the Input nor State Authority for this network entity. It is recommended to use !HasStateAuthority or !HasInputAuthority when possible instead, as this check requires evaluating both authorities - and is therefore less performant than the individual checks. More...
 

Additional Inherited Members

- Public Types inherited from NetworkBehaviour
enum class  InterpolationDataSources
 Options for which time frame this object will render in. More...
 
- Static Public Member Functions inherited from NetworkBehaviour
static int NetworkSerialize (NetworkRunner runner, NetworkBehaviour obj, byte *data)
 
static int NetworkDeserialize (NetworkRunner runner, byte *data, ref NetworkBehaviour result)
 
static NetworkBehaviourId NetworkWrap (NetworkRunner runner, NetworkBehaviour obj)
 
static NetworkBehaviour NetworkUnwrap (NetworkRunner runner, NetworkBehaviourId wrapper)
 
static ref T MakeRef< T > ()
 
static ref T MakeRef< T > (T defaultValue)
 
static T * MakePtr< T > ()
 
static T * MakePtr< T > (T defaultValue)
 
static NetworkBehaviourUtils.ArrayInitializer< T > MakeInitializer< T > (T[] array)
 This is a special method that is meant to be used only for [Networked] properties inline initialization. More...
 
static NetworkBehaviourUtils.DictionaryInitializer< K, V > MakeInitializer< K, V > (Dictionary< K, V > dictionary)
 This is a special method that is meant to be used only for [Networked] properties inline initialization. More...
 
static implicit operator NetworkBehaviourId (NetworkBehaviour behaviour)
 Converts NetworkBehaviour to NetworkBehaviourId More...
 
- Static Public Member Functions inherited from Behaviour
static void DestroyBehaviour (Behaviour behaviour)
 Wrapper for Unity's GameObject.Destroy() More...
 

Detailed Description

A component for synchronizing the Animator controller state from the State Authority to network proxies. Requires a Unity Animator component, and a NetworkObject component. NOTE: Animator Root Motion is not compatible with re-simulation and prediction.

Member Function Documentation

◆ FixedUpdateNetwork()

override void FixedUpdateNetwork ( )
virtual

Fusion FixedUpdate timing callback.

Reimplemented from NetworkBehaviour.

◆ SetTrigger() [1/2]

void SetTrigger ( int  triggerHash,
bool  passThroughOnInputAuthority = false 
)

Queues a SetTrigger() call for the associated Animator on the State Authority. Call this instead of Animator.SetTrigger() for the State Authority to ensure that triggers are captured. On State Authority, this call will defer the SetTrigger() pass-through to the Animator until FixedUpdateNetwork() is called, where all queued triggers will be executed (this is to ensure tick agreement between server and clients).

Parameters
triggerHash
passThroughOnInputAuthorityWill call Animator.SetTrigger() immediately on the InputAuthority. If false, SetTrigger() will not be called on the Input Authority at all and Animator.SetTrigger() should be called explicitly as needed.

◆ SetTrigger() [2/2]

void SetTrigger ( string  trigger,
bool  passThroughOnInputAuthority = false 
)

Queues a SetTrigger() call for the associated Animator on the State Authority. Call this instead of Animator.SetTrigger() for the State Authority to ensure that triggers are captured. On State Authority, this call will defer the SetTrigger() pass-through to the Animator until FixedUpdateNetwork() is called, where all queued triggers will be executed (this is to ensure tick agreement between server and clients).

Parameters
trigger
passThroughOnInputAuthorityWill call Animator.SetTrigger() immediately on the InputAuthority. If false, SetTrigger() will not be called on the Input Authority at all and Animator.SetTrigger() should be called explicitly as needed.

◆ Spawned()

override void Spawned ( )
virtual

Post spawn callback.

Reimplemented from NetworkBehaviour.

Member Data Documentation

◆ Animator

Animator Animator

The Animator being synced.

◆ FloatAccuracy

Accuracy used for parameter float values.

◆ TimeAccuracy

Accuracy used for animator state normalized time values.

◆ WeightAccuracy

Accuracy used for layer weight values.