五邑隐侠,本名关健昌,12年游戏生涯。 本教程以 Unity 3D + VS Code + C# + xlua 为例。 如果你还没有编程基础,建议你先学习一些编程基础。本文不是完全菜鸟教程,主要针对有其他语言经验的开发者,如果想看菜鸟教程,建议看菜鸟教程的 Lua教程。先看一个简单类的代码1 ---@class BsnsPack @Base class of business
转载
2024-04-25 19:48:21
200阅读
本篇文章适用于初次接触Idea开发工具的读者通过上篇文章的学习,我们这里应该已经安装并成功激活了Idea,此篇文章主要对Idea这个开发工具的使用说明进行一些讲解1、初始化配置首先我们打开idea,在第一次刚打开的时候,应该会出现下面的界面,是让你选择一个idea的主题风格,左侧的 Darcula就是黑色系风格,右侧的就是亮色系风格,这个看你自己的爱好,我这里选择的是左侧的Darcula,因为黑色
转载
2024-05-14 19:03:00
61阅读
一。使用制作滑动列表:使用UILayout做虚拟列表ui.list = base:findcom("center/ScrollView/Viewport/Content", "UILayout")
ui.list.onCreate = base.createrender
ui.list.onUpdate = base.updaterender
ui.list.ItemRenderer = Asse
转载
2024-04-13 12:11:58
68阅读
前言 在看了uwa之前发布的《Unity项目常见Lua解决方案性能比较》,决定动手写一篇关于lua+unity方案的性能优化文。 整合lua是目前最强大的unity热更新方案,毕竟这是唯一可以支持ios热更新的办法。然而作为一个重度ulua用户,我们踩过了很多的坑才将ulua上升到一个可以在项目中大规模使用
转载
2024-05-13 22:40:38
71阅读
0. 照旧的碎碎念转眼间已经三月了,2月份的博客因为过年的懒惰和开年之后的忙碌而没有写……第二个月就打破了去年总结时对于2018年的愿望,真是羞耻呢……年后在准备新的测试版本,断断续续做了一些优化,更多的精力放在团队的绩效评估、沟通这样偏管理的事物上,说实话技术上可以聊的东西不多。近期看到UWA群里和问答上聊Lua的使用之类的话题比较多,也在看ET这套完全基于C#进行游戏开发的框架中提到——
转载
2024-04-15 12:43:12
34阅读
查找了 Unity 的官方资料,我们如果需要使用 WebGL 需要面对以下几个挑战:Native Plugin:也就是说各种原生插件(C/C++等编译的本地机器码库),我们的挑战是使用了 SLua。多线程:WebGL 端无法支持任何多线程代码,因为 JavaScript 没有多线程的实现,C# 端使用的类似 System.Threading 等库最终都不会被编译成相应的 js 代码。网络模块:传统
转载
2023-08-28 12:48:25
431阅读
前言toLua Framework是一款开源的Unity+toLua热更新框架,越来越多的游戏项目将其应用于热更新开发,但这样会形成了Lua+Mono双GC系统,而有的开发人员优化时往往只针对Mono层的优化而忽略Lua层的性能问题,或者没有类似于Unity Profiler这样高效直观的优化工具,又或者认为Lua拥有类似于C#的垃圾自动回收机制而不必优化。其实,Lua使用不规范也会造
转载
2024-05-29 11:32:20
284阅读
导读随着Lua在项目中的大量使用,它所带来的性能问题也逐步成为了项目运行时的重大性能瓶颈之一。特别是内存相关的性能问题,无论是内存分配过大还是内存泄露无法回收,目前都已经在不少研发项目中集中爆发。UWA推出的GOT Online中的Lua模式已经慢慢成为研发团队对Lua进行日常性能监控的有效手段。因此,也有越来越多的团队反馈,在监控到table数持续上涨,引用Mono对象持续增多等等问题时,应该如
转载
2024-05-27 22:33:14
62阅读
前言在看了uwa之前发布的《Unity项目常见Lua解决方案性能比较》,决定动手写一篇关于lua+unity方案的性能优化文。整合lua是目前最强大的unity热更新方案,毕竟这是唯一可以支持ios热更新的办法。然而作为一个重度ulua用户,我们踩过了很多的坑才将ulua上升到一个可以在项目中大规模使用的状态。事实上即使到现在lua+unity的方案仍不能轻易的说可以肆意使用,要用好,你需要知道很
转载
2024-06-17 23:44:37
155阅读
点赞
Unity3D是个好引擎,但有一个缺憾是iOS下无法热更新。如果能用Lua写Unity3D的游戏逻辑,那就可以绕过苹果审核随意更新了。 有一种方法是用C#的基础上实现Lua。这个网上可以查到有几种版本。但这种运行效率没保障,据说比一般的Lua要慢10倍。还有一种方法是使用C版本的Lua,使用Unity3D Pro 的Plugin 功能,用PInvoke 让C# 与原生的Lua 引擎交互。 NL
转载
2024-04-29 13:54:38
92阅读
此文为搬运帖,原帖地址前言 在看了uwa之前发布的《Unity项目常见Lua解决方案性能比较》,决定动手写一篇关于lua+unity方案的性能优化文。 整合lua是目前最强大的unity热更新方案,毕竟这是唯一可以支持ios热更新的办法。然而作为一个重度ulua用户,我们踩过了很多的坑才将ulua上升到一个可以在项目中大规模使用的状态。事实上即使到现在lua+unity的方案仍不能轻易的说可以肆意
转载
2024-04-24 19:48:09
97阅读
下载与安装下载地址 GitHub
安装过程1.下载最新版,这里, 解压缩,将Assets目录里的所有内容复制到你的工程中,对于最终产品,可以删除slua_src,例子,文档等内容,如果是开发阶段则无所谓。2.等待unity编译完毕,如果一切顺利的话,将出现slua菜单, 点击slua菜单中 All->Make 命令 手动生成针对当前版本的U3d接口文件。3.每次更新slua版本,务
转载
2024-03-28 13:37:28
26阅读
unity + lua 性能优化 1.0
注册Wrap文件到Lua虚拟机中,有很多的优化方式,比如:(1)BinderLua太多wrap很慢,最佳方案。(早先)推荐大家把可能用到的类,不要直接添加进Wrap,而是添加到link.xml中,如果上线用到了,可以先用反射垫着,整包更新的时候,再添加到wrap里面,这是目前兼顾游戏体验,防范游戏未知问题,最佳选择方案。(2)动态注册Wr
转载
2024-05-21 14:41:04
120阅读
一、 idea 插件的安装(注:本文使用的为 IDEA2018.2.4 )打开 IDEA ,在左上角选中 file -> settings -> Plugins -> Browse repositories... 二、 插件的推荐(工欲善其事,必先利其器)1. Translation 快捷键
中 译 英Ctrl + Shi
转载
2024-03-22 13:19:07
161阅读
看了坛子上同学用Kopilua,以为真的跨平台没问题,就实验了安卓手机,然后就开始铺游戏框架,干了一星期到昨晚想起来到ipad上跑跑,我跟DEMO都一起崩溃了。今天搜索luajit,终于在u 3d 官方论坛终于发现了真正支持IOS+安卓(老外说web也支持,没测试)的插件,有些小兴奋,还是半信半疑的心态测试了下,果不其然运行在我的ipad2上面了,至少我运行代码非常正常。免费给大家上传我测试过的工
转载
2024-05-05 17:24:16
117阅读
学习使我进步相关链接环境搭建内置IDEIDEA(IntelliJ IDEA) 安装与Lua插件入门知识点标识符与关键字命名规则变量注释语句结束符字符串数据类型与运算符 相关链接1.笔者为了学习创建的Github工程。 环境搭建1.克隆Github工程,里面有所需的软件(先安装Softs目录下的vcredist-86.exe,然后再安装LuaForWindows) 2.验证安装 cmd打开命令行输
转载
2024-05-31 09:01:08
407阅读
红点基本上是游戏中必备的吧,红点遍地有,所以需要一套统一的红点系统来管理。lua中判断Unity对象是否为空--判断unity对象是否为空, 如果你有些对象是在c#删掉了,lua不知道
function IsNil(uobj)
if (uobj == nil) then
return true
end
if (uobj:Equals(nil)) then
转载
2024-04-16 05:35:35
147阅读
对于手机游戏,如果可以在线更新以实现bug修复、新功能添加等等,其好处自不必多说。通过C#的反射机制,也可以实现某种程度上的脚本级更新但其中也明确指出了在iOS上不支持反射。所以很自然的,想到使用Lua、Python等脚本语言来解决需求。撇开Python不讲(感兴趣的可以搜索UniPython),来看Lua。因为Lua本身使用C语言实现,具有良好的跨平台特性,但我们使用C#来作为主要开发语言,要实
转载
2024-08-19 10:44:49
64阅读
在上篇文章 Unity3D热更新之LuaFramework篇[01]--从零开始本篇将我会先介绍一下如何配置Lua开发环境,然后分析在此框架中加载面板的流程,以及如何创建自己的面板。1、配置Lua开发环境有一点要说明的是,使用此种方式(ToLua+LuaFramework)做热更新,则意味着你的大部分逻辑都需要改用Lua语言来编写。因此,开发前得先得配置好Lua开发环境。毕竟,工欲善其事
转载
2024-05-27 21:11:46
60阅读
作者:zilch Lua是一种嵌入式脚本语言,可以方便的与c/c++进行相互调用。但是Unity中主要是用c#进行开发的,因此在Unity中使用Lua通常有以下两种方案:使用c#实现一个lua虚拟机
基于原生的c lua api做一个封装,让c#调用从性能上考虑,当前主流方案都是第二种。基于第二种方案实现的框架目前主要有xLua,sLua,uLua,NLua(+KeraLua)。在这些方案中,都
转载
2024-03-18 06:56:22
156阅读