写在前面 感谢全部点进来看的朋友.没错.我眼下打算写一本关于Unity Shader的书. 出书的目的有以下几个: 总结我接触Unity Shader以来的历程,给其它人一个借鉴.我非常明确学Shader的艰难,在群里也见了非常多人提出的问题. 我认为学习Shader还是一件有规律可循的事情,但问题是中文资料难觅,而大家又不愿意去看英文...这对我有什么优点呢?强迫我对知识进行梳理,对细节问题把握更清楚. 第二个原因你懂的. 关于本书的定位问题: 面向Unity Shader刚開始学习的人,但要…
写在前面 感谢所有点进来看的朋友.没错,我目前打算写一本关于Unity Shader的书. 出书的目的有下面几个: 总结我接触Unity Shader以来的历程,给其他人一个借鉴.我非常明白学Shader的艰难,在群里也见了很多人提出的问题.我觉得学习Shader还是一件有规律可循的事情,但问题是中文资料难觅,而大家又不愿意去看英文...这对我有什么好处呢?强迫我对知识进行梳理,对细节问题把握更清楚. 第二个原因你懂的. 关于本书的定位问题: 面向Unity Shader初学者,但要: 有一定的…
建立一个基本的屏幕后处理脚本系统 屏幕后处理,顾名思义,通常指的是在渲染完整个场景得到屏幕图像后,再对这个图像进行一系列操作,实现各种屏幕特效.使用这种技术,可以为游戏画面添加更多艺术效果,例如景深.运动模糊等. 因此,想要实现屏幕后处理的基础在于得到渲染后的屏幕图像,即抓取屏幕,而Unity为我们提供了这样一个方便的接口OnRenderImage函数.它的函数声明如下: MonoBehaviour.OnRenderImage(RenderTexture src,RenderTexture de…
看了雨松MOMO的 Unity3D研究院之手游开发中所有特殊的文件夹学习了,做个笔记. 1.Editor Editor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor即可.不过我比较喜欢放在根目录,一目了然.Editor文件夹下面的所有资源以及脚本文件在打包的时候都不会被打进去,并且脚本也只能在编辑时使用.项目里面一般会把工具类放到Editor下. 2.Editor Default Resources 目前我使用这个文件夹用的不多.Editor Default Resources中…
public static void OpenDirectory(string path, bool isFile = false) { if (string.IsNullOrEmpty(path)) return; path = path.Replace("/", "\\"); if (isFile) { if (!File.Exists(path)) { Debug.LogError("No File: " + path); return;…
关于svn的指定目录指定位置更新:当在提交了新建的目录后可以使用 a)  在需要更新的上级目录上单击右键 在延伸菜单中选择 b)  弹出对话框中选择,check repository c)  新添加的文件在status一栏是没有状态的,右键Update就行了…
一个顶点/片元 着色器的结构大概如下: Shader "MyShaderName" { Properties { //属性 } SubShader { //针对显卡A的SubShader Pass { //设置渲染状态和标签 //开始CG代码片段 CGPROGRAM //该代码的预编译指令,例如: #pragma vertex vert #pragma fragment frag //CG代码写在这儿 ENDCG //其他设置 } } SubShader { //针对显卡B的SubSh…
目录 1. 强大的援手:Unity提供的内置文件和变量 1.1 内置的包含文件 1.2 内置的变量 2. Unity提供的Cg/HLSL语义 2.1 什么是语义 2.2 Unity支持的语义 2.3 如何定义复杂的变量类型 1. 强大的援手:Unity提供的内置文件和变量 上面,我们讲述了如何在Unity中编写一个基本的顶点/片元着色器的过程.顶点/片元着色器的复杂之处在于,很多事情都要我们"亲力亲为",例如我们需要自己转换法线方向,自己处理光照.阴影等.为了方便开发者的编码过程,Un…
Unity提供了很多Image Effect效果,包含Global Fog.DOF.Boom.Blur.Edge Detection等等,这些效果里面都会使用到摄像机深度或者根据深度还原世界坐标实现各种效果,这篇文章主要介绍Unity中获取相机深度的方式. 1. Camera Image Effect Image Effect是Post Effect中的一种方式,Camera GameObject脚本上挂在脚本带有OnImageRender来实现, 具体实现参考Unity官网说明. 对于深度纹理…
1.隐藏文件夹以.开头的文件夹会被Unity忽略.在这种文件夹中的资源不会被导入,脚本不会被编译.也不会出现在Project视图中.2.Standard Assets在这个文件夹中的脚本最先被编译.这个文件夹中的脚本会被导出到Assembly-CSharp-firstpass, Assembly-UnityScript-firstpass 或 Assembly-Boo-firstpass项目中,依语言而定.参考http://docs.unity3d.com/Documentation/Manua…