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 0306045697
commit beb17eacdf
141 changed files with 287727 additions and 1 deletions

View file

@ -0,0 +1,527 @@
fileFormatVersion: 2
guid: 0ae152169d2f25748b6cd4553a76c5ac
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Character 09 Material
second: {fileID: 2100000, guid: cbda244a31cc62a40afe6e94665818d9, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 3
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human:
- boneName: mixamorig:Hips
humanName: Hips
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftUpLeg
humanName: LeftUpperLeg
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightUpLeg
humanName: RightUpperLeg
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftLeg
humanName: LeftLowerLeg
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightLeg
humanName: RightLowerLeg
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftFoot
humanName: LeftFoot
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightFoot
humanName: RightFoot
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:Spine
humanName: Spine
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:Spine1
humanName: Chest
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:Neck
humanName: Neck
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:Head
humanName: Head
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftShoulder
humanName: LeftShoulder
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightShoulder
humanName: RightShoulder
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftArm
humanName: LeftUpperArm
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightArm
humanName: RightUpperArm
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftForeArm
humanName: LeftLowerArm
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightForeArm
humanName: RightLowerArm
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHand
humanName: LeftHand
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHand
humanName: RightHand
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftToeBase
humanName: LeftToes
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightToeBase
humanName: RightToes
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandIndex1
humanName: Left Index Proximal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandIndex2
humanName: Left Index Intermediate
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandIndex3
humanName: Left Index Distal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandIndex1
humanName: Right Index Proximal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandIndex2
humanName: Right Index Intermediate
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandIndex3
humanName: Right Index Distal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:Spine2
humanName: UpperChest
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
skeleton:
- name: Character 09 T-Pose(Clone)
parentName:
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Armature
parentName: Character 09 T-Pose(Clone)
position: {x: -0, y: 0, z: 0}
rotation: {x: 0.70710665, y: 0, z: -0, w: 0.7071069}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Hips
parentName: Armature
position: {x: -0.000018638697, y: 0.0032251133, z: -0.8617505}
rotation: {x: -0.70710665, y: 0.000091390015, z: 0.00009717299, w: 0.7071069}
scale: {x: 0.9999999, y: 0.9999999, z: 1}
- name: mixamorig:Spine
parentName: mixamorig:Hips
position: {x: 1.3267609e-11, y: 0.12397684, z: -0.00071026763}
rotation: {x: -0.002864622, y: 0.0000044709923, z: -0.0001333219, w: 0.9999959}
scale: {x: 0.99999994, y: 1, z: 1}
- name: mixamorig:Spine1
parentName: mixamorig:Spine
position: {x: -1.303158e-12, y: 0.14464188, z: 4.6567233e-10}
rotation: {x: -0.000000005122274, y: -4.654484e-14, z: 6.818655e-13, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Spine2
parentName: mixamorig:Spine1
position: {x: -3.6202493e-12, y: 0.16530496, z: 1.7463403e-10}
rotation: {x: 0.0000000060535967, y: -1.6022952e-18, z: 2.083701e-19, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Neck
parentName: mixamorig:Spine2
position: {x: -3.8692678e-12, y: 0.18596824, z: 9.895413e-10}
rotation: {x: 0.0028644858, y: 4.1979563e-14, z: 2.2749497e-13, w: 0.9999959}
scale: {x: 1, y: 1, z: 0.99999994}
- name: mixamorig:Head
parentName: mixamorig:Neck
position: {x: -1.8916336e-12, y: 0.15923059, z: -0.011130648}
rotation: {x: 5.293956e-22, y: -3.6605927e-18, z: -4.5556972e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:HeadTop_End
parentName: mixamorig:Head
position: {x: 3.730989e-14, y: 0.36476278, z: -0.025497908}
rotation: {x: 5.293956e-22, y: -3.6605927e-18, z: -4.5556972e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftShoulder
parentName: mixamorig:Spine2
position: {x: -0.07298769, y: 0.16724724, z: -0.00020734598}
rotation: {x: 0.55940366, y: -0.43209904, z: 0.5610142, w: 0.43083763}
scale: {x: 0.9999999, y: 1, z: 0.9999999}
- name: mixamorig:LeftArm
parentName: mixamorig:LeftShoulder
position: {x: -5.820766e-11, y: 0.1492955, z: 0.00000013136105}
rotation: {x: -0.12871997, y: -0.0039997883, z: -0.0009397506, w: 0.9916725}
scale: {x: 1.0000002, y: 0.9999998, z: 0.9999999}
- name: mixamorig:LeftForeArm
parentName: mixamorig:LeftArm
position: {x: 5.2060045e-10, y: 0.17442381, z: 0.00000008059999}
rotation: {x: -0.0000002751555, y: -0.00007131668, z: -0.00000032380206, w: 1}
scale: {x: 0.9999999, y: 0.99999994, z: 0.99999994}
- name: mixamorig:LeftHand
parentName: mixamorig:LeftForeArm
position: {x: 4.0108716e-10, y: 0.33985966, z: 0.000000080688324}
rotation: {x: 0.0000048213283, y: 0.70046306, z: -0.0000022912075, w: 0.7136887}
scale: {x: 1, y: 0.9999999, z: 0.9999999}
- name: mixamorig:LeftHandIndex1
parentName: mixamorig:LeftHand
position: {x: -0.00000027633905, y: 0.043096792, z: -0.0000000142454155}
rotation: {x: 0.0000026862829, y: 0.99975616, z: 0.000000117499056, w: 0.022084069}
scale: {x: 0.99999994, y: 0.9999999, z: 0.9999993}
- name: mixamorig:LeftHandIndex2
parentName: mixamorig:LeftHandIndex1
position: {x: -0.00000021502092, y: 0.064296216, z: -0.0000000016780177}
rotation: {x: 0.23459288, y: -0.000000267417, z: 0.049594287, w: 0.9708278}
scale: {x: 1, y: 1.0000002, z: 1.0000001}
- name: mixamorig:LeftHandIndex3
parentName: mixamorig:LeftHandIndex2
position: {x: 0.006263771, y: 0.057936292, z: -0.029827213}
rotation: {x: 0.037119184, y: -0.04620889, z: -0.08193367, w: 0.99487376}
scale: {x: 0.9999998, y: 0.9999996, z: 0.9999999}
- name: mixamorig:LeftHandIndex4
parentName: mixamorig:LeftHandIndex3
position: {x: -0.0045213886, y: 0.04163992, z: -0.025475005}
rotation: {x: -0.000000023748722, y: 8.271871e-25, z: -0.0000000102445465, w: 1}
scale: {x: 1.0000001, y: 1.0000002, z: 1.0000001}
- name: mixamorig:RightShoulder
parentName: mixamorig:Spine2
position: {x: 0.07298769, y: 0.16724609, z: -0.000007163996}
rotation: {x: -0.56024516, y: -0.43140876, z: 0.56031096, w: -0.4313509}
scale: {x: 0.99999994, y: 1, z: 0.9999999}
- name: mixamorig:RightArm
parentName: mixamorig:RightShoulder
position: {x: 0.0000000010604708, y: 0.1492954, z: 0.000000011763063}
rotation: {x: -0.12872592, y: 0.004726641, z: -0.0005510861, w: 0.9916688}
scale: {x: 0.99999994, y: 1, z: 1.0000001}
- name: mixamorig:RightForeArm
parentName: mixamorig:RightArm
position: {x: -6.375558e-10, y: 0.17444685, z: -0.0000001283181}
rotation: {x: -0.0000007566235, y: 0.000077014614, z: 0.00000016556282, w: 1}
scale: {x: 1, y: 1.0000001, z: 1}
- name: mixamorig:RightHand
parentName: mixamorig:RightForeArm
position: {x: -3.7471182e-10, y: 0.3398603, z: -0.000000021708175}
rotation: {x: -0.0000009372597, y: -0.7464297, z: -0.00000017769267, w: 0.66546434}
scale: {x: 0.9999998, y: 0.99999994, z: 0.9999997}
- name: mixamorig:RightHandIndex1
parentName: mixamorig:RightHand
position: {x: -0.00000013912518, y: 0.03863891, z: -0.000000012811142}
rotation: {x: 0.00000084276536, y: 0.9933368, z: -0.00000026138943, w: 0.11524768}
scale: {x: 0.9999999, y: 1.0000002, z: 1}
- name: mixamorig:RightHandIndex2
parentName: mixamorig:RightHandIndex1
position: {x: -0.00000002435445, y: 0.050126307, z: -0.000000017183993}
rotation: {x: 0.23486336, y: 0.00000006343363, z: 0.15079987, w: 0.9602597}
scale: {x: 0.9999999, y: 1, z: 0.99999994}
- name: mixamorig:RightHandIndex3
parentName: mixamorig:RightHandIndex2
position: {x: 0.023545256, y: 0.06849084, z: -0.03659609}
rotation: {x: -0.12960503, y: 0.029007735, z: -0.028925806, w: 0.99071914}
scale: {x: 1.0000001, y: 1, z: 1}
- name: mixamorig:RightHandIndex4
parentName: mixamorig:RightHandIndex3
position: {x: 0.013436958, y: 0.04944992, z: -0.010510231}
rotation: {x: 0.00000003539026, y: 0.000000014901161, z: -0.0000000027939677,
w: 1}
scale: {x: 1, y: 0.9999999, z: 0.99999994}
- name: mixamorig:LeftUpLeg
parentName: mixamorig:Hips
position: {x: -0.096310444, y: -0.068592854, z: -0.0049199564}
rotation: {x: 0.00011246063, y: -0.0039017869, z: 0.9999886, w: 0.0027469946}
scale: {x: 1.0000001, y: 1, z: 1}
- name: mixamorig:LeftLeg
parentName: mixamorig:LeftUpLeg
position: {x: 0.0000000048654556, y: 0.37614858, z: -3.3287506e-10}
rotation: {x: -0.02436313, y: -0.0001251055, z: 0.0055514732, w: 0.9996878}
scale: {x: 0.99999994, y: 1.0000002, z: 0.99999994}
- name: mixamorig:LeftFoot
parentName: mixamorig:LeftLeg
position: {x: -0.000000004382173, y: 0.33542052, z: 0.0000000010950316}
rotation: {x: 0.4666487, y: -0.026066344, z: 0.002209847, w: 0.88405585}
scale: {x: 0.9999999, y: 0.99999994, z: 1}
- name: mixamorig:LeftToeBase
parentName: mixamorig:LeftFoot
position: {x: 0.000000001553417, y: 0.13220702, z: 0.000000018742867}
rotation: {x: 0.30913502, y: -0.026894666, z: 0.008746076, w: 0.9505976}
scale: {x: 0.99999994, y: 1.0000001, z: 1}
- name: mixamorig:LeftToe_End
parentName: mixamorig:LeftToeBase
position: {x: 0.0000000043205546, y: 0.05370841, z: 9.094947e-11}
rotation: {x: 0.000000027706847, y: 0.00000008393545, z: -0.00000006664777,
w: 1}
scale: {x: 0.99999994, y: 1, z: 1}
- name: mixamorig:RightUpLeg
parentName: mixamorig:Hips
position: {x: 0.096310444, y: -0.06859284, z: -0.0051368414}
rotation: {x: -0.000071333234, y: -0.0050907116, z: 0.99998397, w: -0.0024822864}
scale: {x: 1.0000002, y: 1, z: 0.99999994}
- name: mixamorig:RightLeg
parentName: mixamorig:RightUpLeg
position: {x: -0.0000000029945113, y: 0.37613186, z: 5.138645e-10}
rotation: {x: -0.02154239, y: 0.00012649222, z: -0.0055524833, w: 0.9997525}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightFoot
parentName: mixamorig:RightLeg
position: {x: 0.000000003332275, y: 0.33540136, z: 9.567884e-10}
rotation: {x: 0.46835387, y: 0.025617626, z: -0.002275637, w: 0.8831666}
scale: {x: 1.0000001, y: 1.0000001, z: 0.9999998}
- name: mixamorig:RightToeBase
parentName: mixamorig:RightFoot
position: {x: -0.000000010237272, y: 0.13344465, z: 0.0000000057043508}
rotation: {x: 0.30526394, y: 0.030846, z: -0.009893892, w: 0.95171666}
scale: {x: 1, y: 0.9999998, z: 0.9999998}
- name: mixamorig:RightToe_End
parentName: mixamorig:RightToeBase
position: {x: 0.0000000033123797, y: 0.05152404, z: -4.1836756e-10}
rotation: {x: -0.000000045751214, y: -0.000000075378914, z: 0.00000008178176,
w: 1}
scale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
- name: Character 09
parentName: Character 09 T-Pose(Clone)
position: {x: -0.000000004307367, y: -5.820798e-11, z: -0.0000000042127795}
rotation: {x: 0.70710665, y: -0.0000000013994064, z: 0.0000000038689483, w: 0.7071069}
scale: {x: 1, y: 1, z: 0.99999994}
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 1
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 3
humanoidOversampling: 1
avatarSetup: 1
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 388758
packageName: Low Poly Character Collection 3
packageVersion: 1.1
assetPath: Assets/Hodaart/HodaartLowPolyCharacterCollection3/Models/Character 09/Character
09 T-Pose.fbx
uploadId: 946460