首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
unity里standard pbr(一)
】的更多相关文章
unity里standard pbr(一)
关注forwardbase下的 standard.shader #pragma vertex vertBase #pragma fragment fragBase #include "UnityStandardCoreForward.cginc" 跟踪到UnityStandardCoreForward.cginc #if UNITY_STANDARD_SIMPLE #include "UnityStandardCoreForwardSimple.cginc" Ver…
关于unity里pbr技术和材质 unity5默认shader和传统的对比
刚开始也不知道什么是pbr (Physically Based Rendering)后来才发现这是一种新的渲染方式 与之对应的是材质是pbs(Physically Based Shader) unity中的pbs有两种,一种是金属度的,一种是反射的, 具体前者可以做金属泥土之类,后者用于其他非金属的,但是这不绝对,前者也能做布料木头之类 最终使用还是要看艺术效果 (unity中金属度pbr材质) (unity中反射流程pbr材质) PBR做法 albedo map 无光颜色贴图normal ma…
【Unity Shaders】Unity里的雾效模拟
写在前面 熟悉Unity的都知道,Unity可以进行基本的雾效模拟.所谓雾效,就是在远离我们视角的方向上,物体看起来像被蒙上了某种颜色(通常是灰色).这种技术的实现实际上非常简单,就是根据物体距离摄像机的远近,来混合雾的颜色和物体本身的颜色即可. Unity里设置雾效有两种方式,一种最简单的就是直接开启全局雾效,也就是在Edit->Render Settings里配置,如下图所示: 而我们只需要把"Fog"选项后面的勾选框打开即可.上图包含了一些设置:雾的颜色,模拟雾采用的方法,…
Unity里的人物驱动/换装备/换武器/换衣服/卡通重定位(转)
Unity里的人物驱动/换装备/换武器/换衣服/动画重定位 刚学的过程被这个问题困扰最多. 首先,基本的,大家都知道驱动人物需要骨架.绑骨的Mesh和动画(这三个要是不知道的话就得考虑看看计算机图形学先) 然后,基本上有点maya(或其他)功底的都知道,在maya里,骨架.mesh和动画都是一种单独的存在,谁混一起谁郁闷. 在unity里面,情况也是如此,不过再复杂一点展开. 1.骨架就是transform.不像maya和理论那样,是一种实体的单独的存在.在unity里,骨架就是transfor…
Unity里的Mesh属性
----------------------------------------------------------------------------------------------- Mesh是Unity内的一个组件,称为网格组件. Mesh 网格 MeshFilter 网格过滤器 Mesh Renderer 网格渲染器 Mesh:是指模型的网格,建模就是建网格.细看Mesh,可以知道Mesh的主要属性内容包括顶点坐标,法线,纹理坐标,三角形绘制序列等其他有用属性和功能.因此建网格,就是…
用C# 模拟实现unity里的协程
注:需要了解C#的迭代器,不然很难理解. 之前面试有被问到unity协程的原理,以及撇开unity用纯C#去实现协程的方法.后来了解一下,确实可以的.趁这会有空,稍微总结一下. 还是结合代码说事吧: /// <summary> /// 等待接口 /// </summary> public interface IWait { /// <summary> /// 每帧检测是否等待结束 /// </summary> /// <returns></…
unity, access standard shared emission by script
unity 5.1.1f1 personal 用下面方法在脚本中设置standard shader的emssion: gameObject.GetComponent<MeshRenderer> ().material.SetColor("_EmissionColor",color); 一个很奇怪的现象是:如果material的inspector中此standard shader的emission值为(0,0,0),则上面语句不起作用. 所以为了使上面语句能生效,需要把ins…
standard pbr(二)
下一步看像素着色器代码 half4 fragBase (VertexOutputForwardBase i) : SV_Target { return fragForwardBaseInternal(i); } half4 fragForwardBaseInternal (VertexOutputForwardBase i) { FRAGMENT_SETUP(s) #if UNITY_OPTIMIZE_TEXCUBELOD s.reflUVW = i.reflUVW; #endif UnityL…
Unity里包裹Debug,且不影响Debug的重定向
Debug.Log, Debug.LogWarning, Debug.LogError在project中常常须要再包裹一层.做些定制.也方便开关Log.但有一个问题时.当用一个类将Debug包裹起来后,Console里的Log双击后,跳到的是你自己写的类的实现,而不是Log的记录处. 为此纠结了一段时间,后来偶然看到一篇日志里有写这个问题. http://www.xuanyusong.com/archives/2782,将包裹Debug的类做成dll导入到project里.就能够非常方便地使用,…
FairyGUI编辑器的和unity里的Obj对应关系
1.在FairyGUI官网上下载好unity的工程,用FairyGUI编辑器打开它的官方案例 2.在FairyGUI编辑器和Unity中,从一个最简单的示例"Bag"着手. "Main"是FairyGUI编辑器里的Component(相当于容器),按钮.拖动条等等的元件就是放在这个Component里的.在Unity运行后,在"UIPanel"下会自动生成"Main",因为"BagButton&q…