Я не могу заморозить свою камеру с помощью сценария, хотя он показывает, что он замораживает все оси - PullRequest
0 голосов
/ 09 марта 2020

Я пытался найти ответ за последние 3 часа и не мог найти ничего, что могло бы мне помочь. Это показывает, что у камеры уже есть ограничения, когда она входит в куб, поэтому она работает, но это не так, потому что она не замораживает камеру. Я уже не знаю, что делать.

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

public class LCOE : MonoBehaviour
{

    public GameObject cam;

    Rigidbody rig;

    private void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Player")
        {
            cam.GetComponent<Rigidbody>().constraints = RigidbodyConstraints.FreezeAll;

        }
    }
    private void OnTriggerExit(Collider other)
    {
        if (other.tag == "Player")
        {
            cam.GetComponent<Rigidbody>().constraints = RigidbodyConstraints.None;

        }
    }
}

1 Ответ

0 голосов
/ 09 марта 2020

Изменение ограничений или isKinemati c на Rigidbody только отключит физическое движение, но все равно будет двигаться вместе с родительским объектом. Ваша камера не должна быть дочерней по отношению к плееру, а скрипт, прикрепленный к камере, должен выглядеть так:

class MyCamera : MonoBehaviour{
    public Transform target;
    public Vector3 offset;
    public bool isMovementDisabled;

    void LateUpdate(){
        if(isMovementDisabled)
           return;
        transform.position = target.position + offset;
    }
}

Или использовать кинотеатр

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