![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
unity3d
zhongdong00
这个作者很懒,什么都没留下…
展开
-
ToLua框架下C#与Lua代码的互调
本篇文章转自https://www.jianshu.com/p/f083bbaa048a, 感谢作者的分享Lua是目前国内使用最多的热更语言,基于Lua的热更框架也非常多,最近学习了一下ToLua的热更框架,主要使用的问题在于C#和Lua之间的互调,因此做一下学习记录以备后查。所谓“互调”,当然要包括两个方面,一是通过C#调用Lua代码,二是通过Lua代码调用C#脚本,第二点还包括注册在C#脚本里的Unity物体。1. ToLua的简单实现原理ToLua框架主要是通过静态绑定来实现C#与Lu.转载 2020-05-31 21:16:55 · 1054 阅读 · 0 评论 -
U3D DrawCall优化手记
在最近,使用U3D开发的游戏核心部分功能即将完成,中间由于各种历史原因,导致项目存在比较大的问题,这些问题在最后,恐怕只能通过一次彻底的重构来解决现在的游戏跑起来会有接近130-170个左右的DrawCall,游戏运行起来明显感觉到卡,而经过一天的优化,DrawCall成功缩减到30-70个,这个效果是非常显著的,并且这个优化并没有通过将现有的资源打包图集来实现,图集都是原有的图集,如果从全局的角...转载 2018-05-30 15:18:59 · 205 阅读 · 0 评论 -
Unity性能优化之DrawCall
图形引擎渲染画面的过程Unity(或者说基本所有图形引擎)生成一帧画面的处理过程大致可以这样简化描述:1. 可见性测试1. 引擎首先经过简单的可见性测试,确定摄像机可以看到的物体2. 准备好物体的数据2. 然后把这些物体的顶点(包括本地位置、法线、UV等),索引(顶点如何组成三角形),变换(就是物体的位置、旋转、缩放、以及摄像机位置等),相关光源,纹理,渲染方式(由材质/Shader决定)等数据准...转载 2018-06-06 09:37:03 · 10124 阅读 · 0 评论 -
Lua调用原理展示(lua的堆栈)
转载地址:https://blog.csdn.net/zhuzhuyule/article/details/41086745一、Lua虚拟机的栈1.1先简单介绍下Lua虚拟机的栈,如图:规则:①若Lua虚拟机堆栈里有N个元素,则可以用 1 ~ N 从栈底向上索引,也可以用 -1 ~ -N 从栈顶向下索引,一般后者更加常用②堆栈的每个元素可以为任意复杂的Lua数据类型,堆栈中没有元素的空位,隐含为包...转载 2018-05-08 11:58:47 · 6941 阅读 · 1 评论 -
Lua虚拟机的初始化
一、Lua脚本语言1. 概述Lua是一种脚本编程语言,与一般脚本语言不同,被称为是嵌入式的脚本语言。Lua最著名的应用是在暴雪公司的网络游戏魔兽世界中。Lua语言可以独立进行编程,但这不是其主要的使用方式。Lua最典型的用法,是作为一个库,嵌入到其他大型语言(称为宿主语言)的应用程序之中,为应用程序提供参数配置或逻辑描述等功能,带来前所未有的灵活性。转载 2018-05-08 10:00:13 · 1014 阅读 · 0 评论 -
通过LuaInterface完成Lua和C#之间的互相调用
**LuaInterface**通过LuaInterface完成Lua和C#之间的互相调用①需要下载LuaInterface包:核心库:LuaInterface.dll和Luanet.dll②在C#脚本中加入引用上面的核心库③进行代码编写1.在C#中执行访问Lua代码Lua lua = new Lua(); //创建Lua解析器 l转载 2018-05-07 14:31:52 · 1514 阅读 · 0 评论 -
unity渲染层级关系小结
最近连续遇到了几个绘制图像之间相互遮挡关系不正确的问题,网上查找的信息比较凌乱,所以这里就把自己解决问题中总结的经验记录下来。 Unity中的渲染顺序自上而下大致分为三层。 最高层为Camera层,可以在Camera的depth那里设置,设置之后,图形的渲染顺序就是先绘制depth低的相机下的物体,再绘制depth高的相机下的物体,也就是说,depth高的相机会覆盖depth低的相转载 2018-01-30 21:46:01 · 245 阅读 · 0 评论 -
U3D sorting layer, sort order, order in layer, layer
1,layer是对游戏中所有物体的分类别划分,如UIlayer, waterlayer, 3DModelLayer, smallAssetsLayer, effectLayer等。将不同类的物体划分到不同的层,便于相机拣选,在相机的cullmask中可以选择渲染哪些层,不选择的层则不会渲染。还可以用于射线检测对象的拣选,可以指定只对某些层的对象进行射线检测。2,canvas默认是屏转载 2018-01-30 19:27:30 · 1078 阅读 · 0 评论 -
Lua之弱引用table
弱引用table1.无法超越人类智慧的智能——自动内存管理的缺陷我们都知道,Lua是具备自动内存管理的我们只管创建对象,无须删除对象(当然,对于不要的对象你需要设置一下nil值),Lua会自动删除那些被认为是垃圾的对象。问题就出现在,什么对象才是垃圾对象,有些时候,我们很清楚某个对象是垃圾,但是,Lua却无法发现。 比如这样一个例子:复制代码代码转载 2017-11-21 21:31:42 · 250 阅读 · 0 评论 -
游戏分包下载机制原理
一般RPG游戏资源安装包都比较庞大(相对于手机存储来说),而且我们的动画资源完全是序列帧动画,又进一步加大了程序安装包,而平台对安装包的大小有限制,不同大小的安装包需要的推广费用不同,对于玩家来说安装包尽量越小越好,这就要求我们控制游戏apk的大小,刚开始什么打包的时候apk大小在180M左右,后来通过各种优化资源,包括删减动画的序列帧,通过图片压缩工具压缩图片资源等手段将apk大小降低到120M转载 2017-04-27 21:58:50 · 5368 阅读 · 0 评论 -
Unity编辑器扩展-菜单项
Unity编辑器允许你去添加像内置菜单一样外观和行为的自定义菜单。自定义菜单对于那些经常使用的功能提供一种能从编辑器直接访问的便捷方式。在这一课程中我将对每个描述的主题提供真实的使用示例,用于说明在unity中的菜单项是如何创建和使用的。添加菜单项为了要在顶层工具栏中创建一个新的菜单项,你必须去创建一个编辑器脚本(在项目Editor目录下的一个脚本)。此菜单项需要是一个静态的方法且转载 2017-04-14 10:47:47 · 368 阅读 · 0 评论 -
U3D Anchors功能详解
之前有写过NGUI系列的功能博文,也写过4.6版本的UGUI。想不到Unity发展如此之快,5.0版本中不再支持NGUI了我也不得不使用UGUI了。UGUI的地位已经举足轻重了,所以之后的博客中我会更新整个5.0版本UGUI功能系列文章。正文:UGUI 5.0版本Anchors的参数详解首先看一下UGUI Anchors的界面以butto转载 2017-02-13 22:05:23 · 5182 阅读 · 0 评论 -
U3D Anchors
看Unity3D文档像看国内教课书一样,一些概念,不懂的时候看还是不懂,明白了以后再看,好像也没有说错。好几个做Unity3D的朋友跟我吐槽过U3D的文档质量,相比Apple贴心的技术文档相去甚远。话虽这么说,权威的资料当然还是官方的,建议先仔细读一遍,不懂的再往下读:http://docs.unity3d.com/Manual/UISystem.html网上的教程大多泛泛而谈转载 2017-02-13 21:44:21 · 2040 阅读 · 0 评论 -
(转)Unity3D中脚本的执行顺序和编译顺序(vs工程引用关系)
自:http://www.cnblogs.com/champ/p/execorder.html在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行。与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题。事件函数的执行顺序先说一下执行顺序吧。 官方给出的脚本中事件函数的执行顺序如下图:转载 2016-12-01 11:31:08 · 647 阅读 · 0 评论