@@ -19,23 +19,15 @@ public class NetworkPlayer : NetworkBehaviour
1919
2020 public static string InputUrl = string . Empty ;
2121 public NetworkVariable < FixedString64Bytes > avatarUrl = new NetworkVariable < FixedString64Bytes > ( writePerm : NetworkVariableWritePermission . Owner ) ;
22- public event Action OnPLayerLoadComplete ;
23-
24- private Animator animator ;
25-
22+ public event Action OnPlayerLoadComplete ;
23+
2624 private Transform leftEye ;
2725 private Transform rightEye ;
2826
29- private SkinnedMeshRenderer [ ] skinnedMeshRenderers ;
30-
3127 private void Awake ( )
3228 {
33- animator = GetComponent < Animator > ( ) ;
34-
3529 leftEye = transform . Find ( FULL_BODY_LEFT_EYE_BONE_NAME ) ;
3630 rightEye = transform . Find ( FULL_BODY_RIGHT_EYE_BONE_NAME ) ;
37-
38- skinnedMeshRenderers = GetComponentsInChildren < SkinnedMeshRenderer > ( ) ;
3931 }
4032
4133 public override void OnNetworkSpawn ( )
@@ -71,29 +63,10 @@ private void LoadAvatar(string url)
7163 leftEye . transform . localPosition = args . Avatar . transform . Find ( FULL_BODY_LEFT_EYE_BONE_NAME ) . localPosition ;
7264 rightEye . transform . localPosition = args . Avatar . transform . Find ( FULL_BODY_RIGHT_EYE_BONE_NAME ) . localPosition ;
7365
74- TransferMesh ( args . Avatar ) ;
66+ AvatarMeshHelper . TransferMesh ( args . Avatar , gameObject ) ;
67+ Destroy ( args . Avatar ) ;
68+ OnPlayerLoadComplete ? . Invoke ( ) ;
7569 } ;
7670 }
77-
78- //TODO: Multiple mesh transfer support.
79- private void TransferMesh ( GameObject source )
80- {
81- var sourceAnimator = source . GetComponentInChildren < Animator > ( ) ;
82- SkinnedMeshRenderer [ ] sourceMeshes = source . GetComponentsInChildren < SkinnedMeshRenderer > ( ) ;
83-
84- for ( var i = 0 ; i < sourceMeshes . Length ; i ++ )
85- {
86- Mesh mesh = sourceMeshes [ i ] . sharedMesh ;
87- skinnedMeshRenderers [ i ] . sharedMesh = mesh ;
88-
89- Material [ ] materials = sourceMeshes [ i ] . sharedMaterials ;
90- skinnedMeshRenderers [ i ] . sharedMaterials = materials ;
91- }
92-
93- Avatar avatar = sourceAnimator . avatar ;
94- animator . avatar = avatar ;
95- OnPLayerLoadComplete ? . Invoke ( ) ;
96- Destroy ( source ) ;
97- }
9871 }
9972}
0 commit comments