TornadoTT

Yeni üye
24 Kas 2015
280
13
0
31
(6) Ankara
Bu aralar çok soruyorum farkındayım ama öğrenmem şart.

Alttaki Bp de gördüğünüz sistemi yaptım.Yapmak istediğim silahın yönü neyse mermininde o yönde gitmesi.

Bu metotdan önce M4A1 M4A1 isimli actorun get  socket rotation undaki valueyi direk make transformdaki rotation pinine bağlamıştım o çalışmadı.Şimdi bu denediğimde çalışmadı mermi hep karakterin bacak yönüne doğru gidiyor
Nerde hata yapıyorum?


KIRMIZI:GİTTİĞİ YÖN
YEŞİL:SİLAHIN YÖNÜ


 
SoloWarrior' Alıntı:
Get actor forward vector kulllanmalısın.

Simple weapon gibi kelimeler ile aratarak bulabilirsin youtubede.


Evet ikisinide kullanıyorum.Öyle gerekiyo materiala özel bullet impact ses için.Galiba sorunu çözdüm ama normal pozisyonun gidiş yönüne +90 derece ekliyo y yönünde onu nasıl -y 90 yapabilirim?
 
Resimde öyle birşey gözükmüyor.

Direk get rotation bağlamışsın,o şekilde çalışmaz.

Dediğim gibi bir tutoriale bak,aynısını yap çalışır.

Denemeden önyargılı olarak cevap vermeyin,ben denedim biliyorum ki yazıyorum.
 
SoloWarrior' Alıntı:
Resimde öyle birşey gözükmüyor.

Direk get rotation bağlamışsın,o şekilde çalışmaz.

Dediğim gibi bir tutoriale bak,aynısını yap çalışır.

Denemeden önyargılı olarak cevap vermeyin,ben denedim biliyorum ki yazıyorum.




Denedim dostum bak o yarım haliydi .Yinede -90 yapmam lazım x yönünde mermi rotationunu.
Şöyle açıklyım ateş ettiğim yerin 90 derece sağına atıyo tracer ve mermiyi


Jacky' Alıntı:
Posable Mesh Component'ı ne için kullandığınızı bilmiyorum ama mermi için Socket'in(MuzzleFlash) transformunu kullanmanız lazım.


Dediğim gibi soketin transformunu denedim ama aynı yöne atıyo yine 90 derece sağa.Sonra kamera olarak değiştirdim bu sefer doğru attı ama bu tam bi çözüm değil benim için silahın yönüne doğru atmam lazım gerçekçilik açısından

Şöyle düzeltiyim mermiyi ve linetraceri 90 derece sola dondurmem gerekiyo
 
O zaman soketi 90 derece döndürün. :) Normalde sokete sahip olan mesh X ileriye bakacak şekilde import edildi ise ve mermi(projectile movement component) içinde Velocity değerini pozitif X'ten başka bir değer olarak belirlemediyseniz sadece soket transformu ile silahın baktığı yöne gider mermi. Aksi takdirde soketin rotation değerleriyle oynama yapabilirsiniz istediğiniz sonuca ulaşmak için.
 
Şu anda sınava çalışıyorum,atma fırsatım yok ama şunları söyleyeyim.

Spawn edeceğinde çektiğin rotasyon WORLD ROTASYONU olmamalı.

RELATİVE ROTASYONU olmalı.

Tam doğru yazmamış olabilirim.

Matematikten nefret ediyorum :mad:


Edit:

Tekrar okudumda -90 derece ters atıyor her şekilde demişsin.

Bu duruma göre modelin rotasyonunu değişmen lazım actorden.
 
Jacky' Alıntı:
O zaman soketi 90 derece döndürün. :) Normalde sokete sahip olan mesh X ileriye bakacak şekilde import edildi ise ve mermi(projectile movement component) içinde Velocity değerini pozitif X'ten başka bir değer olarak belirlemediyseniz sadece soket transformu ile silahın baktığı yöne gider mermi. Aksi takdirde soketin rotation değerleriyle oynama yapabilirsiniz istediğiniz sonuca ulaşmak için.
Maalesef Soketin değeriyle oynarsam silah doğru ele oturmaz bu sefer  :) Her yerden hata fışkırıyo.Neyse Vector-int 90 yaptım.Ama bu sefer havaya ateş etmeye başladı.Ama silahın döndüğü yere gidiyo.Sanırım vector-int 90 yapınca x,y,z hepsini 90 eksiltiyo.Ben sadece x i değiştirmek istiyorum.
 
TornadoTT' Alıntı:
Maalesef Soketin değeriyle oynarsam silah doğru ele oturmaz bu sefer  :) Her yerden hata fışkırıyo.Neyse Vector-int 90 yaptım.Ama bu sefer havaya ateş etmeye başladı.Ama silahın döndüğü yere gidiyo.Sanırım vector-int 90 yapınca x,y,z hepsini 90 eksiltiyo.Ben sadece x i değiştirmek istiyorum.

Mermi için namlu ağzında ayrı bir soket kullanıyor olmanız lazım. Birden fazla soket oluşturabilirsiniz static ve skeletal mesh'ler için.
 
Jacky' Alıntı:
TornadoTT' Alıntı:
Maalesef Soketin değeriyle oynarsam silah doğru ele oturmaz bu sefer  :) Her yerden hata fışkırıyo.Neyse Vector-int 90 yaptım.Ama bu sefer havaya ateş etmeye başladı.Ama silahın döndüğü yere gidiyo.Sanırım vector-int 90 yapınca x,y,z hepsini 90 eksiltiyo.Ben sadece x i değiştirmek istiyorum.

Mermi için namlu ağzında ayrı bir soket kullanıyor olmanız lazım. Birden fazla soket oluşturabilirsiniz static ve skeletal mesh'ler için.


Ah kafam ya evet öyle yaptım ama aklım silahın soketine gitti.Sanırım uyumam lazım.Sonunda 1500. denememde hallettim.

Muzzle Flash soketinin yaw değerini -90 yapınca düzeldi.Oh ya  :)


SoloWarrior' Alıntı:
Şu anda sınava çalışıyorum,atma fırsatım yok ama şunları söyleyeyim.

Spawn edeceğinde çektiğin rotasyon WORLD ROTASYONU olmamalı.

RELATİVE ROTASYONU olmalı.

Tam doğru yazmamış olabilirim.

Matematikten nefret ediyorum :mad:


Edit:

Tekrar okudumda -90 derece ters atıyor her şekilde demişsin.

Bu duruma göre modelin rotasyonunu değişmen lazım actorden.



Sınavında başarılar öncelikle.Sınavın olduğu halde buraya gelip yardım ediyosun bizlere gerçekten helal yani.
World rotasyonu deneme amaçla yaptım.Ama bunu söylemen iyi oldu wordl rotasyonuda öğrenmiş oldum.
Modelin değilde soketin rotasyonunu değiştirdim düzeldi.Sağol yinede
Actordeki modelin rotasyonunu değiştirirsem bişey değişmiyo çünkü silah başta yerde ben onu elimdeki sokete attach ediyorum.Yani onun bi önemi kalmıyo
 
Çok benzer bir sorunu ben de yaşamıştım. İlgili bütün "mesh"ler UE4 kurallarına uygun olarak yapılmalı. Karakterden silaha hepsi ileri yön olarak +X, sağ yön olarak +Y ve yukarı olarak +Z eksenlerini göstermeli. Sonda olarak MuzzleFlash'da silah üzerinde +X yönünü gösteriyorsa problem çözülmeli.