“Skrypt ruchu kamery jedności” Kod odpowiedzi

Skrypt ruchu kamery Unity 3D

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class thirdpersonmovement : MonoBehaviour
{
    public CharacterController controller;
    public Transform cam;

    public float speed = 6f;

    public float turnSmoothTime = 0.1f;
    float turnSmoothVelocity;

    // Update is called once per frame
    void Update()
    {
        float horizontal = Input.GetAxisRaw("Horizontal");
        float vertical = Input.GetAxisRaw("Vertical");
        Vector3 direction = new Vector3(horizontal, 0f, vertical).normalized;

        if (direction.magnitude >= 0.1f)
        {
            float targetAngle = Mathf.Atan2(direction.x, direction.z) * Mathf.Rad2Deg + cam.eulerAngles.y;
            float angle = Mathf.SmoothDampAngle(transform.eulerAngles.y, targetAngle, ref turnSmoothVelocity, turnSmoothTime);
            transform.rotation = Quaternion.Euler(0f, angle, 0f);
            Vector3 moveDir = Quaternion.Euler(0f, targetAngle, 0f) * Vector3.forward;
            controller.Move(moveDir.normalized * speed * Time.deltaTime);

        }
    }
}
gambi 123

Skrypt ruchu kamery jedności

movement camera
Obedient Ocelot

Odpowiedzi podobne do “Skrypt ruchu kamery jedności”

Pytania podobne do “Skrypt ruchu kamery jedności”

Więcej pokrewnych odpowiedzi na “Skrypt ruchu kamery jedności” w C#

Przeglądaj popularne odpowiedzi na kod według języka

Przeglądaj inne języki kodu