实验了一下LitSphere做车漆
前阵子跟人聊天,聊起过去试验的车漆,不适合做到移动设备上。过去试验的车漆在此http://www.cnblogs.com/sitt/archive/2012/03/28/2420595.html
于是想了一下,过去的方式就是菲涅尔来控制衰减和颜色变化,可以用litSphere的方式来简化。
litSphere其实就是用模型的法线当作UV在一张图上取色,效果见下图。

只使用了一张贴图,就是最下方的这种,和三个模型对应,实际制作的话还要自己去想办法配合漫反射贴图。
这种图的制作方式随意,可以用photoshop直接画也可以max调个材质球输出,也可以渲染。
其实这个方式也可以做简化的反射贴图之类的。运行效率很高,代码很短。
unity里的着色器代码在此。
Shader "SimpleCar"
{
Properties
{
LightSphereTexture("LightSphereTexture",2D) = "white" {}
}
SubShader
{
Pass
{
CGPROGRAM
#pragma vertex vertexMain
#pragma fragment fragmentMain sampler2D LightSphereTexture; struct appdata
{
half4 vertex : POSITION;
half3 normal : NORMAL;
half3 tangent : TANGENT;
float2 uv : TEXCOORD0;
}; struct v2f
{
half4 pos : SV_POSITION;
half3 normal : TEXCOORD1;
float2 texcoord : TEXCOORD0;
}; v2f vertexMain (appdata v)
{
v2f o;
o.pos = mul( UNITY_MATRIX_MVP, v.vertex );
half4 normal = mul( UNITY_MATRIX_MV, half4(v.normal.xyz, ));
o.normal = normalize(normal.xyz);
o.texcoord = v.uv;
return o;
}
half4 fragmentMain (v2f i) : COLOR0
{
float2 litUv = i.normal.xy * 0.5 + 0.5;
half4 litSphere = tex2D(LightSphereTexture, litUv);
return litSphere;
}
ENDCG
}
}
}
实验了一下LitSphere做车漆的更多相关文章
- 怎样让oracle实验本在不做实验时性能提升——win7下举例
怎样让oracle实验本在不做实验时性能提升--win7下举例 型号:ThinkPad E431 系统:WIN7 实验使用的笔记本不使用数据库时.建议将oracle关闭,使其释放占用的资源. orac ...
- 【Unity Shader编程】之十六 基于MatCap实现适于移动平台的“次时代”车漆Shader
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/55803629 渲染本文配图使用的 ...
- 【Azure IoT DevKit】实验终于做完了
大家好,我是MSP李桑榆 今天终于把几个Azure IoT DevKit的小实验的视频给做完了. 不敢说什么指导,只是给大家一个参考.因为Devkit不需要你写一行代码,只需要你按着步骤来,并没有什么 ...
- 智能车学习(二十三)——浅谈心得体会
因为毕竟是竞赛,跟学校挂钩,没办法开源代码和算法完成思路,所以不能详细写太多,如果可以等价交换的话,应该还是可以向领导申请一下的. 在厦大信科通信系,参加这个比赛,大家都觉得性 ...
- 20145337实验五Java网络编程及安全
20145337实验五Java网络编程及安全 实验内容 掌握Socket程序的编写 掌握密码技术的使用 设计安全传输系统 实验步骤 基于Java Socket实现安全传输 基于TCP实现客户端和服务器 ...
- 20145227&20145201 《信息安全系统设计基础》实验二 固件开发
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1452 姓名:(按贡献大小排名)鄢曼君 李子璇 学号:(按贡献大小排名)20145227 20145201 成绩: ...
- 20145208 实验二 Java面向对象程序设计
20145208 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...
- Frenetic Python实验(三)
实验5 repeater 这个实验在HelloSDNWorld里面做的实验是一样的.HelloSDNWorld 目的:模拟一个有多个端口的中继器. This application implement ...
- 基于Pre-Train的CNN模型的图像分类实验
基于Pre-Train的CNN模型的图像分类实验 MatConvNet工具包提供了好几个在imageNet数据库上训练好的CNN模型,可以利用这个训练好的模型提取图像的特征.本文就利用其中的 “im ...
随机推荐
- 提交iframe页面中的表单
function getIframeDoc(id){ var doc; if (document.all){//IE do ...
- eclipse双击变量高亮显示开关
在eclipse/myeclipse中如果不小心把变量的高亮显示弄丢了.可真是件愁人的事,不过看到这你就不用愁了 windows-> preferences-> java-> E ...
- Website蝴蝶结构
[Website蝴蝶结构] 网页的其正向链接连结在一起表现为一种蝴蝶结结构. 1.蝴蝶结中部(SCC, Strongly Connected Componnet) 这种网页彼此相连. 2.蝴蝶结左部( ...
- Unity中的网格与材质球合并
http://blog.csdn.net/dardgen2015/article/details/51517860
- jquey下eq()的使用注意事项
写在开始的话: 今天在公司路经同事工位,发现在写jquery代码,刚好遇见一个bug,于是驻足看了一会,发现了jq遍历方法中eq()的使用的一个容易犯错的地方. 同事的代码大概意思是这样的: < ...
- word生成包含echarts图形使用phantomjs,支持word2003,2007
代码具体地址在我的github上 :https://github.com/HaoTwoDonkey/QuickOutPutWord 写得不好,欢迎提出问题 下面说几个phantomjs使用过程中遇到的 ...
- JMS规范简介
一.JMS规范 Java消息服务定义: Java消息服务(Java Message Service)即JMS,是一个Java平台中面向消息中间件的API,用于在两个应用程序之间或分布式系统中发送/接受 ...
- UVa 11136 Hoax or what (STL)
题意:有 n 天,每天有m个数,开始的前一天没有数据,然后每天从这个里面拿出一个最大的和最小的,求 n 天的最大的和最小的差值相加. 析:一看就知道用set啊,多简单的STL,不过要注意,开long ...
- HDU 5974 A Simple Math Problem(数论+结论)
Problem Description Given two positive integers a and b,find suitable X and Y to meet the conditions ...
- 洛谷P1486 [NOI2004]郁闷的出纳员(splay)
题目描述 OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资 ...