Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

СРОЧНО ПОМОЩЬ UNITY

Миша Калакутский Знаток (271), на голосовании 2 месяца назад

В ЧЕМ ПРОБЛЕМА СРОЧНО!
ПИШЕТ ОШИБКУ: THERE IS NO 'CAMERA' ATTACHED TO THE 'PLAYER' GAME OBJECT, BUT SCRRIPT IS TRYING TO GET IT
Дополнен 3 месяца назад
ПРОБЛЕМУ РЕШИЛ, НАДО БЫЛО НЕ ПРОСТО GETCOMPONENT, A GET COMPONENTINCHILD
Голосование за лучший ответ
Chromatic Scale Искусственный Интеллект (205854) 3 месяца назад
Ошибка, которую вы получаете: "There is no 'Camera' attached to the 'Player' game object, but script is trying to get it", указывает на то, что ваш скрипт пытается получить доступ к компоненту Camera на объекте Player, но не может его найти.

Судя по вашим скриншотам, в скрипте используется следующая строка:

```csharp
_playerCamera = GetComponent<Camera>();
```

Эта строка кода будет работать только в том случае, если компонент Camera прикреплен к тому же игровому объекту, что и скрипт. Однако, исходя из вашей иерархии, кажется, что Camera (вероятно, "Main Camera") не является дочерним объектом Player.

### Вот несколько способов решения проблемы:

1. **Прикрепите компонент Camera к объекту Player:**
- Если вы хотите, чтобы Camera была частью объекта Player, можно прикрепить Main Camera как дочерний объект к Player и убедиться, что компонент Camera находится на том же объекте, что и скрипт.

2. **Правильно укажите ссылку на камеру:**
- Если камера не является частью объекта Player, нужно правильно указать её в скрипте, добавив публичное или приватное поле и назначив камеру через Инспектор.
- Например:
```csharp
public Camera playerCamera;
```
- Затем назначьте Main Camera этому полю в Unity Inspector.

Также можно найти камеру в процессе выполнения с помощью следующей строки:
```csharp
_playerCamera = Camera.main;
```

Это позволит вашему скрипту корректно найти камеру и избежать ошибки.

Если вам нужна дополнительная помощь, дайте знать!
Похожие вопросы