sabalax

Yeni üye
7 Nis 2022
3
0
0
(34) İstanbul Avrupa
Merhabalar bir üzerinde çalıştığım oyun bir süpermarkette geçmekte ve bir alışveriş listem var istediğim şey aslında alışveriş listesindeki ürünleri aldıkça listedeki ürünlerin üzerinden kırmızı çizgi ile geçmek fakat bunu nasıl yapacağımı bir bulamadım yardımcı olursanız sevinirim.
 
Soruda tam olarak açık değil ama sanırım bu olayın shader kısmını soruyorsun.
1. Liste tamamen bir UMG widget olabilir. Listedeki her satır ayrı bir image olsun. Bu UMG widget ı 3 boyutlu kullanılacak şekilde ayarlaman gerekir. Şurda daha ayrıntılı bilgi mevcut 
   https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/UMG/HowTo/InWorldWidgetInteraction/
2. Her satır ayrı bir image olacak ancak bu img slot una bir image yani resim değil bir material koyacaksın. Bunun için bir örnek tutorial vereyim ama internet te ton la mevcut. Konuyu öğrenmek önemli.
    http://shootertutorial.com/2015/07/16/umg-adding-materials/
3. Sen her malzeme aldığında bu satırda ki resmin üzeri çizilecek. Bunu material da şöyle yapacaksın: Yazılan satır altta bir resim olacak bunun üstüne bir çizgi resmini alpha sını zamana bağlı etkinleştirerek soldan sağa açılmasını sağlayacaksın. Böylece yazı resminin üzerinde çizgi çiziliyormuş gibi gözükecek.


Bunu çok daha değişik şekillerde yapabilirsin ama benim ilk aklıma gelen şekli bu.
 
evet cümleyi yazamamışım hiç aklım 5 karış havadaydı ama doğru anlamışsın fakat tam değil.
Düzgünce anlatmam gerekirse alışverişlistesindeki ürünleri

Süt
Yoğurt
Tuvalet Kağıdı olarak belirlersek yerden süt aldığımda alındığı belli olması için üstünün kırmızı bir çizgi ile çekilmesini istiyorum veya Sütü aldığımda yazının rengini değişmek
 
2 array oluştur, 1.si UI içinde alınacaklar için diğeri pawn içinde alınmış olanları kontrol etmek için, her ürün alındığında UI içinde oluşturacağın bir fonksiyon ile 2 array i karşılaştır. 2 arrayde de olanların üstünü çizmek için 

Screenshot_1.png


görseldeki gibi overlay ile text ve progress barı üst üste koy, bu progress barları da array haline getir, sahip olunan ürünlere ait progress barın percent değerini aynı index üzerinden 1 yaparak üstünü çizebilirsin.
 
Peki menüleri bu şekilde değilde animasyonlu nasıl yaparız ? Örneğin parçalanan bir button mesela ? Ya da ekrandan yangın efekti geçecek mesela. Bunları dışarıdan yapıp import etmek lazım heralde motorun o kadar kabiliyeti yok çünkü. Nerden yapılıyor böyle şeyler ? Eğilip bükülüp zıplayan button olabilir mesela bu örnek ? Mesela ben o alışveriş kağıdındaki her şey alınınca kağıdın yanmasını ve ya bükülüp atılmasını ve ya yırıtlmasını istiyorsam bunların animasyonu nerde yapılıp smooth bir şekilde uygulanacak buna...
 
O kadar şey istiyorsan UMG de UI olarak yapmazsın sistemi. Direk elindeki 3D object olarak yaparsın ki ondan sonra parçala yak bük hepsi kolayca olur.