Çözüldü Winterland Costumes Efekt Sorunu C++

  • Konuyu açan Konuyu açan SinopLu57
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 6
  • Gösterim Gösterim 223
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

SinopLu57

Üye
Üye
Mesaj
92
Çözümler
2
Beğeni
71
Puan
699
Ticaret Puanı
0
Herkes 'e Selamlar,

Altyapımda Shining System mevcut bunun haricinde parlama efekti verecek ekstra bir sistem kullanmıyorum.
Bir çok plechito modellerini söktüm, efektli efektsiz eklemelerini yaptım fakat bu işlerle uğraşanlar bilir ki plechitonun kostümleri arasında bir kostüm var ki, çok canımı sıktı.
Bu kostümü ekledim, kostümün kendi efekti düzgün gösteriyor lakin shoulder ve snowflake_chest efekti bel tarafında kalıyor. Plechito bu kostümün efektlerinin çalışması için src tarafında C++ geliştirilmesi gerektiğini belirtmiş. Sanırım omuz ve göğüs için yeni kemik kodları işlemek gerekiyor, ne yazık ki kodlarla aram olmadığı için hiç kafamı o taraflara yormadım alternatif başka yol var ise veya bu efektlerin çalışması için elinizde hazır src ye eklenmiş bir kod yapısı var ise yardımcı olursanız memnun olurum.

Son olarak efektlerin koordinatlarında düzenleme yaparak denedim lakin karaktere silah giydirdiğimde karakterin duruşu bozulduğu için efekt hangi koordinatta ise orada kalmaya devam ediyor. Bununda kemiğe bağlanmadığı için olduğunu düşünüyorum. Şuan kafamda src taraflı düzenleme harici hiçbir çözüm yolu yok bilgisi olan arkadaşları bekliyorum <3
 
Çözüm
Sorunu şimdi daha iyi anladım. Efektlerin konumları günümüzde pek kullanılmayan pozisyonlara göre hazırlandığı için düzgün çalışmaması normal.
Src'den efektlere istediğin gibi bağlama noktası verebilirsin, bunu yapmadan efekti sağlıklı bir şekilde istediğin pozisyonlara bağlayamazsın. Aksi halde ya attığın görüntülerdeki gibi, ya da daha farklı sorunlar yaşarsın.

Ayrıca efektin bağlanacağı kemiği tespit etmen gerekecek ve bunun için World Editor ile tüm karakterin kemiklerini incelemen gerek. Çünkü her karakterin kemik yapısı ve isimleri birebir aynı değil. Orada hepsi listeli olarak görünüyor. Karakter modeline test efektler uygulayarak kemikleri tek tek önizleyebilirsin.

Src kısmı için ise örnek senaryo:
C++:
Genişlet Daralt Kopyala
DWORD...
Konuyu düzenleyecektim de sanırım yetki yok, biraz forum cahiliyim görememişte olabilirim her neyse konuyla ilgili kostümü set şeklinde hazırladım buraya ekliyorum.

Linkleri görebilmek için giriş yap veya kayıt ol.


Bu kostümün src taraflı kodlamasını yapan arkadaşlar vardır elbet fakat warezlenmediği için paylaşmak istemiyorlar anladığım kadarıyla :)
Sorun değil işte size fırsat, bu kostümün efektlerini C++ ile doğru bir şekilde çalıştırın ve kendinizi daha da ileriye taşıyın tabi bu işlemleri yaptıktan sonra konuya geri dönmeyi unutmayın :P
 
Sende görünen hali ve aslında olması gereken haline dair bir görüntü var mı?
 
Sorunu şimdi daha iyi anladım. Efektlerin konumları günümüzde pek kullanılmayan pozisyonlara göre hazırlandığı için düzgün çalışmaması normal.
Src'den efektlere istediğin gibi bağlama noktası verebilirsin, bunu yapmadan efekti sağlıklı bir şekilde istediğin pozisyonlara bağlayamazsın. Aksi halde ya attığın görüntülerdeki gibi, ya da daha farklı sorunlar yaşarsın.

Ayrıca efektin bağlanacağı kemiği tespit etmen gerekecek ve bunun için World Editor ile tüm karakterin kemiklerini incelemen gerek. Çünkü her karakterin kemik yapısı ve isimleri birebir aynı değil. Orada hepsi listeli olarak görünüyor. Karakter modeline test efektler uygulayarak kemikleri tek tek önizleyebilirsin.

Src kısmı için ise örnek senaryo:
C++:
Genişlet Daralt Kopyala
DWORD CActorInstance::AttachEffectByName(DWORD dwParentPartIndex, const char * c_pszBoneName, const char * c_pszEffectName)
{
    std::string str;
    StringPath(c_pszEffectName, str);
    DWORD dwCRC = GetCaseCRC32(str.c_str(), str.length());
 
    // Eğer snowflake_chest_male.mse yüklendiyse:
    if (strcmp(c_pszEffectName, "D:/ymir work/effect/plechito/weapons/snowflake_chest_male.mse") == 0)
    {
        c_pszBoneName = "Bone_shoulder_04"; // sol omuza bağla
    }
     
    return AttachEffectByID(dwParentPartIndex, c_pszBoneName, dwCRC);
}
Kod bilgine göre bu yapıyı geliştirebilirsin veya direkt böyle kullanabilirsin.

Ekran görüntüsü 2025-03-26 162646.webp
 
Çözüm
granny viewer üzerinden de tüm kemikler gözüküyor dipnot geçmek istedim
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst