У меня есть два 3D-объекта, в конечном итоге это будут 3D-модели разных размеров и форм, но я пытаюсь получить правильную базовую функциональность.
Одна представляет собой обычную Сферу с дочерним игровым объектом в позиции (0, -0,5,0) с именем s1.
Один - это масштабированный цилиндр (0.3,0.3,0.3) с дочерним игровым объектом в позиции (0,0.5,0) с именем c1.
Я пытаюсь переместить объекты, чтобы два родителя были выровнены в одной и той же позиции дочернего объекта.
Приведенный ниже код перемещает положение цилиндра непосредственно в положение s1. У меня просто проблемы с получением векторной математики, поэтому позиция c1 находится прямо на позиции s1. Я пробовал несколько разных сложений, вычитаний, делений, чтобы привести их в соответствие, но мне не повезло. Любая помощь, понимающая, как решить эту проблему, будет высоко оценена.
public GameObject sphere;
public GameObject cyclinder;
private GameObject s1;
private GameObject c1;
// Start is called before the first frame update
void Start()
{
s1 = sphere.transform.Find("s1").gameObject;
c1 = cyclinder.transform.Find("c1").gameObject;
cyclinder.transform.position = s1.transform.position;
}