UE4S

Yeni üye
22 Nis 2018
32
1
0
(34) İstanbul Anadolu
Merhabalar.

Unreal enginede veritabanına benzer bir yapı varmıdır? Data tableları kullanıyorum ancak bildiğiniz gibi sadece row isimleriyle teker teker çağrılabiliyorlar buda benim için sorun yaratıyor. Columnlarına göre arama yapıp toplu şekilde veri çekebileceğim bir yapı mevcut mudur?

Teşekkürler.
 
Merhabalar,

Columnlar, aslında Unreal Engine 4'de row'a benzerler fakat bunun için CurveTable kullanabilirsiniz.

CurveTable, DataTable'lara benzer şekilde çalışır, ancak yalnızca floating-point (kayan nokta) türlerini destekler. Floating-Point ise; Gerçel sayıların bilgisayar ortamındaki gösterim şekillerinden biridir. DataTable'larda olduğu gibi, ilk sütun Ad olarak adlandırılır ve her satırın oyunda kullanılmak üzere erişildiği adları içerir. İlk önce her sütun başlığı, çizilecek bir eğri için X ekseni değişkenini depolar. Bu başlık altındaki veriler, verilen satırın Y ekseni değeridir. Bu format dikkate alındığında, tek bir satır, kodun veriye erişebildiği ve aralarında arayabileceği bir eğriye (curve) karşılık gelir. 

Yarattığınız CurveTable'ın Blueprint üzerinden kontrolü için Handle şeklinde yaratmanız ve Find Row ve Get Curve kullanabilirsiniz.

C++ ve örnek için aşağıdaki dökümanı incelemenizi öneririm.

https://docs.unrealengine.com/en-us/Gameplay/DataDriven
 
Merhaba, Datatable'lerin SQL gibi gelişmiş sorgu dili yok. Fakat aradığın column ile ilgili olan sorgularsa aşağıdaki şekilde SQL koduna benzer queryler oluşturabilirsin.

Öncelikle bütün rowların ismini bir döngüye sokuyorum daha sonradan row ismine göre yapıyı alıyorum, bu yapıyı kırıp içerisindeki niteliklere göre bir koşul yazıyorum.

rOlL81.png



Bunun dışında MySQL için blueprint eklentileri var:
https://www.unrealengine.com/marketplace/mysql-integration
 
[UETR]Ozzy' Alıntı:
Merhabalar,

Columnlar, aslında Unreal Engine 4'de row'a benzerler fakat bunun için CurveTable kullanabilirsiniz.

CurveTable, DataTable'lara benzer şekilde çalışır, ancak yalnızca floating-point (kayan nokta) türlerini destekler. Floating-Point ise; Gerçel sayıların bilgisayar ortamındaki gösterim şekillerinden biridir. DataTable'larda olduğu gibi, ilk sütun Ad olarak adlandırılır ve her satırın oyunda kullanılmak üzere erişildiği adları içerir. İlk önce her sütun başlığı, çizilecek bir eğri için X ekseni değişkenini depolar. Bu başlık altındaki veriler, verilen satırın Y ekseni değeridir. Bu format dikkate alındığında, tek bir satır, kodun veriye erişebildiği ve aralarında arayabileceği bir eğriye (curve) karşılık gelir. 

Yarattığınız CurveTable'ın Blueprint üzerinden kontrolü için Handle şeklinde yaratmanız ve Find Row ve Get Curve kullanabilirsiniz.

C++ ve örnek için aşağıdaki dökümanı incelemenizi öneririm.

https://docs.unrealengine.com/en-us/Gameplay/DataDriven

Bilgilendirdiğiniz için teşekkürler. Şimdi araştırdım Curve tableları ancak içlerinde structure tutamıyoruz sanırım. Anladığım oyun içinde excel görevi gören string tabanlı birşey yani enumların bir üst seviyesi gibi. Data tableların benim için iyi yanı oluşturacağım karakter, pawn v.s. türü şeylerin tüm özellik ve bilgilerini arrayler içinde saklayıp hafızada fazla yer kaplamadan işlem yapabilmeme olanak sağlaması ki oluşturduğum nesnelerin meshlerinden animasyonlarına, inventorylerine kadar nesi varsa structurelar ile yönetiyorum. Ben aynı yapıyı koruyarak aramalar yapabileceğim daha esnek bir yapı varmıdır diye merak ediyordum olmaması kötü oldu aynı şekilde devam edeceğim artık yapacak birşey yok :)

Tekrardan teşekkür ederim.


[UETR]Khubur' Alıntı:
Merhaba, Datatable'lerin SQL gibi gelişmiş sorgu dili yok. Fakat aradığın column ile ilgili olan sorgularsa aşağıdaki şekilde SQL koduna benzer queryler oluşturabilirsin.

Öncelikle bütün rowların ismini bir döngüye sokuyorum daha sonradan row ismine göre yapıyı alıyorum, bu yapıyı kırıp içerisindeki niteliklere göre bir koşul yazıyorum.

rOlL81.png



Bunun dışında MySQL için blueprint eklentileri var:
https://www.unrealengine.com/marketplace/mysql-integration

Aynen bende bu yapıyı kullanmak zorunda kalmamak için sormuştum. Structurelarımı row isimlerine göre yeniden düzenledim her seferinde tüm tabloyu çekmektense isteğim satırları tektek çekiyorum şuan.

Ayrıca mysql addonu olduğu bilmiyordum öğrendiğim iyi oldu şimdilik single player bir oyun üzerinde çalışıyorum ancak ilerisi için çok yararlı olacaktır.

Çok teşekkürler:)
 
Datatable bir veritabanından ziyade, verilerin tutulduğu bir hesaplama tablosu yapısı gibi işlev görüyor. Singleplayersa space complexity için sıkıntıya girmene yok. Genelde bir tablo içerisinde yapılan aramaların notasyonu O(N) zaten. Performans açısıdan sıkıntı yok. Rica ederiz ::)