- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 uLua异常处理
Unity热更新常采用uLua框架,这里首先分析uLua异常处理,在LuaState 类里存在DoFile函数,当使用DoFile调用lua程序时如果发现有语法错误时,将在Unity控制台打印出错误,接下来分析如何实现其异常功能,首先分析uLua源代码luaL_loadbuffer() 函数将编译lua文件中的lua代码,如果没有错误,则返回0,同时将编译后的程序块压入虚拟栈中。如
2017-07-24 21:04:50
362
原创 Unity热更新代码
对资源的更新比较简单,把资源打包成AB文件,然后放到资源服务器上,客户端程序启动时下载AB文件,程序加载AB文件就可以了,但对与C#程序来说如何进行更新呢,可以将C#打包到Dll里,然后将Dll放到资源服务器上,客户端下载DLL通过如下代码加载DllWWW www = new WWW (URL);yield return www;System.Reflection.Asse
2017-07-24 21:00:00
460
原创 Unity热更新概念
什么是热更新呢?首先需要了解移动程序的发布流程:将程序进行打包成相应平台的程序包,就拿Appsrote平台来说,需要将程序打包成xcarchive,打包好后,上传苹果商店,上传之后,苹果商店需要进行审核(审核的时间一般是一周左右),审核通过之后,玩家才可以下载最新的程序,下载时需要下载整个程序包,然后再安装最新程序包,安装好后,才可以运行最新游戏。下图是程序更新流程图。因此如果将资
2017-07-24 20:56:50
285
原创 Unity3D入门到精通-(4)Unity热更新-张刚-专题视频课程
本次系列课程的目标是让Unity3D初学者掌握C语言,Untiy调用lua脚本深入理解uLua框架实现原理,并根据项目的特点实现相应的热更新方案。 适合对象:Unity初学开发者,Unity中级开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。...
2017-07-24 09:20:04
222
原创 Unity3D入门到精通-(3)Unity资源管理精讲-张刚-专题视频课程
本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。...
2017-05-03 15:48:03
160
原创 Unity3D入门到精通-(2)Profiler工具精讲-张刚-专题视频课程
本次系列课程的目标是让Unity3D初学者掌握Unity3d的性能优化技术,根据Profiler工具监控的CPU,GPU,内存等数据(CPU执行时间,GPU执行时间,内存大小等),分析程序的性能瓶颈,从而提高程序性能。 适合对象:Unity初学开发者,Unity中级开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。...
2017-04-01 08:41:32
276
原创 Unity3D入门到精通-(1)网络模块精讲-张刚-专题视频课程
本次系列课程的目标是让Unity3D初学者掌握Unity3d的网络开发技术,课程重点将对TCP数据通信时如何对数据进行序列化和反序列化,如何解析数据包等重要知识点进行深入探讨。...
2017-03-23 09:16:19
256
原创 深入浅出Lua编程实战视频课程:(2)protocol buffer在lua中的使用-张刚-专题视频课程...
本系列课程对protocol buffer如何在c++,java,lua中的使用,重点讲解在lua中的使用
2017-03-17 08:55:21
305
原创 深入浅出Lua编程实战视频课程:(3)lua编译器源代码赏析-张刚-专题视频课程
课程详细的介绍了lua编译器在编译时如何进行词法分析,语法分析,语义分析,以及如何分析执行lua指令系统。本课程适合对lua编译器源代码有浓厚兴趣,或者在工作中需要进行lua框架的搭建的学员,也可作为编译原理的实践课程...
2017-03-17 08:54:22
409
原创 ShaderLab基础(Pass定义)
SubShader的语法包含 Tags ,CommonState,PassDef,Tags与CommonState在前面章节进行了学习,本小节将讨论PassDef,PassDef有三种形态:固定管线,可编程Shader,SurfaceShader。 固定管线是为了支持老一代能力有限的GPU提供支持。对Shader的约束性比较高。下面是固定管线的一个例子。 从上面例子可以看出
2016-10-20 16:54:53
2021
原创 ShaderLab基础(深度测试)
这小节首先复习一下渲染管线,渲染管线的流程如下:渲染管线分为应用程序阶段,几何阶段,光栅化阶段。其中光栅化阶段首先是图元装配是根据索引组成图元,并完成裁剪,然后进行光栅化,光栅化实际上是将图元对应屏幕坐标。Pixel Operation是计算每个像素的值,Pixel Operation主要包含以下操作:1),深度检测2),像素颜色计算3),Blending 深
2016-10-20 16:46:24
1515
原创 ShaderLab基础(阴影面剔除)
在上二节学习了subshader的Tags,这一节将会对CommonState进行学习Commonstate包含许多命令,在后面的课程里主要是针对阴影面剔除,Ztest,alpha test,alphalblend命令进行学习,这节将会对阴影面剔除经行学习。 打开场景1.scene,在这个场景里有一个cube物体,这个cube物体是六面体。一共有6个面,每个面有2个三角形,一共12个三
2016-10-17 17:44:03
785
原创 ShaderLab基础(RenderType标签)
在上一节简单的学习了.Queue标签的使用,本节将学习RenderType标签。“RenderType”标签。Unity内置的RenderType包括:(1)”Opaque”:绝大部分不透明的物体都使用这个; (2)”Transparent”:绝大部分透明的物体、包括粒子特效都使用这个; (3)”Background”:天空盒都使用这个; (4)”Overlay”:GUI、
2016-10-14 15:45:18
1081
原创 ShaderLab基础(Queue标签)
在上一节简单的学习了SubShader的语法,主要由三部分组成:Tags,CommonState,Passdef,本节将学习Tags。Tags 的语法为[“tag1”= “val””tag2” = “val”] SubShader的标签到底包含那些标签呢?SubShader 的标签主要由Queue,RenderType,ForceNoShadowCasting,Ignore
2016-10-14 13:29:32
1773
2
原创 ShaderLab基础(渲染管线)
在上一节通过简单的几步操作,就将3d场景显示在在2维屏幕里了。在这里可以将场景渲染到一张贴图里,如何实现呢?1. 在Tex目录通过如下方式新建一个RenderTexture,取名为HelloRender,建好后如下图所示 2. 将Main Camera的TargetTexture属性设置为HelloRender,设置好后,如下图所示然后
2016-10-12 16:06:30
472
原创 ShaderLab基础(SubShader)
1.SubShader打开HelloShader如下图 上一节讨论了Shaderlab属性,这一小节将讨论SubShader,SubShader称作为子着色器。真正渲染物体是通过SubShader实现的。在HelloShader代码中删除SubShader后,代码变成如下图所示:运行程序发现物体变成如下图所示:2.细节1.
2016-10-10 16:58:02
442
原创 ShaderLab基础(属性)
1. 打开上一次课新建的Custom/HelloShader ,接下来分析这个ShaderLab中的内容:从这个文件可以看出 Shader是定义一个Shader的关键字,”Custom/HelloShader”是这个Shader的名字然后是大括号{}用于定义Shader的内容,因此Shader的定义格式如下:Shader “Name” {}接下来分析{}中的内
2016-09-30 11:14:33
624
原创 ShaderLab基础(Hello world 程序)
第一个 ShaderLab程序Hello World 作为shaderlab的入门,还是和学习其他的语言一样,先写一个Hello Wrold程序。1.首先启动Unity程序,然后将会弹出如下界面(图1) 图1 2.然后单击Create new Project 将会弹出如下界面(图2)
2016-09-29 18:08:25
657
转载 lua指令
1 Introduction这是一本关于Lua 5.1 虚拟机指令集的完全介绍。与Perl和Python相比,Lua的简洁性使得有人可以一窥它的内幕并理解它的内在实现。如果没有把一个“生物”切开就不可能检查它的内脏,器官和那些令人生厌的平时难得一见的东西,同样的道理,在没有拆分的情况下,任何人都不会完全的理解体会一个脚本语言或是任何复杂的系统。所以想象这篇文档可以帮助您窥探内幕。
2016-09-23 16:12:24
408
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人