Advanced 3D Soccer simulation engine featuring custom physics-based mechanics, modular architecture, and procedural animation built for Unity.
HaxSoccer, Unity ekosistemi için geliştirilmiş, yüksek performanslı ve fizik tabanlı bir futbol simülasyon motorudur. Standart oyun mekaniklerinin ötesine geçerek, topun aerodinamik hareketlerinden oyuncuların prosedürel animasyonlarına kadar her detayı kontrol etmenize olanak tanır.
Modüler yapısı sayesinde hem arcade tarzı hızlı oyunlar hem de derinlemesine simülasyon projeleri için esnek bir temel sunar.
- Gelişmiş Fizik Motoru: Top için özel Magnus etkisi (kavis verme), sürtünme ve sekme dinamikleri.
- Modüler Mimari: SOLID prensiplerine uygun, kolayca genişletilebilir takım ve oyuncu sistemleri.
- Prosedürel Animasyon: IK (Inverse Kinematics) destekli, topa temas anında dinamik olarak şekillenen oyuncu hareketleri.
- Gelişmiş Kontrol Sistemi: Hassas top sürme, pas verme ve şut mekanikleri için özelleştirilmiş Input sistemi.
- Esnek Yapılandırma: Topun ağırlığından sahanın sürtünme katsayısına kadar her şeyi ScriptableObjects ile yönetme imkanı.
- Motor: Unity 2022.3+
- Dil: C# (.NET Standard 2.1)
- Render Pipeline: URP (Universal Render Pipeline)
- Fizik: Unity Physics & Custom Physics Solvers
Projeyi yerel makinenizde çalıştırmak için şu adımları izleyin:
-
Depoyu klonlayın:
git clone https://github.com/umutbarancicek/HaxSoccer.git
-
Unity Hub'ı açın ve projeyi listeye ekleyin.
-
Unity 2022.3 veya daha yeni bir sürümle projeyi başlatın.
-
Gerekli bağımlılıkların (Package Manager) yüklenmesini bekleyin.
Simülasyonu başlatmak ve temel bileşenleri incelemek için:
Assets/Scenes/Main.unitysahnesini açın.SoccerManagerobjesi üzerinden oyun kurallarını (süre, skor vb.) belirleyin.- Kendi oyuncu prefab'ınızı oluşturmak için
IControllablearayüzünü (interface) implemente edin:
public class MyPlayerController : MonoBehaviour, IControllable {
public void Kick(Vector3 direction, float force) {
// Özel şut mantığınızı buraya yazın
}
}Katkılarınızı bekliyoruz! Projeyi geliştirmek için:
- Bu depoyu Fork'layın.
- Yeni bir özellik dalı (branch) oluşturun (
git checkout -b feature/YeniOzellik). - Değişikliklerinizi Commit edin (
git commit -m 'Yeni özellik eklendi'). - Dalınızı Push edin (
git push origin feature/YeniOzellik). - Bir Pull Request oluşturun.
Bu proje MIT Lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına göz atabilirsiniz.
Geliştirici: @umutbarancicek
İletişim: Proje ile ilgili sorularınız için Issue oluşturabilir veya iletişime geçebilirsiniz.