- 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!
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.
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
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.
Su Sistemi Yükseltmesi (BETA)
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;
}
.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ı.
- Yalnızca UnigineScript için kullanılabilen AppOculus yöntemleri artık C++/C#'dan da kullanılabilir.
- Vector:
perator+= ve Vector:
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
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
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.


