天才的大三暑假修行之旅.初学Shader
来源:互联网 发布:剑网三青妆人软件设置 编辑:程序博客网 时间:2024/04/30 10:48
天才的大三暑假修行之旅
本人是华北电力大学大三信息安全专业的程序猿,放假前的最后一个月参加了完美世界的游戏制作人直通车和Unity实习的面试,当然向我那么优秀的人都都没过,应该其他人应该也很难过。但是这不是重点,重点是没被选中。
面试的具体问题我不记得了,也不想说,主要是想吐槽一下自己的能力不够。在面试Unity实习的时候,虽然能根据笔试题目知道自己能力不够,首先题目是c++的,很难,而且50%的东西都不懂。但是还是继续参加了面试。这就是所谓的自信,虽然结果还是被刷了。
这也不是写这篇文章的重点。重点是我的能力不够,也成了我开始写博客的动力。之前很讨厌跟别人讨论知识。当然现在也不喜欢。我为什么要跟你们这种凡人说这些东西呢,我可是天才,哈哈哈哈哈哈!!!开玩笑的。
其实我写的博客主要是作为我这个暑假学习的笔记,怕自己忘了什么,还是记录一些东西吧。
备注:我写的东西,我都不保证好不好。我只是把我知道的东西,按照我的思路来记录下来,可能有精华也可能有糟粕。就像有一些东西你不懂,不能吸收,如同婴儿没长牙齿所以要人帮他咀嚼食物,我帮大家咀嚼知识,中间参杂着我的口水。是好是坏,还是要考自己实践跟学习才能分辨出来的吧。
初学Shader
昨天我看了浅墨写的Shader学习知识要点,写的很好。好吧,也学是我这方面学的少,所以感觉什么都是大神。
主要介绍了Unity支持的3种着色器:固定功能着色器、表面着色器、顶点着色器和片段着色器。明明是4种,为什么说是3种呢,因为浅墨是这么分类的,我也是这么学的。他把后两种顶点着色器和片段着色器归为一类。
后面两种我也还没学懂,其实我都没看。我就只是简单的学了一下固定功能着色器。因为这个最简单吧。
那么我来按照我的理解来说说固定功能着色器。它就好像什么呢?就如同你透过很多层玻璃去看一个物体。
物体就是你原来的东西,而这些不同的玻璃就是你加的不同的效果。
最后你在Unity运行的效果就是透过这些玻璃看到效果。那么问题来了,Q:挖掘技术哪家强?不是这个。是怎么写出这些玻璃效果?
固定着色器其实是一个玻璃加工厂,你往玻璃的原料里面添加不同的金属离子物质,玻璃就会出现不同的颜色。Unity做了很多,它连加入金属离子的工序都做好了,你只要设置加不加,加多少,就能出来想要的效果。
现在通过讲解一个Shader来理解是怎么回事。
Shader "Custom/Sec" { Properties { _MainColor("Main Color",Color)=(1,0.1,0.5,1) _SpecColor("Spec Color",Color)=(1,1,1,1) _Emission("Emission Color",Color)=(0,0,0,0) _Shininess("Shiness Range",Range(0.01,1))=0.7 } SubShader { Pass { Material { Diffuse[_MainColor] Ambient[_MainColor] Shininess[_Shininess] Specular[_SpecColor] Emission[_Emission] } lighting on SeparateSpecular on } } FallBack "Diffuse"}
出来的效果是
看上去也不怎么样。差不多,凑合看吧。代码中只有一个Pass,就是只用了一个玻璃来看东西。Diffuse[_MainColor]、Ambient[_MainColor]、Shininess[_Shininess]、Specular[_SpecColor]、Emission[_Emission]这些都是说玻璃里面的各个元素怎么配置。具体明细可以参考官方文档。大家肯定会说:
Q:怎么那么不负责任。
A:其实我就那么不负责任。
官方文档:http://docs.unity3d.com/Manual/
也可以看看浅墨原来的文章写的很好,起码是中文的:http://www.unitymanual.com/thread-34528-1-1.html
有人也许看过这个系列的文章会说:
Q:用多个SetTexture来加入同一个“金属元素”也会产生不同的效果。
A:嗯,分析的很有道理,但是玻璃的比喻依旧是成立的,因为玻璃是可以镀膜的,膜也会互相影响。那么既然讲到SetTexture这个方法的话,就来讲讲固定着色器的内部方法使用。
在Properties里先定义的变量可以在后面直接使用,但是有的方法必须传入一个参数,比如使用SetTexture的格式是:SetTexture[你定义的2D变量]。
Q:没了?
A:嗯,没了,就讲这么多。
Q:那这不是废话么?
A:起始我写的博客大多是吐槽。就当看看废话,娱乐一下吧。哈哈哈哈哈哈!!!!!!!!!
- 天才的大三暑假修行之旅.初学Shader
- 天才的大三暑假修行之旅.捕鱼达人
- 天才的大三暑假修行之旅.Unity书籍介绍
- 天才的大三暑假修行之旅.再遇打飞机
- 天才的大三暑假修行之旅.塔防游戏(一)
- 天才的大三暑假修行之旅.塔防游戏(二)
- 天才的大三暑假修行之旅.塔防游戏(三)
- 天才的大三暑假修行之旅.塔防游戏(总结)
- 天才的大三暑假修行之旅.表面着色器(一)
- 天才的大三暑假修行之旅.表面着色器(二)
- 天才的大三暑假修行之旅.表面着色器(总结)
- 放假,大三的暑假
- 大三暑假的 感想
- 暑假,准大三的迷茫
- 大三暑假实训的一些想法
- 我的大三暑假培训(九月)
- 大三的寒假Silverlight之旅 1
- 菜鸟的大三之旅/Python1
- HDOJ 1021 Fibonacci Again
- IOS计算器的实现
- 欢迎使用CSDN-markdown编辑器
- NSMutableArray中各种自定义排序方法
- 分享俩个在desktop上跑android app的软件
- 天才的大三暑假修行之旅.初学Shader
- 分享资源:双车道元胞自动机交通流Matlab仿真
- IOS开发之微博的设计与实现
- Maven系列(一)Maven的简介与使用
- PXC(Percona XtraDB Cluster)集群安装
- sap上线前的十大思考
- 暑假学习随笔
- iOS 开发之IPad的设计与实现
- 解决VM虚拟机连不上网络的问题