【问题标题】:SQLite in Unreal Engine 4虚幻引擎 4 中的 SQLite
【发布时间】:2015-01-13 08:06:17
【问题描述】:

如何在虚幻引擎 4 中与我自己的 SQLite 数据库进行交互? 可以通过蓝图 C++ 完成还是必须是纯C++?

【问题讨论】:

  • 试试这个:forums.unrealengine.com/… 不要忘记阅读整个主题。
  • 查找有关某些主题的相关 UE 文档/教程有时令人沮丧。如果它对我有用,你能把它作为答案让我选择它吗?完成后我会发表评论。
  • 虚幻引擎 4.6 的发行说明表明,自从我的问题发布以来,已经添加了一个 SQLiteSupport 模块。 forums.unrealengine.com/…

标签: sqlite unreal-engine4


【解决方案1】:

从虚幻引擎访问 SQLite 可以通过蓝图完成(我还没有这样做),但是,查看 TappyChicken 蓝图示例,SaveGame 类可以通过您想要的任何事件存储/加载许多变量。 YouTube 上还有一个不错的视频:

http://www.youtube.com/watch?v=v0WRumU-gOk

关于代码,我使用https://github.com/afuzzyllama/DataAccess。试试看。它可以将 UObjects 保存到本地数据库 sqlite。

例如:

TSharedPtr<SqliteDataResource> DataResource = MakeShareable(new SqliteDataResource(FString(FPaths::GameDir() + "/Data/Test.db")));
DataResource->Acquire();
TSharedPtr<IDataHandler> DataHandler = MakeShareable(new SqliteDataHandler(DataResource));

UTestObject* TestObj = NewObject<UTestObject>();

// Create a record
DataHandler->Create(TestObj);

// Read a record
DatHandler->Read(/**record id*/ 1, TestObj);

// Update a record
TestObj->SomeProperty = "some value";
DataHandler->Update(TestObj);

// Delete a record
DataHandler->Delete(TestObj);

// This shouldn't be necessary since this should be run when the TSharedPtr runs out of references
DataResource->Release();

【讨论】:

    【解决方案2】:

    我使用了与我的服务器通信的 VaRest 插件(可用蓝图)来处理数据库条目,您可能会发现这条路线更容易。

    https://wiki.unrealengine.com/VaRest_Plugin

    【讨论】:

    • 这对 SQLite 完全没用,因为 SQLite 是一个“无服务器”本地数据库...
    猜你喜欢
    • 1970-01-01
    • 2020-07-24
    • 2015-02-04
    • 2019-12-09
    • 2023-03-28
    • 2015-07-03
    • 2020-03-26
    • 2014-04-26
    • 2020-11-18
    相关资源
    最近更新 更多