位置: 编程技术 - 正文

UV动画/纹理融合/法线贴图/过程纹理(uv纹理编辑器贴图移动)

编辑:rootadmin
让VS支持Shaderlab语法

推荐整理分享UV动画/纹理融合/法线贴图/过程纹理(uv纹理编辑器贴图移动),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:uv纹理图,uv纹身,uv纹理转印,uv纹理模具,uv纹理贴图,uv纹理编辑器贴图移动,uv纹理编辑器怎么用,纹理 uv,内容如对您有帮助,希望把文章链接给更多的朋友!

VS中并没有Shaderlab的语法高亮,好在网上已经有个插件来支持语法的高亮和拼写提示,从这里下载插件,双击安装就好了。

ShaderlabVS - 打开 VS -> 工具 -> 选项 -> 环境 -> 字体和颜色,2. 显示其设置 下拉列表中选择 文本编辑器 (如果没改过,这就是默认的)。3. 在 显示项(D) 文字下面的列表框中选择以 “Shaderlab-” 开头的项,然后改变前景色4. 改完后确定就可以了

SubShader 和 Pass

一个Shader有多个SubShader。一个SubShader可理解为一个Shader的一个渲染方案。即SubShader是为了针对不同的显卡而编写的。每个Shader至少1个SubShader、理论可以无限多个,但往往两三个就足够。SubShader和显卡的兼容性判断,和SubShader的标签、Pass的标签和显卡支持的“Unity渲染路径”有关。显卡会自动选择一个最适合它自身性能的SubShader去执行。

在一个SubShader中我们可以定义多个Pass,而Pass与SubShader不同,你写的每一个Pass都会按照顺序全部执行一遍.我们要在Pass中写具体的着色器代码,还有一点要提一下,在Unity主推的Surface Shader中是不能写Pass的,因为在Unity的光照模型中他会自动定义一些Pass,所以也就不再允许你额外写了。

UV动画

UV动画是通过改变纹理的UV坐标来实现纹理的运动,常用于水流,岩浆等模拟,也能到达很好的模拟效果 ,关键性能消耗非常低。

下面以水流模拟为例子。

创建材质,Shader如下,

将对应的纹理拖拽到shader上,最终效果如下:

纹理融合

纹理融合常用于地形的纹理。如果没有融合的情况下,只用一张草地的贴图进行绘制,地形是这样的:

将多个纹理进行融合,得到的结果就是这样的:

原理也非常简单,首先要准备多张纹理贴图,比如草地,石子,土地等,然后利用一张索引贴图的rgba值来索引融合的比例值。

如上图所示,这里用到了四张纹理,最后一张BlendTexture是用于索引融合的比例。编辑的时候只要修改BlendTexuture就能改变地形的纹理了。

UV动画/纹理融合/法线贴图/过程纹理(uv纹理编辑器贴图移动)

shader代码如下

法线贴图

一句话概括,就是在低面数的模型中通过改变表面法线的方法来增加模型的细节度。看一下下面的图就明白了。

由于unity自带的builidin shader,整个计算过程都变得十分简单了。

记得一定要将对应的法线贴图的类型设为Normal Texture。

Shader代码

最终效果

过程纹理

过程纹理就用代码生成的纹理,常用于创造自然元素,如木材,大理石,花岗岩,金属,石材等。通常情况下,所呈现的结果自然的外观是由分形噪声和湍流函数的用法来实现,比如下面这个木纹小球

在Unity里面实现的思路也很简单,就是创建 一个Texture2D对象,然后计算每个像素的值,最后将其赋给材质就可以了。核心的绘制方法如下

这是简单的生成,生成的纹理是这样的。

稍微修改一下,将pixelDistence的计算修改为

可以生成的纹理如下

最后再改一下

得到的纹理如下

用下面的代码可以将生成的纹理dump下来。

参考

法线贴图 - Shaders and Effects Cookbook

unity笔记 1.如果遇到一运行unity就暂停的情况,只要把Console面板的ErrorPause关闭就可以了2.如果我们想在场景中沿着世界坐标移动物体,可以点击如下按钮把本地坐

【猫猫的Unity Shader之旅】之UV动画 UV动画是一种常用的渲染技巧,经常用来描述水的流动、霓虹灯的闪烁等。实现的原理就是动态修改贴图的UV坐标,使物体表面产生变化。贴图坐标说到U

[范冰冰魔范学院]删档测试次日留存超% 狗刨学习网报道/关于明星代理手游,或开展跨界合作的消息已经不绝于耳,狗刨学习网此前也报道了不少相关消息。但是这些明星在手游中更多的时候

标签: uv纹理编辑器贴图移动

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

上一篇:Unity3d shader之次表面散射(Subsurface Scattering)(unity的shader用法)

下一篇:unity笔记(unity笔记本)

  • 主营业务利润和利润总额
  • 综合所得申报是报上个月的吗
  • 经营成本是营业成本还是营业总成本
  • 分公司怎么分配股权
  • 小规模纳税人所得税费用怎么算
  • 新成立的企业都有哪些
  • 以前年度社保计提出错了怎么调整
  • 办公室租赁费计入什么科目
  • 税控服务费的账务处理
  • 在建工程非应税项目有哪些?
  • 固定资产安装完毕达到预定可使用状态
  • 劳务公司开票是开劳务费还是工程服务
  • 公司改名字麻烦不
  • 卷式增值税发票校验码怎么查
  • 个人劳务报酬所得汇算清缴
  • 固定资产投资方案
  • 代收代付水电费会计分录
  • 无法收回的账务处理
  • 清算所得税申报表范本
  • 工程公司项目经理年薪一般多少
  • win10系统日志在哪个文件夹
  • qcwlicon.exe - qcwlicon是什么进程 有何作用
  • phpstorm怎么用
  • 小规模年底税金怎么做账
  • 收到违约金如何入账
  • 申报个人所得税是按应发工资还是实发工资
  • php sse
  • 先申报工资还是先发工资
  • javaweb入门简单小项目
  • 合并命令如何使用
  • 待抵扣进项税计入其他应收款
  • python安装后找不到了
  • 固定资产暂停使用期间需要计提折旧吗
  • MyBatis MapperProvider MessageFormat拼接批量SQL语句执行报错的原因分析及解决办法
  • 小程序集合软件
  • 工人意外伤害保险
  • 发票跨月还可以作废吗
  • 给员工发放礼品的祝福
  • 跨年度冲红字发票补正账务如何处理
  • 让税务局代开的发票直接交纳的税金如何做会计分录?
  • 固定资产盘盈为什么计入管理费用
  • 弥补亏损账务处理流程
  • 提取安全生产费用是什么意思
  • 工程施工合同如何核算收入成本?
  • 企业向福利院捐款属于 公共关系
  • 税后净利润弥补亏损分lu1
  • 税控盘服务费减免政策
  • 去年支付的费用,今年收到发票可以入账吗
  • 季度现金流量表本期数和上期数
  • 年终结账账务处理
  • 固定资产怎么编号方便
  • win 系统
  • 微软6月24发布
  • freebsd更新命令
  • windowxp一直在windowxp界面
  • WINDOWS操作系统支持的文件系统主要有三种类型
  • mac怎么设置屏幕显示时间
  • SymSPort.exe - SymSPort是什么进程 有何作用
  • win7系统注册表文件损坏无法开机怎么修复
  • win10怎么把动图设置成壁纸
  • WIN10系统打开IE浏览器断网
  • windows 8怎么样
  • 用linux配置ftp服务器的过程
  • Linux系统中下载文件的wget命令操作实例
  • Android之Android apk动态加载机制的研究(二):资源加载和activity生命周期管理
  • 关于国内邮政汇兑冻结下列说法正确的有
  • ml命令
  • Python装饰器实现几类验证功能做法实例
  • angular 图片懒加载
  • bat 远程连接
  • javascript基础
  • unity3d 赛车游戏
  • LeakCanary小记
  • js使用类
  • python convexhull
  • 北京市网上税务局(自然人版)
  • 陕西省国家税务总局班子成员
  • 青岛胶州国际机场在哪个区
  • 草原补偿标准
  • 岗位练兵的作用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设