Я создаю 3-ю бильярдную игру в виртуальной реальности с использованием Unity3d.
Я пытаюсь отобразить миниатюрную копию бильярдного «стола» (фактически куба), как в любой момент.
Я попытался создать экземпляр корня бильярдной иерархии, просто чтобы выяснить, будет ли он создавать экземпляр оригинального gameObject (запускает его методы Start ()), что вполне логично, но не то, что я пытаюсь сделать.
На практике у меня есть корень бильярда, который имеет всю геометрию стола, и все шары, как дети, эти шары могут физически взаимодействовать. При нажатии кнопки я пытаюсь создать голограмму стола, в которой все его шары в любой момент времени находятся на своей позиции.
Итак, если игрок ударяет по мячу и он перемещается в оригинале, он должен отображать то же самое. в миниатюре.
Я подумал, что можно было бы перевести позиции шаров (и вращение стола и т. д.) в каждом кадре в миниатюру. но это швы очень не оптимально.
var midPoint = (leftHand.transform.position + rightHand.transform.position) / 2;
var miniature = Instantiate(gameObject, midPoint, transform.rotation);
miniature.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
это, очевидно, не работает, как я описал выше. Создает совершенно новый экземпляр бильярдного куба. (этот код был запущен из скрипта внутри корня биллиарда)