Unitys einfache Kombination aus Charakterbewegung und Kamera (schrittweise verbessert)

CharacterController.MoveTransform.TransformDirection(Vector3)

Vorbereitungen davor

  1. Fügen Sie CharacterController zum Player hinzu

  1. m_cam_ang ist Vector3, der zum Speichern von Kamerarotationsdaten verwendet wird

  1. m_cam ist die Kamera

  1. m_transform = this.transform

player.cs

//更新摄像机旋转角度
m_cam_ang.y += Input.GetAxis("Mouse X");
m_cam_ang.x -= Input.GetAxis("Mouse Y");
m_cam.eulerAngles = m_cam_ang;
//更新人物的旋转角度
Vector3 ang = Vector3.zero;
ang.y = m_cam.eulerAngles.y;
m_transform.eulerAngles = ang;
//人物移动
Vector3 motion = Vector3.zero;
motion.x = Input.GetAxis("Horizontal") * Time.deltaTime * 5;
motion.z = Input.GetAxis("Vertical") * Time.deltaTime * 5;
m_characterController.Move(m_transform.TransformDirection(motion));
player.cs Direktkopieversion

Vorbereitungen vor dem Kopieren

a. Fügen Sie CharacterController zum Player hinzu

b. Fügen Sie dem Umgebungsobjekt einen Conllider hinzu

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
public class player : MonoBehaviour
{
    [HideInInspector]
    public Transform m_transform;
    CharacterController m_characterController;
    Transform m_cam;
    Vector3 m_cam_ang = Vector3.zero;
    void Start() {
        m_transform = this.transform;
        m_characterController = GetComponent<CharacterController>();
        m_cam = Camera.main.transform;
    }
    void Update() {
        //更新摄像机旋转角度
        m_cam_ang.y += Input.GetAxis("Mouse X");
        m_cam_ang.x -= Input.GetAxis("Mouse Y");
        m_cam.eulerAngles = m_cam_ang;
        //更新人物的旋转角度
        Vector3 ang = Vector3.zero;
        ang.y = m_cam.eulerAngles.y;
        m_transform.eulerAngles = ang;
        //人物移动
        Vector3 motion = Vector3.zero;
        motion.x = Input.GetAxis("Horizontal")*Time.deltaTime*5;
        motion.z = Input.GetAxis("Vertical")*Time.deltaTime * 5;
        m_characterController.Move(m_transform.TransformDirection(motion));
    }
}

Supongo que te gusta

Origin blog.csdn.net/HeDanTou_/article/details/129326241
Recomendado
Clasificación