Получение 4 исключений / ошибок в редакторе, но не могу понять, что они?И как их починить? - PullRequest
1 голос
/ 20 сентября 2019

Exceptions/Errors

В Иерархии у меня в качестве игрока есть капсула с прикрепленным к ней сценарием:

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

public class PlayerController : MonoBehaviour
{
    public float speed = 10.0f;

    // Update is called once per frame
    void Update()
    {
        float translatioin = Input.GetAxis("Vertical") * speed;
        float straffe = Input.GetAxis("Horizontal") * speed;
        translatioin *= Time.deltaTime;
        straffe *= Time.deltaTime;

        transform.Translate(straffe, 0, translatioin);
    }
}

И есть дочерний элемент камеры:игрок с прикрепленным сценарием:

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

public class PlayerCameraMouseLook : MonoBehaviour
{
    Vector2 mouseLook;
    Vector2 smoothV;

    public float sensitivity = 5.0f;
    public float smoothing = 2.0f;

    private GameObject player;

    // Use this for initialization
    void Start()
    {
        player = this.transform.parent.gameObject;
    }

    // Update is called once per frame
    void Update()
    {
        var md = new Vector2(Input.GetAxisRaw("Mouse X"), Input.GetAxisRaw("Mouse Y"));

        md = Vector2.Scale(md, new Vector2(sensitivity * smoothing, sensitivity * smoothing));
        smoothV.x = Mathf.Lerp(smoothV.x, md.x, 1f / smoothing);
        smoothV.y = Mathf.Lerp(smoothV.y, md.y, 1f / smoothing);
        mouseLook += smoothV;

        mouseLook.y = Mathf.Clamp(mouseLook.y, -90f, 90f);

        transform.localRotation = Quaternion.AngleAxis(-mouseLook.y, Vector3.right);
        player.transform.localRotation = Quaternion.AngleAxis(mouseLook.x, Vector3.up);
    }
}

Когда я нажимаю на одну из ошибок в редакторе, она не показывает, к какому сценарию она относится.

1 Ответ

1 голос
/ 20 сентября 2019

Похоже на копию поста Почему я продолжаю получать два исключения: ограничение наклона должно быть меньше 90 градусов, а смещение должно быть меньше? в стеке обмена Gamedev.Я вставил принятый ответ от DMGregory ниже для справки:

Попробуйте это:

Возьмите объект аватара игрока, который выхотите уменьшить масштаб и разбить его на две части:

  1. Контейнерный объект верхнего уровня, который вы можете считать своим «логическим аватаром».Для этого объекта его масштаб должен быть установлен на (1, 1, 1).Он будет использоваться для любого игрового поведения, с которым должен взаимодействовать аватар, включая:

    • , на котором размещается компонент контроллера персонажа

    • , являющийся цельюлюбые сценарии, которые должны ссылаться на аватара игрока

  2. дочерний «визуальный» объект, который содержит сетку вашего персонажа и любые необходимые ему компоненты анимации.Вы можете масштабировать этот объект по своему усмотрению, не мешая физике и игровой логике, обработанной выше у его родителя.

Разделение игрового процесса и визуальных частей ваших объектов может дать вам гораздо большегибкость, позволяющая выполнять итерацию по внешнему виду, обратной связи и масштабированию, не портя физику и игровую логику.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...