#unreal-engine #集成 #现在

maikklein/unreal-movement

Unreal Engine 5的Rust集成

1个不稳定版本

0.1.0 2022年7月20日

#1321 in 游戏开发

2,056 星标 & 44 关注者

MIT/Apache

17KB
417

🦀 unreal-rust

对Unreal Engine有偏见的Rust集成

Build Status LICENSE LICENSE Discord

☣️ 警告

unreal-rust 目前不适合在真实项目中使用。 unreal-rust 处于非常早期阶段,目前仅作为一个概念验证。API将会频繁更改。可能会出现崩溃或不符合预期的情况。用户体验可能不佳。

我将在GitHub上发布 unreal-rust 以公开开发。

🎯 特性

  • 简单的有偏见的绑定:轻松访问核心API,如播放声音、生成演员、路径查找、物理等。
  • 开发者友好:在编辑器和实时游戏中实现快速迭代,支持热重载。异常会被捕获,不会导致编辑器崩溃
  • 编辑器集成:在编辑器中添加Rust组件到演员,或从蓝图访问Rust组件以驱动动画。
  • 实体组件系统:unreal-rust建立在ECS之上。
  • 基于 AActor 构建:大多数游戏功能,如 GameModeCharactersGameStateGAS,在unreal-rust中不能直接访问。相反,unreal-rust将提供可选的替代方案。但您仍然可以通过蓝图中的Rust组件与大多数引擎部分进行交互。
  • 无需修改引擎:unreal-rust仅是一个 Plugin,只需将其放入您的项目中。有关更多信息,请参阅 支持的版本
  • 示例:unreal-rust的开发主要受示例驱动。
  • 免费:双许可下MIT/APACHE

🖥️ 支持的平台

  • 🐧 Linux
  • 🪟 Windows

潜在的未来平台:iOS、macOS、Android、html5/web浏览器(可能)

不支持游戏机。我无法提供游戏机支持,因为它是一个封闭的生态系统。我也没有任何开发套件。

💌 博客文章/媒体

🚩 已知问题

  • 这是我工作之余的一个兴趣爱好项目。我可能对问题、疑问、功能请求或PR审查的响应会较慢。

🦮 开始使用

运行示例

我明白这些步骤很多。对此表示歉意,我会在将来尝试简化。

  • 先决条件
    • 获取git lfs,并运行git lfs install
    • ue4cli,您可以通过pip3 install ue4cli安装。这一步是可选的,但我在本指南中会使用ue4cli

我们首先克隆这个仓库

git clone https://github.com/MaikKlein/unreal-rust

接下来克隆子模块。这将下载包含所有资源的实际示例。

cd unreal-rust
git submodule update --init

接下来我们需要设置示例

    • Linux sh setup.sh
    • Windows setup.bat

这将把RustPlugin链接到虚幻example/RustExample/Plugin文件夹中。

现在我们需要构建实际的Rust代码

只需运行

cargo build --release

这将构建整个项目。这也会生成我们将要加载到虚幻中的dll文件。

将dll/so文件复制到项目中

  • Linux: cp target/release/libunreal_rust_example.so example/RustExample/Binaries/rustplugin.so
  • Windows: copy .\target\release\unreal_rust_example.dll .\example\RustExample\Binaries\rustplugin.dll

现在我们需要构建虚幻示例

cd example/RustExample
ue4 build Development Editor

现在您可以通过ue4 run运行示例

🚀 支持的版本

  • 5.0

本项目将始终尝试支持最新版本。

  • 最新版本的虚幻
  • 最新版本的Rust
  • 所有依赖项的最新版本

🤝 代替方案

🥰 感谢

依赖项

~7–14MB
~173K SLoC