using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.XR.Interaction.Toolkit; public class UIFirstMenuSpawnScript : MonoBehaviour { [SerializeField] private GameObject _Menu; [SerializeField] private GameObject _ForwardSource; [SerializeField] private ActionBasedContinuousMoveProvider move; [SerializeField] private CharacterController _CharacterController; void Start() { move.enabled = false; _CharacterController.enabled = false; _Menu.SetActive(true); //UISpawn(); _Menu.GetComponent().Init(move, _CharacterController); } private void UISpawn() { Vector3 pos = _ForwardSource.transform.position; Vector3 forward = _ForwardSource.transform.forward; // Определите расстояние перед объектом float distance = 1.0f; // Вычислите новую позицию с учетом расстояния Vector3 newPos = pos + forward.normalized * distance; // Меню смотрит в том же направлении, что и источник, но фиксируется по вертикали Quaternion newRot = Quaternion.LookRotation(new Vector3(forward.x, 0, forward.z)); // Создание объекта GameObject newMenu = Instantiate(_Menu, newPos, newRot); newMenu.GetComponent().Init(move, _CharacterController); } }