Unity3D
Unity3D开发笔记
游戏前端小明
这个作者很懒,什么都没留下…
展开
-
1.Unity脚本生命周期
Unity中脚本按照一定的生命周期执行1.Awake最早执行,在GameObejct对象的数据和状态的初始化后执行,只会触发一次。tips:GameObject实例化到场景中后在激活的状态下才会初始化,如果GameObject从来未激活,它的脚本上的Awake永远不会被调用。即时触发,GameObject第一次active的时候调用。2.Start在脚本第一次调用Updat原创 2015-11-08 21:35:57 · 1391 阅读 · 0 评论 -
第2章 渲染流水线
一、什么是渲染流水线图形的渲染流程被拆分成多个阶段,每个阶段独立并发执行而不用等待整个渲染流程完成后才开始下一个渲染任务,大大的提高了处理速度,这样的工作方式使得GPU能够并发快速的批量处理大量数据,提高渲染速度。 从大概念上来说,渲染流程分为3个阶段:应用程序阶段、几何阶段、光栅化阶段。每个阶段同时又是个流水线,包含一系列更小的流水线阶段。原创 2016-11-20 19:55:14 · 497 阅读 · 0 评论 -
unity中光照模型和光照计算
光源类型方向光:Directional点光源:Point聚光灯:Spot光照模型每一种类型的光源都可能同时会有以下光照模型: - Diffuse:漫反射 - Specular:镜面反射光照衰减方向光:没有衰减点光源 距离衰减:光源有光照范围[near,far],在near距离内的光照系数为1,在far距离外的光照系数为0,在该两者之间的顶点会随距离进行衰减,光照强度与距离的平方成反原创 2016-10-21 19:56:02 · 4868 阅读 · 0 评论 -
Unity C#脚本热更
1.区分出Editor Plugins和CSharp三个工程的代码2.热更新是对CSharp的输出打包,反射3.打包Apk时候工程里面需要包含Plugins目录和其他依赖的Dll库,CSharp里面的代码要删干净,否则打包的代码加载不进去原创 2015-12-21 03:27:23 · 2385 阅读 · 0 评论 -
Unity项目结构和版本控制
一、工程文件1.C#工程文件●Assembly-CSharp-vs.csproj:VS●.Assembly-CSharp.csproj:MonoDevelop2.JS工程文件●.Assembly-UnityScript-vs.unityproj:VS●.Assembly-UnityScript.unityproj:MonoDevelop二、IDE的解决方案文件1.t原创 2015-12-21 03:24:50 · 1922 阅读 · 0 评论 -
资源管理系统
一、资源打包BuildPipeline.BuildAssetBundle资源打包参数:Determine(Object保持ID不变,用于增量发布)、ColloctDependencies(收集依赖)、Complete完全打包(该资源以完整的形式打包)场景打包:先打包的依赖的所有资源,然后打包场景,用BuildPipeline.BuildStreamed...选项为BuildAddtio原创 2015-12-21 03:22:13 · 656 阅读 · 0 评论 -
技能效果树
一、在该设计结构里面技能系统包含以下结构:技能Ablil、效果Effect、Buff、状态、条件Requirement、行为。二、效果在技能效果树里面,所有的动画表现和伤害效果都是事件驱动的,同时也就是说该结构是以效果为核心来设计的。不同类型的效果会有不同的事件。这也是游戏扩展最需要处理的地方,以后慢慢研究了。三、技能包含以下事件OnCast:点击技能图标释放的原创 2015-12-21 01:21:04 · 922 阅读 · 0 评论 -
Lua自定义面向对象
local class={}local _classInfoMap={} -- <class,classinfo> <classname,classinfo>local _readonlyFields = {class=true,classname=true,super=true}local function ExecuteCtor(cls,obj,...) if nil == obj原创 2017-10-10 23:45:06 · 427 阅读 · 0 评论 -
Lua中元表Metatables与元方法Metamethods
元表用于扩展一张表的状态行为和属性。当我们对表执行默认情况下不支持的操作时候,会寻找该表的元表中是否有对应的metamethod,如果有则继续执行,否则就会报错 可以使用setmetatable设置一张表的元表。使用getmetatable来获取一张表的元表。不要在表A的元表B中将__index方法中包含有A表本身,当访问A中不存在的域,可能会导致死循环:一直调用__index元方法原创 2017-10-10 23:49:53 · 275 阅读 · 0 评论