Мой код выглядеть так:Unity3D инстанцировании в GameObject
if (Input.GetButtonDown ("Fire2")) { GameObject transparent = Instantiate (building, new Vector3 (0, -10,0), Quaternion.identity) as GameObject; }
Где здание общественного GameObject, который я добавляю через единство Inpsector. После использования щелчка правой кнопкой мыши GameObject создается, но прозрачная переменная имеет значение null вместо созданного объекта GameObject. Если я изменяю тип прозрачного объекта и я удаляю «как GameObject» , все работает хорошо.
Хорошо, я выяснил, что не так. Мое здание не было GameObject, это было Building (класс, который наследует MonoBehaviour, так что сам gameobject). Теперь я создаю build.gameobject и все в порядке.
строит в ваших префабы папку? Вы добавили здание в свой скрипт? –
Я сказал, что здание появляется в игровом представлении, но прозрачный получает значение null вместо значения ссылки на порожденный игровой объект. Здание находится в папке prefab и добавляется в скрипт в инспекторе. – Konowy
Проблема заключается в том, что Instantiate не хочет возвращать другой тип, кроме Object, даже с литьем в GameObject или Transform. – Konowy