位置: 编程技术 - 正文

很好的无光照模拟有光照系统。(很好的无光照模式叫什么)

编辑:rootadmin

推荐整理分享很好的无光照模拟有光照系统。(很好的无光照模式叫什么),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:无光线是什么意思,什么叫无光感,无光ahd,很好的无光照模式叫什么,很好的无光照模式有哪些,很好的无光照模式有哪些,很好的无光照模式叫什么,很好的无光照模式叫什么,内容如对您有帮助,希望把文章链接给更多的朋友!

最近使用unity,碰到到一个很有趣的例子.场景无光线,却模拟出了光照,效果挺好.其思路与法线贴图原理异曲同工.

  原作者提供的效果印象深刻.

  模型除了使用原来的diffuse贴图外,还用到了一张模拟记录了"光照"信息的贴图(见机器人头上的贴图).这一点与法线贴图是一致的.

  这个方法比较简单,也比较死.思路很巧.

  分析一下贴图,有效范围基本是一个圆形.以前在学习法线贴图时,就遇到过法线投射在贴图的情景(  法线贴图本质就是为了预先保存法线信息.那几乎就可以引申出来了,我们也可以保存一个冒充的法线(光线)的信息,根据这个信息我们可以还原一个"伪"的光照过程.这个贴图就反过来利用了这一点.将模型的法线转换到model-view空间,再假设法线被投影到一个正平面(贴图上).于是法线的投影点可换算为贴图的uv坐标.此时在该点我们保存一个颜色&#;,可以与模型的diffuse贴图颜色进行计算,模拟出光照的效果.  

struct v2f

{

float4 pos : SV_POSITION;

float2 uv : TEXCOORD0;

float2 cap : TEXCOORD1;

};

uniform float4 _MainTex_ST;

v2f vert (appdata_base v)

{

v2f o;

o.pos = mul (UNITY_MATRIX_MVP, v.vertex);

o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);

half2 capCoord;

capCoord.x = dot(UNITY_MATRIX_IT_MV[0].xyz,v.normal);

capCoord.y = dot(UNITY_MATRIX_IT_MV[1].xyz,v.normal);

很好的无光照模拟有光照系统。(很好的无光照模式叫什么)

o.cap = capCoord * 0.5 &#;0.5;

return o;

}

uniform sampler2D _MainTex;

uniform sampler2D _MatCap;

fixed4 frag (v2f i) : COLOR

{

fixed4 tex = tex2D(_MainTex, i.uv);

fixed4 mc = tex2D(_MatCap, i.cap);

return (tex &#; (mc*2.0)-1.0);

}

  capCoord.x = dot(UNITY_MATRIX_IT_MV[0].xyz,v.normal);

  capCoord.y = dot(UNITY_MATRIX_IT_MV[1].xyz,v.normal);

  上边2行是这里比较关键的一步,把法线转换到view空间.参看(  o.cap = capCoord * 0.5 &#; 0.5;

  上边是把法线&#;转换到纹理区间[0,1],之后在fragment shader通过这个&#;去贴图里查找对应的颜色&#;.

  这种手法&#;乎叫MatCap shader.这里是些卡通效果,其他地方有更真实的.

原文地址:

unity自己项目总结出来的一些存储小技巧(1)PlayerPrefs小结 PlayerPerfs在unity中是很通常用的一种存储本地数据的方式,大家很多情况都是直接键对应的,在很多情况,对很多人刚开始就是想到哪一个键存储哪一个

unity里设置窗口大小和位置的代码 usingSystem.Runtime.InteropServices;#regionDllImports[DllImport(user.dll)]publicstaticexternintWindowFromPoint(intxPoint,intyPoint);[DllImport(user.dll)]publicstaticexternintSetWindowPos(IntPtrhWn

Unity3d(C#)错误提示:禁止在线程中进行游戏对象比较! 今天刚刚写完异步Socket客户端的数据收发,在进行测试的时候,Unity报出错误:CompareBaseObjectsInternalcanonlybecalledfromthemainthread.详情如下:ERROR:CompareBaseObjec

标签: 很好的无光照模式叫什么

本文链接地址:https://www.jiuchutong.com/biancheng/375821.html 转载请保留说明!

上一篇:unity 2Dtoolkit 插件创建中文字体

下一篇:unity自己项目总结出来的一些存储小技巧(1)PlayerPrefs小结(unity projector)

  • 私车公用协议可以入账吗?
  • 生产领用周转材料
  • 代收的电费计入什么费用
  • 住宿发票税点为什么有6%和3%的区别
  • 应收退货成本递延
  • 已发货未收款怎么做会计分录
  • 小规模纳税人销售已使用固定资产
  • 发票联丢失用抵扣联做账可以吗
  • 签合同交什么照片比较好
  • 增值税发票价税合计是什么意思
  • 水利建设专项收入计入什么科目
  • 发票进项和销项对不上后果
  • 租赁房屋的装修
  • 企业所得税汇算交所得税如何做账务处理
  • 新办企业国税报税时间
  • 还在讨论“税务金四”上线?税务和银行要联手清查单位和个人账户了!
  • 生产经营活动包括建设项目吗
  • 红字发票不小心点了暂存怎么办
  • 出口发票认证相符要多久
  • 超市预付卡发票如何入账
  • 研发费用研究阶段的支出计入
  • 分公司税款
  • 设备安装公司如何经营
  • 筹建期的工资
  • deepin如何
  • 盈余公积必须提折旧吗
  • mac dock不见了
  • 公司废业
  • 计划成本法和实际成本法区别
  • 出口增值税怎么计算公式
  • 做电脑配件的公司
  • 企业会计日记账保管期限为()年。A5B10C30D35
  • 小狐狸k
  • 小微企业直接融资和间接融资
  • php option
  • 购买免税农产品的会计分录
  • 计算所得税费用公式excel
  • 公司员工个人所得税交多少
  • php判断文件类型
  • java中文乱码解决总结
  • 零基础舞蹈培训
  • 企业会计准则每股收益
  • 发票拍照打印出来可以报销吗法律
  • 应付职工薪酬包含哪些科目
  • 利润分配科目是所有者权益科目吗
  • 留底税额怎么形成的
  • 运输费用增值税税率9%
  • 付国外客户佣金怎么代扣代缴增值税
  • 代扣税是啥
  • 制造费用如何控制
  • 确定固定资产的标准
  • 企业申请支付宝账号步骤
  • 股权关系怎么描述
  • 土地增值税怎么预交税款
  • 会计凭证中转是什么
  • 触发器中instead of
  • Sqlserver中char,nchar,varchar与Nvarchar的区别分析
  • 新百伦588
  • Ubuntu14.04 的 SSH 无密码登录的设置方法
  • speedupmypc.exe - speedupmypc是什么进程
  • win7移动硬盘无法弹出
  • msoia.exe是什么程序
  • element拖拽
  • 全网最全的小说阅读器
  • 飞行歌曲
  • linux怎么解压.gz
  • javascript高级程序设计pdf百度云
  • 多个javascript 合并
  • javascript怎么编写
  • 广东税务待遇
  • 湖北国税办税人是谁
  • 境内银行境外贷款
  • 科级干部试用期一年转正流程
  • 长春国税局科员工资是多少
  • 企业对税务局建议
  • 长沙税务注销公示期是多久
  • 成都市水源地及饮用水的水质情况
  • 税务上的关联企业指哪些
  • 改革概念股是什么
  • 眉山市两会2021
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设