acemiunrealci

Yeni üye
14 Haz 2018
105
7
0
(40) Kırşehir
Merhabalar,

Arkadaşlar 
Bu içeriği görmek için üçüncü parti çerezlerine izin vermeniz gerekli.
Daha fazla detay için çerezler sayfasını ziyaret edin.
böyle bir top kontrol sistemine ihtiyacım var. Aslında karakteri değilde topu yönetmemiz gerekiyor gibi saçma fikirler geldi aklıma ama nasıl bir mantık kullanabilirim bir fikir üretemedim. Yardımcı olur musunuz?
 
Hmm aslında maksadıma göre gidiş yolum değişirdi.
1. En kolay şekilde gerçekçi bir sonuç elde etmekse amaç, karakteri ve topu tek bir skeletal mesh yapardım. Topunda ayakta döndüğü tüm durumları statemachine ile animbp de kurgulardım. Ayaktan çıktığı durumları ise topu gizleyerek ve yeni bir top spawn ederek hallederdim. Mesela uzun pas gibi durumlarda bu top gizlenir yerine physics aktif bir top fırlatılır ve diğer oyuncu aldığında ucan top öldürülür ve o oyuncunun ayağındaki top görünür hale gelir. Vb ...
2. Maksat fiziksel olarak doğru sonuç elde etmekse yani bir simulasyona dönüştürmekse top ayrı düşünülür. Physics sürekli aktif tutulur. Karakterin topun konumuna göre ve inputa göre değişik animasyonlar oynaması sağlanır. Bu sırada foot IK ile animasyonların herzaman tam olarak top ile buluşması sağlanır.
3. Topu kontrol edip karakteri ona uydurmak en zoru olurdu çünkü bu sefer top çok kolay addforce gibi komutlarla idare edilebilirse de karakteri uydururken doğru etkiye doğru animasyon oynatmak, topun hareketinin animasyonun uuygun yerinde başlamasını sağlamak  vb daha zorlu işler karşımıza çıkar.
İlk aklıma gelenleri yazdım. Amaca göre etraflıca düşünmek fayda maliyet analizi yapmak gerek.
 
Öncelikle cevabın için çok teşekkür ederim. :)

Söylediğin 1 numaralı yöntemin aynısını yaptım şuan aktif olan sistem o şekilde. Ve cidden çok basit ve çok denilmeyecek kadar güzel bir sistem oldu. Daha kaliteli bir duruma erişmek istediğim için böyle bir konu açtım. 2 numaralı sistemi ise denemeye kalktığımda sanki 3 numaralı yönteme doğru ilerleyip daha zorlu sürece sokacak gibi görünüyor. En azından benim tahminlerim bu şekilde. Aslında deneyerek en sağlıklı yönteme ulaşılabilir ama isteğim sağ kulağı sağ elle tutmak sol elle tutmaktan daha mantıklı tam olarak isteğim bu. Farklı yöntemler aklınıza geldiğinde benimle paylaşırsanız çok mutlu olurum.

Tekrardan ilginiz için teşekkür eder, iyi forumlar dilerim.
 
Birşey değil. 
2 den 3 e kaymaya gerek yok. Eğer birinci şıkkı geçtiysek ve 2 den gitmek istiyorsak şöyle ilerleyebiliriz.
 Bence öncelikle sadece karakterin animasyonunu düşün. Topu hiç düşünme. Ama animasyonları topun gitmesi gereken yönü hesap ederek oturt. Yani örnek vermek gerekirse sağ tuşa basıldığında top sağa doğru götürülmek isteniyor. Önce toptan bağımsız düşün. Futbolcu ileri doğru bakıyorsa sağ ayağının kenarı ile topu sağa itmek isteyecektir. Ancak bize doğru bakıyorsa sol ayağının dışıyla iteleyecek zaten sağa bakıyorsa daha başka bir animasyonun oynaması gerekecek. Sola bakıyorsa ayak topuğuyla vb...tabi bunlara koşuyorken yada durmuşken gibi ekstralar da girer.

Bu animasyon olayını çözdükten sonra IK kullanarak animasyonun topa gerçekten tam ulaşmasını sağlamak gerekir. Buda ikinci aşama.
3 üncü ve son aşamada bence topa manüel add impulse ya sa add force vb fizik komutları ile duruma uygun güç uygulamak var. Bunun için animasyondan uygun yerden bir notify event ile bu kodu çağırabilirsin. Bence animasyondan fizik etki alıp yani ayağın etkisini direk topa geçirmeye gerek yok. Bu kısmı kendi içinde bağımsız olmalı. Mesela yavaş top sürmelerde 200 impulse ama hızlı koşarken 400 impulse vb. Böylece topun her seferinde karakterden ne kadar uzaklaşacağı belli olmuş olur. Buda animasyonu senkronize etmeni ve beklenmeyen garip neticelerin ortaya çıkmasını önler.
 Tabi bekara karı boşamak kolay. Allah kolaylık versin.