Not a Devlog
https://blog.smartlydressedgames.com/not-a-devlog/#more-401
Bunun amacı ne bilmiyorum
türkçe çevirisi:
18 yönünde yolda küçük durum güncellemesi
Maalesef başımı biraz aşağıda tutuyordum! Tüm araç demo geri bildirimleri sayesinde harika bir okuma yapmak ve beta sürümünü herkesin kullanımına sunmak istiyorum ASAP - Üzgünüm, henüz daha fazla oyuncuya anahtar veremiyorum. Muhtemelen bu görevler tamamlandıktan sonra demo güncellenecektir (Combat Demo?), Ve sonra tüm varlıkları yeni maya boru hattına dönüştürmek için test haritasındaki bir geçiş.
Öğe yapısı
Maddenin yeniden işlenmesi iyi gidiyor ve düşünce tarzımda ilginç bir değişim oldu. Yıllar boyunca (3.0 öncesine dayanan) bu sistemleri “varlıklar” etrafında tasarlıyorum. Tüm verileri, modelleri, sesleri vb. Tutan Eaglefire varlığı veya Offroader varlığı ve daha sonra oyun kodu, çalışma zamanı nesnelerini verilerden oluşturur. Bunu yapmanın çok daha gerçekçi olmayan yolu, her ürüne, araca vb. Özgü alt sınıflar oluşturmak ve verileri aynı yerde kurmaktır.
Bu yapının şimdi 4’te nasıl değiştiğine dair bir örnek olarak, daha önce bazı sınıflar şöyle kuruldu:
BallisticWeaponDefinition bir UseableItemDefinition bir ItemDefinition olduğunu. BallisticWeaponInstance bir UseeableItemInstance bir ItemInstance ve item örneği temsil ettiği ItemDefinition öğesini tutar. Bir ItemObserverComponent öğesi, ItemInstance’ı oluşturan ağlardan, efektlerden vb. Sorumludur ve kullanmak için bir ItemObserverComponent alt sınıfını belirleyebilen ItemDefinition’daki verilerden hangisinin oluşturulacağını bilir.
Yeni kurulum, mimarinin çok farklı olması nedeniyle yeniden yazılmalı, ancak göreceli olarak daha hızlı yapılmalıdır çünkü özellik açısından zaten bir kez yaptım:
Bir Öğe aktörü Tanım ve Örneği birleştirir ve her bir belirli öğe için alt sınıflara ayrılabilir. Farklı işlevselliği tanıtan ItemBehaviorComponents eklenebilir. WearableItemComponent ve EquipableItemComponent (Kullanışlı / Silahtan Analog). Gömlek giydiğin bir silahın olabilir mi? Silah aktörleri UseableComponents’ın yeni analogudur ve benzer şekilde ItemObserverComponents öğesi artık ItemObserver aktörleridir. Bu, tüm gözlemci verilerini tanımdan çıkarır ve minigundaki eğirme varilleri gibi bir defaya mahsus efektler için çok daha özelleştirilebilir - daha az paylaşılmış kod değişiklikleri gerektirir. Bu katı kalıtım ağacından kaçar. Öncelikle bu değişim gerçekten modifiye edici faydalar sağlayacaktır.
Silahlar ve giyilebilir cihazlar daha çok, envanteri henüz geçmiştir. Envanter, Unreal’da bazı zorlu zorluklar sunuyor çünkü RPC’leri çağırmak için bir aktöre sahip olmanız gerekiyor, ancak yeni tasarımın bir başka yararı, modlar için RPC’leri çağırması çok daha kolay olmasıdır, çünkü bunlar hareketsizdir. Basit UObjects karşı. Ayrıca, modül kayıt defterinden, odaklanmış öğe örneklerine aktarılan bir IU4_InteractableInterface uygulayan aktör / bileşenlere etkileşimlerin nasıl keşfedildiğini yeniden düzenledim, böylece özel öğe davranışınız, gece görüşünü kask veya başka bir şeyle birleştirmek için F gibi yeni eylemleri kolayca tanımlayabilir.
Neyse, bununla ilgili anlaşmazlığı sonlandırmak kolay. Ayrıca, av tüfeği kabukları gibi daha az etki, mermi kovanlarından daha fazla çimlere iniş yapar!
Futureproofing 3
Son birkaç gün için bazı güncellemelerle meşgul oldum. 3 Ocak 2019’un sonundan önce Unity 2017.4 LTS’yi güncellemem gerekiyor, ancak atölye içerik oluşturucularına içeriklerini güncellemek için bol bol zaman vermek istiyorum. uyumlu ol. Diğer değişikliklerin yanı sıra, tüm varlıkların toplu olarak daha kolay bir şekilde güncellenebilmesi ve Hawaii ve Yunanistan’ın bu sisteme geçişinin sağlanması için varlık paketi başına birden çok öğe / nesne / vb. İzin vermek için bazı (oldukça açık) özellikler ekledim. Büyük olasılıkla Hawaii, Yunanistan, Kıbrıs ve Almanya, gelecekteki küratörlüğündeki haritalara yer açmak için atölyeye taşınacak.
Runtime Shader Permütasyonları
Şu anda 4 GPU şişe boyunlu, en azından kısmen fx gibi çim yer değiştirmesi, kar deplasmanı, kar birikmesi vb. GPU’da her zaman aktiftir. (CPU tarafı etkin / devre dışı). Birlik, ihtiyaç duyulduğunda bu gölgelendirici varyantlarını etkinleştirmek / devre dışı bırakmak için küresel gölgelendirici permütasyonları için güzel bir özelliğe sahipti, ancak en yakın Unreal, geçişi yavaş olan materyal nitelikleridir. Malzemelerin çalışma zamanı permütasyonlarını (vanilya gerçek dışı, hava durumu veya yeşillik) nasıl kullanmak istediklerini belirlemesi ve daha sonra bunları hızlı bir şekilde değiştirmelerini sağlamak için malzeme kalite sistemini yeniden tasarlamaya çalışıyorum. Bunun için konsept kanıtım editörde çalışıyor, ancak bazı çökmeler ve yemek pişirme sorunları var. AMA şimdi biliyorum ki, bazı performans kaygılarını dinlendirmek kesinlikle mümkün olacaktır.
Google Translate kullanılmıştır.
(metin çok uzundu üşendim )