alper sarikaya: gravity project
DESCRIPTION
TRANSCRIPT
![Page 1: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/1.jpg)
![Page 2: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/2.jpg)
GRAVITY PROJECT
![Page 3: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/3.jpg)
Alper SARIKAYA 3B Model-Animasyon ve Kodlama
Burç PULATHANELİ 2B Grafik Tasarım
![Page 4: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/4.jpg)
• Neden oyun yapıyoruz? • Elimizde ne var? • Elimizde ne yok? • Neden böyle bir oyun?
• 3 Ayda mobil platformlarda oynanabilecek bir oyun yapmak
• Grafik kalitesini olabildiğince korumak
HEDEF
SORULARIMIZ
![Page 5: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/5.jpg)
• Maya ile olan benzerliği • Kısayollar ve sahne düzeninin önemi • Genel hatları ile öğrenme süresinin kısa olması • Çoklu Platform desteği olması • Fiyat-Performans olarak uygunluğu
Neden
OYUN MOTORU SEÇİMİ
![Page 6: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/6.jpg)
KONSEPT ÇALIŞMALARI
![Page 7: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/7.jpg)
KARAKTER MODEL
![Page 8: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/8.jpg)
EKLEMLEME ve ANİMASYON
![Page 9: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/9.jpg)
• 60’den fazla kemik sayısı
PROBLEM:
ÇÖZÜM:
• Düşük sayıda bir iskelet daha yapıp animasyonları aktarmak (MEL)
AVANTAJLARI:
• Yapılan animasyonları koruyabildik • Varolan bilgiyi kullanarak zaman kazandık
![Page 10: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/10.jpg)
İLK ANİMASYON TESTLERİ
• İlk kez hareketli olarak karakterimizi gördük
![Page 11: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/11.jpg)
OYUNUMUZA FARKLI BİR AÇIDAN BAKIŞ
![Page 12: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/12.jpg)
ANİMASYONLAR ve EXPORT
• Tüm Animasyonlar 30 FPS çalışıldı
• Animasyonların transferi için, tüm bone’lar bake edildi. (Rig’deki aktarma bizi zorunlu bıraktı)
![Page 13: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/13.jpg)
LOWPOLY MODELLER
• Hedef : 2.000 Polygon sınırını geçmemek • Polygon Sayısı için Performans-Kalite tercihi
![Page 14: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/14.jpg)
• Unity – Maya arasındaki birim sorunu • Unity içindeki FBX Scale Factor parametresini
değiştirme tedirginliği
PROBLEM:
ALIŞKANLIKLAR:
• Görsel Efekt’ten gelme alışkanlık : Herşeyi gerçek ölçüsünde modelle!
• Maya’da birimi cm’den farklı bir şey yapma!
SONUÇ:
• Unity’ye herşey gerçek ölçüsünde geldi • FBX Scale Factor 0.01 kaldı.
![Page 15: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/15.jpg)
LOWPOLY MEKANLAR
![Page 16: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/16.jpg)
• 40m’lik birimler
![Page 17: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/17.jpg)
AVANTAJLARI:
• Birbiri ardına eklemelerde kolaylık sağladı • Tasarım aşamasında varyasyon yapmak kolay oldu • Oyun kamerası açısından bakıldığında, en fazla iki
modul yüklenmiş oldu
![Page 18: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/18.jpg)
KAPLAMALAR
UV lerin yerleşimi
![Page 19: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/19.jpg)
Kaplama yerleştirmesi
Kaplanmış model
![Page 20: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/20.jpg)
Kaplanmış model
Kaplama yerleştirmesi
![Page 21: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/21.jpg)
Kaplanmış model
Kaplama yerleştirmesi
![Page 22: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/22.jpg)
KAPLAMLAR
• Maksimum kaplama boyutu 1024 x 1024 • Neredeyse tüm kaplamalar için Atlas üretildi, UV alanı
olabildiğince iyi kullanıldı • Bazı sektorlerde Karakter de dahil olmak üzere 3 texture
kullanıldı • Tüm kaplamları için Mip-map oluşturuldu.
![Page 23: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/23.jpg)
KAPLAMA SIKIŞTIRMA ORANLARI
• Kaplama Sıkıştırmaları ve kapladıkları yer (Mb) • Iphone-Android arasındaki format farklılıkları • Android için Alphalı sıkıştırma • Geçişli kaplamalarda 16-bit RGB yeterli olmadı(Arayüz)
PROBLEM:
ÇÖZÜM:
• İki farklı platform için en Optimize olanı seçmek • Android için Alphalı kaplamaları 16-bit RGB sıkıştırdık • Geçişli kaplamaları 32-bit RGB yaptık
![Page 24: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/24.jpg)
İLK TESTLER
v.0.01 v.0.08
v.0.13 v.0.18
![Page 25: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/25.jpg)
UNITY REMOTE
• Engellerin sıklığını ve zorluk derecesini klavye ile test etmek yeterli olmadı
• Touch-pad ‘i gerçek zamanlı test etmek önemli • Kazandırdığı zaman ile kalite artışı oldu
![Page 26: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/26.jpg)
ARAYÜZ - GRAFİK TASARIMLARI
![Page 27: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/27.jpg)
ARAYÜZ - GRAFİK TASARIMLARI
• Tüm tasarımları 960 x 640 çözünürlüğünde çalıştık
Yanlışlar:
Sonuçları:
• Android tarafında, farklı çözünürlükten kaynaklanan onlarca sorunla zaman kaybettik
![Page 28: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/28.jpg)
ARAYÜZ TASARIMI - EZGUI
• Tüm tasarımı grafik olarak kullanacaktık • Tasarladığımız grafik sisteminde çok fazla eleman
olacaktı • OnGUI çalışmak zor ve okuduklarım beni tedirgin
etti
Neden EZ-GUI?
![Page 29: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/29.jpg)
ARAYÜZ TASARIMI
• Hassas geçişler kullanmak, grafiklerin az yer kaplamasını istemek
PROBLEM
• Daha az geçiş kullanmak ve sıkıştırılmış dosyaları kullanabilmek
ÇÖZÜM
![Page 30: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/30.jpg)
IŞIKLANDIRMA
![Page 31: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/31.jpg)
IŞIKLANDIRMA
• FG ve GI taklidi yapan yüzlerce ışık
• Tüm ışıklar sadece «bake mode»da aktif
![Page 32: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/32.jpg)
GERÇEK ZAMANLI IŞIKLAR
• Gerçek zamanlı ışıklar sadece karakter aydınlatmasında ve hareketli objeler için kullanıldı
• Gerçek zamanlı gölgeler kapalıydı (Unity Basic ile zaten kapalı)
• Gerçek zamanlı ışıklar vertexLight aydınlatması yaptı
![Page 33: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/33.jpg)
• Windows – Mac arasında Lightmap taşımak
PROBLEM:
• Tüm Levelları tekrar bake etmek
ÇÖZÜM:
![Page 34: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/34.jpg)
SHADING
• Neredeyse tüm objeler Unity’nin hazırda gelen «MOBILE» shaderları ile kaplandı
• MOBILE olmayan shader tipleri MOBILE için optimize edildi
• Tüm shaderlar ( hazırda olmayanlar) vertexLight tipine çevrildi
![Page 35: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/35.jpg)
IPHONE - KISITLAMALAR
• Kutu patlamalarındaki partiküller • 3D yapmak zorundayız. Çünkü derinliğe doğru
içinden geçiyoruz. Fake etmek çok iyi çalışmadı • Elektrik panelleri çok fazla ve FPS’i çok etkiliyor
PROBLEM:
• Partikülleri azaltıp, yapısını değiştirdik. Optimize edilmiş shaderlar yazdık
• Elektrik panellerini tek polygonluk objelere dönüştürdük. Sprite animasyonu yaptık
ÇÖZÜM:
![Page 36: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/36.jpg)
OPTİMİZASYONLAR
• Fizik tabanlı engeller için, rigidbody hesaplamalarını minimuma indirmek için «OnVisibility» ile açma-kapama yaptık.
FİZİK HESAPLAMALARI:
• Kamera Far-clip ile ekrandaki görünen polygon sayısını azaltmak
• Fog kullanarak kesik gözüken ufuk çizgisini kapatmak ve atmosfere destek vermek
KAMERA:
![Page 37: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/37.jpg)
• Lineer FOG ile Exponantial arasındaki fark • Lineer fog kullanarak 15 fps kazandık
SİS:
• GC.Collect() Çok fazla model giriş çıkışı olduğundan memory seviyeleri arasındaki geçişlerde 1 frame’lik tıklamalar • Çözüm : Elle kontrol etmek
DİĞER:
![Page 38: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/38.jpg)
SES ve SES EFEKTLERİ
• Ses Sıkıştırmaları ve kapladıkları yer (Mb) • Iphone-Android arasındaki ses oynatma farklılıkları
PROBLEM:
ÇÖZÜM:
• Ana Menüdeki ve oyun içindeki müzikleri kısaltmak (loop edebilecek bir şekilde)
• Android için seslerin sıkıştırma oranlarını arttırmak • Performans arttırmak için sesleri Level başında
«Decompress» etmek
![Page 39: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/39.jpg)
YAP(A)MADIKLARIMIZ
• Oyunu doğru kişilere test ettirmek önemli • Oyunu yapan kişiler olmak, oyunu analiz etmeye
yetmiyor • Oyunun hikayesini anlatmadık. Atmosferi
güçlendirmek için en önemli silahlardan birini kullanmadık
• Pazarlama ve tanıtım
![Page 40: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/40.jpg)
İSTATİSTİKLER ( Mart Ayı için)
• IOS : ( $ 0.99)
• ANDROID : ( Free + AdMob)
SATIŞ:
• IOS : 50+
• ANDROID : 2.000+
KULLANICI DERECELENDİRMELERİ
![Page 41: Alper Sarikaya: Gravity Project](https://reader033.vdocuments.net/reader033/viewer/2022051412/54bb9f9b4a7959bc598b45de/html5/thumbnails/41.jpg)
TEŞEKKÜRLER
• Oyunumuzu oynayan herkese
• Bahçeşehir Üniversitesi
• Elife Sarıkaya • Oya Pulathaneli
• Boğaç Pulathaneli • Ömer Faruk Çolak
• Ekin & Yasemin Arşiray • Yavuz & Nesrin Ünlü
• Umut Ozan • Cenk Şanlıoğlu
• Anıl Abbak
• Emrah Özer