Hikayeler

Reklam vermek için turkmmo@gmail.com

UNIGINE 2.14 - Cumulonimbus Bulutları, C# 9, Su Dalgası Spektrum Kontrolü, Yeni Peyzaj Üreticisi | Oyun Geliştirme

sergioneral

enjoy the silence 👌
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Fahri Üye
Katılım
17 Haz 2010
Konular
3,640
Mesajlar
19,614
Online süresi
17g 50672s
Reaksiyon Skoru
4,815
Altın Konu
163
Başarım Puanı
474
Yaş
31
TM Yaşı
15 Yıl 10 Ay 10 Gün
MmoLira
-933
DevLira
0

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

turkmmooyunmotorlari.png

Merhaba değerli Turkmmo takipçileri, bugün bu konuda sizlere UNIGINE 2.14 versiyonu hakkında bilgi konusu hazırlamak istedim. Sizleri daha fazla tutmadan konuya geçiş yapalım.

UNIGINE 2.14

Önemli Değişiklikler

  • Cumulonimbus dahil olmak üzere eksiksiz bulut türleri seti.
  • Yeni Peyzaj Oluşturucu: Sandworm Tool (üretime hazır).
  • .NET Core 5 (C# 9) entegrasyonu.
  • Su sistemi yükseltmesi: dalga spektrumunun hassas kontrolü.
  • Düzlemsel yansıma probları.
  • Fiziksel olarak doğru görselleştirme için Işık Ölçer aracı.
  • Motor ve fizik sisteminde daha güvenli yürütme sırası.
  • Etkili kalite önayar sistemi.
  • Varlık paketleri sistemi.
Video





Uyarı: UNIGINE 2.14 SDK, SDK Tarayıcı sürümü 1.9.30 veya sonraki bir sürümünü gerektirir.


Tam Bulut Türleri Seti

clouds_sm.jpg

UNIGINE'in 3D hacimsel çok katmanlı bulut sistemi, kurumsal uçuş simülatörleri için özel olarak tasarlanmıştır ve onlar için geçerli olan katı gereksinimleri karşılayarak gerçeğe yakın gökyüzü sunar.

Doğada on çeşit bulut vardır: Altocumulus, Altostratus, Cirrocumulus, Cirrostratus, Cirrus, Cumulonimbus, Cumulus, Nimbostratus, Stratocumulus, Stratus.

altocumulus.jpg

stratocumulus.jpg


nimbostratus.jpg



Su Sistemi Yükseltmesi (BETA)

c1f472f2eb574e39bbb93f648f978863.water2.jpg

Dalga spektrumunun hassas kontrolünü sağlayan yeni dalga uygulaması artık mevcuttur. Her dalga sisteminin benzersiz özellikleri, spektral parametreler, dalga yönü ve hızı ve dalgaların şekil faktörü aracılığıyla bağımsız olarak ayarlanabilir (çünkü tüm veriler artık CPU tarafında mevcuttur). Her parametreye uygun erişim ve bunları çalışma zamanında API aracılığıyla kontrol etme yeteneği (örneğin, bir eğitmen istasyonundan Hava Durumu Kontrol paketlerini işleme vb.) ile birden fazla dalga ve dalga grubu (en büyükten en küçüğe) oluşturabilirsiniz.

C++:
ObjectWaterGlobal water = NULL;

int init() {
    Node water_node = engine.world.getNodeByName("ObjectWaterGlobal");
    if(water_node == NULL) {
        log.warning("can't find water node with name \"ObjectWaterGlobal\"\n");
        return;
    }

    water = node_cast(water_node);
    if(water == NULL) {
        log.warning("water node is not ObjectWaterGlobal\n");
        return;
    }
    
    // switch to manual mode to enable setting up waves via code
    water.setManual(true);
    
    // add waves one by one.
    // addWave(wave length, amplitude, steepness, direction angle[0.0; 360.0], phase offset[0.0; 2*PI])
    water.addWave(8.0, 0.05, 2.0, 270.0, 0.0);
    water.addWave(8.0, 0.015, 1.0, 150.0, 1.0);
    water.addWave(8.0, 0.02, 6.0, 75.0, 0.0);
    water.addWave(16.0, 0.05, 2.0, 270.0, 3.0);
    water.addWave(16.0, 0.05, 7.0, 45.0, 0.5);
    water.addWave(32.0, 0.1, 2.0, 120.0, 2.0);
    water.addWave(64.0, 0.2, 1.0, -90.0, 0.1);
    
    // change amplitude and length for the second wave
    water.setWaveAmplitude(1, 0.015);
    water.setWaveLength(1, 10);
    
    // ...

    return 1;
}

water1_sm.jpg

.NET 5 (C# 9) Entegrasyonu

.NET Core 2.2 ve 3.1 desteği ile başladık, şimdi Kasım 2020'de piyasaya sürülen .NET 5 desteğini uyguladık (yeni ana .NET sürümleri yıllık olarak planlanmaktadır, bu nedenle hızımızı koruyoruz). Bu güncelleme size birçok düzeltme ve yeni özellik de getiriyor:
  • Daha iyi performans.
  • Çöp toplama iyileştirmeleri (azaltılmış bellek tüketimi).
  • Geliştirilmiş performans ve yerel birlikte çalışma ve daha fazlasıyla C# 9.0 desteği (ayrıntılar için lütfen bu bağlantıyı izleyin).
  • Konteyner boyutu optimizasyonları.
  • Çok sayıda hata düzeltildi ve çok daha fazlası.
a28b33fe7d874207a661a91dbc759c69.dotnet5.jpg

API İyileştirmeleri

api.jpg
  • Yalnızca UnigineScript için kullanılabilen AppOculus yöntemleri artık C++/C#'dan da kullanılabilir.
  • Vector::eek:perator+= ve Vector::eek:perator+ için yararlı yöntemler eklendi.
  • HashSet::fromKeys() yöntemi eklendi.
  • MathLib'e tersLerp işlevleri eklendi.
  • TextureCurve (ValueMin/ValueMax) için minimum ve maksimum (kelepçe) değerleri ayarlama özelliği eklendi.
  • Bileşenleri arayüzlerine göre alma ve kaldırma yeteneği eklendi
C#:
List<HeliRotor> rotors;
//...
rotors = GetComponentsInChildren<HeliRotor>(node).ToList<HeliRotor>();
  • VScrollHidden / HScrollHidden C# yöntemlerinde ters çevrilmiş giriş düzeltildi.
  • İplik işlemede sabit yarış koşulları.
  • Düğüm sınıfı (ve tüm türetilmiş olanlar), belirsizliği önlemek için artık IDisposable arabirimini uygulamamaktadır.
  • C#'ta delege anahtar sözcüğü için destek eklendi, böylece aşağıdaki kod herhangi bir hata oluşturmaz.
C#:
public class Test : Component
{
    public delegate void TestDelegate();
    public delegate void TestDelegate2();
    public delegate bool TestDelegate3(int i);
    
    public event TestDelegate2 onFinished = delegate { };
    public event TestDelegate onChanged = delegate { };
}
  • XML verilerini (ikili biçim dahil) akışlar aracılığıyla aktarmanızı sağlayan bir parametre olarak Unigine :: Stream alarak Unigine :: Xml :: load () / save () işlevleri için bir aşırı yük eklendi.
  • Unigine ağları artık dizi tipi bağımsız değişkenleri desteklemektedir, böylece aynı anda birden çok tepe noktası, tanjant, normal vb. ekleyebilirsiniz, böylece ağ yönetimini kod aracılığıyla basitleştirirsiniz. Ayrıca tüm ağ için tüm köşeleri, normalleri, teğetleri ve diğer verileri tek bir işlev çağrısında alabilirsiniz (getNormals(), getTangents(), vb.).
  • Artık C++'da geri aramaları tanımlarken lambda ifadelerini kullanabilirsiniz.
C++:
// create a callback from lambda
int value = 5;
CallbackBase* callback = MakeCallback([value](){ /* .. */ });

// or std function
std::function<void()> callable_obj = [value]() { /* .. */ };
CallbackBase* callback = MakeCallback(callable_obj);

// or any other type of callable
struct Callable
{
  void operator()() const { /* .. */ }
  int value;
} callable_obj = { /* .. */ };

CallbackBase* callback = MakeCallback(callable_obj);
// ---------------------------------------------------------
// create a callback with parameters from lambda
CallbackBase2<NodePtr, int>* callback = MakeCallback([](NodePtr node, int value) { /* .. */ });

// create a callback with parameters from generic lambda
CallbackBase2<NodePtr, int>* callback = MakeCallback([](auto node, auto value) { /* .. */ });

API değişiklikleriyle ilgili daha fazla ayrıntı için lütfen bakın.


Bu tarz konuları kaçırmamak için beni takip etmeyi ve forumumuza üye olmayı unutmayın. BURAYA TIKLAYARAK forumumuza hızlı bir şekilde üye olabilirsiniz.

 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst