Unity Center Screen
Работаю на макбуке air 2020 сделал скрипт райкаста из центра экрана, но точка находиться в левом верхем углу, пробовал находить центр через camera.scale и screen результат индентичен. Вот полный код (Рессурсов ноута для проверок было не жалко :) ):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RicastMenuOpen : MonoBehaviour
{
[SerializeField] GameObject laser;
private GameObject laserClone;
[SerializeField] Camera cameraPlayer;
[SerializeField] float distance = 5f;
private Vector2 centerScreen;
private Ray rayCamera;
private void Update()
{
centerScreen = new Vector3(Screen.height / 2, Screen.width / 2, 0);
rayCamera = cameraPlayer.ScreenPointToRay(centerScreen);
Debug.DrawRay(transform.position, transform.forward * distance);
Physics.Raycast(rayCamera, out RaycastHit hitInfo, distance);
Debug.Log(hitInfo.point);
laserClone = Instantiate(laser, hitInfo.point, transform.rotation);
Destroy(laserClone, 0.01f);
}
}
Источник: Stack Overflow на русском