Photon Fusion 1.1.9

Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | Properties | List of all members
NetworkTransformObsolete Class Reference

Replicates a Unity Transform state from the NetworkObject.StateAuthority to all other peers. Add this component to a GameObject to sync the position and/or rotation. A NetworkObject is required on this GameObject or a parent of this GameObject. More...

Inherits NetworkTransformAnchor, IAfterPhysicsStep, and IAfterTick.

Inherited by NetworkCharacterController, and NetworkRigidbodyBaseObsolete.

Public Member Functions

void AfterTick ()
 Called after each tick simulation completes.
 
override void CopyBackingFieldsToState (bool firstTime)
 
void PreTeleport ()
 Captures the current state as the interpolation lerp TO target leading up to a teleport, and flags the next tick as a teleport. Call this BEFORE making any TRS changes to the synced transform which represent the teleport. For continuously moving rigidbodies, it is preferable to call the explicit Teleport() method.
 
override 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.
 
override void Spawned ()
 Post spawn callback.
 
void Teleport (NetworkTransformAnchor newParent, Vector3? position, Rotation? rotation=null, Vector3? localScale=null, bool reset=false, Vector3? velocity=null, Vector3? angularVelocity=null)
 
void Teleport (Vector3? position, Rotation? rotation=null, Vector3? localScale=null, bool reset=false, Vector3? velocity=null, Vector3? angularVelocity=null)
 Teleport indicates that objects should not interpolate from the previous state to this new state.
 
- Public Member Functions inherited from NetworkTransformAnchor
virtual void AfterAllTicks (bool resimulation, int tickCount)
 Called after the resimulation loop (when applicable), and also after the forward simulation loop. Only called on Updates where resimulation or forward ticks are processed.
 
virtual void BeforeAllTicks (bool resimulation, int tickCount)
 Called before the resimulation loop (when applicable), and also before the forward simulation loop. Only called on Updates where resimulation or forward ticks are processed.
 
virtual void BeforeCopyPreviousState ()
 
override void CopyBackingFieldsToState (bool firstTime)
 
virtual void RemotePrefabCreated ()
 
override 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.
 
- Public Member Functions inherited from NetworkBehaviour
virtual void CopyBackingFieldsToState (bool firstTime)
 
void CopyStateFrom (NetworkBehaviour source)
 Copies entire state of passed in source NetworkBehaviour
 
virtual void CopyStateToBackingFields ()
 
virtual void Despawned (NetworkRunner runner, bool hasState)
 Called before the network object is despawned.
 
override void FixedUpdateNetwork ()
 Fusion FixedUpdate timing callback.
 
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).
 
bool GetInterpolationData (out InterpolationData data, bool? predicted=null)
 Get 'To' and 'From' states, and the Alpha (t) values needed for lerping.
 
bool GetInterpolationData (out InterpolationData data, out bool predicted)
 Get 'To' and 'From' states, and the Alpha (t) values needed for interpolation.
 
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.
 
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.
 
int GetLocalAuthorityMask ()
 Gets a bitmask of AuthorityMasks flags, representing the current local authority over this NetworkObject.
 
delegate int[] InterestGroupsCallback (Type type, NetworkBehaviour behaviour)
 
virtual bool IsInterpolationDataPredicted ()
 If the behaviour data should be interpolated between latest predicted states or between snapshots.
 
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.
 
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.
 
void OnChangeClearAll ()
 Clear all dynamic OnChange callbacks from this behaviour.
 
bool OnChangeRemove (NetworkBehaviourCallbackReference reference)
 Removes a specific OnChange callback from this behaviour.
 
virtual void Spawned ()
 Post spawn callback.
 
virtual void FixedUpdateNetwork ()
 Fusion FixedUpdate timing callback.
 
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.
 
- Public Member Functions inherited from Behaviour
AddBehaviour< T > ()
 Wrapper for Unity's GameObject.AddComponent()
 
GetBehaviour< T > ()
 Wrapper for Unity's GameObject.GetComponentInChildren()
 
bool TryGetBehaviour< T > (out T behaviour)
 Wrapper for Unity's GameObject.TryGetComponent()
 
void BeforeAllTicks (bool resimulation, int tickCount)
 Called before the resimulation loop (when applicable), and also before the forward simulation loop. Only called on Updates where resimulation or forward ticks are processed.
 
void AfterAllTicks (bool resimulation, int tickCount)
 Called after the resimulation loop (when applicable), and also after the forward simulation loop. Only called on Updates where resimulation or forward ticks are processed.
 
void AfterPhysicsStep ()
 Called immediately after Physics.Simulate().
 
void AfterTick ()
 Called after each tick simulation completes.
 

Public Attributes

InterpolatedErrorCorrectionSettings InterpolatedErrorCorrectionSettings
 
bool InterpolateErrorCorrection = true
 
- Public Attributes inherited from NetworkBehaviour
bool InvokeRpc
 
int ObjectIndex
 The index of this NetworkBehaviour, in the NetworkObject.NetworkedBehaviours array.
 
int offset
 Gives access to the offset (in 32 bit words) and count (in 32 bit words) of this behaviour backing data.
 
int * Ptr
 Pointer to the allocated memory associated with this Object.
 
- Public Attributes inherited from SimulationBehaviour
NetworkObject Object
 The NetworkObject this component is associated with. May be null if this GameObject does not have a NetworkObject.
 
NetworkRunner Runner
 The NetworkRunner this component is associated with.
 

Static Public Attributes

const int POSITION_OFFSET = ANCHOR_WORD_COUNT - 3
 The Ptr offset location of the position values in allocated memory.
 
const int ROTATION_OFFSET = POSITION_OFFSET + 3
 The Ptr offset location of the rotation values in allocated memory.
 
const int SCALE_OFFSET = ROTATION_OFFSET + 4
 The Ptr offset location of the local scale values in allocated memory.
 

Protected Member Functions

virtual void ApplyQueuedTeleport ()
 Applies the latest unconsumed Teleport() call after the Forward simulation is complete, and before the TRS state is captured.
 
virtual void ApplyTransform (ref UpdateTransformParameters param)
 
override void Awake ()
 
virtual void Copy2BufferTRSState (int offset)
 
virtual void Copy2EngineTRSState (int offset)
 
virtual void GetEnginePositionRotation2Buffer (out Vector3 pos, out Quaternion rot)
 
void InterpolateTransform (ref InterpolationData data, bool isState)
 
virtual Quaternion ReadRotationToQuaternion (int *offset, ReadAccuracy readAccuracy)
 
virtual void Reset ()
 
- Protected Member Functions inherited from NetworkTransformAnchor
virtual void Awake ()
 
void Copy2BufferAnchorState (int offset=PARENT_OFFSET)
 
bool Copy2EngineAnchorState ()
 
virtual void OnEnable ()
 

Protected Attributes

bool Transform? Vector3? Rotation? Vector3 bool? Vector3? Vector3? angularVelocity _queuedTeleport
 
bool includeParent
 Most recent unconsumed Teleport() command.
 
float LastInterpolatedAtTime
 Stores the last UnityEngine.Time.time when interpolation was run for this component. Used to ensure interpolation is only run once per screen refresh.
 
bool Transform? Vector3? Rotation? Vector3 localScale
 
bool Transform parent
 
bool Transform? Vector3 position
 
bool Transform? Vector3? Rotation? Vector3 bool reset
 
bool Transform? Vector3? Rotation rotation
 
Spaces Space = Spaces.World
 Select if the synced state uses World or Local position and rotation values.
 
bool SyncScale
 Indicates if Scale should be included in Transform sync and interpolation (when enabled).
 
bool Transform? Vector3? Rotation? Vector3 bool? Vector3 velocity
 
- Protected Attributes inherited from NetworkTransformAnchor
Transform _interpolationTarget
 The Transform object used for interpolation. Should be a non-physics GameObject. Typically a child of this Rigidbody, or a separate object without colliders. The runner/simulation with State Authority will not interpolate if target is null or the same GameObject as the Rigidbody, as this will conflict with the PhysX simulation.
 
bool DetachInterpTarget
 EXPERIMENTAL: To improve interpolation of scaling, the interpolation target is detached from its NetworkObject. Only check this if you are syncing scaling. When re-parenting, this component's InterpolationTarget will re-parent to the parent's InterpolationTarget.
 
bool SyncParent = true
 Indicates if Transform.parent will be synced. Parent syncing requires the parent of this object either be null or have a NetworkTransformAnchor component.
 

Static Protected Attributes

const int BASE_WORD_COUNT = TELEPORT_OFFSET + 1
 The total number of words used by NetworkTransformObsolete. Derived classes using allocated memory should start their Ptr offsets using this value.
 
const int TELE_POS_OFFSET = SCALE_OFFSET + 3
 The Ptr offset for the secondary teleport position information. This position is used as the lerp TO target leading up to the teleport.
 
const int TELE_ROT_OFFSET = TELE_POS_OFFSET + 3
 The Ptr offset for the secondary teleport rotation information. This rotation is used as the lerp TO target leading up to the teleport.
 
const int TELE_SCL_OFFSET = TELE_ROT_OFFSET + 4
 The Ptr offset for the secondary teleport scale information. This scale is used as the lerp TO target leading up to the teleport.
 
const int TELEPORT_OFFSET = TELE_SCL_OFFSET + 3
 The Ptr offset of the teleport increment value. Increases by one every tick a teleport occurs.
 
- Static Protected Attributes inherited from NetworkTransformAnchor
const int ANCHOR_WORD_COUNT = POSITION_OFFSET + 3
 The total number of words used by NetworkTransformAnchor. Derived classes using allocated memory should start their Ptr offsets using this value.
 
const int PARENT_OFFSET = 0
 The Ptr offset for the memory position of the Parent info. The parenting info is 2 words (8 bytes).
 
const int TELE_PAR_OFFSET = PARENT_OFFSET + 2
 The Ptr offset for the secondary teleport parent information. This parent is used by the lerp TO target leading up to the teleport.
 

Properties

override int PositionWordOffset [get]
 Gets the Ptr offset of the Position values in allocated memory.
 
int * TeleportCounter [get]
 The frame of the next Teleport action.
 
- Properties inherited from NetworkTransformAnchor
Transform InterpolationTarget [get, set]
 The Transform object used for interpolation. Should be a non-physics GameObject. Typically a child of this GameObject without colliders, or a separate GameObject without colliders.
 
override int PositionWordOffset [get]
 Gets the Ptr offset of the Position values in allocated memory.
 
Transform Transform [get]
 
- Properties inherited from NetworkAreaOfInterestBehaviour
abstract int PositionWordOffset [get]
 The int* offset for the Ptr, for the memory location of the position data.
 
- Properties inherited from NetworkBehaviour
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.

 
NetworkBehaviourId Id [get]
 The unique identifier for this network behaviour.
 
InterpolationDataSources InterpolationDataSource [get, set]
 Get/Set the time frame this object is rendered in.
 
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.
 
int int count WordInfo [get]
 
- 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.
 
virtual bool HasStateAuthority [get]
 Returns true if the associated NetworkRunner is the State Authority for this network entity.
 
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.
 

Additional Inherited Members

- Public Types inherited from NetworkBehaviour
enum  InterpolationDataSources
 Options for which time frame this object will render in. More...
 
- Static Public Member Functions inherited from NetworkBehaviour
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.
 
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.
 
static T * MakePtr< T > ()
 
static T * MakePtr< T > (T defaultValue)
 
static ref T MakeRef< T > ()
 
static ref T MakeRef< T > (T defaultValue)
 
static int NetworkDeserialize (NetworkRunner runner, byte *data, ref NetworkBehaviour result)
 
static int NetworkSerialize (NetworkRunner runner, NetworkBehaviour obj, byte *data)
 
static NetworkBehaviour NetworkUnwrap (NetworkRunner runner, NetworkBehaviourId wrapper)
 
static NetworkBehaviourId NetworkWrap (NetworkRunner runner, NetworkBehaviour obj)
 
static implicit operator NetworkBehaviourId (NetworkBehaviour behaviour)
 Converts NetworkBehaviour to NetworkBehaviourId.
 
- Static Public Member Functions inherited from Behaviour
static void DestroyBehaviour (Behaviour behaviour)
 Wrapper for Unity's GameObject.Destroy()
 

Detailed Description

Replicates a Unity Transform state from the NetworkObject.StateAuthority to all other peers. Add this component to a GameObject to sync the position and/or rotation. A NetworkObject is required on this GameObject or a parent of this GameObject.

Member Function Documentation

◆ AfterTick()

void AfterTick ( )

Called after each tick simulation completes.

Implements IAfterTick.

◆ ApplyQueuedTeleport()

virtual void ApplyQueuedTeleport ( )
protectedvirtual

Applies the latest unconsumed Teleport() call after the Forward simulation is complete, and before the TRS state is captured.

Reimplemented in NetworkCharacterController, NetworkRigidbodyObsolete, and NetworkRigidbodyObsolete2D.

◆ Awake()

override void Awake ( )
protectedvirtual

Reimplemented from NetworkTransformAnchor.

◆ CopyBackingFieldsToState()

override void CopyBackingFieldsToState ( bool  firstTime)
virtual

Reimplemented from NetworkTransformAnchor.

◆ Render()

override void Render ( )
virtual

Post simulation frame rendering callback. Runs after all simulations have finished. Use in place of Unity's Update when Fusion is handling Physics.

Reimplemented from NetworkTransformAnchor.

◆ Spawned()

override void Spawned ( )
virtual

Post spawn callback.

Reimplemented from NetworkBehaviour.

◆ Teleport()

void Teleport ( Vector3?  position,
Rotation rotation = null,
Vector3?  localScale = null,
bool  reset = false,
Vector3?  velocity = null,
Vector3?  angularVelocity = null 
)

Teleport indicates that objects should not interpolate from the previous state to this new state.

Parameters
positionSets the position or rigidbody.position to this value prior to state sync.
rotationIf not null, Sets the position or rigidbody.rotation to this value prior to state sync.
localScaleIf not null, Sets the localScale to this value prior to state sync. Accepts a Quaternion, Euler (Vector3), or 2d Z value (float)
resetResets velocity, angular velocity, and controller states to default if applicable. Typically set to true if teleport is used for a respawn.
velocitySets the velocity after teleport. Ignored if this is not a Rigidbody or CharacterController. Overrides reset.
angularVelocitySets the angular velocity after teleport. Ignored if this is not a Rigidbody. Overrides reset.