unity + lua 性能优化 1.0 注册Wrap文件到Lua虚拟机,有很多的优化方式,比如:(1)BinderLua太多wrap很慢,最佳方案。(早先)推荐大家把可能用到的类,不要直接添加进Wrap,而是添加到link.xml,如果上线用到了,可以先用反射垫着,整包更新的时候,再添加到wrap里面,这是目前兼顾游戏体验,防范游戏未知问题,最佳选择方案。(2)动态注册Wr
转载 2024-05-21 14:41:04
123阅读
前言 接我之前的文章,讲到使用IntelliJ IDEA(做为Lua的编辑器)+EmmyLua(插件),EmmyLua提供调试代码提示功能。 Lua代码提示和方法跳转 在Lua中提示UnityEngine.dll的方法 PS:同样的电脑配置16G DDR4+128G SSD,在WIN10和WIN7
原创 2021-07-20 16:57:59
1172阅读
一、Lua与C#C#是编译型语言、Lua是解析型语言,关于编译型语言和解释性语言的介绍一般来讲Lua不能单独用于一款游戏的开发,因此对于一个Unity项目,一般先用C#进行开发,后续的热更新再通过Lua来完成,从这里可以知道两点:Lua语言的目的是“嵌入式”,一般用于为其他语言开发出来的项目进行功能的扩展和补丁的更新在最开始使用其它语言进行项目开发的时候,需要预留与Lua代码的“交互接口”&nbs
U3D自带Mono开发工具实在是太坑了 无法吐槽,简直就是软件垃圾(而且高版本U3D也无法自带了). 平时自己开发大多用的是VSCode 因为小而且通用性高,但是缺点呢会针对性配置环境 会踩无数个坑 本篇文章也是为了记录踩坑过程,避免让大家少走弯路.1.第一步先下载VSCode. 然后安装(这个默认大家都会)2.安装好后打开VSCode  这个时候你会发现你输入代码没有自动提示 自动导包
转载 2024-05-13 23:27:40
399阅读
搭建C#调试环境2.1 settings.json文件查找与过滤不想看到的文件vscode首次打开unity工程后,所有文件都会现在在资源管理器,鱼龙混杂,这自然是不能忍的,网页的教程说是 Ctrl+P,找到settings.json,过滤下不想看到的文件即可,然而首次打开的我却怎么也搜不到这个json文件,找了半天,还是老实的按流程来找吧。依次打开 文件->首选项->设置,在设置界
转载 2024-03-31 15:34:33
315阅读
首先,我们有必要说明一下他们的执行顺序:awake--start--update--fixedupdate--lateupdate--OnGUI--reset--onDisable--onDestoryAwake用于在游戏开始之前初始化变量或游戏状态。在脚本整个生命周期内它仅被调用一次.Awake在所有对象被初始化之后调用,所以你可以安全的与其他对象对话或用诸如GameObject.FindWit
转载 2024-03-06 23:15:31
55阅读
VS有一个输出窗口,调用方法是需要注意的是,这个窗口有两个模式,使用其中的下拉列表就可以选择这些模式。可以在Build和Debug模式之间切换。Build和Debug模式分别显示编译和运行期间的信息。本节提到的“写入Output窗口”时,实际上是指“写入Output窗口的Debug模式视图”。另外,还可以创建一个日志文件,在运行应用程序时,会把信息添加到该日志文件。把信息写入日志文件所使用的技巧
 目录一、虚拟机篇 - 语义分割单位Token结构二、虚拟机篇 - 语义分割主流程三、虚拟机篇 - 保留字类型的实现四、虚拟机篇 - 复杂语义信息存储上一篇,我们讲到了Lua脚本文件加载和读取的方式。其中luaX_next函数就是用来将Lua脚本字符串逐个切割出Token。一、虚拟机篇 - 语义分割单位Token结构Token定义:Lua会对脚本语言逐个切分出最小单位Token。例如lu
转载 2024-10-08 14:29:27
90阅读
作者: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阅读
Unity+Lua调试工具集合:一、VSCode 插件1、EmmyLua    使用教程:https://www.cnblogs.com/atong/p/14236179.html2、LuaPanda3、LuaPerfect4、LuaIde 二、IntelliJIDEA插件1、EmmyLua    使用教程:https://blog.csdn.net/zjz520yy/article/detail
转载 2021-05-09 00:24:07
743阅读
2评论
        一般我们做unity c#开发基本使用vs,也就是visual studio,写shader使用vscode,这套黄金组合目前应该算是最完美的。不过最近因为项目同时涉及window桌面开发和DLL嵌入(我职业生涯还是桌面开发为主,我当年刚入行就是winform+js),导致我unity工程csproj关联非常多,整个unity编辑器和v
转载 2024-03-18 00:04:53
479阅读
 各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,如果提到游戏开发,大家一定会想到C/C++、DirectX、OpenGL等这些东西,可是众所周知,游戏行业是一个需求变化极快地行业,如果我们采用编译型的语言,那么我们可能很难跟上这个时代的步伐,因为编译型的语言每经历一次重大地更新,整个项目都需要重新编译,这样无疑会影响我们的开发效率。那么,有没有一种更为高效的游戏开发模式呢?或许答案
Lua 简介Lua语言提供了如下几种数据类型:booleans(布尔)、numbers(数值)、strings(字符串)、tables(表格)。下面是一些 Lua 的示例,里面注释部分会讲解相关的作用:-- -- -- 拿客 -- 网站:www.coderknock.com -- QQ群:213732117 -- 三产 创建于 2017年06月15日 12:04:54。 -- 描述: -- -
转载 2023-08-24 22:59:26
237阅读
一. 分享内容      主要分享了在C++如何调用Lua函数,包括传递参数、获取返回值。二. 开始分享      0. 准备Lua库      在Lua官网下载源码,这里下载的版本是5.1.5。源码根目录下的etc文件夹中有luavs.bat,这个批处理脚本可以用来在VS编译
开发工具 IDE工具:jetbrain IDEA 工具插件:EmmyLua 本机lua项目和调试lua文件 添加lua项目模板,安装完EmmyLua插
原创 2024-05-21 14:16:33
206阅读
 IDEA代码如何调试更优雅? 花费3分钟阅读本文,你一定会觉得受益匪浅,哈哈哈,吹个牛皮!一、条件断点循环中经常用到这个技巧,比如:遍历1个大List的过程,想让断点停在某个特定值。参考上图,在断点的位置,右击断点旁边的小红点,会出来一个界面,在Condition这里填入断点条件即可,这样调试时,就会自动停在i=10的位置二、回到"上一步" 该技巧最适合特别复杂的方法套方法
被 $Sublime$ 的颜值所吸引,于是想配置一下来写代码,其中也遇到了一些问题,以此记录。首先下载 $sublime text 3$并安装;配置编译环境:我之前是安装的$MinGW$,但是一直存在编译时 %lld 会报错 或者 无法声明 $string$ 变量,请教了某聚聚之后改用了 $MinGW64$ 就解决了之前的问题先下载 $MinGW64$并安装,下载链接如果在线安装出现问题,就可以直
转载 2024-04-29 14:06:15
189阅读
Xcode调试在iOS程序主要有两种错误,1)一种是编译错误,编译错误一般情况下在Xcode的程序编写过程可以被检测出来,以红色标注,并且给出错误原因的提示。2)一种是逻辑错误。而逻辑错误在我们的编码过程是看不出来的,这些错误可以通过测试和调试找出3)警告 有关警告的内容有的时候会引起程序崩溃,因此需要对警告信息一一排查。4)在Xcode因为系统错误或者是链接错误暂不在讨论之列。(1)有关
转载 2024-04-17 12:03:33
136阅读
对于手机游戏,如果可以在线更新以实现bug修复、新功能添加等等,其好处自不必多说。通过C#的反射机制,也可以实现某种程度上的脚本级更新但其中也明确指出了在iOS上不支持反射。所以很自然的,想到使用Lua、Python等脚本语言来解决需求。撇开Python不讲(感兴趣的可以搜索UniPython),来看Lua。因为Lua本身使用C语言实现,具有良好的跨平台特性,但我们使用C#来作为主要开发语言,要实
转载 2024-08-19 10:44:49
64阅读
1 //父子节点相关的: 2 parent 变量表示Transform的父节点 3 root 表示它的根节点,如果没有父节点,它会返回自己 4 //根据名字查找子节点 5 Transform Find(string name) 6 //判断该Transform是否某Transform的子节点 7 bool IsChildOf(Transform node) 8 //
  • 1
  • 2
  • 3
  • 4
  • 5