- Import Hodaart Low Poly Character Collection 3 (humanoid-rigged, LFS) - PlayerAvatar.cs: owner-authoritative CharacterController movement, animation derived from measured speed on every client (no NetworkAnimator needed) - OwnerAuthNetworkTransform.cs: owner-authoritative NetworkTransform - PlayerLocomotion.controller: Idle/Walk/Run 1D blend tree on Speed (reuses Hodaart clips) - PlayerCharacter.prefab (Character 01 + CC + NetworkObject + owner NT + PlayerAvatar + Animator w/ humanoid avatar); registered as PlayerPrefab - Verified in play: spawns, visible, Idle pose (rig animates), owner-auth Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
18 lines
743 B
C#
18 lines
743 B
C#
using Unity.Netcode.Components;
|
|
|
|
namespace Jankenbots.Prototype
|
|
{
|
|
/// <summary>
|
|
/// Owner-authoritative NetworkTransform. The default NetworkTransform is
|
|
/// SERVER-authoritative (right for the host-simulated bot/ball). For a
|
|
/// run-around PLAYER avatar we want the owning client to be the source of
|
|
/// truth so their own movement is lag-free — the owner writes its transform
|
|
/// and NGO replicates it to everyone else. This is the canonical NGO pattern
|
|
/// (override OnIsServerAuthoritative → false).
|
|
/// </summary>
|
|
[UnityEngine.DisallowMultipleComponent]
|
|
public class OwnerAuthNetworkTransform : NetworkTransform
|
|
{
|
|
protected override bool OnIsServerAuthoritative() => false;
|
|
}
|
|
}
|