找回密码
 立即注册
查看: 379|回复: 5

slua,ulua,nlua,unilua这几种unity3D的lua插件各有什么优劣 ...

[复制链接]
发表于 2021-11-13 16:53 | 显示全部楼层 |阅读模式
除开这几种lua插件,是否还有其他的更好的lua插件值得推荐?关注者
233

被浏览
21,795





关注问题写回答
邀请回答好问题
添加评论
分享









<div class="Question-main"><div class="Question-mainColumn"><div id="QuestionAnswers-answers" class="QuestionAnswers-answers" data-zop-feedlistmap="0,0,1,0"><div class="Card AnswersNavWrapper"><div class="ListShortcut"><div class="List">5 个回答

默认排序


<div class="" role="list"><div class="List-item" tabindex="0"><div class="ContentItem AnswerItem" data-za-index="0" data-zop="{"authorName":"知乎用户","itemId":41597496,"title":"slua,ulua,nlua,unilua这几种unity3D的lua插件各有什么优劣?","type":"answer"}" name="41597496" itemProp="acceptedAnswer" itemType="http://schema.org/Answer" itemscope="">知乎用户





58 人赞同了该回答

<div class="RichContent RichContent--unescapable"><div class="RichContent-inner"><span class="RichText ztext CopyrightRichText-richText css-hnrfcf" options="[object Object]" itemProp="text">谢邀,

slua 是目前所有unity+lua方案里最快的,没有反射,很少gc alloc,功能最强大的,没有之一

**以下的benchmark是老版本, 新版更快**



slua 0.6 vs slua 0.7



直接支持代理(支持iOS), 支持4.6+ ui系统,支持il2cpp,支持yield, 代码最简洁, 更新最快,文档最完善.

我们自己项目在用slua, 大概70%+的lua代码,都是游戏核心逻辑,包括ui, 而我们的游戏是一个2.5D动作射击游戏,同屏超过30个怪,上百发弹幕做碰撞检查,红米可以轻松跑在30fps,说这些只是想说slua用于动作的游戏作为主逻辑都不慢, 更不用说什么回合/卡片/休闲游戏了.

ulua/nlua都是基于反射的解决方案, 劣势是速度慢,gc alloc频繁,不直接支持代理, 还有一堆坑,需要修改,优势是不会产生静态代码,减少了app的尺寸.

上面的方案都是基于lua的原生代码做为插件被unity调用,

而unilua是c#的lua实现, 本身肯定没有c代码效率高,同时还需要考虑如果导出unity接口(可以反射,也可以静态代码),所以unilua不是一个完整的unity+lua方案,只是一个c#实现的lua虚拟机.

还有其他什么值得推荐的插件? 没有了,就用slua吧,妥妥的.

利益相关:slua作者,其实也没啥利益,slua开源, http://www.slua.net/

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-11-13 17:02 | 显示全部楼层
谢邀,

slua 是目前所有unity+lua方案里最快的,没有反射,很少gc alloc,功能最强大的,没有之一

**以下的benchmark是老版本, 新版更快**



slua 0.6 vs slua 0.7



直接支持代理(支持iOS), 支持4.6+ ui系统,支持il2cpp,支持yield, 代码最简洁, 更新最快,文档最完善.

我们自己项目在用slua, 大概70%+的lua代码,都是游戏核心逻辑,包括ui, 而我们的游戏是一个2.5D动作射击游戏,同屏超过30个怪,上百发弹幕做碰撞检查,红米可以轻松跑在30fps,说这些只是想说slua用于动作的游戏作为主逻辑都不慢, 更不用说什么回合/卡片/休闲游戏了.

ulua/nlua都是基于反射的解决方案, 劣势是速度慢,gc alloc频繁,不直接支持代理, 还有一堆坑,需要修改,优势是不会产生静态代码,减少了app的尺寸.

上面的方案都是基于lua的原生代码做为插件被unity调用,

而unilua是c#的lua实现, 本身肯定没有c代码效率高,同时还需要考虑如果导出unity接口(可以反射,也可以静态代码),所以unilua不是一个完整的unity+lua方案,只是一个c#实现的lua虚拟机.

还有其他什么值得推荐的插件? 没有了,就用slua吧,妥妥的.

利益相关:slua作者,其实也没啥利益,slua开源, http://www.slua.net/

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-11-13 17:09 | 显示全部楼层
看过slua,代码质量很高的。作者也愿意开源,也比较活跃。
slua是据我所知,几个 lua 方案中,较早 提交到 github 上,大家一起维护的
发表于 2021-11-13 17:12 | 显示全部楼层
slua 吧。   主要是简洁,清晰。 不想ulua ....  唉。 太繁重了。
发表于 2021-11-13 17:18 | 显示全部楼层
ulua nlua 都是 luainterface. luainterface 作者去搞nlua了。 ulua 分2个国外上asset store 的。
还有国内的ulua - unity效率最高、最完善的热更新方案!!
发表于 2021-11-13 17:24 | 显示全部楼层
都很慢, 有限的电量都被浪费了
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2025-2-26 15:09 , Processed in 0.210633 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表