位置: 编程技术 - 正文

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

编辑: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)

  • 防伪税控风险纳税人财务负责人和法人同一人
  • 消费税的账务处理流程
  • 营改增利息收入不能抵扣
  • 技术咨询服务开什么发票
  • 小规模开专票附加税要计提吗
  • 售后维修的配件有哪些
  • 派发现金红利分录
  • 服装企业销售方式
  • 预缴企业所得税会计处理
  • 半成品成本核算 一般企业怎么核算
  • 多付银行承兑退回的会计分录怎么写?
  • 异地存款手续费2022最新规定
  • 多收账款怎么账务处理
  • 个人所得税免征项目有哪些
  • 微信转账手续费怎么算
  • 公司给离职员工个税零申报
  • 技术服务发票税率 5% 小规模
  • 高速公路通行费发票怎么开
  • 发票校验码后六位图解
  • 劳务分包发票税率是多少2020
  • 公司制作小程序定金能放在图物资吗
  • 公园门票可以报销吗
  • 可供出售金融资产发生减值会计处理
  • 委托加工业务流程图
  • win10运行红色警戒2卡顿
  • 合同印花税会计分录
  • 未分配利润怎么消化掉 避开所得税
  • 无形资产的摊销怎么算
  • php教程零基础入门
  • win10右键菜单管理在哪打开
  • 有形动产融资租赁增值税即征即退政策
  • 混合销售兼营如何纳税
  • 其他应收和其他应付可以共用吗
  • 个体工商户税收标准2023年
  • 期末增值税结转账务处理
  • 嵌入式从业10年,聊聊我对工业互联网和消费物联网的看法 | 文末赠书4本
  • 【深度学习】Pytorch实现CIFAR10图像分类任务测试集准确率达95%
  • 顶账用什么东西顶好
  • 甲供材料总额法和差额法
  • 培训机构给学员过生日文案
  • 报税系统如何导出发票
  • 车费增值税税率
  • cmd 访问mysql
  • 六税一费和六税两费的区别
  • 补缴去年的附加税怎么算
  • 无形资产摊销是当月增加当月摊销吗
  • 固定资产投资额是指什么
  • 生产部的管理人员算什么费用
  • 医院药品进销差价会计核算
  • 公司向股东个人借款怎么做账
  • 电子发票能否作废
  • 加计扣除是什么时候申报
  • 坏账准备的余额百分比法
  • 一般纳税人只交社保无发票往来需要做账吗
  • 电子监控系统安装与维修
  • 自制半成品销售方案
  • 主营业务成本怎么核算
  • MySQL:Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEM
  • win7删除系统文件
  • xp操作系统还能用吗
  • xp系统无线网络连接怎么没有
  • xp系统1
  • win8商店还能用吗
  • ulimit命令详解
  • xp连接到共享打印机
  • windowsxp打不开网页怎么办
  • win7提示计算机内存不足
  • 基于jQuery的设计与实现
  • linux执行sh文件报错找不到
  • perl 计算
  • js原型继承和构造继承
  • python中random模块用法
  • powershell实战指南
  • mongoose操作
  • android网络开发技术答案形考任务五
  • unity3d开发之对象池
  • 地方电子税务局是干嘛的
  • 股权转让税收优惠个人所得税
  • 税务责令改正通知书
  • 国税纳税服务有哪些项目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设