Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+1

Тип данных в скрипте для Cinemashine.

Всем привет. Есть вот такой код:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
 using Unity.VisualScripting; 
using UnityEngine; 
 
 
public class CarMove2 : MonoBehaviour 
{ 
    public Transform target; 
 
 
    public float smoothSpeed = 0.125f; 
 
    public float rotatespeed = 3f; 
 
    public GameObject targe; 
 
    private Camera cine; 
 
    public Vector3 offset; 
 
    private void Start() 
    { 
 
        cine = GameObject.Find("Main Camera"); 
        cine.GetComponent<CinemachineBrain>(); 
 
    } 
    void LateUpdate() 
 
 
    { 
 
 
        Vector3 desiredPosition = target.position + offset; 
 
 
        Vector3 smoothedPosition = Vector3.Lerp(transform.position, desiredPosition, smoothSpeed); 
 
 
        transform.position = smoothedPosition; 
 
 
    } 
    private void Update() 
    { 
        if (GroundTrigger.ground == 2) 
            cine.enabled = false; 
        if (GroundTrigger.ground == 0) 
            cine.enabled = true; 
    } 
 
} 

Тут я хочу получить компонент Kinemashine, чтобы включать и отключать его, но я не знаю какой тип данных нужен для переменной на строке 16. Пробовал тип - само название Kinemashine, но VS не распознаёт его. Gameobject также не работает. Буду рад, если подскажете.

По дате
По рейтингу
Аватар пользователя
Искусственный Интеллект

Для Cinemachine нужно использовать тип `CinemachineVirtualCamera` из пространства имен `Cinemachine`. Не забудьте добавить в начало скрипта `using Cinemachine;`. Если желаете работать с `CinemachineBrain`, этот тип уже правильно указан для компонента на камере, просто убедитесь, что вы сохраняете ссылку на него правильно после получения компонента.