SlideShare a Scribd company logo
1 of 41
Download to read offline
GRAVITY PROJECT
Alper SARIKAYA
3B Model-Animasyon ve Kodlama

    Burç PULATHANELİ
      2B Grafik Tasarım
SORULARIMIZ

•   Neden oyun yapıyoruz?
•   Elimizde ne var?
•   Elimizde ne yok?
•   Neden böyle bir oyun?

HEDEF
• 3 Ayda mobil platformlarda oynanabilecek bir
  oyun yapmak
• Grafik kalitesini olabildiğince korumak
OYUN MOTORU SEÇİMİ


    Neden
•    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
KONSEPT ÇALIŞMALARI
KARAKTER MODEL
EKLEMLEME ve ANİMASYON
PROBLEM:
• 60’den fazla kemik sayısı

ÇÖ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
İLK ANİMASYON TESTLERİ
• İlk kez hareketli olarak karakterimizi gördük
OYUNUMUZA FARKLI BİR AÇIDAN BAKIŞ
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ı)
LOWPOLY MODELLER




• Hedef : 2.000 Polygon sınırını geçmemek
• Polygon Sayısı için Performans-Kalite tercihi
PROBLEM:
• Unity – Maya arasındaki birim sorunu
• Unity içindeki FBX Scale Factor parametresini
  değiştirme tedirginliği
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ı.
LOWPOLY MEKANLAR
• 40m’lik birimler
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
KAPLAMALAR




UV lerin yerleşimi
Kaplanmış model




Kaplama yerleştirmesi
Kaplanmış model




Kaplama yerleştirmesi
Kaplanmış model




Kaplama yerleştirmesi
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.
KAPLAMA SIKIŞTIRMA ORANLARI
PROBLEM:
•   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)


ÇÖ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
İLK TESTLER



v.0.01            v.0.08



v.0.13            v.0.18
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
ARAYÜZ - GRAFİK TASARIMLARI
ARAYÜZ - GRAFİK TASARIMLARI

Yanlışlar:

• Tüm tasarımları 960 x 640 çözünürlüğünde
  çalıştık
Sonuçları:
• Android tarafında, farklı çözünürlükten
  kaynaklanan onlarca sorunla zaman kaybettik
ARAYÜZ TASARIMI - EZGUI

Neden EZ-GUI?

• 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
ARAYÜZ TASARIMI

PROBLEM
• Hassas geçişler kullanmak, grafiklerin az yer
  kaplamasını istemek

ÇÖZÜM
• Daha az geçiş kullanmak ve sıkıştırılmış dosyaları
  kullanabilmek
IŞIKLANDIRMA
IŞIKLANDIRMA
          •    FG ve GI taklidi yapan
               yüzlerce ışık




          •    Tüm ışıklar sadece
               «bake mode»da aktif
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ı
PROBLEM:
• Windows – Mac arasında Lightmap taşımak


ÇÖZÜM:
• Tüm Levelları tekrar bake etmek
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
IPHONE - KISITLAMALAR
PROBLEM:
• 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
ÇÖZÜM:
• 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
OPTİMİZASYONLAR
FİZİK HESAPLAMALARI:
• Fizik tabanlı engeller için, rigidbody
  hesaplamalarını minimuma indirmek için
  «OnVisibility» ile açma-kapama yaptık.

KAMERA:
• 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
SİS:
• Lineer FOG ile Exponantial arasındaki fark
  • Lineer fog kullanarak 15 fps kazandık


DİĞER:
• 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
SES ve SES EFEKTLERİ
PROBLEM:
•   Ses Sıkıştırmaları ve kapladıkları yer (Mb)
•   Iphone-Android arasındaki ses oynatma farklılıkları

ÇÖ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
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
İSTATİSTİKLER ( Mart Ayı için)


SATIŞ:
• IOS :        ( $ 0.99)
• ANDROID :             ( Free + AdMob)

KULLANICI DERECELENDİRMELERİ
• IOS : 50+
• ANDROID : 2.000+
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

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Alper Sarikaya: Gravity Project

  • 1.
  • 3. Alper SARIKAYA 3B Model-Animasyon ve Kodlama Burç PULATHANELİ 2B Grafik Tasarım
  • 4. SORULARIMIZ • Neden oyun yapıyoruz? • Elimizde ne var? • Elimizde ne yok? • Neden böyle bir oyun? HEDEF • 3 Ayda mobil platformlarda oynanabilecek bir oyun yapmak • Grafik kalitesini olabildiğince korumak
  • 5. OYUN MOTORU SEÇİMİ Neden • 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
  • 9. PROBLEM: • 60’den fazla kemik sayısı ÇÖ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
  • 10. İLK ANİMASYON TESTLERİ • İlk kez hareketli olarak karakterimizi gördük
  • 11. OYUNUMUZA FARKLI BİR AÇIDAN BAKIŞ
  • 12. 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ı)
  • 13. LOWPOLY MODELLER • Hedef : 2.000 Polygon sınırını geçmemek • Polygon Sayısı için Performans-Kalite tercihi
  • 14. PROBLEM: • Unity – Maya arasındaki birim sorunu • Unity içindeki FBX Scale Factor parametresini değiştirme tedirginliği 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ı.
  • 17. 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
  • 22. 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.
  • 23. KAPLAMA SIKIŞTIRMA ORANLARI PROBLEM: • 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) ÇÖ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
  • 24. İLK TESTLER v.0.01 v.0.08 v.0.13 v.0.18
  • 25. 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
  • 26. ARAYÜZ - GRAFİK TASARIMLARI
  • 27. ARAYÜZ - GRAFİK TASARIMLARI Yanlışlar: • Tüm tasarımları 960 x 640 çözünürlüğünde çalıştık Sonuçları: • Android tarafında, farklı çözünürlükten kaynaklanan onlarca sorunla zaman kaybettik
  • 28. ARAYÜZ TASARIMI - EZGUI Neden EZ-GUI? • 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
  • 29. ARAYÜZ TASARIMI PROBLEM • Hassas geçişler kullanmak, grafiklerin az yer kaplamasını istemek ÇÖZÜM • Daha az geçiş kullanmak ve sıkıştırılmış dosyaları kullanabilmek
  • 31. IŞIKLANDIRMA • FG ve GI taklidi yapan yüzlerce ışık • Tüm ışıklar sadece «bake mode»da aktif
  • 32. 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ı
  • 33. PROBLEM: • Windows – Mac arasında Lightmap taşımak ÇÖZÜM: • Tüm Levelları tekrar bake etmek
  • 34. 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
  • 35. IPHONE - KISITLAMALAR PROBLEM: • 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 ÇÖZÜM: • 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
  • 36. OPTİMİZASYONLAR FİZİK HESAPLAMALARI: • Fizik tabanlı engeller için, rigidbody hesaplamalarını minimuma indirmek için «OnVisibility» ile açma-kapama yaptık. KAMERA: • 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
  • 37. SİS: • Lineer FOG ile Exponantial arasındaki fark • Lineer fog kullanarak 15 fps kazandık DİĞER: • 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
  • 38. SES ve SES EFEKTLERİ PROBLEM: • Ses Sıkıştırmaları ve kapladıkları yer (Mb) • Iphone-Android arasındaki ses oynatma farklılıkları ÇÖ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
  • 39. 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
  • 40. İSTATİSTİKLER ( Mart Ayı için) SATIŞ: • IOS : ( $ 0.99) • ANDROID : ( Free + AdMob) KULLANICI DERECELENDİRMELERİ • IOS : 50+ • ANDROID : 2.000+
  • 41. 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