能否在Unity3D中使用Lua代码。

我们需要在 Unity 应用程序中使用一些用 Lua 编写的特定库。

除了完全重写它以使用 C#/JS 之外,是否有任何其他可能的方法?

点赞
用户27528
用户27528

如果你的目标是 web 播放器,则不行。Web 播放器构建在沙盒中运行,不能加载外部代码,所以除了可能在 C# 中编写 Lua 解释器之外,你就没有运气了。

如果你的目标是桌面构建或移动设备,则可以包含外部插件,并通过脚本调用它们。这意味着你可以导入 Lua 并告诉它运行你的 Lua 脚本。

然而,这可能仍然不值得,因为你必须自己加载和初始化 Lua 运行时,因此你最好重新编写代码。

注意,对于桌面平台,需要专业版本许可证。对于移动平台(iOS/Android),你可能需要通过一些麻烦的步骤,才能让你的 Lua 脚本文件可用于加载到 Lua 运行时中。

2012-06-07 23:04:47
用户2673379
用户2673379

这是一个针对 mono 的 Lua 解决方案 https://github.com/NLua,你可以改变一些代码让它在 unity3d 中工作。我已经做到了。

2014-02-18 08:40:02
用户923846
用户923846

Lua框架对你可能是有关的:https://www.assetstore.unity3d.com/en/#!/content/30055

从他们的网站中得知:

Lua框架基于MoonSharp的强大功能构建而成,MoonSharp是一个现代化且自由的Lua语言.NET实现。与以前的.NET到Lua桥接器(如LuaInterface、NLua或UniLua)不同,MoonSharp提供了非常直观的用户体验,学习曲线快,性能优越,在各个Unity版本和许可证下均能支持Unity的Mono实现的.NET语言,包括iOS,并且更新频繁,支持最新的Lua 5.2版本。

2017-03-22 22:38:48