Mobile2Fix Unity Geliştirme Günlüğü

maxbro

[GM]MaxBro
MT Üye
Mesaj
689
Çözümler
21
Beğeni
613
Puan
829
Ticaret Puanı
0
Merhabalar arkadaşlar yaklaşık 1 hafta önce başlamış olduğum Unity Mmorpg projemin gelişme aşamalarını buradan paylaşacağım. Bu bir haftalık süreci kısaca özetlemek istiyorum.

İlk başlangıç olarak toplamda 8 job olmak üzere 4 karakterin model yüklemeleri, orjinal yapıdaki .msm>item_proto>item_list mantığıyla yeniden uyarlanmış olup, gerektiğinde herhangi bir files yapısındaki bu üçlü dosya yapısının çok kolay şekilde import edilmesine olanak sağlıyor.

Unity'nin kendi kütüphanesinde işleyebilmesi için,

*MSM dosyaları 8 karakter için data container assetler oluşturularak projeye eklendi
1770982563468.webp

*Karakterlerin 8 job için kullanılacak model dosyaları fbx formatları, skill-animasyon türleri projeye dahil edildi.
1770982770762.webp

*Haritalar zeminler ve objeler ile beraber projeye dahil edildi. Bu aşamada sorun çıkaran bazı objelerin sahnede yeniden oluşturulmasına olanak sağlayan scriptler hazırlandı.
*Spawn olan karakterin "bake" edilmiş zemini otomatik bulmasını sağlayan script hazırlandı.
*Oyuncu adını, seviyesini ve lonca bilgilerini gösteren script hazırlandı.
*Sunucuya kurulan mysql tablosundan ip adresi root ve şifre bilgileri girilerek verileri sunucudan çekmesi için gerekli scriptler yazıldı. Normalde localhost olarak bilgileri çekiyor fakat şuan geçici olarak freebsd ye kurmuş olduğum tablodan verileri çekiyorum. İlerleyen zamanlarda unity için kurulacak sunucuya geçince düzeltilecek.
*Haritadaki tüm ağaçları tek seferde değişen yerine yeni modeller ekleyen script hazırlandı. İhtiyaç halinde sahnedeki problem çıkaran ağaç modelleriyle vakit kaybetmek yerine tek tık ile yeni modelleri eklemek daha mantıklı geldi.

Oyuna start verilince gelen bazı log kayıtlarını ekledim.
<color=green>[Metin2DB]</color> BAĞLANTI BAŞARILI! Sorgu yürütülüyor...


<color=green>[Metin2DB]</color> Karakter Bulundu! Veriler okunuyor...


<color=green>[Metin2DB]</color> Karakter OKUMASI TAMAMLANDI: Mobile2Fix


<color=green>[Metin2]</color> Karakter Yüklendi: Mobile2Fix (Lv.250)


<color=orange>[Metin2]</color> Karakter Spawning: Mobile2Fix | DB Koordinat: (-37900, 20295, 17142) -> Unity: (-379.00, 171.42, 202.95)


[Metin2] NavMesh üzerinden zemin bulundu: (-379.00, 171.42, 202.95)


<color=magenta>[JobModelManager]</color> Models Root Path: _Game/Characters/


[Metin2] NavMeshAgent aktif edildi. Pozisyon: (-379.00, 171.42, 202.95)


[ZIRH YÜKLEME] Job: 0 | ArmorVnum: 63159


[ZIRH> ShapeIndex: 37


<color=yellow>[ZIRH]</color> MSM Shape Data: BULUNDU


[MODEL YÜKLEME] Job: 0 -> RaceFolder: warrior_m


MSM'den gelen model adı: warrior_4-1.GR2 -> warrior_4-1


Skipping Face Material by Name: warrior_face (Instance)


[SQL BAŞARILI] item_proto -> vnum: 45009 | value3: 5005


[Metin2 Analiz] JOB: 0 | Vnum: 45009 | MSM Index: 5005 | MSM Verisi: BULUNDU


Head bone bulundu: Bip01 Head


SkinnedMeshRenderer kemikleri eşleştirildi


[Metin2] Saç başarıyla takıldı: hair_15_1 -> Bip01 Head


Metin2 UI Assets Imported Successfully!


[Metin2] UI sistemi yeni karaktere (Şaman/Savaşçı) kilitlendi.


[Metin2] Kamera 'Mobile2Fix' karakterini takip ediyor.

*Mobil için başlangıç seviye UI oluşturuldu.
*Envanter sistemine giriş yapıldı. Verileri doğrudan player.items tablosundan çekiyor.


Ayrıca Not olarak paylaşmak istiyorum. Bu projeye dahil olan objeler, modeller zemin dokuları hiçbiri orjinal gameforge dosyalarından alınmamıştır. Eğer olurda proje başarılı şekilde tamamlanır hayata geçerse(tüm fonksiyonların sorunsuz çalıştığı bir senaryoda), oyuna dahil tüm materyal ve objelerin karakterlerin hepsinin baştan modellenip oluşturulup değiştirmeyi düşünüyorum. Kodlama kısmı zaten tamamen farklı, olası telif atma durumu için de modeller hepsi değişirse endişeye gerek kalmaz galiba.

Proje hakkındaki görüşleriniz ve önerileriniz benim için çok kıymetli

Sonuç olarak projenin son güncel görüntüsünü de aşağıya bırakıyorum.
1770984210686.webp
 
Hocam ui ı klasik metin2 elementlerinr çevirecek misiniz? Böyle hissiyatı bi garip geliyor kitleye
Tüm işlevlerini halledip daha sonrasında görsel olarak klasik yapıya dönüştürmeyi düşünmüştüm. Şuan biraz garip duruyor evet :D
 
Güncelleme;
Bazı Envanter düzenlemesi yaptım. Artık itemleri kutulara sürükleyince Dbdeki yerlerini de güncelliyor. Envanter penceresinin sağ ve alt kısımlarında biraz boşluklar var. Sağ tarafa bazı butonlar gelecek. alt kısma zaten yang bilgisi eklenecek. Tasarımı Google Flow ile yaptım. Biraz uğraştırdı ama herhangi bir metin2 ui dosyası kullanmadım. Bu neden önemli bilmiyorum ama mümkün olduğunca herşeyi baştan yapmaya çalışıyorum.

1771187383421.webp
 
Güncelleme;
Karakter Penceresi ve Ekipman Penceresi ekledim. Şuan için sadece veritabanındaki yerleri güncelleniyor. Henüz giyilen item için model güncellemesini eklemiş değilim. Sırada onu ekleyeceğim. İlk başta ekipman ve karakter penceresi butonlarını envantere bağlamıştım ama daha sonradan sağ üste aldım. Yerleri daha çok değişecek gibi görünüyor :D


1771529777267.webp
 
Güncelleme;

Giyilen item türüne göre animasyonlar ve model yükleme temeli atıldı. İtemin türüne göre animasyonları karaktere import ediyor. Zırh ve Silahlarda bulunan antiFlag değerlerine göre itemleri karaktere giydirmiyor. Yanlızca izin verilen itemleri giyebiliyor.

1771617040959.webp



1771617117014.webp
 
Güncelleme;

Artık giyilen itemin modelleri sorunsuz güncelleniyor. Db'ye kayıt ediliyor.
Basit bir uitooltip eklendi. İtemin efsunlarını da artık gösterecek.
Sırada skiller var.

1771870155210.webp
 
Güncelleme;

Şöyle bir skill penceresi yaptım. Skill seviyesine göre normal-master-grand-perfect her birinin ayrı bir çerçeve animasyonu mevcut. Ayrıca skill iconlarını da değiştirdim. Şuan deneme olarak sadece savaşçı iconları var. Diğer karakterleri henüz yapmadım. Toplamda her skill ağacı için 4 slot var. Skill seviyesine göre konumu güncelleniyor ve icon merkeze doğru yaklaşıyor. Skiller içinde alt kısımda 6 adet quickslot oluşturdum. skilleri oraya sürükleyip sağ alttaki konumlarını güncelliyorum. mysql deki quickslot sütunu da güncelleniyor bu sayede çıkış yapsa da skillerin yerleri kayıt ediliyor. Sırada skill animasyonları ve efektleri var.

1772122522298.webp
 
Güncelleme;

Karakterin Job türüne ve cinsiteyine göre Skill animasyon optimizasyonu sağlandı. Şimdi efekt ekleyeceğim. Yeni efektler mi yapsam yoksa var olan orjinal efektleri mi kullansam karar veremedim henüz.


1772183725400.webp

1772183855246.webp
 

Dosya Eklentileri

  • 1772183877878.webp
    1772183877878.webp
    280,7 KB · Gösterim: 47
Hocam konsolda karakterin skillerini seçip atması gereken sağdaki ui için mpbile legends oyununa bakabilirsiniz böyle bir konforsuz geldi bana
 
Hocam konsolda karakterin skillerini seçip atması gereken sağdaki ui için mpbile legends oyununa bakabilirsiniz böyle bir konforsuz geldi bana
Skill_window ve combat_panel için ayrı ayrı fikirlerim var o yüzden doğrudan combat_paneldekli slotlara değil de alt kısımda quickslot kısımları ekledim. Eğer kafamdaki gibi kullanışlı olmazsa, mobile legends indirip incelemek isterim.


orjinal efektleri nasıl çektiriyorsun? unitydeki mantığı unreale uyarlayabiliriz belki bir şekilde
Bildiğin üzere metin2 efektleri .mse dosyalarından işliyor. Bu .mse'lerin içindeki bilgileri, unity içerisine asset olarak ekleyip, dds kaplamaları da pngye çevirip kullanmayı planlıyorum.
 
Skill_window ve combat_panel için ayrı ayrı fikirlerim var o yüzden doğrudan combat_paneldekli slotlara değil de alt kısımda quickslot kısımları ekledim. Eğer kafamdaki gibi kullanışlı olmazsa, mobile legends indirip incelemek isterim.



Bildiğin üzere metin2 efektleri .mse dosyalarından işliyor. Bu .mse'lerin içindeki bilgileri, unity içerisine asset olarak ekleyip, dds kaplamaları da pngye çevirip kullanmayı planlıyorum.
unity yapan bi çocuk vardı o efektleri 1-1 geçiriyodu
 
unrealde de böyle gözüküyordu aynen o yüzden ışın kılıcı yaptım bende :D metin2 efekti yaparken bunlardan belkide 500 tane oluşturuyorsa o yüzden öyle gözüküyordur belkide. mutlaka bir olayı vardır ama gözden kaçırıyoruzdur.
Var olan efektleri ekleyemedim ama Particle System ile kendi efektlerimi oluşturuyorum. Belki daha güzel bir içerik ortaya çıkar.



 
Geri
Üst