Kategori arşivi Yazılım&Script

Disk Oyununda Alan

Disk Oyununda Alan ve Duvarlar Hakkında Ayrıntılı Anlatım

Mobil bir disk kaydırma oyununda disklerin kayacağı alanları oluşturmak için kullanılabilecek farklı türde objeler ve her bir objenin avantajları ve dezavantajları şu şekilde özetlenebilir:

Obje TürüÖzelliklerAvantajlarDezavantajlarZorluk DerecesiPerformans
2D Sprite (Texture)Sprite Renderer kullanılır, Collider eklenir (Box veya Polygon Collider 2D).Kolay ve hafif, yüksek performanslı, Android cihazlarda optimizeSadece 2D görünüm sağlar, 3D derinlik ve doku hissiyatı eksikKolayÇok yüksek
3D PlaneBasit bir plane objesi oluşturulup, Material eklenir, Collider (Box veya Mesh Collider) eklenir.3D derinlik hissi sağlar, yüzeye doku eklenebilir3D plane bazı düşük performanslı cihazlarda zorlayıcı olabilirOrtaYüksek
3D Mesh (Arena veya Custom Field)Kendi modellemesi yapılmış 3D mesh kullanılır, Collider eklenir (genellikle Mesh Collider)Gerçekçi ve özelleştirilebilir bir görünüm sağlarÇok detaylı modelleme performansı düşürebilir, karmaşık collider performansı etkileyebilirZorOrta
Tilemap (2D için)Tilemap Renderer ve Tilemap Collider kullanılarak bir alan oluşturulurHafif, yüksek performans, geniş alanlarda kolay kullanım2D ile sınırlıdır, detaylı yüzeyler için zorluk çıkarırKolayÇok yüksek
Procedural Generated SurfaceKod ile procedural olarak üretilmiş alan, örneğin farklı kayma yüzeyleri oluşturulabilirÇok esnek ve özelleştirilebilir, oyun içi değişimlere uyum sağlarKarmaşık programlama gerektirir, optimizasyon zorlukları olabilirÇok ZorDeğişken
3D Terrain (Unity Terrain)Unity’nin yerleşik Terrain sistemi ile oluşturulmuş yüzeyBüyük alanlar için uygundur, kolayca detaylandırılabilirKüçük alanlar için aşırıya kaçabilir, daha fazla RAM ve CPU kullanırZorDüşük-orta
Physics Material 2D/3D ile Box veya Capsule Collider (Düz Satıhlar için)Basit collider’lara physics material ile sürtünme ve kayma özellikleri eklenirHafif ve hızlı, kayma etkisi kolaylıkla ayarlanabilirBasit yüzeylerde sınırlı seçenek sunar, özel görseller gerektirebilirKolayÇok yüksek
Bumpy Surface (3D Modellenmiş Düzensiz Yüzeyler)3D modelleme ile hazırlanmış engebeli veya özel yüzeylerÖzel his ve farklı kayma etkileri yaratırPerformans gereksinimi yüksek olabilirZorOrta-Düşük

Tavsiyelerim:

  • 2D Sprite veya 3D Plane kullanımı başlangıç seviyesinde veya basit oyunlar için idealdir. Performans dostudur ve mobil cihazlarda yüksek FPS sağlar.
  • 3D Mesh veya Terrain kullanımı daha gelişmiş oyunlarda tercih edilebilir, ancak performans dikkatlice optimize edilmelidir.
  • Tilemap sistemi 2D alanlarda geniş haritalar için idealdir.
  • Physics Material kullanarak kayma ve sürtünme ayarları yapılabilir, böylece kayma etkisini basitçe kontrol edilebilir.

Genel Tavsiye: Eğer oyununuz basit bir disk kaydırma oyunuysa ve performans çok önemliyse 2D Sprite veya 3D Plane ile Collider eklemeyi önerilir. Bu tür oyunlar için Physics Material kullanarak kayma etkisini düzenlemek kolaylık sağlar. Ancak, daha özelleşmiş ve gerçekçi yüzeyler isteniliyorsa, 3D Mesh veya özel Procedural Surface tercih edilebilir.

Disk kaydırma oyunu için duvarları oluşturmak üzere kullanılabilecek çeşitli objeler ve özellikleri aşağıdaki gibi olabilir:

Obje TürüÖzelliklerAvantajlarDezavantajlarZorluk DerecesiPerformans
2D Sprite (Texture)Sprite Renderer kullanılır, Collider eklenir (Box Collider 2D)Kolay kurulum, yüksek performansSadece 2D görünüm sağlar, 3D derinlik eksikKolayÇok yüksek
3D Cube3D Cube objesi kullanılır, Box Collider eklenir3D derinlik hissi sağlar, doku ve materyal uygulanabilirKarmaşık doku kullanımlarında performansı düşürebilirOrtaYüksek
Tilemap (2D için)Tilemap Collider ile birlikte Tilemap Renderer kullanılırKolay kurulum ve geniş alanlarda kullanım2D ile sınırlıdır, görsel açıdan basitKolayÇok yüksek
Procedural Generated WallKodla procedural olarak duvar yaratılır, özel collider’lar eklenirEsnek ve özelleştirilebilir, oyun içi değişimlere kolayca uyum sağlarKarmaşık programlama gerektirir, optimizasyon zor olabilirZorDeğişken
3D Custom Wall MeshÖzel modelleme yapılmış bir mesh ve Mesh Collider kullanılırGerçekçi ve özel duvar tasarımları için idealdirDetaylı modeller performansı düşürebilir, optimizasyon gerekebilirZorOrta
Physics Material 2D/3D ile Basit ColliderBox veya Capsule Collider ile Physics Material eklenirBasit ve hızlı kurulum, kayma ve çarpma etkilerini kolayca kontrol edebilmeSınırlı görsellik sağlarKolayÇok yüksek
Invisible Collider (Görünmez Bariyer)Herhangi bir görünür obje olmadan yalnızca collider kullanılırKolay ve hafif, çarpma noktalarını belirginleştirirGörsel bir bariyer olmadığı için anlaşılması zor olabilirKolayÇok yüksek
3D Terrain veya Detaylı ModellemeTerrain kenarları veya detaylı modelleme ile özel duvar yüzeyleri oluşturulurGerçekçi ve özel yüzeyler için uygundurKarmaşık yüzeylerde performans kaybı yaşanabilir, optimizasyon zor olabilirZorOrta-Düşük

Tavsiyelerim:

  • 2D Sprite veya 3D Cube kullanımı basit ve yüksek performanslı duvarlar oluşturmak için en uygun seçenektir. Bu tür oyunlarda duvarların işlevi çoğunlukla çarpışmaları sınırlamak olduğundan, fazla detay gerekmiyorsa bu yöntem idealdir.
  • Invisible Collider kullanarak duvarları görünmez hale getirmek, oyun tasarımına bağlı olarak minimalist ve yüksek performanslı bir seçenek olabilir.
  • Physics Material kullanarak duvarlara çarpma anındaki kayma veya frenleme efektlerini ayarlayabilirsiniz. Diskin duvarlardan sekme hissiyatını kontrol etme açısından kullanışlıdır.
  • Custom 3D Wall Mesh veya Procedural Generated Wall daha gelişmiş projeler için uygundur ve özel görsellik katabilir; ancak optimizasyon gerektirebilir.

Genel Tavsiye: Mobil cihazlarda yüksek performans sağlamak için 2D Sprite veya 3D Cube ile Box Collider kullanımını önerilir. Eğer daha esnek bir duvar etkisi oluşturmak istenilirse, Physics Material ekleyerek kayma veya sekme gibi çarpışma özelliklerini düzenlenebilir.

Mobilde farklı ekran çözünürlüklerinde veya ekran oranlarında kayma veya şekil bozukluklarını önlemek için Unity 2022 sürümünde dikkat edilmesi gereken temel ayarlar ve menü seçenekleri :

1. Alan ve Duvarlarda Dikkat Edilmesi Gerekenler

  • Collider Ayarları: Duvar ve alanlar için kullandığınız Collider’ların doğru hizalandığından emin olun. Bu, çarpışmaların doğru şekilde hesaplanmasını sağlar. Box Collider 2D/3D gibi basit collider’lar, performans açısından daha etkilidir.
  • Physics Material Kullanımı: Diskin çarpma anında yavaşlaması veya sekmesi gibi efektleri kontrol etmek için duvarlara Physics Material ekleyin. Bu, duvarın sürtünme (friction) ve esneklik (bounciness) değerlerini belirleyerek daha gerçekçi bir çarpışma sağlar.
  • Transform Ayarları: Alanın ve duvarların pozisyon, dönüş ve ölçek ayarlarını dikkatlice kontrol edin. Mobilde pozisyonların kaymasını önlemek için ekranın her iki ucuna eşit oranda hizalayın.
  • Yerleşim Düzeni: Alanı ve duvarları oyun ekranının sınırlarına uygun şekilde konumlandırın ve ekranın genişliği veya yüksekliği değiştiğinde ekranın dışına taşmamasını sağlayın.

2. Çözünürlük ve Ekran Oranı Uyumluluğu Ayarları

Farklı çözünürlüklerde ekran kaymaları ve şekil bozuklukları yaşamamak için Unity’de aşağıdaki ayarları yapabilirsiniz:

A. Canvas ve UI Elemanları Ayarları (UI için)

UI elemanlarının ekran boyutlarına göre otomatik olarak ayarlanması için Canvas ayarlarını yapılandırın:

  • Canvas Ayarı: Canvas’ı seçin ve Render Mode olarak “Screen Space – Camera” veya “Screen Space – Overlay” seçeneklerini kullanın.
  • Canvas Scaler: Canvas nesnesinde Canvas Scaler bileşenini ekleyin veya zaten varsa ayarlarını şu şekilde yapılandırın:
    • UI Scale Mode: Scale with Screen Size olarak ayarlayın. Bu, ekran boyutlarına göre ölçeklenmesini sağlar.
    • Reference Resolution: Çalışmayı hedeflediğiniz temel çözünürlüğü girin, örneğin 1080×1920.
    • Screen Match Mode: Match Width or Height seçeneğini kullanarak ekranın genişlik veya yüksekliğine göre ayarlama yapabilirsiniz. Match kaydırma çubuğunu 0 (genişlik) ile 1 (yükseklik) arasında bir değere ayarlayarak dengeyi sağlayın.

B. Camera Ayarları (Oyun Sahnesi için)

Kamera ayarlarını doğru yaparak, farklı ekran oranlarında alanın veya duvarların ekrandan taşmasını engelleyebilirsiniz.

  • Ana Kamera (Main Camera): Kamera türünü Orthographic olarak ayarlayın. Bu, 2D oyunlar için uygundur ve ekran oranında değişikliklerde sahnenin görünümünü korur.
  • Ortographic Size Ayarı: Ekranın yüksekliğine göre ayarlanan Orthographic Size değeri, ekranın farklı boyutlarına göre uyum sağlar.
  • Viewport Rect Ayarları: Eğer farklı bir konumlandırma yapmak isterseniz, Viewport Rect değerlerini kullanarak kamerayı ayarlayabilirsiniz. Özellikle W ve H değerlerini kullanarak farklı çözünürlüklerde ekrana tam oturmasını sağlayabilirsiniz.
  • Safe Area (Güvenli Alan) Kullanımı: Farklı telefon modellerinde ekranın kenarlarındaki boşluklar için Safe Area‘yı kullanarak önemli oyun elementlerinin bu alanlara taşmamasını sağlayabilirsiniz.

C. Aspect Ratio ve Ekran Uyumluluğu İçin Proje Ayarları

  • Edit > Project Settings > Player > Resolution and Presentation menüsünden ayarları düzenleyin.
    • Default Orientation: “Portrait” veya “Landscape” modunu seçin. Hangi modda çalışacaksanız, bunu sabitlemek önemlidir.
    • Render Outside Safe Area: Bu ayar, bazı cihazların (özellikle çentikli telefonların) güvenli alan dışında görüntü vermesini engeller.
    • Supported Aspect Ratios: Buradan desteklemek istediğiniz ekran oranlarını belirleyebilirsiniz. Örneğin, “16:9”, “18:9” veya “19.5:9” gibi yaygın oranları seçebilirsiniz.
    • Use Screen-Space Canvas: UI elemanlarının tüm ekran boyutlarına uyum sağlaması için Screen-Space Canvas kullanmak faydalı olur.

D. Screen.SetResolution Kullanımı

Bazı özel çözünürlük ayarları gerekirse, Screen.SetResolution komutunu kullanarak belirli çözünürlüklere uyum sağlayabilirsiniz. Örneğin, oyunun başında bu komutu kullanarak çözünürlüğü sabitleyebilir veya cihazın desteklediği en uygun çözünürlüğü seçebilirsiniz.

void Start() {
    Screen.SetResolution(1080, 1920, true); // Tam ekran 1080x1920 çözünürlükte çalıştırır.
}


E. Universal Render Pipeline (URP) Kullanımı

Unity’nin Universal Render Pipeline’ını (URP) kullanıyorsanız, mobil cihazlar için daha yüksek performans sağlayan Dynamic Resolution gibi özellikleri etkinleştirebilirsiniz. URP ayarlarını kullanarak, çözünürlükle ilgili performansı optimize etmek mümkündür:

  • Rendering > Universal Render Pipeline Asset içinde, Dynamic Resolution‘ı açarak, çözünürlük ayarlamaları ile performansı optimize edebilirsiniz.
  • Anti-Aliasing: Özellikle mobil cihazlarda düşük çözünürlüklerde görüntü kalitesini artırmak için Anti-Aliasing ayarlarını kontrol edebilirsiniz.

3. Özet

  • Canvas Scaler ile ekran boyutlarına göre UI öğelerinin otomatik ölçeklenmesini sağlayın.
  • Ana Kamera’yı Orthographic olarak ayarlayıp Viewport Rect ve Orthographic Size ile farklı ekran oranlarına uyum sağlayın.
  • Edit > Project Settings > Player menüsünden Aspect Ratio ve Render Outside Safe Area gibi uyumluluk ayarlarını yapın.
  • Dynamic Resolution ve Anti-Aliasing ayarları ile performansı artırın.

Tavsiye

Eğer amaç basit bir 2D oyun ise, Orthographic Kamera ve Canvas Scaler kullanarak farklı çözünürlük ve ekran oranlarına uyum sağlamak en mantıklısıdır. Hem kolay hem de yüksek performanslıdır.

Fakat oyun daha karmaşık hale geliyorsa, Universal Render Pipeline (URP) ile ek optimizasyon seçenekleri değerlendirebilir.

Unity Projeleri GitHub’a

Unity 3D Projeleri GitHub’a Yüklenir?

Ön Gereksinimler

  1. Git’in Kurulması: Git’i bilgisayarınıza kurmanız gerekiyor. Git’i resmi web sitesinden işletim sisteminize uygun olarak indirebilirsiniz.
  2. GitHub Hesabı: Bir GitHub hesabınızın olması gerekiyor. Yoksa GitHub üzerinden ücretsiz bir hesap oluşturabilirsiniz.

Adım Adım Projenizi GitHub’a Yükleme

1. Git Deposu Oluşturma

A. Proje Klasörünüzü Hazırlayın

  • Unity projenizin bulunduğu klasöre gidin. Bu klasör genellikle proje ismiyle adlandırılmıştır ve içinde Assets, Library, ProjectSettings gibi klasörler bulunur.

B. Git Bash veya Komut İstemi’ni Açın

  • Windows kullanıyorsanız, proje klasörünüzün içine girin, boş bir alana Shift + Sağ Tık yapın ve Git Bash Here seçeneğine tıklayın.
  • Mac veya Linux kullanıyorsanız, Terminal’i açıp proje klasörüne cd /path/to/your/project komutuyla gidin.

2. .gitignore Dosyası Oluşturma

Unity projeleri, bazı büyük ve gereksiz dosyalar içerir. Bu dosyaları Git’e dahil etmemek için bir .gitignore dosyası oluşturmalısınız.

A. .gitignore Dosyasını Oluşturun

  • Proje klasörünüzün içinde yeni bir metin dosyası oluşturun ve adını .gitignore olarak ayarlayın.
    • Windows’ta yeni bir metin belgesi oluşturup adını .gitignore yapabilirsiniz (dosya uzantısını .txt olmamasına dikkat edin).
    • Mac veya Linux’ta Terminal’de touch .gitignore komutunu kullanabilirsiniz.

B. .gitignore Dosyasının İçeriğini Ayarlayın

  • .gitignore dosyasını bir metin editörüyle açın (örneğin, Notepad, Notepad++, Visual Studio Code).
  • Aşağıdaki içeriği dosyaya yapıştırın ve kaydedin:
[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/
[Bb]uilds/
[Ll]ogs/
[Uu]serSettings/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
.DS_Store
.idea/
.vs/
.vscode/
  • Bu dosya, Git’in bu klasör ve dosyaları izlemesini engeller. Böylece gereksiz veya büyük dosyalar depoya yüklenmez.

3. Git Deposu Başlatma

A. Git Deposu Oluşturun

  • Terminal veya Git Bash’te aşağıdaki komutu yazın:
git init
  • Bu komut, proje klasörünüzde yeni bir Git deposu oluşturur.

B. Tüm Dosyaları Git’e Ekleme

  • Aşağıdaki komutu kullanarak tüm dosyaları ekleyin
git add .
  • Bu komut, .gitignore dosyasında belirtilmeyen tüm dosyaları ekler.

C. İlk Commit’i Yapma

  • Değişiklikleri commit etmek için aşağıdaki komutu kullanın:
git commit -m "İlk commit"
  • Bu komut, dosyaları yerel depoya kaydeder.

4. GitHub’da Yeni Bir Depo Oluşturma

A. GitHub’da Yeni Depo Oluşturun

  • GitHub hesabınıza giriş yapın.
  • Sağ üst köşedeki + işaretine tıklayın ve New repository seçeneğini seçin.
  • Depo ismi, açıklama gibi bilgileri girin ve Create repository butonuna tıklayın.

B. Uzaktan Depoyu Yerel Depoyla Bağlama

  • GitHub, yeni depo oluşturduktan sonra size bazı komutlar gösterecektir. Aşağıdaki komutu kullanarak uzak depoyu yerel depoya ekleyin:
git remote add origin https://github.com/kullanıcı_adınız/depo_adınız.git
  • kullanıcı_adınız ve depo_adınız kısımlarını kendi bilgilerinize göre düzenleyin.

C. Ana Branşı Ayarlama

  • Ana branşı main olarak ayarlamak için:
git branch -M main

5. Projeyi GitHub’a Gönderme

  • Aşağıdaki komutu kullanarak dosyaları GitHub’a yükleyin:
git push -u origin main
  • Komut çalıştığında, sizden GitHub kullanıcı adınızı ve şifrenizi girmeniz istenebilir. Eğer iki faktörlü kimlik doğrulama kullanıyorsanız, bir Personal Access Token oluşturmanız gerekebilir.

6. Kodlarınızı İnceleme

  • Kodlarınız artık GitHub’da yüklü olacak.
  • GitHub üzerinden kodlarınızı görüntüleyebilir ve paylaşabilirsiniz.
  • Kodlarınızın linkini paylaşırsanız, ben de kodları inceleyebilir ve hata kontrolü yapabilirim.

Notlar ve Öneriler

  • Dosya Boyutları: Unity projeleri büyük dosyalar içerebilir. GitHub’da dosya boyutu sınırlaması vardır (100 MB). Eğer projede büyük dosyalar varsa, Git Large File Storage (LFS) kullanmanız gerekebilir.
  • Sürüm Kontrolü: Projenizi GitHub’a yüklemek, sürüm kontrolü yapmanıza ve kodlarınızı güvende tutmanıza yardımcı olur.

Ek Bilgi: Git ve GitHub Kullanımı

  • Git Nedir?: Git, dosyalarınızın sürümlerini takip eden bir versiyon kontrol sistemidir.
  • GitHub Nedir?: GitHub, Git depolarınızı çevrimiçi olarak barındırabileceğiniz bir platformdur.
  • Komutları Nereye Yazacaksınız?: Git komutlarını, proje klasörünüzde Terminal (Mac/Linux) veya Git Bash (Windows) üzerinden çalıştırabilirsiniz.

Olası Sorunlar ve Çözümleri 1

  • Git Kurulu Değilse: Git yüklü değilse, komutları çalıştıramazsınız. Git’i buradan indirip kurun.
  • Dosya İsimleri ve Uzantıları: .gitignore dosyasının uzantısı olmamalıdır. Eğer .gitignore.txt gibi bir isimle kaydederseniz, çalışmaz.
  • Kimlik Doğrulama Sorunları: GitHub’a push yaparken kullanıcı adı ve şifrenizle ilgili sorun yaşarsanız, Personal Access Token kullanmanız gerekebilir. Bunu GitHub ayarlarından oluşturabilirsiniz.

Bu hata, dosya yolunun uzun olmasından kaynaklanıyor. Özellikle Windows işletim sisteminde, dosya yolu uzunluk sınırını aşıyorsa bu hatayı alabilirsiniz.

Çözüm:

  1. Git Ayarını Değiştirme: Windows’ta uzun dosya yollarını desteklemek için aşağıdaki komutu çalıştırın:
git config --system core.longpaths true
  1. Alternatif Çözüm: .gitignore dosyasına Library klasörünü ekleyerek bu klasördeki dosyaları Git’e eklemeyi engelleyebilirsiniz. Aşağıdaki adımları izleyin:
    • .gitignore dosyasını açın ve Library/ satırını ekleyin.
    • Bu adım, Library klasöründeki dosyaları Git’in izlemesini engeller ve daha sonra commit işlemlerinde bu hatayı önler.
git comit -m "ilk commit"

Burada commit yerine comit yazmışsınız. Doğru komut şu şekilde olmalı:

git commit -m "ilk commit"

Bu hata, “main” dalının henüz oluşturulmamış olması nedeniyle ortaya çıkar. Bu durumu çözmek için önce bir commit yapmalısınız.

Çözüm:

  1. commit İşlemini Doğru Şekilde Yapın:
    • Eğer commit yapmadıysanız, aşağıdaki komutları kullanarak dosyaları ekleyin ve commit yapın:
git add .
git commit -m "İlk commit"

Ana Dalı Güncelleyin:

  • Eğer git branch -M main komutunu uyguladıysanız ve yine de bu hatayı alıyorsanız, main dalının oluştuğundan emin olun.

Push İşlemini Tekrar Deneyin:

  • Başarılı bir şekilde commit yaptıktan sonra aşağıdaki komutla dosyaları GitHub’a gönderin:
git push -u origin main

Genel Özet:

  1. core.longpaths ayarını etkinleştirin.
  2. .gitignore dosyasına Library/ ekleyin.
  3. Commit işlemini doğru bir şekilde yapın.
  4. git push -u origin main komutuyla gönderin.

Bu adımları izleyerek tüm hataları çözebilir ve projeyi başarılı şekilde GitHub’a yükleyebilirsiniz.

Bu hata, gitconfig dosyasını değiştirmek için yönetici iznine ihtiyaç duyduğunuzu gösteriyor. core.longpaths ayarını etkinleştirebilmek için komutu yönetici izinleriyle çalıştırmanız gerekiyor.

Çözüm: Yönetici İzniyle Git Bash Çalıştırma

  1. Git Bash’ı Yönetici Olarak Açın:
    • Git Bash simgesine sağ tıklayın.
    • “Run as Administrator” (Yönetici olarak çalıştır) seçeneğini tıklayın.
  2. Komutu Tekrar Çalıştırın:
    • Git Bash yönetici olarak açıldıktan sonra, şu komutu tekrar girin:
git config --system core.longpaths true

Bu komut, longpaths ayarını etkinleştirir ve uzun dosya yoluyla ilgili hatayı önlemeye yardımcı olur.

Bu hata, .git/index.lock dosyasının mevcut olduğunu ve Git işleminin devam etmesini engellediğini gösterir. Bu durum genellikle başka bir Git işlemi yarım kaldığında veya kilitlendiğinde oluşur. Aşağıdaki adımları takip ederek bu sorunu çözebilirsiniz:

Çözüm Adımları

  1. Kilitleme Dosyasını Manuel Olarak Kaldırın:
    • Proje dizininize gidin ve index.lock dosyasını bulun. Bu dosya C:/Users/NUR/.git/ klasöründe yer alır.
    • .git/index.lock dosyasını silin.
    Windows’ta bu dosyayı bulmak için:
    • Proje klasörünü açın.
    • Gizli dosya ve klasörleri gösterme seçeneğini etkinleştirin (Windows Gezgini > Görünüm > Gizli öğeler).
    • .git klasörüne girin ve index.lock dosyasını silin.
  2. Git İşlemini Tekrar Deneyin:
    • Dosyayı sildikten sonra, Git komutlarını tekrar çalıştırabilirsiniz:
git add .
git commit -m "İlk commit"

Bu işlem, kilitleme dosyasını kaldırarak Git işlemlerinin sorunsuz devam etmesini sağlayacaktır. Eğer bu sorun devam ederse, bilgisayarınızı yeniden başlatmayı da deneyebilirsiniz, çünkü bazı durumlarda arka planda çalışan Git işlemleri yeniden başlatılarak kapanır.

Rigidbody Ayrıntılı Anlatımı

Rigidbody Ayrıntılı Anlatımı

Rigibody, Unity’de fizik etkileşimlerini yönetmek için oldukça önemli bir bileşendir ve özellikle oyun nesnelerinin gerçekçi bir şekilde hareket etmesini sağlar. Rigibody’yi detaylı bir şekilde anlamanız, Unity’de fiziksel davranışları yönetmek ve daha gerçekçi oyunlar geliştirmek için önemlidir.

Rigibody Menüsüne Nasıl Ulaşılır?
  1. Unity 3D Proje Ayarları Üzerinden: Unity arayüzünde sahnede herhangi bir nesneyi seçtiğinizde, Inspector paneline gidin.
  2. Component Ekleme: Inspector panelinde Add Component düğmesine tıklayın.
  3. Rigidbody Ekleme: Çıkan menüde “Rigidbody” yazarak arama yapabilir ve nesnenize bir Rigibody bileşeni ekleyebilirsiniz.
    • Rigidbody: 3D projeler için kullanılır.
    • Rigidbody 2D: 2D projeler için özel olarak geliştirilmiş versiyondur.

Rigidbody Çeşitleri

  • Rigidbody (3D): Üç boyutlu projelerde nesnelerin fiziksel hareketlerini simüle eder.
  • Rigidbody 2D: İki boyutlu projelerde nesnelerin fiziksel hareketlerini simüle etmek için optimize edilmiştir. Fiziksel hareketler x ve y eksenlerinde gerçekleşir.

Rigidbody’nin Özellikleri ve Ayrıntılı Açıklamaları

Aşağıda Rigidbody bileşeninde yer alan temel özellikleri ve bu özelliklerin ne işe yaradığını açıklıyorum:

ÖzellikAçıklamaKullanım AlanlarıProgramatik Erişim
Mass (Kütle)Nesnenin kütlesini belirler. Varsayılan değer 1dir. Kütle ne kadar yüksekse, nesne o kadar yavaş hızlanır ve hız keser.Araçlar, karakterler, düşen nesnelerrigidbody.mass = 1f;
Drag (Sürüklenme)Nesnenin havada sürüklenme direncini ayarlar. Drag ne kadar yüksekse, nesne o kadar hızlı yavaşlar.Araçlar, uzayda hareket eden nesnelerrigidbody.drag = 0.5f;
Angular Drag (Açısal Sürüklenme)Nesnenin dönüş direncini belirler. Bu değer arttıkça, nesne daha hızlı yavaşlar.Dönen nesneler, oyuncularrigidbody.angularDrag = 0.05f;
Use Gravity (Yer Çekimi Kullan)Bu ayar aktif ise nesne yer çekimine maruz kalır. Kapalı olduğunda ise nesne yer çekiminden bağımsız hareket eder.Yüzen nesneler, düşen nesnelerrigidbody.useGravity = true;
Is Kinematic (Kinematik)Nesne fizik kurallarına tabi olmaz, sadece kod veya animasyonlar tarafından kontrol edilir.Kameralar, hareket eden platformlarrigidbody.isKinematic = false;
Interpolate (Aralıklandırma)Nesne hareket ederken, pozisyon değişikliklerinin düzgün bir şekilde yapılmasını sağlar. None, Interpolate ve Extrapolate seçenekleri vardır.Hızlı hareket eden nesnelerrigidbody.interpolation = RigidbodyInterpolation.Interpolate;
Collision Detection (Çarpışma Tespiti)Nesne ile diğer nesneler arasındaki çarpışma tespiti seviyesini belirler. Discrete, Continuous, Continuous Dynamic, Continuous Speculative gibi seçenekleri vardır.Hızlı hareket eden veya düşen nesnelerrigidbody.collisionDetectionMode = CollisionDetectionMode.Continuous;

Rigidbody Özelliklerinin Programatik Kullanımı

Her bir Rigidbody özelliğine kodla nasıl ulaşabileceğinizi göstermek için detaylı bir tablo hazırladım. Bu tablo, özelliklere nasıl erişileceğini ve bu özelliklerin varsayılan değerlerini içerir.

ÖzellikProgramatik KodAçıklama
Kütle (Mass)rigidbody.mass = 1f;Nesnenin kütlesini ayarlar.
Sürüklenme (Drag)rigidbody.drag = 0.5f;Nesnenin havada sürüklenme direncini ayarlar.
Açısal Sürüklenmerigidbody.angularDrag = 0.05f;Nesnenin dönme direncini belirler.
Yer Çekimi (Use Gravity)rigidbody.useGravity = true;Nesneye yer çekiminin uygulanıp uygulanmayacağını belirler.
Kinematik (Is Kinematic)rigidbody.isKinematic = false;Nesnenin fizik kurallarına uyup uymayacağını belirler.
Aralıklandırma (Interpolation)rigidbody.interpolation = RigidbodyInterpolation.Interpolate;Nesne hareketini düzgün hale getirir.
Çarpışma Tespitirigidbody.collisionDetectionMode = CollisionDetectionMode.Continuous;Nesnenin çarpışma tespiti modunu belirler.

Rigidbody Kullanım Alanları ve Dikkat Edilecekler

  1. Kullanım Alanları:
    • Karakaterler: Karakterlerin yer çekimine uygun hareket etmesi ve çevreyle etkileşimde olması sağlanır.
    • Araçlar: Araçlar yer çekimine uygun hareket eder ve çarpışmalar fiziksel olarak simüle edilir.
    • Yüzen Nesneler: Yer çekimi kapatılarak nesnelerin sabit bir noktada durması veya havada süzülmesi sağlanır.
  2. Dikkat Edilecek Noktalar:
    • Kinematik Nesnelerle Çarpışma: Kinematik bir nesne fizik motoruyla değil, manuel olarak kontrol edilir. Bu durumda çarpışma dinamikleri dikkatli bir şekilde yönetilmelidir.
    • Çarpışma Modları: Hızlı hareket eden nesnelerde “Continuous” mod kullanılmalı. Bu sayede nesne diğer nesnelerden geçmeden çarpışmalar tespit edilebilir.
    • Yer Çekimi ve Sürüklenme: Bazı durumlarda, nesnelerin daha kontrollü hareket etmesi için yer çekimi ve sürüklenme ayarları optimize edilmelidir.

Rigidbody’nin Uygulanmaması Gereken Nesneler

  • UI Elemanları: Rigidbody genellikle 3D veya 2D sahne nesneleri için uygundur, UI elemanları için kullanılmaz.
  • Statik Nesneler: Statik nesnelere Rigidbody eklemek, performansı düşürebilir. Statik nesnelerin fizik motoruyla etkileşime geçmesi gerekmediği için Rigidbody uygulanmaz.

Özet:

Uygulanmaması Gereken Nesneler: UI elemanları ve statik nesnelerde Rigidbody kullanımı gereksizdir.

Rigidbody Menüsü: Unity’de sahne nesnesinin Inspector panelinden “Add Component” > “Rigidbody” yoluyla eklenir.

Çeşitleri: Rigidbody (3D) ve Rigidbody 2D, 3D ve 2D projeler için optimize edilmiştir.

Özellikler ve Kullanımı: Kütle, sürüklenme, yer çekimi gibi özellikleri vardır ve her biri kod ile erişilebilir.

Kullanım Alanları: Karakterler, araçlar gibi fizik motoruna ihtiyaç duyan nesnelerde kullanılır.

Dikkat Edilmesi Gerekenler: Hızlı nesnelerde çarpışma tespiti, yer çekimi ayarları optimize edilmelidir.

Rigidbody Özellikleri ve Değer Aralıkları

ÖzellikDeğer AralığıÖnerilen Değer AralığıKullanım Durumları
Mass (Kütle)0 – ∞1 – 101-3: Karakterler ve küçük nesneler için ideal.
5-10: Araçlar ve ağır nesneler için uygun.
Drag (Sürüklenme)0 – ∞0 – 10: Hava direnci olmayan nesneler.
0.1-0.5: Hava direnci olan, hızlı yavaşlaması gereken nesneler.
Angular Drag (Açısal Sürüklenme)0 – ∞0.05 – 10.05-0.1: Karakterler için uygun.
0.5-1: Dönen nesnelerin hızla yavaşlaması gerektiğinde kullanılır.
Use Gravity (Yer Çekimi Kullan)true / false–true: Yer çekimi etkisinde hareket eden nesneler.
false: Yüzen veya boşlukta hareket eden nesneler.
Is Kinematic (Kinematik)true / false–true: Fizik motoru dışında, manuel kontrol edilecek nesneler için.
false: Fizik kurallarına tabi nesneler için.
Interpolate (Aralıklandırma)None, Interpolate, Extrapolate–None: Düşük performans gereksinimli sahneler.
Interpolate: Düşük hızla hareket eden nesneler için uygun.
Extrapolate: Hızlı hareket eden nesnelerde pozisyon kaymasını önlemek için ideal.
Collision Detection (Çarpışma Tespiti)Discrete, Continuous, Continuous Dynamic, Continuous Speculative–Discrete: Düşük hızla hareket eden nesneler.
Continuous: Hızlı hareket eden nesneler.
Continuous Dynamic: Çok hızlı hareket eden nesnelerde çarpışmayı garanti altına almak için.
Continuous Speculative: Çarpışma performansını arttırmak için.

Özelliklerin Kullanım Durumları İçin Önerilen Değerler

Aşağıdaki tabloda her bir özellik için önerilen ayarları ve kullanılması gereken durumları detaylandırdım. Bu öneriler, oyun nesnelerinin doğru fizik davranışını sergilemesi için rehber niteliğindedir.

ÖzellikNesne TipiÖnerilen DeğerAçıklama
Mass (Kütle)Küçük karakterler1Hızlı hareket etmesi gereken küçük karakterler için uygundur.
Ağır araçlar8-10Yavaş hızlanması ve durması gereken büyük araçlar ve ağır nesneler için kullanılır.
Drag (Sürüklenme)Hava direnci düşük nesneler0Havada süzülen veya hava direncine ihtiyaç duymayan nesnelerde sıfır olarak bırakılabilir.
Araçlar ve oyuncular0.1-0.3Hızla hareket eden nesnelerin hızla yavaşlaması için uygun sürüklenme değeri.
Angular Drag (Açısal Sürüklenme)Dönen nesneler0.05Düşük açısal sürüklenme, nesnenin yavaşça yavaşlamasını sağlar.
Yoğun dönüş gerektiren nesneler0.5Nesnenin hızla dönmesini ama hızlıca yavaşlamasını gerektiren durumlarda kullanılır.
Use Gravity (Yer Çekimi Kullan)Yer çekimli nesnelertrueYer çekimine tabi tüm nesneler (oyuncular, araçlar).
Yüzen veya boşluktaki nesnelerfalseYer çekiminden bağımsız hareket eden nesneler (uzayda hareket eden nesneler, yüzen objeler).
Is Kinematic (Kinematik)Sabit hareketli platformlartrueFizik motoruna ihtiyaç duymayan, ancak manuel hareket ettirilen nesneler.
Interpolate (Aralıklandırma)Düşük hızla hareket eden nesnelerInterpolateNesnenin hareketinin daha yumuşak görünmesi sağlanır. Hızlı nesnelerde tercih edilir.
Collision Detection (Çarpışma Tespiti)Yavaş nesnelerDiscreteÇarpışma ihtimali düşük ve yavaş hareket eden nesneler için kullanılır.
Hızlı nesnelerContinuousHızlı hareket eden ve diğer nesnelerle sürekli etkileşim halinde olan nesnelerde kullanılır.
Çok hızlı nesnelerContinuous DynamicÇok hızlı hareket eden ve çarpışma tespitinin garanti edilmesi gereken nesneler için.

Kısa Özet:

  • Rigidbody Ayarları: Her özellik için farklı aralıklarda değerler kullanılabilir.
  • Kullanım Durumları: Nesnenin fiziksel davranışına göre doğru ayarları yapmak önemlidir.
  • Özel Kullanım Önerileri: Hızlı nesnelerde çarpışma tespiti, yavaş nesnelerde düşük sürüklenme gibi ayarlara dikkat edilmelidir.

Bu değerler, oyun nesnelerinizin fizik davranışlarını optimize etmek için rehber olarak kullanılabilir.

1. Duvarlar Statik mi Olmalı?

  • Evet, duvarlar genellikle statik olarak ayarlanır.
  • Static Rigidbody ayarları, nesnelerin fiziksel olarak sabit kalmasını sağlar. Bu, duvarların hareket etmediği ve sadece çarpışma algılama amacıyla kullanıldığı anlamına gelir.
  • Unity’de Rigidbody eklenmemiş objeler otomatik olarak statik sayılır. Ancak, Rigidbody eklemek isterseniz, duvarlar için Body Type ayarını Static olarak ayarlayabilirsiniz.

Neden Statik?

  • Statik nesneler, hareket eden nesnelerle çarpıştığında kendileri hareket etmez. Bu nedenle duvarların sabit kalması ve yalnızca hareketli nesnelerin (top gibi) çarpışmada tepki vermesi istenir.
  • Statik nesneler, işlemci gücünden tasarruf sağlar, çünkü Unity, statik nesneleri fiziksel hesaplamalarda daha verimli işleyebilir.

2. Hareket Eden Top Statik mi Olmalı?

  • Hayır, hareket eden top dinamik (Dynamic) olmalı.
  • Dinamik ayar, nesnenin fizik kurallarına göre hareket etmesini sağlar. Yani, hareket eden top için Rigidbody bileşeni eklemeli ve Body Type‘ı Dynamic olarak ayarlamalısınız.
  • Dinamik bir nesne, kendisine uygulanan kuvvetlere göre hızlanır, yavaşlar veya yön değiştirir. Bu, topun AddForce gibi fonksiyonlarla kontrol edilmesine olanak tanır.

Özetle:

  • Duvarlar: Statik
  • Top (Disk): Dinamik

3. Physic Material Özelliği Hangi Nesnelere Verilmeli?

Physic Material özelliği, sürtünme ve sıçrama özelliklerini kontrol etmek için kullanılır. Hangi nesnelere uygulamanız gerektiğini ayrıntılı olarak açıklıyorum:

  1. Disk (Top) İçin Physic Material:
    • Disk‘e bir Physic Material eklemek, topun duvarlara çarpınca nasıl tepki vereceğini kontrol eder.
    • Örneğin, Friction değerini düşük yaparak topun kaygan bir yüzeyde gibi hareket etmesini sağlayabilirsiniz. Bounciness değerini artırarak topun çarpışmalardan sonra sıçrama yapmasını sağlayabilirsiniz.
    • Genellikle hareket eden nesnelere Physic Material eklemek, oyunun fiziksel etkileşimlerini daha ilginç hale getirir.
  2. Duvarlar İçin Physic Material:
    • Duvarlara da bir Physic Material ekleyebilirsiniz. Bu, top duvara çarptığında nasıl bir tepki alacağını etkiler.
    • Friction ve Bounciness değerlerini ayarlayarak topun duvardan daha fazla veya daha az sıçramasını sağlayabilirsiniz.
  3. Zemin (Masa) İçin Physic Material:
    • Eğer topun yere (masa gibi bir yüzeye) temas ettiğinde farklı bir tepki vermesini istiyorsanız, zemine de Physic Material ekleyebilirsiniz.
    • Zemin üzerinde topun hareketini yavaşlatmak için yüksek bir Friction değeri kullanabilirsiniz.

Physic Material Vermek ve Vermemek Arasındaki Farklar

  • Physic Material Verildiğinde:
    • Sürtünme (Friction): Sürtünme değeri düşükse top daha kaygan hareket eder, yüksekse daha yavaşlar.
    • Sıçrama (Bounciness): Bounciness değeri arttıkça top, çarptığı yüzeyden daha fazla sıçrar.
    • Bu özellikler, çarpışmalardan sonra topun hızını ve yönünü etkiler. Oyununuza daha doğal veya eğlenceli bir fizik etkisi katmak istiyorsanız, Physic Material kullanmak iyi bir tercihtir.
  • Physic Material Verilmediğinde:
    • Sürtünme ve sıçrama etkisi olmaz veya varsayılan çok düşük değerlerde kalır.
    • Top duvarlara veya zemine çarptığında doğal olmayan veya çok basit bir tepki verir.
    • Eğer oyunda bu tür fiziksel etkiler istemiyorsanız, Physic Material eklememek daha basit bir fizik davranışı sağlar.

Özet

  1. Duvarlar: Statik olmalı.
  2. Top (Disk): Dinamik olmalı.
  3. Physic Material Kullanımı:
    • Topa (Disk): Kayganlık ve sıçrama efekti için Physic Material eklemek faydalıdır.
    • Duvarlara: Topun çarpışmalardan sonra daha fazla veya daha az sıçramasını ayarlamak için ekleyebilirsiniz.
    • Zemine (Masa): Topun sürtünerek yavaşlamasını sağlamak için eklenebilir.
  4. Physic Material Eklemek ve Eklememek Arasındaki Fark:
    • Eklediğinizde, sürtünme ve sıçrama etkileri sayesinde daha gerçekçi veya eğlenceli bir fizik deneyimi sunabilirsiniz.
    • Eklenmediğinde, varsayılan fizik özellikleri uygulanır ve top doğal olmayan bir şekilde durabilir veya tepki verebilir.

Collider Ayrıntılı Anlatımı

Collider Ayrıntılı Anlatımı

Collider bileşeni, Unity’de nesneler arasındaki çarpışmaları ve fiziksel etkileşimleri yönetmek için kullanılır. Collider, fizik motorunun temel bir parçasıdır ve her oyun nesnesinin fiziksel sınırlarını tanımlar. Şimdi Collider’ı detaylı bir şekilde ele alalım.

1. Collider Menüsüne Nasıl Ulaşılır?

Unity’de herhangi bir nesneye Collider eklemek için:

  1. Sahnedeki Nesneyi Seçin: Unity Editor’de bir nesne seçin. Bu nesne bir karakter, araç, platform veya herhangi bir fiziksel etkileşimde bulunmasını istediğiniz obje olabilir.
  2. Inspector Panelinde ‘Add Component’: Seçili nesneye bağlı bileşenleri ekleyebileceğiniz Inspector paneline gidin. Add Component düğmesine tıklayın.
  3. Collider Ekleme: “Collider” yazarak arama yapın. 3D ve 2D projelere göre uygun Collider çeşitlerinden birini seçin. Örneğin:
    • 3D Proje: Box Collider, Sphere Collider, Capsule Collider gibi seçenekleri göreceksiniz.
    • 2D Proje: Box Collider 2D, Circle Collider 2D gibi 2D projelere özgü Collider seçenekleri mevcut.

Collider eklendikten sonra, nesne belirli bir fiziksel sınır elde eder ve diğer nesnelerle çarpışma veya temas algılayabilir hale gelir.

2. Collider Çeşitleri

Unity, farklı türdeki oyun nesneleri için çeşitli Collider türleri sunar. 3D ve 2D projeler için ayrı Collider türleri bulunur ve her biri farklı geometrik şekillerde çarpışma sınırları oluşturur.

A) 3D Collider Çeşitleri

  • Box Collider: Küp veya dikdörtgen prizma şeklinde çarpışma sınırları oluşturur. Çoğunlukla küp, kutu veya dikdörtgen nesneler için uygundur.
  • Sphere Collider: Küresel sınırlar oluşturur, yuvarlak nesneler veya dairesel sınır gerektiren nesneler için uygundur.
  • Capsule Collider: Silindirik veya kapsül şeklinde bir sınır sağlar. Karakterler veya silindirik nesneler için idealdir.
  • Mesh Collider: Nesnenin kendi geometrisine uygun özel bir sınır oluşturur. Karmaşık yapılı nesnelerde (örneğin dağınık taşlar, dallar, heykeller) kullanılır. Performansı etkileyebileceği için dikkatli kullanılmalıdır.
  • Wheel Collider: Araç tekerlekleri gibi yuvarlanan nesneler için özel olarak geliştirilmiş bir Collider türüdür ve sürüş simülasyonları için kullanılır.

B) 2D Collider Çeşitleri

  • Box Collider 2D: Dikdörtgen veya kare şeklinde 2D Collider sağlar.
  • Circle Collider 2D: Dairesel 2D Collider oluşturur, yuvarlak nesneler için idealdir.
  • Capsule Collider 2D: 2D projelerde silindirik veya kapsül şeklinde sınırlar oluşturur.
  • Polygon Collider 2D: Nesnenin 2D şeklini birebir izleyerek çokgen bir sınır sağlar. Karmaşık ve düzensiz nesneler için idealdir.
  • Edge Collider 2D: Çizgisel bir çarpışma sınırı oluşturur. Sınır veya çizgi gibi belirli alanları tanımlamak için kullanılır.

3. Collider Kullanım Alanları

Collider’lar, oyun nesnelerinin fizik motoruyla etkileşime geçmesi gereken her durumda kullanılabilir. Özellikle çarpışma veya temas gerektiren durumlarda vazgeçilmezdir. Collider kullanım alanlarına göre birkaç örnek verelim:

  • Karakter Hareketi ve Çevre Etkileşimi: Karakterlerin zemine basması, platformlar arasında geçiş yapması veya diğer nesnelerle etkileşime girmesi.
  • Araç Çarpışmaları: Araçların veya taşıtların engellerle çarpışması, düşme veya kayma gibi fiziksel tepkileri vermesi.
  • Platform ve Zemin: Oyuncunun veya nesnelerin üzerinde durabileceği veya çarpabileceği sabit platformlar.
  • Sınırlı Alanlar Tanımlama: Örneğin, bir oyun haritasının sınırlarını belirlemek için Edge Collider kullanarak oyuncuların belirli bir alanın dışına çıkmasını engelleyebilirsiniz.

4. Collider Özellikleri ve Ayrıntılı Açıklamaları

Collider özellikleri, nesnenin fiziksel etkileşimini ve çarpışma davranışını ayarlamak için kullanılır. Aşağıda her bir Collider özelliğini ayrıntılı açıklayarak, kullanım alanlarını ve programatik olarak nasıl erişileceğini tablolandırdım.

ÖzellikAçıklamaKullanım DurumlarıProgramatik Erişim
Is TriggerCollider’ı “tetikleyici” hale getirir. Çarpışma yerine nesne diğer nesnelerden geçerek sadece tetikleyici işlev görür.Kapı açma, alan geçişleri, puan bölgelericollider.isTrigger = true;
MaterialCollider’a bir fizik materyali ekler, bu da sürtünme ve sektirme gibi özellikleri sağlar.Kaygan zemin, sıçrayan top gibi yüzeylercollider.material = yourPhysicsMaterial;
CenterCollider’ın nesne üzerindeki merkez noktasını belirler. Çarpışmanın hangi noktadan algılanacağını ayarlar.Özel temas noktaları gereken nesnelercollider.center = new Vector3(x, y, z);
Radius (Sphere Collider)Küresel Collider’ın yarıçapını belirler. Küçük nesnelerde daha düşük, büyük nesnelerde daha yüksek bir değer ayarlanır.Küçük toplar, geniş çemberlersphereCollider.radius = 0.5f;
Size (Box Collider)Box Collider’ın boyutlarını belirler. Çarpışmanın dikdörtgenin belirli boyutlarında algılanmasını sağlar.Küpler, platformlar gibi nesnelerboxCollider.size = new Vector3(x, y, z);
Direction (Capsule Collider)Kapsül Collider’ın yönünü belirler (X, Y veya Z ekseni). Bu, kapsülün hangi yöne uzandığını belirler.Dikey veya yatay yön gerektiren nesnelercapsuleCollider.direction = 1;
Convex (Mesh Collider)Mesh Collider’ı daha performanslı hale getirir, ancak karmaşık yapılı nesnelerde keskin köşeleri ortadan kaldırabilir.Karmaşık objeler, ancak performans gerektiren durumlarmeshCollider.convex = true;

5. Collider Özelliklerinin Değer Aralıkları ve Kullanım Durumları

Collider özelliklerinin belirli değer aralıkları bulunur. Her özelliğin ideal aralığını ve kullanım durumlarına göre önerilen değerleri burada detaylandırıyorum:

ÖzellikDeğer AralığıÖnerilen Değer AralığıKullanım Durumları
Is Triggertrue / falsetrue veya falsetrue: Geçiş gerektiren durumlar için (örneğin bir kapının açılması). false: Fiziksel çarpışma gerektiren nesneler için kullanılır.
Material – Bounciness0 – 10.1 – 0.80.1: Az sıçrama gerektiren yüzeyler için. 0.8: Yüksek sıçrama gerektiren nesneler (örneğin zıplayan bir top).
Material – Friction0 – 10.2 – 0.60.2: Kaygan yüzeyler. 0.6: Yüksek sürtünmeli yüzeyler için uygundur (örneğin pürüzlü zemin).
Center-∞ to ∞ (x, y, z ekseni)(0,0,0) varsayılanNesnenin çarpışmasının merkezde olmasını istemediğiniz durumlarda farklı değerlere ayarlanabilir.
Radius (Sphere Collider)0 – ∞0.1 – 10.1: Küçük, yuvarlak nesneler için. 1: Büyük çember şeklinde etkileşim alanı gerektiren nesnelerde kullanılır.
Size (Box Collider)0 – ∞ (x, y, z ekseni)Nesnenin boyutuna göreNesnenin boyutlarına uygun bir şekilde ayarlanmalıdır. Örneğin, küçük nesneler için daha düşük, büyük nesneler için daha yüksek değerler.
Direction (Capsule Collider)0 – 20 (X), 1 (Y), 2 (Z)X: Yatay yön, Y: Dikey yön, Z: Çapraz yön; kapsül yönünü belirler.
Convex (Mesh Collider)true / falsetrue veya falsetrue: Karmaşık modellerin performansını arttırmak için kullanılır. false: Karmaşık modellerin birebir çarpışma sınırlarını simüle etmek için.

6. Collider Kullanımında Dikkat Edilmesi Gerekenler

  • Karmaşık Mesh Collider Kullanımı: Performansı doğrudan etkiler. Özellikle detaylı objelerde Mesh Collider performans düşüşüne neden olabilir. Mümkünse, karmaşık şekillerde Convex özelliği kullanarak performansı arttırabilirsiniz.
  • Trigger Kullanımı: Trigger, bir çarpışma yerine tetikleyici olarak çalışır ve fiziksel etkileşimi ortadan kaldırır. Bu, kapılar, görünmez sınırlar veya puanlama bölgelerinde kullanılabilir.
  • Material Ayarları: Farklı materyallerle sürtünme ve sıçrama ayarlarını yapabilirsiniz. Örneğin, zıplama gerektiren nesnelerde “Bounciness” yüksek ayarlanırken, kaygan zeminlerde “Friction” düşük ayarlanmalıdır.

Özet

Programatik Erişim: Collider’ın tüm özelliklerine kodla ulaşılabilir ve ihtiyaç duyulan her ayar yapılabilir.

Collider Ekleme: Nesneye “Add Component” üzerinden Collider eklenir.

Çeşitleri: 3D ve 2D projelerde farklı Collider türleri vardır.

Özellikler: Material, Trigger, Radius gibi özellikler, her Collider türüne özel ayarlanabilir.

Kullanım Alanları: Çarpışma, geçiş veya sınırlı alan tanımlamalarında kullanılır.

1

Zoomda Katılımcıları Yönetme

Zoomda Katılımcıları Yönetme

Zoom uygulamasında bir toplantıyı veya sınıfı yönetiyorsanız, katılımcılarınızla ilgili kimin konuşacağı, kimlerin yazabileceği gibi birçok şeyi de yönetebilirsiniz. Tüm bunlar için bilgisayarınızda Alt+U tuşlarına basarak katılımcı paneline ulaşmanız, iOS cihazınızda ise ana ekran sırasındaki Participants düğmesine basmanız yeterli.

Bilgisayarınızda Alt+U ile katılımcı bölümüne geldiğinizde Doğrudan katılımcıların olduğu listeye veya katılımcı arayabileceğiniz bir alana odaklanırsınız. Burada ilk önerim tab veya shift tab ile katılımcıların listelendiği alana gelmenizdir. Bu bölümde aşağı ve yukarı oklar yardımıyla bir katılımcıyı seçebilirsiniz. Çok kalabalık bir sınıftaysanız listeden oklar yardımıyla bir katılımcı bulmak yerine katılımcı arama alanına katılımcının isminin birkaç harfini yazmanız daha mantıklı olacaktır. Sonrasında tab tuşuyla ilerlediğinizde listenin yazdığınız kritere göre daraldığını göreceksiniz.

Listeden bir katılımcı bulduğunuzda Tab tuşuna basarsanız, Mute Unmute düğmesini görürsünüz. Bu, katılımcının sesini açmanıza veya kapatmanıza yardımcı olur. Tab ile ilerlediğinizde More Options for adında bir açılır menü bizi karşılar. Yani katılımcı için daha fazla seçenek içeren menü. Burada boşluk tuşuna bastığımızda şu seçenekleri aşağı yukarı yön tuşlarıyla görürüz: Chat, Stop Video, Make Host, Allow Record, Rename, Remove. Yani sırasıyla mesaj yaz, videosunu kapat, yönetici yap, Kayıt yapmasına izin ver, yeniden adlandır ve odadan çıkar. Gördüğünüz gibi katılımcıyla ilgili tüm seçeneklere buradan ulaşabiliriz.

Bir katılımcının sesi veya görüntüsü kapalıyken Unmute veya Ask to Start Video düğmelerine basarsanız, karşı tarafın sesi veya görüntüsü otomatik açılmaz. Katılımcıya yöneticinin sesi veya görüntüyü açma isteği gönderdiği belirtilir. Katılımcı bu isteği onaylarsa ses ya da görüntü açılmış olur. Yani yönetici olmanız size dilediğiniz katılımcının ses veya görüntüsünü kapatma hakkı verir, ama kapattıktan sonra yeniden açmak katılımcının iznine tabidir.

Katılımcıların olduğu panelde tab ile ilerlemeye devam ederseniz, Mute all ve Unmute all seçeneklerini görürsünüz. Yani tüm katılımcıların sesini kapatma veya açma. Burada Mute all düğmesine bastığınızda karşınıza bir onay ekranı gelir. Tüm katılımcıların sesini kapayacağımızı onaylamamızı ister.

Tab ile burada ilerlerken önemli bir onay kutusu karşımıza çıkar. Allow Participants to Unmute Themselves, Yani katılımcıların kendi seslerini tekrar açmalarına izin ver. Bu düğme varsayılan olarak işaretlidir. Yani katılımcılar Alt+A ile seslerini tekrar açabilir. Fakat işareti kaldırırsanız, O zaman sizin izniniz olmadan katılımcılar konuşamaz. Bu onay kutusunda istediğiniz şeyi yaptıktan sonra Yes düğmesine basarak tüm katılımcıları sessize almış olursunuz.

Eğer bir katılımcı sesini açmak isterse, “You cannot Unmute yourself, because the host muted you”, yani yönetici onu sessize aldığından sesini açamayacağı uyarısını görür.

Eğer Unmute All yani tüm katılımcıların sesini aç düğmesine basarsak bu durumda tüm katılımcıların sesi açılır. İlginç biçimde bu durumda katılımcılara bir izin sorulmaz.

Katılımcı panelindeki son düğme ise More Options to Manage All Participants. Yani tüm katılımcıları yönetmek için daha fazla seçenek düğmesidir. Burada boşluk çubuğuna basıldığında çıkan menüde şu öğeler yer alır: Mute Participants On Entry, Allow Participants to Unmute Themselves, Allow Participants to Rename Themselves, Play Enter Exit Chime, Lock Meeting. Yani Girişte katılımcıları sessize al, katılımcıların kendi seslerini açmalarına izin ver, katılımcıların kendilerini yeniden adlandırmalarına izin ver, giriş çıkışlarda zil çal, toplantıyı kilitle.

Önerim bir toplantı odasını daha ilk açtığınızda, kimse gelmeden Katılımcı paneline girip tüm katılımcıların bu ayarlarını yapmanız olacaktır. Böylece sınıf veya toplantınızın kontrolünü sağlamış olacaksınız.

iOS Zoom uygulamasında katılımcıların tümünü sessize almak veya sesini açma ayarları Participants bölümünde yer alır. Bunlara Ancak tüm katılımcıları yöneteceğimiz diğer ayarlar More düğmesine basıldıktan sonra gelen menüdeki Meeting Settings bölümünde, Host Controls başlığı altında bulunur.

Burada katılımcıların girişte sessizde olması, seslerini açma, kendilerini yeniden adlandırma, giriş çıkışta ses çalma ve toplantıyı kilitleme gibi kontroller yapılabilir. Ek olarak katılımcıların ekran paylaşımı yapıp yapamayacakları ve kimlerle yazışabileceklerini ayarlayabileceğimiz alan da burada görülür.

Participants bölümünde tüm katılımcıları görebiliriz. Bir katılımcı üzerine çift dokunduğumuzda bireysel olarak bir katılımcıyı sessize alma, yönetici yapma, yeniden adlandırma, videosunu durdurma veya açmasını isteme, toplantıdan çıkarma gibi ayarları görürüz.

Katılımcı ekranında da Mute All tümünün sesini kapat dediğimizde, bir iletişim kutusu açılır ve buradan da katılımcıların seslerini tekrar açabilmelerine izin vereceğimiz anahtarı bulmak mümkündür.

Yine Chat düğmesi Participants bölümündedir ve herkese mesaj atmamızı sağlar. Bir katılımcıya özel mesaj atmak için ise, o katılımcı üzerine çift dokunup oradaki Chat öğesine tıklamak gerekir.

Zoom Konferansa Nasıl

Zoom ile Konferansa Nasıl Giriş Yapılır?

Zoom Konferansa Nasıl
Zoom ile Konferansa Nasıl Giriş Yapılır? 8
  • Zoom ana ekranında yer alan Join butonuna tıklayın.
  • Enter meeting ID or personel link name yazan yere, öğretmeninizin veya yöneticinizin size verdiği ID numarası veya linki yazın. Enter your name yazan yere adınızı yazın ve Join butonuna tıklayın.
  • Eğer şifreli bir konferans ise şifre girme ekranı açılacaktır. Açılan ekranda şifreyi girin ve Join Meeting butonuna dokunun.

Zoom Uygulaması Ayrıntılı

Zoom Uygulaması Ayrıntılı İnceleme

Zoomda Sohbet Chat

Zoomda Sohbet (Chat) Paneli

Bir toplantıda katılımcılarla sohbet etmek, web sayfası ayarlarından açtıysak onlara bilgisayarda dosya göndermek mümkündür. Bunun için bilgisayar toplantı ekranında Alt+H ile sohbet panelini açıp kapayabiliriz. Buradaki ilk alan mesaj yazma alanı olacaktır. Bir mesaj yazıp giriş tuşuna bastığımızda, mesaj gönderilmiş olur.

Zoomda Sohbet Chat
Zoomda Sohbet (Chat) Paneli 12

Sohbet panelinde Shift Tab ile ilerlediğimizde, karşımıza çıkan ilk düğme, More Chat Options düğmesi olacaktır. Burayı açtığımızda karşımıza kimlerin yazışma yapabileceğine ilişkin seçenekler gelir ve bunlar şunlardır: No one, host only, Everyone publicly, Everyone Publicly and Privately. Yani hiç kimse, yalnızca yöneticiye mesaj gönderme, herkese mesaj gönderebilme ve herkesin hem herkese hem birbirlerine mesaj göndermesi. Bir sınıftaysanız, öğrencilerin yalnızca size mesaj göndermesini veya yalnızca herkese mesaj gönderebilmesini seçebilirsiniz.

Shift+Tab ile ilerlediğinizdeki bir sonraki kontrol kime mesaj göndereceğinizi belirlediğiniz To, kime alanıdır. Buradan herkese mesaj gönderebileceğiniz gibi belirli bir kişi de seçebilirsiniz.

Not: Eğer dosya transferi yapmayı Zoom web sayfası üzerinden açtıysanız, burada File düğmesi de görünür ve basıldığında dosya açma penceresi karşımıza gelir.

Shift+Tab ile gelen son alan ise Chat mesajlarının bir liste halinde göründüğü liste kutusu olacaktır. Burada Chat mesajlarının hangi sırayla görüneceği kitapçığın sonundaki Chat ayarları bölümünden daha detaylı incelenebilir.

iOS ekranında ise sohbet paneline ulaşmak için sağ alt köşedeki More düğmesine oradan da Chat düğmesine basılmalıdır. Burada karşımıza çıkan ilk düğme Mute Unmute Notification bildirimlerin sesini açma veya kapatma düğmesi olacaktır. Böylece gelen chat mesajlarının bildirimlerini görmeyi veya görmemeyi seçebiliriz.

Ardından fiskeyle ile dolaşırken gelen tüm mesajları ve kime gönderildiklerini tek tek görebiliriz. Sonrasında Sent to Everyone düğmesini görürüz. Buraya basıp mesajı herkese değil de belirli bir kişiye göndermeyi seçebiliriz. Mesajı buraya yazıp send gönder düğmesine basarak gönderebiliriz.

Zoom Bilgisayar yardımcı

Zoom için Bilgisayar yardımcı Uygulamaları

  1. PDF Annotator : PDF düzenleme, PDF üzerine yazı yazma programı
  2. Pdf reader by xodo: PDF düzenleme, PDF üzerine yazı yazma programı
  3. Fatih Kalem: PDF Annotator alternatif olarak fatih kalemi kullabilirsiniz.
  1. Wacom grafik tablet : Bilgisayar ekranına rahat çözüm yapabilmek için wacom grafik tablet kullanabilirsiniz. Piyasadaki farklı alternatifleri bulunmaktadır.Kullanıcılar genellikle wacom’dan olumlu bahsetmektedir.Örnek bir ürün; Wacom One By Wacom Medium Grafik Tablet (CTL-672-N) dir.
  2. Mikrofon: Eğer profosyonel ücretli videolar çekeceksiniz. Profosyonel mikrofon almanızı tavsiye ederim. Mikrofon olarak Snopy SN-03P filtreli modeline bakabilirsiniz.
Zoomda Ekran Görüntüsü

Zoomda Ekran Görüntüsü Paylaşımı Nasıl Yapılır?

Görüntülü derslerde/konferanslarda bilgisayar ekranınızdaki görüntüyü derse/toplantıya katılan kişilerle paylaşabilirsiniz. Oldukça gelişmiş bir konferans programı olan Zoom ile bilgisayar ekranınızı, ekranın sadece belirli bir bölümünü, sadece bilgisayardaki sesi veya beyaz bir tahtaya çizdiğiniz görüntüleri paylaşabilirsiniz. Bunun için ekranın alt kısmında yer alan Share Screen butonuna tıklayın.

Açılan ekranın üst kısmında Basic, Advanced ve Files menüsü yer almaktadır.

Basic sekmesinde yer alan Screen seçeneği ile bilgisayar ekranınızı paylaşabilir, White Board seçeneği ile beyaz bir tahta paylaşarak buraya yazıp çizdiğiniz görüntüleri paylaşabilirsiniz.

Zoomda Ekran Görüntüsü
Zoomda Ekran Görüntüsü Paylaşımı Nasıl Yapılır? 17

Advanced sekmesinde ise Portion of Screen seçeneği ile bilgisayar ekranınızın sadece belirli bir bölümünü paylaşabilirsiniz. Music or Computer Sound seçeneği ile bilgisayarda çaldığınız müziği veya bilgisayarın sesini paylaşabilirsiniz.

 Content from 2nd Camera seçeneği ile eğer bilgisayarınızda ikinci bir kamera bağlıysa bu kameranın görüntüsünü paylaşabilirsiniz.

Zoomda Ekran Görüntüsü
Zoomda Ekran Görüntüsü Paylaşımı Nasıl Yapılır? 18

Files seçeneğinde ise Dropbox gibi hesaplarınıza bağlanabilir ve buradaki belgelerinizi görüntüleyebilirsiniz.

Zoom’da Ders Toplantı

Zoom’da Ders / Toplantı Kaydı Nasıl Yapılır?

Zoom’da yapılan dersleri/toplantıları sonra yine izleyebilmek için dersleri kaydedebilirsiniz.

  • Derse/Toplantıya giriş yaptıktan sonra ekranın altında yer alan Record (Kayıt) butonuna tıklayın. Böylece ders/toplantı kaydedilmeye başlar.
Zoom’da Ders Toplantı
Zoom’da Ders / Toplantı Kaydı Nasıl Yapılır? 22
  • Ancak dersi veya toplantıyı kaydedebilmek için yayını yapan kişinin buna onay vermesi gerekmektedir. Aksi halde Record butonuna dokunduğunuz zaman “please request recording permission from the meeting host” hatası alırsınız.
  • Dersi veren öğretmen veya toplantı yapan yönetici, ekranın altında yer alan Participants seçeneğini seçip açılan ekranda kişinin üzerine dokunarak (more) açılan menüden Allow Record (Kayda İzin Ver) seçeneğini seçmesi gerekmektedir.
  • Toplantıdan / Dersten çıktıktan sonra kayıt gerçekleşir ve ders videosu bilgisayarınıza kaydedilir.
  • Kaydettiğiniz derslere Meeting sekmesinde yer alan Recorded bölümünden ulaşabilirsiniz.
Zoom’da Ders Toplantı
Zoom’da Ders / Toplantı Kaydı Nasıl Yapılır? 23
Zoomda Facebook Youtube'dan

Zoomda Facebook ve Youtube’dan Canlı Yayın Nasıl Yapılır?

Varsayılan olarak açık olmamakla birlikte, Zoom Facebook veya youtube üzerinden canlı yayın yapmamıza imkân vermektedir. Bu özelliği kullanabilmek için ücretli kullanıcı olmak gerekebilir, ancak ücretsiz bir hesapla da test yapmanızı öneririm. Öncelikle canlı yayın özelliğini zoom Web sayfası ayarları üzerinden açmak gerekecektir. Bunun için şu adımları izleyin.

  1. Zoom ana ekranında setting bölümüne girip buradan General kategorisini seçili hale getirelim.
  2. Tab ile ilerleyip View more settings open in your Web browser, Daha fazla ayar göre varsayılan web tarayıcınızda açar düğmesini bulup girişe basalım.
  3. Açılan web sayfasında oturum açmamız istenirse, Zoom kayıtlı kullanıcı adı ve şifremizle oturum açalım.
  4. Ctrl+F tuşlarına basıp arama alanına Allow Live Stream Meetings yazıp girişe basalım.
  5. Böylece canlı yayın başlığına ulaşacağız. Bir kez aşağı ok tuşuna basıp Allow Live Stream Meetings, toplantıları canlı yayınlamaya izin ver düğmesini bulalım ve giriş tuşuna basıp basılı hale getirelim.
  6. Burada aşağı yön tuşuyla ilerleyerek dilersek Facebook ve youtube onay kutularını işaretli hale getirelim.

Bu ayarları bir kez yapmamız yeterli. Artık bir toplantı başlattığımızda canlı yayın yapabiliriz. Bunun için toplantı ekranımızda belirecek More Meeting Controls düğmesine basmamız gerekecektir. Açılan menüde seçtiysek Live on Facebook, Live on Youtube gibi seçenekleri göreceğiz. Bunlardan birine bastığımızda Facebook veya youtube sayfası açılarak oraya gerekli bilgileri yazmamız, oturum açmamız ve gerekli izinleri vermemiz gibi ekranlar açılabilir. Web sayfalarındaki ilgili işlemleri ve canlı yayın başlığı gibi alanları doldurduktan sonra canlı yayını başlatabiliriz.

Yayını durdurmak için yine More Meeting Controls bölümü kullanılır.