07 2017 档案
摘要:地形创建 Raw图片格式是Unity可以导出的图片格式 Unity很强大,可以直接使用psd文件 地形创建实例 1.创建Unity工程和文件目录1:创建一个地形Terrain: GameObject > 3D Object-->Terrain;2: 这个节点包含了两个组件,Terrain和Terra
阅读全文
摘要:对于多量的、复杂的、有规律的控制器使用代码生成 动画状态代码控制 1:每个动画状态,比如进入状态,离开状态, 等都有可能需要代码来参与和处理,比如,进入这个动画单元后做哪些事情,来开这个动画单元后做哪些事情,为了解决这个问题,unity允许每个动画单元来绑定一个脚本代码,这个脚本代码必须继承于Sta
阅读全文
摘要:应用 一个RPG游戏,里面有100种怪物,每种怪物其实都差不多的,行走,跳跃,攻击,难道动画师要调100次动画吗?其实不需要 Unity抽象出人形动画系统,用Unity简化版的骨骼来进行统一的管理,只要是使用人形动画系统做的角色动画,可以使用其他角色进行播放,应用到不同的角色里面,这个就是重定向技术
阅读全文
摘要:Mecanim动画 1:旧版动画系统只能通过代码来控制动画播放,随着动画种类变多,代码复杂度也会增加,同时动画过渡也需要非常繁琐的代码控制,为了让有经验的动画师开发动画,unity推出了针对人物角色的Mecanim动画系统;2:Mecanim支持运动重定向(Retargeting)功能,即把动画从一
阅读全文
摘要:Unity在5.X以后,有一个旧版的动画系统和新版的动画系统。 新版的动画系统是使用Unity动画编辑器来调的,调动画和控制动画 旧版的动画系统是用其他的第三方软件调好后导出到一个FBX文件里面,就是一个FBX模型文件里面除了模型顶点,数据纹理以外,还有动画信息。美术会把所有与模型相关的动画全部做到
阅读全文
摘要:3D模型 通过3D建模软件所建出来的点和面,如以三角形为主的点和面,比如人的脑袋一个球,就是由各种各样的三角形组成的点和面。 点和面以及纹理坐标都是通过3D建模软件建模出来的。 Unity会帮我们把模型的信息存到Mesh里面来,Mesh翻译成中文是网格。 顶点,三角形,纹理坐标,法线和切线。 3D建
阅读全文
摘要:例子 void Update () { this.transform.Rotate(Vector3.up, Time.deltaTime * 50, Space.World); //绕世界的y轴旋转,1秒钟转50度,Space.World是让它绕世界坐标系的y轴旋转,没写的话会绕它自己坐标系的y轴旋
阅读全文
摘要:全局光照 GI 这里所说的反射就是,一个红色的物体,当太阳照射它的时候,它周围的物体也会变得有点红。 1:Realtime每帧都会计算光照,实时光照是不会反射的,所以它的光影显得单调;2:Baked GI:通过烘培光照贴图的方式获得很好的光照效果,无法实时的改变光照;3: 预先计算全局光照: Pre
阅读全文
摘要:反射探头 1:镜子金属等具有光滑表面的物体都会反射,而游戏中计算实时反射非常消耗CPU的资源, unity5.0新增了一个反射探头的技术,通过采样点,生成反射Cubemap,然后通过特定的着色器从Cubemap中采样,就能显示反射效果了;2: 反射探头的参数: type: 设置反射探头的类型(bak
阅读全文
摘要:Mobile Diffuse Unity自带的一种shader,用的比较多,性能还可以。我们默认创建的unit shader基本和它一致,但是没有参与光照计算,看起来和Mobile Diffuse有区别 1: 漫反射着色器, 最简单的3D着色模式;光照在物体上,漫反射就是原本是什么样的颜色,就显示什
阅读全文
摘要:渲染路径和颜色空间 1:Unity光影效果可以通过设置 渲染路径和颜色空间;2: 渲染路径: 光照到物体表面,物体着色的时候,算上光的颜色的时候有这么几种光照的着色方式,计算着色的方式 forward: 着色时根据对应影响的灯光,每个光源着色一次,多个光源作用时会着色多次; 优点: 快速,硬件要求低
阅读全文
摘要:法线贴图 次时代游戏用的比较多 1:法线贴图是凹凸贴图技术上 的一种应用,有时也称为Dot3(仿立体)凹凸纹理贴图;2: 法线贴图是不增加多边形的情况下,增强模型的细节;3: 法线贴图是高精度模型导出来的一种贴图,作用到低精度jing'd度模型上面,增强低精度模型的细节同时,又能获取很好的性能;4:
阅读全文
摘要:光源 1: 光照的本质:就是光的颜色和物体纹理的颜色的混合;2: 光源类型: 点光源,定向光源,聚光灯, 区域光源; 区域光的范围会在场景中用黄色的光显示出来; z轴是光的方向; 光的强度会随距离衰减; 只能配合烘培GI使用;3: 发光材质 发光材质也算是一种光源,通过给物体添加特殊的着色器,调节其
阅读全文
摘要:水 自己来做水和雾还是有点麻烦的,不过没关系,Unity帮我们做好了很多可以用的。 1.Unity自己实现了水的特效,帮助我们解决游戏中水的问题 2.Unity的水集成在了Environment的环境资源包里面,导入的方法是:Assert >Import >Environent导入 需要正式版才能看
阅读全文
摘要:3D声音 3D立体声和2D声不同的地方是它是会随着距离衰减的,距离越近声音越大,距离越远声音越小。 1: 声音: 背景音乐和音效; 2: 声音文件支持的格式: ogg, mp3, wave, AIFF; ogg比较流行,很多安卓里面的声音使用ogg的格式是为了绕开mp3的版权 ogg和mp3都比较常
阅读全文
摘要:本地存储 在做游戏的时候,经常需要在本机存储一些数据,比如闯关类游戏要记录闯到第几关,做单机的时候要把数据保存到本地,下次启动的时候数据存在,就是把数据保存到磁盘里面或者手机的flash闪存里面。 Unity使用PlayerPrefs类实现本地存储 1: PlayerPrefs类: 游戏开发中需要存
阅读全文
摘要:3D拾取 3D游戏实际上看到的是2D画面,我们在屏幕上点击,想要找到哪个3D物体,我们实际上是在一个2维平面内做3D拾取。 3D拾取实际上是,当玩家点击屏幕的时候,会从显示屏幕的摄像头发射一条射线,射到它所照射的平面上,射线第一次碰撞到的物体就是玩家所选的物体。 1: 游戏中需要用户触摸/点击 操作
阅读全文
摘要:天空盒 是一个盒子,一个正方形的盒子。其实本身也是一种shader,需要材质球做载体。 1: 一个场景是由6幅正方形的纹理图无缝拼接而成, 在视野看来位于真实的视野一样;2: 两种天空盒: 场景天空盒 Window->Lighting->Scene->Skybox,切换摄像机场景不改变; 摄像机天空
阅读全文
摘要:GrabPass截屏 可以用来截屏,截屏后把纹理传给下一个通道使用。 1:使用抓屏通道, GrabPass {} 或 GrabPass { “ 纹理名称”}; 使用GrabPass {}后,可以用_GrabTexture访问截屏的纹理2: 后续的Pass通道使用这个抓屏;3: 编写案例 (1): 创
阅读全文
摘要:混合模式 着色完成后,需要把颜色混合到帧缓冲区里面,涉及到源和目标。 1:在所有计算完成后,决定当前的计算结果输出到帧缓冲区时,如何混合源和目标,通常用来绘制半透明的物体;2: Blend Off 关闭混合3: Blend 源因子,目标因子: 配置并开启混合,产生的颜色和因子相乘,然后两个颜色相加4
阅读全文
摘要:每个shader里面有很多的subshader,如果所以的subshader都不执行的话就,就执行fallback。每个subshader都可以设置一个LOD,整个shader也有一个LOD。 系统就去找第一个LOD小于等于shader的LOD的subshader执行,其他的subshader就不会
阅读全文
摘要:写shader其实就是在两个工位顶点shader工位和着色shader工位插入代码,供GPU使用运行 表面着色器四个函数的入口 1:表面着色器包括4个函数: (1): 顶点变换函数; (2): 表面着色函数; (3): 光照模型; (4): 最终颜色修改函数;2: 表面着色器最终会被编译为一个复杂的
阅读全文
摘要:补充 float4 fixed4 _Time 1: float4是内置向量 (x, y, z, w); float4 a; 访问单独成员a.x, a.y, a.z, a.w;2: fixed4 是内置向量(r, g, b, a); fixed4 c; color.r, color.g, color.
阅读全文
摘要:Cg是类似于C语言的发展起来的图形编程语言,Cgraphics,它的很多表达式if...else...和C语言非常相像,也和C#非常相像。 由于Shader是写给显卡执行的,所以没有输出语句来调试,很多地方调试不了,只能靠Unity编辑器来帮我们报错,写起来一定要小心谨慎。 基本类型表达式1:语法和
阅读全文
摘要:在游戏的开发过程中,程序员不太会自己去写shader,因为写起来很麻烦,而且只有Unity会报错,编译器也没有什么提示。 通常是拿别人的shader改一改,当然,程序员还是要能看懂和会一点shader Unity坐标系转换 1: transform.localToWorldMatrix 局部转世界的
阅读全文
摘要:坐标空间 1:物体空间: 3D物体自己的坐标空间 一般设计时几何体以中心为原点,人物以双脚为原点; 2: 世界空间: 3D物体在场景中的世界坐标, 整个游戏场景的空间; 3: 摄像机空间: 以观察摄像机为原点的坐标系下的坐标空间; 4: 投影成像 3D坐标转换到屏幕空间;
阅读全文
摘要:Shader也叫着色器,是Unity里面比较难的一个点,网上有很多别人写好的shader,我们可以下载下来用或者修改学习。 Shader可以做出很多非常不错的效果,因为它是插在渲染管道里面的程序,一来是性能好,是GPU执行的,不需要CPU再去做额外的处理,二来就是可控性强,可以控制到每个顶点,每个像
阅读全文
摘要:粒子效果1: 游戏中会有很炫酷的特效,比如爆炸,水花,火焰等;2: unity提供粒子编辑器,方便特效人员来开发很炫酷的特效;3.粒子效果一般有专门的粒子特效师来做,我们只需要拿来用就好了,很多参数没必要掌握。 Particle System组件面板 1: 粒子系统主体;2: 喷射(Emission
阅读全文
摘要:所以物体的要绘制出来就必须要有网格组件+材质属性,如果还需要其他特效或丰富内容的话,还可以再加组件。 蒙皮网格和布料 1: 例如要模拟衣服,随风摆动,模拟布料需要用到蒙皮网格和布料;2: 蒙皮网格可以模拟出非常柔软的网格体,用于布料和角色的蒙皮功能;3: 蒙皮网格 + 布料组件能模拟出布料效果;4:
阅读全文
摘要:导入 1.创建工程 2.导入joint_scene.unitypackage 3.运行发现机械爪子摇来摇去,因为line节点下面的子节点之间相互碰撞带动的关系 4.为了消除这种乱摇,我们在右上角添加一个catch层,把line节点整个设置成catch层,然后在Edit >Project Settin
阅读全文
摘要:1: 刚体的形状大小在物理世界里面是不变的,可是很多时候,我们需要多个刚体来配合使用;2: 关节: 连接刚体与刚体的对应的物理模拟;3: 关节类型: 铰链关节,弹簧关节, 固定关节, 角色关节,可配置关节 铰链关节 1: 将两个刚体束缚在一起,在两者之间产生铰链效果;2: 铰链关节属性 connec
阅读全文
摘要:准备 在创建好项目目录的基础上 导入一个第三方的资源包,在Project面板里面 右键 >Import Package >Custom Package >easy_touch.unitypackage 导入完成后,会发现菜单栏多了一个Hedgehog Team Hedgehog Team >Easy
阅读全文
摘要:在关于Unity中的刚体和碰撞器的相关用法(一)的基础上 有一个plane平面,一个ball球体,都挂了碰撞器,ball挂了刚体Rigidbody,写了一个脚本ball挂载在球体上,球体从空中落下装机plane 碰撞检测 一、当两个物体发生碰撞时,也就是两个节点的碰撞器相互碰撞的时候,就会去调用节点
阅读全文
摘要:1.创建一个3D工程 2.构造项目文件目录 3.保存场景为game_scene到文件夹scenes中 4.创建一个Plane平面类型的GameObject节点和一个Sphere球体类型的GameObject节点 5.给Plane贴上图片,Sphere贴上材质,可以设置球的材质的Shader为Mobi
阅读全文
摘要:我现在的思路大概是这样的,2D游戏 Hierachy视图 有一个总的Canvas节点,挂载一个总的游戏控制脚本game_scene,下面有这样一些子节点 1.game_root:下面存放游戏界面中的物体,像飞机,敌机,子弹 2.game_ui:下面存放游戏的UI控件,像游戏分数的显示 3.menu_
阅读全文
摘要:一、鼠标拾取物体的原理 在Unity3D当中,想要在观察面(Aspect)中拾取物体(有碰撞属性)的方法一般如下: 1、声明一个观察的摄像机、一个从摄像机原点出发的射线Ray以及一个用于检测碰撞的RaycastHit; 2、将射线Ray定义为从摄像机原点出发并且指向当前鼠标所在的坐标(屏幕坐标);
阅读全文
摘要:1.要确定每个物体的碰撞类型,是有碰撞效果的碰撞还是没有碰撞效果的碰撞(is trigger),带不带刚体。 2.给每个物体分层,再设置哪些层会发生碰撞,哪些完全不产生碰撞。 3.给每个物体设置标记,在代码中根据标记来判断碰撞的对象分别是谁。
阅读全文
摘要:以前一直以为在Inspector面板上的是Transform,后来才发现原来2D是RectTransform,3D是Transform 3D面板上显示的是位置坐标组件Transform,2D面板上显示的是位置坐标组件RectTransform RectTransform是Transform的子类 可
阅读全文
摘要:变量 1.匀速运动的物体都要记得定义一个speed速度变量 2.不断产生很多相同物体的事件要记得定义时间生成物体的间隔rate,并且有一个一达到rate的值就清0的累加时间变量,累加时间变量是通过Time.Deltatime来累加的。 3.bool变量的定义 有时候不知道要定义哪些bool变量 其实
阅读全文
摘要:Vector2是用来定义和描述2D游戏内部的一些参数,像刚体的速度等等 Vector3是 1.鼠标点击屏幕后要转化为3D坐标的时候用到的定义和描述 2.两个物体之间的相对距离,或者说偏移量的变量类型
阅读全文
摘要:以前中过很多次的1KB病毒,这种病毒来源一般都是U盘,就是去打印店插个U盘,回来插自己电脑发现U盘中毒了。 中毒特征就是根目录下的所有文件夹都变成快捷方式,都只有1KB大小,而根目录下的文件和压缩包不会受到影响,实际上是原来的文件夹被隐藏了,只给一个有毒的快捷方式。 删除快捷方式是没用的,刷新一下就
阅读全文
摘要:1.表的名字不要取关键字一样,不要取User这种的 2.java判断字符串相等用.equals,不能用== 3.<s:textfield name="caiuser.uphone" 只能小写?改了就不行 4.主键千万不要用中文 5.最好不要用下划线命名Account表名 CAI_GOODSaccou
阅读全文
摘要:程序分析自上而下分解,模块化,但是有耦合的问题代码编写是自下而上
阅读全文
摘要:一、广义上的接口 api 应用程序编程接口 屏蔽内部实现过程,把接口暴露给程序员使用 电脑插座口 用户交互接口 二、狭义上的接口 是interface关键字所定义的语法 我们先定义一个接口类 我们对接口的实现implements就是在写内部的过程,其他人用的时候,直接用接口的那个虚函数就可以了。 类
阅读全文
摘要:大公司性能优化比较重视,因为一台服务器比如1w,facebook有10w台服务器,这时候,如果性能提高百分之1,就可以省下1000台服务器,那就等于省了1000w而小公司,提升性能没什么必要,程序员的工资反而比较贵。1台服务器,10个程序员。像php
阅读全文
摘要:静态属性和静态函数,和成员属性和成员函数是归属问题 静态属性和方法放在静态的那个内存区域里面 例子一图纸盖房子,图纸是类,房子是对象 成员属性是为某个对象所有,房子的材质 静态属性是为所有对象所拥有,图纸的材质 其实我感觉这个例子不恰当 例子二 身高是成员属性人数是静态属性 反射,从对象反射出类,房
阅读全文
摘要:魔术方法 当一个对象引用变量调用一个没有定义的属性或方法时,可以这一个函数。当发生这种情况时调用这种函数。
阅读全文
摘要:搞清楚什么是类 什么是对象js可以直接用对象,不用类,比较变态 C++支持多继承,但是这种不好,后面的语言都取消了多继承单继承,无性生殖,有爹没妈 javascript的对象并不是真正的对象,面向对象的思想不能套用,这是这个语言的难点,其他的java c++都可以 final修饰的类不能被继承,最终
阅读全文
摘要:1.堆 2.栈 空间较小 3.全局 4.代码段 要搞懂每个区域放什么东西 堆 复杂类型栈 变量静 代复杂类型对象没有指针指的时候,堆中的内容垃圾回收1函数传对象的时候,其实是首先在堆里面开一个内存放对象属性内容,在栈里面开一个内存放一个变量,变量里面放地址,指向堆的那个对象,传对象的时候,是在栈里面
阅读全文
摘要:有的人做硬件 嵌入式有的人做app有的人做网站有的人做网络安全有的人做游戏 自己网站,买一个域名,买一个服务器,备案域名10天十几块一个月,阿里云服务器
阅读全文
摘要:1.C语言和java C语言难在需要清楚底层的实现原理一错可能就内存泄露之类语法不难,原理很难 C语言和java数组是指一段连续的内存空间一个int 4字节一旦声明必须确定长度无法变长数组在数据结构里面叫线性表,语法上叫数组,通过偏移量来访问java语言本身也只有线性表,数组,没有链表那个list是
阅读全文
摘要:cocos做棋牌特别多 ccc开发周期短,小公司喜欢,做小游戏非常快 游戏也分前端和服务器端 王者荣耀投资大,美术猛 vr现在硬件还没有统一 ccc和node.js可以做前端和服务器 换皮和外包很普遍
阅读全文
摘要:技术一 jsp: java植入html 技术二 javascript(js)植入html 技术三早期php植入html弱类型语言和强类型语言弱类型语言无法实现函数重载,没办法
阅读全文
摘要:location是指当遇到这个单词的时候,把root改成大括号里面的值,再把单词和后面的路径加上root变成总的文件路径进行搜索,如果没有location,直接把root加上域名后面的路径变成总的文件路径进行搜索。
阅读全文
摘要:企业 1.svn,记录从开始到最后面的整个开发过程代码,集中式项目标题负责地址自己开发可以买一个阿里云服务器,一个月只有几块钱。 2.git开源开发 github全世界最大的代码分享平台国内有一款叫码云,跟它的功能很相似
阅读全文
摘要:j2ee java企业级开发,可靠,稳定。接口规范。php没有接口规范,早期推行不好。本地开发远程开发,自己电脑很干净,只有一个IDE,不用一直重装系统,有网络就可以开发,虚拟机一般不关,只暂停。 用命令行写c语言和编译gcc -o IDE综合征kangyage level 是代码提示和报错的版本和
阅读全文
摘要:1.输出时候发生的事情 使用输出语句输出字符串 所有的输出操作是把内容给输出缓冲区 2.基础的重要写代码找问题是最难的,解决问题不难,该怎么解决就怎么解决,问题查找可以用排除法,排除法的使用前提是基础要好,要理解整个程序运作的过程,到底发生了什么。所以,基础一定要好(补习),只有好基础才可以从现象看
阅读全文
摘要:1.服务器和一些相关知识点 服务器是运行在一台远程计算机上面的软件,服务器坏了或者丢失报文,就会出现一直转圈圈的请求超时的结果 协议就是约定 http是重点 报文是一段按照01011有格式的组合 j2ee默认监听8080端口,有数据来的时候接受,根据http约定解读,然后去new一个对象http..
阅读全文
摘要:B/S注重的是 1.服务想玩游戏的时候,就出现想看电影的时候,就出现不用下载客户端太麻烦看个电影还要下载一大堆东西,不看了2.维护升级软件不用一台一台地重新更新,百度一直在更新,但是我们感觉不到3.游戏这一块 B/S还不能取代C/S 高频应用如微信还不能取代 游戏不能被取代是因为用户体验 偶尔需要的
阅读全文
摘要:程序,静态数据 进程,动态,有生命周期,像程序的实例 线程,张三买票,可以边买票边听音乐 cpu最小的调度单位是线程 java是多线程编程,一个线程里面定义一个变量,而另一个线程可以去取 网络通信的本质是进程间通信:qq最上层是我的qq软件和他的qq软件之间的通信,而最下层是操作系统控制电脑网卡和他
阅读全文
摘要:0.notepad++ 一个类型记事本的软件,用来看安装的部署说明命令。 1.虚拟机 在虚拟机里面操作,本机不会被影响。 2.CentOS系统 类似Linux的系统,在里面安装PHP,Nginx,php-fpm,Mysql 3.Putty 一个远程连接软件,配置好虚拟机系统的网络后,可以在本机用这个
阅读全文
摘要:在安装PhpStudy的时候,打开它自带的Apache的时候,说80端口被占用,无法启动。 1.一开始我以为是我以前装过Apache-tomcat导致80端口被占用,但是任务管理器里面又没有运行Tomcat服务器,讲道理如果它没有在进程中运行,那么是不会占用端口的。 2.后来我在cmd里面查了一下,
阅读全文