Ukuran Frustum di Jarak Mengingat dari Kamera
Menggunakan frustum miring

Sinar dari Kamera

Pada bagian Memahami Pandangan Frustum, dijelaskan bahwa setiap titik dalam pandangan cameraKomponen yang menciptakan gambar sudut pandang tertentu di tempat kejadian Anda. Output ditarik ke layar atau ditangkap sebagai tekstur. More info
Lihat di Glossary
sesuai dengan garis di ruang dunia. Hal ini kadang-kadang berguna untuk memiliki representasi matematika dari garis dan Unity dapat memberikan ini dalam bentuk objek Ray. Ray selalu sesuai dengan titik dalam pandangan, sehingga kelas kamera memberikan fungsi ScreenPointToRay dan ViewportPointToRay. Perbedaan antara kedua adalah bahwa ScreenPointToRay mengharapkan titik untuk disediakan sebagai koordinat pixelUnit terkecil dalam gambar komputer. Ukuran piksel tergantung pada resolusi layar Anda. Pencahayaan pixel dihitung pada setiap piksel layar. More info
Lihat di Glossary
, sementara ViewportPointToRay mengambil koordinat normal dalam kisaran 0..1 (tempat 0 mewakili bagian bawah atau kiri dan 1 mewakili bagian atas atau kanan pandangan). Setiap fungsi ini mengembalikan Ray yang terdiri dari titik asal dan vektor yang menunjukkan arah garis dari asal itu. Ray berasal dari dekat clipping planePesawat yang membatasi seberapa jauh atau menutup kamera dapat melihat dari posisi saat ini. Berbagai tampilan kamera adalah antara pesawat klip jauh dan dekat. Lihat pesawat klip jauh dan dekat pesawat kliping. More info
Lihat di Glossary
daripada transformasi Kamera. titik posisi.

Raycasting

Penggunaan sinar yang paling umum dari kamera adalah untuk melakukan raycast ke dalam sceneAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
Lihat di Glossary
. Sebuah raycast mengirim sebuah imaginary “beam laser” di sepanjang sinar dari asalnya sampai hits colliderBentuk tak terlihat yang digunakan untuk menangani tabrakan fisik untuk objek. Seorang sari tidak perlu menjadi bentuk yang sama dengan jala objek - perkiraan kasar sering lebih efisien dan tidak dapat dibedakan dalam gameplay. More info
Lihat di Glossary
di tempat kejadian. Informasi kemudian kembali tentang objek dan titik yang terkena objek Login Login. Ini adalah cara yang sangat berguna untuk menemukan objek berdasarkan gambar layarnya. Misalnya, objek pada posisi mouse dapat ditentukan dengan kode berikut:

using UnityEngine;
using System.Collections;

public class ExampleScript : MonoBehaviour {
    public Camera camera;

    void Start(){
        RaycastHit hit;
        Ray ray = camera.ScreenPointToRay(Input.mousePosition);
        
        if (Physics.Raycast(ray, out hit)) {
            Transform objectHit = hit.transform;
            
            // Do something with the object that was hit by the raycast.
        }
    }
}

Pindahkan Kamera Seiring Sinar

Hal ini kadang-kadang berguna untuk mendapatkan sinar yang sesuai dengan posisi layar dan kemudian memindahkan kamera di sepanjang sinar itu. Misalnya, Anda mungkin ingin memungkinkan pengguna untuk memilih objek dengan mouse dan kemudian memperbesarnya sambil menjaganya “dipinned” ke posisi layar yang sama di bawah mouse (ini mungkin berguna ketika kamera sedang melihat peta taktis, misalnya). Kode untuk melakukan ini cukup mudah:

using UnityEngine;
using System.Collections;

public class ExampleScript : MonoBehaviour {
    public bool zooming;
    public float zoomSpeed;
    public Camera camera;

    void Update() {
        if (zooming) {
            Ray ray = camera.ScreenPointToRay(Input.mousePosition);
            float zoomDistance = zoomSpeed * Input.GetAxis("Vertical") * Time.deltaTime;
            camera.transform.Translate(ray.direction * zoomDistance, Space.World);
        }
    }
}
Ukuran Frustum di Jarak Mengingat dari Kamera
Menggunakan frustum miring