09-09-2020, Saat: 16:25
https://www.youtube.com/watch?v=zjjH1RvW...e=youtu.be
Herkese merhabalar, dünyaya ilk spawn olan actörün içine girdiğinde "BlockHit" true oluyor ve 'E' tuşuna bastığımda yerden alabiliyorum.
Zaten dünyaya bir tane daha aynı actör geldiğinde onun içine giriyorum "BlockHit" in true si çalışmıyor ama sphare yeşil yanıyor :/ 'E' Tuşuna bastığımda yerden alamıyorum.
Yani benden silahı almak için ilk spawn olan actörün spheresine girmemi istiyor.
bunu nasıl genel yapabilirim?
ActörBP sindeki karakter Spherenin içine girdi mi girmedi mi sistemi https://hizliresim.com/M8trcu
CharacteBP sindeki E tuşuna basınca karakter spherenin içinde ise baltayı yerden almasını sağlayan sistem.
https://hizliresim.com/DHsYWr
09-09-2020, Saat: 17:00
(Son Düzenleme: 09-09-2020, Saat: 17:02, Düzenleyen: erginegider.)
(09-09-2020, Saat: 16:25)Emirhan Altaş Adlı Kullanıcıdan Alıntı: https://www.youtube.com/watch?v=zjjH1RvW...e=youtu.be
Herkese merhabalar, dünyaya ilk spawn olan actörün içine girdiğinde "BlockHit" true oluyor ve 'E' tuşuna bastığımda yerden alabiliyorum.
Zaten dünyaya bir tane daha aynı actör geldiğinde onun içine giriyorum "BlockHit" in true si çalışmıyor ama sphare yeşil yanıyor :/ 'E' Tuşuna bastığımda yerden alamıyorum.
Yani benden silahı almak için ilk spawn olan actörün spheresine girmemi istiyor.
bunu nasıl genel yapabilirim?
ActörBP sindeki karakter Spherenin içine girdi mi girmedi mi sistemi https://hizliresim.com/M8trcu
CharacteBP sindeki E tuşuna basınca karakter spherenin içinde ise baltayı yerden almasını sağlayan sistem.
https://hizliresim.com/DHsYWr
Şu an telden baktigim için tam inceleyemedim ama heryerde getactorofclass kullanmışsın. Bu zaten bu actor den dünyadaki ilkini al demek. Yani sen baktığını yada tracede bulduğunu değilse ilk actor hangisi ise onu alıyorsun. Hittrace den ne döndüyse onu alman lazım. Break hit result un altında devamı var. Ordan hit actoru çek. Cast yap devam et.
(09-09-2020, Saat: 17:00)erginegider Adlı Kullanıcıdan Alıntı: (09-09-2020, Saat: 16:25)Emirhan Altaş Adlı Kullanıcıdan Alıntı: https://www.youtube.com/watch?v=zjjH1RvW...e=youtu.be
Herkese merhabalar, dünyaya ilk spawn olan actörün içine girdiğinde "BlockHit" true oluyor ve 'E' tuşuna bastığımda yerden alabiliyorum.
Zaten dünyaya bir tane daha aynı actör geldiğinde onun içine giriyorum "BlockHit" in true si çalışmıyor ama sphare yeşil yanıyor :/ 'E' Tuşuna bastığımda yerden alamıyorum.
Yani benden silahı almak için ilk spawn olan actörün spheresine girmemi istiyor.
bunu nasıl genel yapabilirim?
ActörBP sindeki karakter Spherenin içine girdi mi girmedi mi sistemi https://hizliresim.com/M8trcu
CharacteBP sindeki E tuşuna basınca karakter spherenin içinde ise baltayı yerden almasını sağlayan sistem.
https://hizliresim.com/DHsYWr
Şu an telden baktigim için tam inceleyemedim ama heryerde getactorofclass kullanmışsın. Bu zaten bu actor den dünyadaki ilkini al demek. Yani sen baktığını yada tracede bulduğunu değilse ilk actor hangisi ise onu alıyorsun. Hittrace den ne döndüyse onu alman lazım. Break hit result un altında devamı var. Ordan hit actoru çek. Cast yap devam et.
Get Actor Of Class'ın ilkini al olduğunu bilmiyordum, açıkladığınız için teşekkür ederim.
Dünyadaki tüm hepsini alması için "Get All Actors Of Class ı " For Each Loop ile kullandım ve For Each Loop daki 'Array Element i' Cast to nun object kısmına atadım. bu sorunu çözdü. Tekrardan teşekkür ederim.
(09-09-2020, Saat: 17:21)Emirhan Altaş Adlı Kullanıcıdan Alıntı: (09-09-2020, Saat: 17:00)erginegider Adlı Kullanıcıdan Alıntı: Şu an telden baktigim için tam inceleyemedim ama heryerde getactorofclass kullanmışsın. Bu zaten bu actor den dünyadaki ilkini al demek. Yani sen baktığını yada tracede bulduğunu değilse ilk actor hangisi ise onu alıyorsun. Hittrace den ne döndüyse onu alman lazım. Break hit result un altında devamı var. Ordan hit actoru çek. Cast yap devam et.
Get Actor Of Class'ın ilkini al olduğunu bilmiyordum, açıkladığınız için teşekkür ederim.
Dünyadaki tüm hepsini alması için "Get All Actors Of Class ı " For Each Loop ile kullandım ve For Each Loop daki 'Array Element i' Cast to nun object kısmına atadım. bu sorunu çözdü. Tekrardan teşekkür ederim. Kardeşim yanlış gidiyorsun. Hitresult yapmışsın. Orda hangi obje varsa onu alacaksın. For each loop ta doğru malzemenin geldiğini nasıl anlayacaksın. Zaten anladığım kadarı ile cismi trace 'le buluyorsun. Trace ten dönen hitresultin altında hit actor var(küçük üçgen 'le ac break hit result u) Onu alıp cast etmen gerekiyor. Yoksa yanlış gider iş baştan.
09-09-2020, Saat: 19:06
(Son Düzenleme: 09-09-2020, Saat: 19:10, Düzenleyen: Emirhan Altaş.)
(09-09-2020, Saat: 17:36)erginegider Adlı Kullanıcıdan Alıntı: (09-09-2020, Saat: 17:21)Emirhan Altaş Adlı Kullanıcıdan Alıntı: Get Actor Of Class'ın ilkini al olduğunu bilmiyordum, açıkladığınız için teşekkür ederim.
Dünyadaki tüm hepsini alması için "Get All Actors Of Class ı " For Each Loop ile kullandım ve For Each Loop daki 'Array Element i' Cast to nun object kısmına atadım. bu sorunu çözdü. Tekrardan teşekkür ederim. Kardeşim yanlış gidiyorsun. Hitresult yapmışsın. Orda hangi obje varsa onu alacaksın. For each loop ta doğru malzemenin geldiğini nasıl anlayacaksın. Zaten anladığım kadarı ile cismi trace 'le buluyorsun. Trace ten dönen hitresultin altında hit actor var(küçük üçgen 'le ac break hit result u) Onu alıp cast etmen gerekiyor. Yoksa yanlış gider iş baştan. Proje ayarlarında Channel oluşturmuştum kimlerehitolsun isminde defult türüne ignore verdim ve karakterimin meshinden block yaptım. Böylece blockhit in true si sadece tracenin içine ben girersem hit oluyor.
Bu şekilde sorun oluşacağını sanmıyorum, resimde trace channel gözükmemiş sanırım.
for each loop ile, ilk gelen malzemeyi sırt taki slota veya elimdeki slota atayacağım sonraki malzemeleri ise envanter sistemi yapıp oraya atamayı düşünüyorum.
(09-09-2020, Saat: 19:06)Emirhan Altaş Adlı Kullanıcıdan Alıntı: (09-09-2020, Saat: 17:36)erginegider Adlı Kullanıcıdan Alıntı: Kardeşim yanlış gidiyorsun. Hitresult yapmışsın. Orda hangi obje varsa onu alacaksın. For each loop ta doğru malzemenin geldiğini nasıl anlayacaksın. Zaten anladığım kadarı ile cismi trace 'le buluyorsun. Trace ten dönen hitresultin altında hit actor var(küçük üçgen 'le ac break hit result u) Onu alıp cast etmen gerekiyor. Yoksa yanlış gider iş baştan. Proje ayarlarında Channel oluşturmuştum kimlerehitolsun isminde defult türüne ignore verdim ve karakterimin meshinden block yaptım. Böylece blockhit in true si sadece tracenin içine ben girersem hit oluyor.
Bu şekilde sorun oluşacağını sanmıyorum, resimde trace channel gözükmemiş sanırım.
for each loop ile, ilk gelen malzemeyi sırt taki slota veya elimdeki slota atayacağım sonraki malzemeleri ise envanter sistemi yapıp oraya atamayı düşünüyorum. Collision ayarlarında sorun yok zaten. Sorun senin hangi malzemeyi aldığında. Şöyle anlatayım:
Mesela yerde 10 tane kılıç olsun. Sen ilerlerken oyunun bir yerinde 2 numaralı kılıca gelsin. Trace de sorun yok mekanizma çalışıyor. Ancak sen bundan sonrasını getallactorsfrom class ile for each loop ile yapacam diyorsun.
Bende diyorum ki. Sen 2 numaralı kılıca gelmiştin. Yerdeki tüm kılıçları getallactorsfromclass ile bir dizi olarak topladın. Senin ulaştığın kılıç bu dizide nerde bunu bilmenin bir yolu yok. İlkini alicam diyorsun. Ilki belki başka bir yerdeki belki 10 uncu olan bunu bilemezsin. 2 nci olanda değil. Bu dizi sıralı değil. Senin maksadın çarptığını almak. Ancak sen rastgele bir tanesini almış olacaksın.
Senin trace channel i gördüm. Ordan hit result çekmişsin sadece blocking hit i kullanıyorsun. Onun altında bir küçük üçgen var. Orda bir hit actor var. O actor u cast edersen o senin o an dokunduğun kılıç yada malzeme neyse. Yani boşuna getallactors falan yapmana gerek yok. Orayı açarsan yaptığın trace zaten sana hangi kılıca dokunduğunu veriyor. Sonradan uğraşmayasın diye söylüyorum. Senin gittiğin yol sonuca ulaşmaz.
09-09-2020, Saat: 21:45
(Son Düzenleme: 09-09-2020, Saat: 21:46, Düzenleyen: nonlinear.)
Bence de kulağı tersten tutuyorsun, kullanacağın en mantıklı yöntem CharacterBP içinde eline alabildiğin actor class ları array haline getirmek, yine karakter üzerinde bir collision oluşturup silah kategorisinde olanların overlap kontrolünü yaptırmak. line trace atmana gerek yok düz bir sphere collision ile hepsini çözebilirsin, overlap olanı kontrol ettirip önceden hazırladığın silah türüne özel attach to component eventını çağırmak
10-09-2020, Saat: 01:19
(Son Düzenleme: 10-09-2020, Saat: 02:46, Düzenleyen: Emirhan Altaş.)
(09-09-2020, Saat: 21:45)nonlinear Adlı Kullanıcıdan Alıntı: Bence de kulağı tersten tutuyorsun, kullanacağın en mantıklı yöntem CharacterBP içinde eline alabildiğin actor class ları array haline getirmek, yine karakter üzerinde bir collision oluşturup silah kategorisinde olanların overlap kontrolünü yaptırmak. line trace atmana gerek yok düz bir sphere collision ile hepsini çözebilirsin, overlap olanı kontrol ettirip önceden hazırladığın silah türüne özel attach to component eventını çağırmak
@erginegider şimdi anladım teşekkür ederim.
Dediğiniz gibi karakterin eline alabildiği actorleri array haline getirdim. Yerdeki kalkana sphere oluşturarak Overlap ile karakter içine girdi mi, girmedi mi kontrolünü yaptım. E tuşuna bastığımda ise hazırladığım array a göre attach yaptım güzel bir şekilde çalışıyor.
Kalkanı yerden aldığımda yerden aldığım kalkanın visibility ini false yapmak istiyorum ama beceremedim. Benim yaptığım dünyada tüm o kalkan bp sinin visibility ini false yapıyor sadece benim aldığımın değil.
bunu nasıl yapabilirim?
https://www.youtube.com/watch?v=BftbMEbB5kI&feature=youtu.be
Kalkanı aldıktan sonraki silme işlemi yapan kodlar https://hizliresim.com/DWGYW7
KalkanBP sindeki spherenin overlap kodları https://hizliresim.com/OJsm7s
Karakterimdeki kalkanı yerden alma kodları https://hizliresim.com/tP8Wz2
Karakterdeki o kalkani aldi mi true yapıp hemen false yapmamın nedeni 1 kere vurup çekmesi için, farklı bir yöntem aklıma gelmedi.
Yanlış anlamadıysam sen yerden bir silah veya kalkan aldığında onu spawnlatarak karaktere tutturuyorsun, yerdekini de hide yapıp geçiyorsun, eğer durum buysa yine yanlış yoldasın.
Bir önceki mesajda yazdığım gibi karaktere ne attach lamak istiyorsan onlar için bir data oluştur, soketi rotasyonu vs. için. elinden bırakmak istediğinde ise Detach kullanarak elinden atacaksın. yerdeki diğer malzemelerle işin yok yani
10-09-2020, Saat: 05:15
(Son Düzenleme: 10-09-2020, Saat: 05:17, Düzenleyen: Emirhan Altaş.)
(10-09-2020, Saat: 02:51)nonlinear Adlı Kullanıcıdan Alıntı: Yanlış anlamadıysam sen yerden bir silah veya kalkan aldığında onu spawnlatarak karaktere tutturuyorsun, yerdekini de hide yapıp geçiyorsun, eğer durum buysa yine yanlış yoldasın.
Bir önceki mesajda yazdığım gibi karaktere ne attach lamak istiyorsan onlar için bir data oluştur, soketi rotasyonu vs. için. elinden bırakmak istediğinde ise Detach kullanarak elinden atacaksın. yerdeki diğer malzemelerle işin yok yani
Yerdekini hide yapmıyorum, destroy actor yapıyorum. ve karaktere kalkanı spawn yapmıyorum sadece set static mesh diyerek modeli veriyorum ve attach yapıyorum. Data oluşturma konusunda bir bilgim yok maalesef. Paylaştığım video da ki sorunu nasıl çözeceğimi biliyorsanız söyler misiniz?
Detach etmenin, spawn yaparak modeli droplamaktan ne farkı var ki? static meshine none verdiğimde ben sadece elde göremiyorum ama model orada duruyor mu? eğer böyle ise bunun ne tür bir - si var ki?
|