Untitled

Anonymous
csharp
10/14/2026 11:16 PM
5.9 KB
1
Indexable

using UnityEngine;
using Unity.Netcode;

[RequireComponent(typeof(CharacterController))]
public class PlayerMovement : NetworkBehaviour
{
        public float moveSpeed = 5f;
            public float rotationSpeed = 12f;
                public float gravity = -20f;

                    private CharacterController controller;
                        private Vector3 verticalVelocity;

                            public override void OnNetworkSpawn()
                                {
                                            controller = GetComponent<CharacterController>();

                                                    // Only the owning player controls this character.
                                                            if (!IsOwner)
                                                                    {
                                                                                    enabled = false;
                                                                    }
                                }

                                    private void Update()
                                        {
                                                    if (!IsOwner || controller == null) return;

                                                            float x = Input.GetAxis("Horizontal");
                                                                    float z = Input.GetAxis("Vertical");

                                                                            Vector3 move = new Vector3(x, 0f, z);
                                                                                    move = Vector3.ClampMagnitude(move, 1f);

                                                                                            if (move.sqrMagnitude > 0.01f)
                                                                                                    {
                                                                                                                    transform.rotation = Quaternion.Slerp(
                                                                                                                                        transform.rotation,
                                                                                                                                                        Quaternion.LookRotation(move),
                                                                                                                                                                        rotationSpeed * Time.deltaTime
                                                                                                                    );
                                                                                                    }

                                                                                                            controller.Move(move * moveSpeed * Time.deltaTime);

                                                                                                                    if (controller.isGrounded && verticalVelocity.y < 0f)
                                                                                                                                verticalVelocity.y = -2f;

                                                                                                                                        verticalVelocity.y += gravity * Time.deltaTime;

                                                                                                                                                controller.Move(
                                                                                                                                                                verticalVelocity * Time.deltaTime
                                                                                                                                                );
                                        }
}

                                                                                                                                                )
                                                                                                                    )
                                                                                                    }
                                        }
                                                                    }
                                }
}
Editor is loading...
Leave a Comment