摘要:
光源 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: 表面着色器最终会被编译为一个复杂的 阅读全文