Поставить куб на ближнюю плоскость отсечения в Unity? - PullRequest
1 голос
/ 03 марта 2020

Я пытаюсь поместить куб в точное положение и вращение в качестве ближайшей плоскости отсечения камеры, а также масштабировать его до точной высоты и ширины ближней плоскости отсечения.

Через код я очень близок к тому, чтобы сделать это, но он все еще немного отличается от фактической плоскости отсечения. От исследования других людей, пытающихся делать подобные вещи, я стал еще более запутанным в понятиях, таких как нормализация и мировые координаты, с которыми я раньше почти не сталкивался. Кто-нибудь может помочь?

Вот что у меня есть:

        float h = 2.0f * 0.3f * Mathf.Tan(cam.fieldOfView * 0.5f * Mathf.Deg2Rad);
        float w = h * cam.aspect;

        cube.transform.localScale = new Vector3(w, h, 0.02f);
 cube.transform.localRotation = cam.transform.localRotation;
cube.transform.localPosition = new Vector3(cam.transform.localPosition.x - cam.nearClipPlane, cam.transform.localPosition.y, cam.transform.localPosition.z);

Вот изображение: как вы можете видеть, оно довольно близко, но не точно ..

enter image description here

...