Я хочу создать экземпляр объекта в заданной позиции, затем изменить его родителя на другой игровой объект, но сохранить созданный объект в той же позиции, в которой я его создал. Вместо этого объект меняет свою позицию на объект, к которому я привязан.
У меня есть этот пустой GameObject, к которому применяется скрипт. Я создаю экземпляр объекта в другой пустой позиции GameObject, которая работает нормально. Затем я установил экземпляр объекта как дочерний элемент другого пустого GameObject, потому что я хочу переместить GameObject, который я использовал в качестве позиции создания экземпляра, не перемещая экземпляр объекта, потому что я хочу продолжать создание экземпляра этого объекта на новой позиции. Но это не помогает, сгенерированный мной объект перемещается в положение 3-го пустого GameObject, который я устанавливаю в качестве родителя.
GameObject theTile = Instantiate(thePrefab, spawningZone.transform);
theTile.transform.SetParent(parentObj.transform);
После установки нового родителя экземпляр объекта перемещается в положение родителя.
Я попробовал несколько способов сделать это, но для каждого метода, который я пробовал, происходило одно и то же, экземпляр объекта перемещался в позицию нового родителя.
Вот альтернативные методы, которые я пробовал:
GameObject theTile = Instantiate(thePrefab, spawningZone.transform);
theTile.transform.parent = transform.parent;
;
GameObject theTile = Instantiate(thePrefab, spawningZone.transform);
theTile.transform.SetParent(parentObj.transform, false);
;
Vector3 originalPos = spawningZone.transform.position;
GameObject theTile = Instantiate(thePrefab, spawningZone.transform);
theTile.transform.SetParent(parentObj.transform);
theTile.transform.position = originalPos;