Merhaba Çapraz platform yetenekleri nedeniyle Firemonkey kullanıyorum. Bir parçacık sistemi oluşturmak istiyorum. Şimdi partikülleri hızlı görüntülemek için yeterince iyi çalışan bir TMesh kullanıyorum. Her parçacık, iki dokulu üçgenden ağda temsil edilir. Farklı doku koordinatlarını kullanarak aynı örgü ile birçok farklı parçacık tipi gösterebilirim. Sorun şu ki, her parçacık kendi şeffaflığına/opaklığına sahip olabilir. Şu andaki yaklaşımımla, her bir üçgen için (veya hatta köşe noktası) tek tek traspartı ayarlayamıyorum. Ne yapabilirim? TMMT.Data.VertexBuffer'da Diffuse veya diğer doku grupları (TexCoord1-3) gibi başka özellikler bulunduğunu fark ettim, ancak bu özellikler TMesh'de kullanılmıyor (hatta initalize edilmiyor). TMesh'den miras alarak bu davranışı basitçe değiştirmek kolay değildir. VertextBuffer'ı daha fazla özellik ile başlatmak için bir alt seviye kontrolünden miras almanız gerektiği görünüyor. Bunu denemeden önce, bir üçgenin şeffaflığını kontrol etmenin mümkün olup olmayacağını sormak isterim. Örneğin. şeffaf bir renk ayarlayabilir miyim (Diffuse) veya şeffaf bir doku kullanabilir miyim (TextCoor1)? Ya da Firemonkey'de parçacıkları çizmek için daha iyi bir yol var mı.Farklı saydamlıkla binlerce Sprite nasıl çizilir?
cevap
Söz konusu çerçeveyle ilgili fazla bir şey bilmediğimi itiraf ediyorum, ancak bir 3B modeldeki saydam noktalar aracılığıyla saydamlığı değiştiremezsiniz. Noktalar genellikle x, y, z koordinatlarıdır. Şimdi, bir aydınlatma sistemi kullanıyorsanız, köşe noktalarının sprite nasıl ışıklandırıldığına etkisi olacaktır. Ayrıca, farklı saydamlık efektlerini uygulamak için köşe bilgilerini de kullanabilirsiniz.
Şimdi, bunu yapmak için muhtemelen bir düzine farklı yol vardır. Genellikle, çalışma zamanında ayarlanabilen farklı alfa değerleri olan bir dokuya sahipsiniz. Grafik API'leri genellikle, değerleri hızlı bir şekilde sprite/dokulara uygulayabilen bazı filtreleme işlevlerine sahiptir ve iyi bir grafik varsa, grafik kartınızı kullanır. Bir etkiyi kullanabiliyorsanız, genellikle nükleer yolun bir dizi farklı kopya oluşturması ve daha sonra bunlara efekt uygulayabilmesi genellikle daha iyidir. Gouraud Gölgeleme kullanıyorsanız, Gouraud doku bilgilerini doldurmak için kod kullandığı için daha kolay olur.
Şimdi, hafif parçacıklar kullanıyor musunuz? Bazı grafik API'ları aslında ışık parçacıklarını oluşturan kodlara sahiptir.
Düzenleme: Vertex Shaders'ı hatırlayabiliyordum.
- 1. Sprite
- 2. Bir png dosyasını saydamlıkla nasıl kaydederim?
- 3. 2d silah sprite karakter sprite üzerinde Overlay?
- 4. Sprite, bezier eğrisini nasıl izler?
- 5. Binlerce derleyici uyarısını azaltma
- 6. MYSQL - Binlerce ayırıcı
- 7. Drag sprite
- 8. Kahraman sprite kenarlığı nasıl takılır
- 9. Sprite-Kit'i kullanarak Swift
- 10. ZendendTitBlock nasıl çizilir PDF
- 11. JMS kuyruğu nasıl çizilir?
- 12. Resimde metin nasıl çizilir?
- 13. Bir TextView nasıl çizilir?
- 14. Swt resmi nasıl çizilir?
- 15. Şekil nasıl çizilir
- 16. plot çizelgesi nasıl çizilir
- 17. Eşmerkezli altıgenler nasıl çizilir?
- 18. Cocos2d'de arka plan nasıl hızlı çizilir?
- 19. Sprite hareketini sıfırdan temizleyin
- 20. cocos2d sprite explosion
- 21. Sprite nesnesinin bir dizisini One Sprite - Unity olarak birleştirin
- 22. binlerce jsp milyon ve B milyar eki M K içine i numarayı dönüştürebilirsiniz nasıl binlerce jsp
- 23. PHP Dinamik Sprite Oluşturma
- 24. java ithalat bir sprite
- 25. Binlerce dahil olmak üzere MySQL görüntüsünden gelen binlerce kaydı, binlerce + 1'i sorgulamak için eşdeğer bir sorgu mı soruluyor?
- 26. Compass sprite jeneratörüne iyi alternatifler var mı? (Rails sprite jeneratörler)
- 27. WPF'de bu yol nasıl çizilir?
- 28. Scikit sınıflandırma raporunu nasıl çizilir?
- 29. Çizimler arasında bağlantı nasıl çizilir?
- 30. Bir Basemap'ta dikdörtgenler nasıl çizilir
"Şeffaf bir renk ayarlayabilir miyim ... veya şeffaf bir doku kullanabilir miyim?" ... Neden sadece denemiyorsunuz? O zaman geri dön ve bize anlat. – Ben