190 likes | 442 Views
3B Görüntüleme II. İnönü Üniversitesi Bilgisayar Mühendisliği Bölümü. Kamera ve Sahne İlişkisi. Bilgisayar ortamında 3B görüntüleme için sahne ve kamera kavramları kullanılmaktadır. Kamera ile sahnenin görüntüleme alanına ( viewport ) 2B izdüşümü yapılır.
E N D
3B Görüntüleme II İnönü Üniversitesi Bilgisayar Mühendisliği Bölümü
Kamera ve Sahne İlişkisi • Bilgisayar ortamında 3B görüntüleme için sahne ve kamera kavramları kullanılmaktadır. • Kamera ile sahnenin görüntüleme alanına (viewport) 2B izdüşümü yapılır. • Çeşitli grafik uygulamalarında kameralar kullanım amacına göre tanımlanmaktadır. • Sabit (Beneath a Steel Sky, Pong ve türevleri, BladeRunner vb.) • Sadece dönebilen • Sadece kayabilen (SuperMarioBros, Braid, Street Fighter, MortalKombat vb.) • Serbestçe hareket edebilen (Total War serileri) • Belirli yönlere hareket edebilen (Starcraft II, SimCityIV, Command & Conquer serileri) • Takip eden (Lara Croft, Prince of Persia: Warrior Within, God of War vb.) • İttirilebilir (Euro Truck Simulator, NeedforSpeed serileri) • First Person(Quake serileri, Half Life ve modları, UnrealTournament vb.) • Ayrıntılar için: http://www.whatgamesare.com/2011/10/camera-comes-first-game-design.html (İngilizce)
Kamera ve Unsurları • Bir kamera (veya tek kare için fotoğraf makinesi) 3B ortamı bir film şeridi veya dijital piksel dizisi üzerine aktarır. • Bilgisayar ortamında tanımlanan bir kameranın • Konum • Yönelim • Görüş Alanı (Field of view) • Odak uzaklığı • Görüntü düzleminin eğikliği • İzdüşüm özellikleri kullanım amacına göre programlanır. • Programlanan bu kameranın hareketi için genelde kamera nesnesi denilen ayrıca bir yapı tanımlamak gerekebilir.
Kamera ve Görüntüleme 3B Dünya Koordinatları Kırpılmış Dünya Koordinatları 2B Ekran Koordinatları
Görüntüleme Hacmi Konik görüntüleme hacmi • Kameranın görebileceği her şeyi içeren geometrik şekle görüntüleme hacmi (viewvolume) denir. • Konik bir görüntüleme hacmi, gözün görüşüne yakındır ancak koni şeklinden kaynaklanan hesaplama güçlüğü söz konusu olduğundan pek tercih edilmez. • Yaklaşım olarak kesik piramit (frustumpyramid) kullanılabilir. • Paralel izdüşüm için dikdörtgenler prizması şeklinde gözün veya fotoğraf makinesinin görüşüne benzemeyen bir görüntüleme hacmi tanımlanır.
Görüntüleme Hacmini Oluşturma Genişlik açısı Yükseklik açısı Arka kırpma düzlemi Ön kırpma düzlemi • Altı değişkeni belirlemek gerekir. • Kameranın konumu (nereden bakıldığı) • Bakış vektörü (bakılan noktaya doğru) • Kameranın yönelimi • En – boy oranı (Aspectratio) • Yükseklik açısı (Heightangle) • Ön ve arka kırpma düzlemleri • Bazı durumlarda odaklanılan nesnelerin daha belirgin, diğerlerinin bulanık görünmesi için odak uzaklığını da belirlemek gerekebilir. • Çeşitli film ve dizilerde kullanılmaktadır.
Kamera Konumu • Dünya koordinat sistemine göre kameranın nerede duracağı kamera konumu ile belirlenir. • Dünya koordinat sisteminin temel eksenlerini tanımlarken sağ el kuralı kullanılabilir. • Farklı koordinat eksenleri tanımlarken, görünümün değişmemesi için kamera koordinatlarının da uygun biçimde ayarlanması gerekir.
Kameranın Yönelimi Bakış vektörü Konum • Bakış ve üst vektörleri ile ifade edilir. • Bakış vektörü hangi noktaya bakıldığını belirtirken, üst vektörü ise kırpma düzlemlerini dik kesen düzlemlerin yüzey normalidir. Kameranın bakış vektörü etrafında döndürülebilmesini sağlar. Üst vektörünün izdüşümü Üst vektörü
Kamera Koordinat Uzayı • x, y, z temel eksenlerinin kamera koordinat sisteminde karşılığı olarak u, v, w eksenleri tanımlanabilir. • Bu sistem de sağ el kuralına uyar. • w, bakış vektörüne ters istikamette bir birim vektörüdür. • v, üst vektörünün bakış vektörüne dik olan izdüşümüdür. • u vektörü de v ile w vektörlerine dik bir vektördür. • Bu üç vektör de birim vektör cinsinden ifade edilir.
Görüş Açısı • Görüş hacmini belirten açıdır. (katı açı da olabilir.) • Ayrıca resimdeki perspektif çarpıklığı belirlemektedir. • Kesik piramit için yükseklik açısı ile genişlik açısı kullanılır. • Genişlik açısı, yükseklik açısı ile en – boy oranından hesaplanabilir. • Programlamada görüş açısı değiştirilerek fotoğrafçıların duruma göre geniş veya dar açılı lensler kullanması ile benzer nitelikte görünümler elde edilebilir.
Kırpma Düzlemleri • Sonsuz büyüklükte bir görüntüleme hacmi oluşmasını engellemek için kırpma yapılır. • Arka kırpma düzlemi ile görüntülenecek en uzak alan belirlenir. • Ön kırpma düzlemi ile görüntülenmesi istenmeyen çok yakındaki nesneler görünümden çıkarılır.
Ön (Yakın) Düzlem • Bazı durumlarda kırpma hacminde çok yakındaki nesneler görüş alanını kapatmaktadır. • Bu durumu engellemek için bu nesneler transparan bir biçimde görüntülenir. • Okami oyunundan alınan aşağıdaki görüntüler bu duruma örnektir.
Arka (Uzak) Düzlem • Arka düzlemin ötesindeki nesnelerin görünmeyişi algı sorunlarına yol açabilmektedir. • NeedforSpeed II vb. eski yarış oyunlarında binalar, yollar gibi şekillerin aniden belirmesi buna bir örnektir. • Bu durumu engellemek için uzakların sisli gösterilmesi veya daha düşük detaylı modellerin kullanılması yöntemleri kullanılmaktadır. • Günümüz grafik donanımının gücü arka düzlemin uzaklığının arttırılmasına imkan vermektedir.
Odak Uzunluğu • Bazı kamera modellemelerinde odaklama uzaklığı da dikkate alınır. • Bu uzaklık (fotoğraf makinesi lensi gibi) ideal odaklanma menzilini belirleyen bir ölçüdür. • Kameradan aynı odak uzunluğunaki nesneler diğer nesnelere göre daha belirgin görüntülenir. • Görüş alanı dışındaki nesneler ele alınmaz.
Paralel Görüntüleme Hacmi • Ortografik, aksonometrik gibi paralel izdüşümlerde kullanılır. • Bu görüntüleme hacmi oluşturulurken perspektif görüntüleme hacmi (kesik piramit) bileşenlerinin genişlik ve yükseklik açıları dışındaki bütün bileşenleri kullanılır. • Bu şekilde elde edilen görüntüleme hacmi bir dikdörtgenler prizmasıdır.
Paralel Görüntüleme Hacmi Genişlik Uzak mesafe Yükseklik Bakış vektörü Yakınmesafe Üst vektörün izdüşümü • Üst vektörü Konum • Bu durumda nesneler uzaklıklarından bağımsız olarak (boyut küçültmesi olmadan) aynı boyutta görünürler. • Paralel izdüşüm eksenleri, 3B sahnenin 2B izdüşüm işlemini de kolaylaştırır.
Kamera Uygulaması • Bu konuda anlatılan kamera ve özellikleri aşağıdaki uygulamada görülebilir. • http://cs.brown.edu/courses/cs123/demos/camera/