1个不稳定发布版本
0.1.0 | 2022年1月17日 |
---|
#989 in 游戏开发
2,065 星 & 44 关注者
24KB
768 行
🦀 unreal-rust
针对Unreal Engine的偏执Rust集成
☣️ 警告
unreal-rust
目前尚未准备好用于实际项目。 unreal-rust
处于非常早期阶段,目前只是一个概念验证。API将会频繁更改。可能发生崩溃,或无法按预期工作。用户体验可能不佳。
我在GitHub上发布 unreal-rust
以在公开环境中进行开发。
🎯 功能
- 简单的偏执绑定:轻松访问核心API,如播放声音、生成演员、路径查找、物理等。
- 开发者友好:编辑器和实时播放中的快速迭代时间,具有热重载功能。恐慌被捕获且不会导致编辑器崩溃
- 编辑器集成:在编辑器中添加Rust组件到演员,或从蓝图访问Rust组件以驱动动画。
- 实体组件系统:unreal-rust建立在ECS之上。
- 基于
AActor
构建:大多数游戏功能,如GameMode
、Characters
、GameState
、GAS
在unreal-rust中无法直接访问。取而代之的是,unreal-rust将提供可选的替代方案。但是,您仍然可以通过蓝图访问Rust组件来与引擎的大部分功能进行交互。 - 无需修改引擎:unreal-rust仅是一个
Plugin
,只需将其放入您的项目中。有关更多信息,请参阅 支持的版本。 - 示例:unreal-rust的开发主要受示例驱动。
- 免费:双许可下MIT/APACHE
🖥️ 支持的平台
- 🐧 Linux
- 🪟 Windows
潜在的未来平台:iOS、macOS、Android、html5/browser(可能)
不支持游戏机。我无法提供游戏机支持,因为它是一个封闭的生态系统。我自己也没有开发工具包。
💌 博客文章/媒体
🚩 已知问题
- 这只是我在正常工作时间之外的一个兴趣爱好项目。我可能对问题、问题、功能请求或PR审查的响应会慢一些。
🦮 入门指南
运行示例
我知道这些步骤很多。对此表示歉意,我将在未来尝试简化这些步骤。
我们首先克隆这个仓库
git clone https://github.com/MaikKlein/unreal-rust
接下来克隆子模块。这将下载包含所有资源的实际示例。
cd unreal-rust
git submodule update --init
接下来,我们需要设置示例
-
- Linux
sh setup.sh
- Linux
-
- Windows
setup.bat
- Windows
这会将 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
- 所有依赖项的最新版本
🤝 替代方案
🥰 感谢
依赖项
~9–17MB
~275K SLoC