M1: add networked rigged player avatar (run-around character)

- 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>
This commit is contained in:
megaproxy 2026-07-12 18:43:39 +01:00
parent 5db61fdb57
commit 94951ec70a
141 changed files with 287727 additions and 1 deletions

View file

@ -0,0 +1,18 @@
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;
}
}