Я пытаюсь расположить игровой объект так, чтобы он всегда оставался в центре экрана.Для этого я использую следующий код:
sphere.SetActive(true);
Vector3 lookAtPosition = FirstPersonCamera.ScreenToWorldPoint(new Vector3(Screen.width / 2, Screen.height / 2, FirstPersonCamera.nearClipPlane));
sphere.transform.position = lookAtPosition;
Но по какой-то причине игровой объект вообще не виден с указанным выше кодом.
Итак, я попытался передать его в эфири сделать его видимым.
Ниже приведен соответствующий код,
TrackableHitFlags raycastFilter = TrackableHitFlags.PlaneWithinPolygon | TrackableHitFlags.FeaturePointWithSurfaceNormal;
TrackableHit hit;
if (Frame.Raycast(screenCenter.x, screenCenter.y, raycastFilter, out hit))
{
var pose = hit.Pose;
sphere.SetActive(true);
sphere.transform.position = pose.position;
sphere.transform.up = pose.up;
}
Игровой объект иногда появляется с вышеуказанным кодом, но он не отцентрирован точно на экране и не отображаетсянавсегда.Как мне разобраться?