Необходимо сделать так, что бы при смерти моего главного героя на этом месте появлялся объект - его душа. Почему то в данный момент получается так что его "Душа" "инстантиэйтится" в месте коардинат 0,0,0, хотя задано место где находится в данный момент gameobject главного героя.
public GameObject GhostPref;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Gnome.dead)
{
var b = GameObject.Find("Prototype Body");
var t = this.transform.rotation;
Debug.Log(b.transform.position);
Debug.Log("Сработал инстантиэйт");
Instantiate(GhostPref,b.transform.position,t);
Debug.Log(b.transform.position);
Gnome.dead = false;
}
}
Причем Debug.Log(b.transform.position); показывает именно те координаты где и должен появляться объект, но появляется он именно в координатах 0,0,0.
Cам скрипт находится в компонентах объекта из которого хочу запустить Instantiate();
Если пишу так:
if(Gnome.dead)
{
Instantiate(Ghostpref);
Gnome.dead = false;
}
ситуация никак не изменяется. Ghostpref появляется в координатах 0,0,0.
Пробовал разные способы, получилось только так:
if (Gnome.dead)
{
var body = GameObject.Find("Prototype Body");
var ghost = Instantiate(GhostPref).transform;
ghost.SetParent(body.transform);
}
теперь объект ghost появляется в нужном мне месте, но мне нужно что бы объект был независимым и не двигался вместе с объектом body когда он двигается.
Debug.Log(b.transform.position);
Instantiate(GhostPref,b.transform.localPosition,t);
Причем Debug.Log(b.transform.position); показывает именно те координаты где и должен появляться объект
В лог вы пишите position
, а присваиваете localPosition
. Не перепутали тёплое
с мягким
.
Лучше не дергать Instantiate просто так, это крайне дорого. Сделайте EmptyObject и внутри проложите две модели, одной уберите active галку и включайте через SetActive.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
После ошибки "Пакет Shared Web Component не был правильно загружен" удалил Visual Studio Community 17 и установил Visual Studio Community 19
Пытаюсь получить значение после определенного текста в html коде страницыpage
когда user передаю в метод OrderTicket выдает такую ошибку
Столкнулся с проблемой: по заданию курсовой надо создать интерфейс и реализовать его