社区
Unity3D
帖子详情
unity3d怎么使用lua更新一个场景
cherima006
2017-04-05 05:54:38
我使用slua,看sample里面的使用方法,也是需要先给Object绑定C#脚本再调用lua。但是C#脚本是没法更新出去的,这样的话热更新是怎么实现的?
...全文
423
1
打赏
收藏
unity3d怎么使用lua更新一个场景
我使用slua,看sample里面的使用方法,也是需要先给Object绑定C#脚本再调用lua。但是C#脚本是没法更新出去的,这样的话热更新是怎么实现的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
地狱为王
2017-04-07
打赏
举报
回复
热更新是更新lua脚本和场景资源文件
3d游戏
场景
编辑器
仿
unity3d
写的
一个
小的游戏引擎 1.simple文件夹为 程序文件夹,内含simple.exe可执行文件 点击即可运行。 2.project文件夹为工程文件夹,内含obj格式的模型文件。 3.程序目前只支持obj格式,obj模型文件必须放在 _object文件夹内,纹理必须放在 _Texture文件夹内,才能被正确加载。(纹理必须是.bmp或 .tga)。 4.project 文件夹下的
lua
script 文件夹内含
lua
控制脚本。 5.程序的菜单大多功能并没实现,还没有保存
场景
的功能。 6.必须是在不运行脚本的情况下编辑
场景
,否则看不到效果(按Esc键停止运行脚本)。 7.构造地形是等高图必须为bmp,纹理图需为tga。 程序操作: 模型拾取:(1) 可在scene 窗口内用鼠标单击(Inspector 会显示选中的模型的详细信息(包括名称,Transform属性,脚本) (2) 可在sceneShower 窗口内单击相应的名称,来选择对应的模型。 模型的复制: 按住shift键 在sceneShower窗口单击相应的名称,那么相应的模型就会复制。 模型的删除: 当模型处于选择状态时,按delete键 。 模型的移动和旋转,缩放和
unity3d
的操作 类似。 脚本的应用:在Inspector 内按 Add Control Script 可谓相应的节点加
lua
的控制脚本。 单击运行按钮,程序会运行脚本,错误信息会在Console窗口显示(严重错误会导致程序崩溃) (注意:要想结束脚本的运行,需按 Esc键 ) 对scene
场景
的常用操作和
unity3d
类似。
x
Lua
:x
Lua
是用于C#(Unity,.Net,Mono)的
lua
编程解决方案,它支持android,ios,windows,linux,osx等
C#下
Lua
编程支持 x
Lua
为Unity,.Net,Mono等C#环境增加了
Lua
脚本编程的能力,可以
使用
x
Lua
,这些
Lua
代码可以方便的和C#相互调用。 x
Lua
的突破 x
Lua
在功能,性能,易用性都有过多的突破,这几方面分别具有代表性的是: 可以运行时把C#实现(方法,操作符,属性,事件等等)替换成
lua
实现; 出色的GC优化,自定义结构,枚举在
Lua
和C#间传递无C#gc alloc; 编辑器下无需生成代码,开发更轻量; 更详细的特性,平台支持介绍请看。 安装 :zip包,你会看到
一个
资产目录,这目录就对应Unity工程的资产目录,保持这目录结构放到你的Unity工程。 如果希望安装到其他目录,请看相关介绍。 文件 :常见问题都总结在这里,初次
使用
大多数问题都可以在这里找到答案。 (必看) :教程,其配套代码在。 (必看) :介绍如何配置x
Lua
。 :介绍如何
使用
热补丁特性。 :如何增删第三方
lua
扩展库。 :API文档。 :介绍如何做生成引擎的二次开发。 快速入门
一个
完整的例子仅需3行代码: 安装好x
Lua
,建
一个
MonoBehaviour拖到
场景
,在开始加
Unity3D
入门到精通-(4)Unity热
更新
本次系列课程的目标是让
Unity3D
初学者掌握C语言,Untiy调用
lua
脚本深入理解u
Lua
框架实现原理,并根据项目的特点实现相应的热
更新
方案。 适合对象:Unity初学开发者,Unity中级开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的
Unity3D
基础,了解C#的基本开发知识。
MyX
Lua
Study.zip
1、博客介绍 博主也是刚接触X
Lua
不久,本篇博客主要起记录和学习的作用,在本篇博文当中将介绍X
lua
的配置和
使用
,对于萌新和小白来说应该还是有点用处的,大佬就绕道吧。 2、X
Lua
环境配置 关于X
lua
的配置在网上有很多文章,很简单,这里在阐述一下。 首先在github上下载X
Lua
的源码工程 将源码Assets目录下的所有文件移动到你自己Unity工程Assets目录下 将源码内和Assets同级的Tools文件全部移动到你自己Unity工程目录下,和你的Assets保持同级 将本地Unity目录下的\Editor\Data\Managed下的Unity.Cecil.dll、Unity.Cecil.Mdb.dll、Unity.Cecil.Pdb.dll三个文件复制到项目中的\Assets\X
Lua
\Src\Editor文件夹下 最后一步,在Unity内File--Bulid Settings-Player Settings-Other Settings-Scripting define Symbols 打开HOTFIX_ENABLE 输入后,敲击回车,待右下角的圆圈加载完后就可以了,然后测试是否成功,点开编辑器上X
Lua
选项,点击Clear Generated Code ,然后点击Generated Code在右下角加载完成后,点击Hotfix inject in Editor。然后打开X
Lua
的地8个例子HotfixTest,运行后点击左上角HotfixTest,输出变为
Lua
输出,既成功。 3、
场景
搭建和AB包的准备 这里不知道怎么制作打包工具的请跳转博主上一篇博客 传送门:https://blog.csdn.net/Mr_Sun88/article/details/86553465 (1)
场景
搭建 这里我们做
一个
非常简单的工程,
一个
Cube和
一个
Sphere,两个按钮 然后设置脚本Test.cs,并挂载在
场景
内,脚本给两个按钮绑定好方法,方法不做任何处理 这里注意了啊,如果想要
使用
X
Lua
进行热
更新
,你想要在修改的类前面必须打上标签----->[Hotfix]<-------,在想要修改的方法前必须打上标签------->[
Lua
CallCSharp]<-------,这些工作都是你在发布前做好的,在你觉得需要热更的地方都打好标签。 (2)
Lua
脚本准备 下一步我们先用
Lua
把方法重写一下,点击按钮一破坏掉Cube,点击按钮二破坏掉Sphere。 4、基础网络环境的搭建 我们这里
使用
了
一个
叫做NetBox的软件来模拟网络环境,该软件运行后效果如图 既该软件的同级目录的地址就是http://localhost/+.......,如此我们就可以模拟网络环境了,我们把刚打包好的AB包放在和NetBox的同级目录下。 下面我们写加载
Lua
的脚本 5、热
更新
的测试 现在我们可以先运行一下NetBox,然后运行
场景
进行测试,记得凡是修改了C#脚本后都需要点击上方编辑栏的X
Lua
按钮,Clear一下代码,在Genetrate Code,在Hotfix Inject In Editor一下。 可以,我们在
Lua
中写的方法已经生效了,下面我们把
场景
打包再次测试。 同样没问题,这样我们就可以直接通过服务器上的AB包来修改我们的代码了。
UnityDebugConsole:Unity游戏的游戏内调试控制台
介绍 此插件可让您在构建版本中查看游戏中的调试消息。 此外,它还允许您执行命令(
使用
Lua
解析器),并带有内置的错误报告工具。 要求 Unity 5.6或更高版本。 如果决定
使用
Lua
命令解析器,发布的平台必须由支持。 安装 克隆存储库或将其下载到您的计算机。 该存储库包含
一个
Unity项目。 在Unity中打开项目。 将Assets文件夹中的所有内容导出为.unitypackage文件。 如果您不需要
Lua
命令解析器,请在导出窗口中取消选中以下文件夹: Console / Addons /
Lua
CommandParser和Plugins 。 将.unitypackage文件导入到您的项目中。 注意: Examples文件夹是可选的,导出Unity软件包时可以将其丢弃。 如何 将控制台添加到游戏中 只需将预制件拖放到您的第
一个
场景
中,然后在检查器中启用“加载时不销毁”即可。 预制
Unity3D
2,538
社区成员
2,142
社区内容
发帖
与我相关
我的任务
Unity3D
Unity3D相关内容讨论专区
复制链接
扫一扫
分享
社区描述
Unity3D相关内容讨论专区
游戏
unity
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
Unity3D社区公告:
社区致力于解决各种Unity3D相关的“疑难杂症”。
社区不允许发布与Unity3D或相关技术无关内容。
社区版主邀请各位一道为打造优秀社区不懈努力。
试试用AI创作助手写篇文章吧
+ 用AI写文章