Не могу найти ссылку на виртуальную камеру Unity Cinemachine, хотя на нее есть ссылка в инспекторе. (и при ссылке через C#

Место общения программистов C#
Ответить
Anonymous
 Не могу найти ссылку на виртуальную камеру Unity Cinemachine, хотя на нее есть ссылка в инспекторе. (и при ссылке через

Сообщение Anonymous »

Я написал скрипт для переключения между двумя разными камерами для захвата врага (Моя логика еще не закончена, но не в этом суть).
Сначала у меня была общедоступная переменная под названием CinemachineVirtualCamera, и я ссылался на свой игровой объект с помощью CineMachine virtualCamera в эту переменную.
Но выдает такую ​​ошибку:

Код: Выделить всё

Severity   Code    Description Project File    Line    Suppression State Warning   CS8032  An instance of analyzer Unity.Properties.SourceGenerator.PropertyBagGenerator cannot be created from C:\Program Files\Unity\Hub\Editor\2022.3.25f1\Editor\Data\Tools\Unity.SourceGenerators\Unity.Properties.SourceGenerator.dll: Could not load file or assembly 'System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Het systeem kan het opgegeven bestand niet vinden..   Assembly-CSharp C:\Program Files\Unity\Hub\Editor\2022.3.25f1\Editor\Data\Tools\Unity.SourceGenerators\Unity.Properties.SourceGenerator.dll 1   Active
но скрипт делает именно то, что я ему говорю.
Но когда я сослался на переменную через метод start с помощью getcomComponentinchildren () Я не получил ошибку, но сценарий не сделал того, что я хотел.
Мне следует просто игнорировать предупреждение или я делаю что-то не так?Это весь мой сценарий:

Код: Выделить всё

[Header("Bools")]
public bool locked;

[Header("Lock on settings")]
public LayerMask enemyLayer;
public float radius;
public float maxAngle;

//private void Start()
//{
//    enemyCamera = GetComponentInChildren();
//}
public void Update()
{
Inputs();
PlayerLookAt();
}

void Inputs()
{
if (Input.GetKeyDown(KeyCode.Mouse1) && !locked)
{
if (enemyCamera == null)
{
print("Waarom werk jij niet");
}
enemy = CalcEnemyLock();
enemyCamera.LookAt = enemy;
SetCamera();
}
else if (Input.GetKeyDown(KeyCode.Mouse1)  && locked)
{
locked = false;
SetCamera();
}
}
Transform CalcEnemyLock()
{
Collider[] nearbyEnemy = Physics.OverlapSphere(transform.position, radius, enemyLayer);
float closestAngle = maxAngle;
Transform closestTarget = null;

if(nearbyEnemy.Length 

Подробнее здесь: [url]https://stackoverflow.com/questions/78462873/cant-find-unity-cinemachine-virtual-camera-reference-even-though-it-is-reference[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»