位置: 编程技术 - 正文

【猫猫的Unity Shader之旅】之扭曲模型(猫的所有视频)

编辑:rootadmin

推荐整理分享【猫猫的Unity Shader之旅】之扭曲模型(猫的所有视频),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:猫的游戏解说,猫的合集,猫的猫的视频,猫猫的娱乐,猫猫的游戏,猫的猫的视频,猫的游戏解说,猫猫的游戏,内容如对您有帮助,希望把文章链接给更多的朋友!

  之前我们介绍的一些Shader效果都是在surf函数中做文章,也就是对渲染过程中的片段进行操作,实现的是模型表面的一些显示效果。然而,Unity Shader还提供对顶点阶段进行控制,来实现顶点的位置,颜色,法线等信息的修改。

一个简单的例子

  之前我们给过一个完整的Shader,用#pragma可以指定顶点函数。我们可以写一个简单的顶点函数,它什么也没有做:

  这时可能会出现这样的错误:

  

  这主要是Shader的默认渲染目标是DirectX ,必须手动初始化Input。我们可以在Edit->Project Setting->Player界面设置,选择Other Setting,可以找到use Direct3D 的选项。如果我们不想改或者确实需要Direct3D ,也可以直接用Unity给的方式初始化一下:

【猫猫的Unity Shader之旅】之扭曲模型(猫的所有视频)

  另一个需要注意的地方是appdata_full类型,它是在UnityCG.cginc中定义的一个结构体:

  可以看到这个结构体实际定义了许多和模型信息有关的变量,冒号后面的信息被称作语义,简单来说就是表示这个变量究竟代表什么东西。这就像大家都是人,为啥人家就是司令我们就是小兵呢,这背后的东西就是语义。

扭动吧,模型!

  顶点函数给了我们很大的自由操作的空间,appdata_full变量v被标记为inout,表示我们既可以用里面的信息也可以修改它,这里面的信息修改了,就相当于模型传进来的信息都被改掉了。我们还可以通过修改Input中的值传递给surf函数。

  上面代码实现了一个平面扭动的效果:

  

  我们首先在vert函数中修改了模型顶点的y值,实现了y值随时间变化的效果(可以回忆一下UV动画),同时将Input中的顶点颜色赋值。在surf中,对vert传入的颜色,计算出片段颜色。需要注意的是我们有一句Cull Off,它是在CGPROGRAM和CGEND外面的,也就是说它不是Cg代码。那么这句是做什么的呢?默认情况下,网格的背面是不会被绘制的(因为一般情况下看不见),但是我们这个例子中,当平面扭动的时候可以看到网格背面。如果没有Cull Off,就会看到网格背面是透明的,Cull Off就是关闭隐藏表面消除。

结束语

  在Surface Shader的使用中,很多人都只把视线集中在surf函数中。诚然,surf是很重要的,由于是逐片段的处理,效果也是比较好的。然而,代价就是会造成效率问题。很多计算,既可以放在顶点阶段,也可以放在片段阶段,效率不同,效果也有很大差异,这中间的取舍,就需要各位慢慢衡量了。

Unity工程特殊名字文件夹小结 HiddenFoldersFoldersthatstartwithadot(e.g..UnitTests/,.svn/)areignoredbyUnity.Anyassetsintherearenotimported,andanyscriptsintherearenotcompiled.TheywillnotshowupintheProjectview.以.开头(例如:.U

Unity进度条平缓Loading 在Unity中两个场景之间的过度,为了显得不唐突,常常在期间加入第三个场景,显示进度条的过度动画,如:privateAsyncOperationasync;async.progress;判定是否到

Unity中的单例模式 因为经常需要一个唯一的变量来处理数据,实现脚本之间的交互等,这时如果全部都用静态变量来存储显然是不合适的这时我们马上就会想到单例模式-

标签: 猫的所有视频

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

上一篇:使用BMFont+NGUI利用图片制作自定义字体

下一篇:Unity工程特殊名字文件夹小结(unity特色)

  • 取得投资款属于什么过程
  • 为临时工购买礼物怎么说
  • 工商年报纳税总额包括哪些税
  • 小规模纳税人给个人怎么开发票
  • 收到天使投资如何做账
  • 其他收益科目在哪个科目前面填
  • 业务活动表本月数和本年累计数
  • 小规模公司用什么会计准则
  • 产品成本包括哪几个部分
  • 差旅费超支金额允许报销吗
  • 应收账款换入固定资产双方账务处理
  • 公司注销时应付职工薪酬怎么处理
  • 哪些项目可以免征个人所得税
  • 学生兼职需要交什么税
  • 发放活动奖金支出怎么入账
  • 各地土地使用税区域差距大
  • 受伤员工补贴
  • 城镇土地使用税征收标准及计算方法
  • 红字发票怎么填申报表表二
  • 个税手续费返还属于政府补助吗
  • 房租发票需要缴房产税吗
  • lsass.exe是什么进程
  • win11系统怎么投屏
  • isahelp是什么进程
  • 退款后发票如何查询
  • PHP:JulianToJD()的用法_日历函数
  • Maximum call stack size exceeded错误
  • 产品成本核算应正确划分哪些方面的费用界限
  • php读取txt文件内容并判断
  • 一岁宝宝喝红糖姜水
  • php怎么输出文字
  • php取二维数组的一组内容
  • paper 1
  • service运行命令
  • python字符串多行
  • 电子承兑汇票到期提示付款后多久到账
  • 企业所得税预缴少缴纳了,需要交滞纳金吗?
  • 营业外支出增加记借方还是贷方
  • 什么是简易征收?其公式是什么?
  • mysql卡住了
  • 购入的设备用于研发怎样记账
  • 出售无形资产属于资产处置损益吗
  • 房开企业预缴增值税附加税费
  • 月末结存材料的实际成本例题
  • 合同履约成本如何设置明细科目
  • 加盟费明细
  • 存货发出的计价方式有哪些
  • 外币业务的会计分录
  • 公司向个人租赁房屋办公要交税吗?
  • 工程设备租赁有哪些
  • 固定资产到期后继续使用称为什么
  • 所得税汇算清缴前取得跨年发票
  • 贷款的融资担保费
  • 银行代扣水电
  • 跨年红冲收入记在本年度
  • 付款后没有发票怎么办
  • 小规模开具的1%专票 一般纳税人抵扣
  • 黄金以旧换新工具有哪些
  • 营改增后物业公司账务处理
  • 什么经营范围可以开推广服务费
  • 旅游应当提示参加团队旅游的旅游者按照规定购买什么
  • 房地产实收资本怎么算
  • 生育津贴案件
  • 企业在计划内应生产的工业产品
  • 安装好sql2000后安装sp4
  • mysql自动停止的解决办法
  • win7一直弹广告怎么办
  • XP系统怎么调节屏幕亮度
  • netdrive mac
  • 使用组策略可控制什么
  • win7系统调节亮度快捷键
  • skyleap用不了
  • win8.1使用技巧大全
  • win7系统桌面右键没有个性化
  • 如何进行js 的测试
  • 你所不知道的童话动画版免费观看第二季
  • wxpython怎么用
  • eclipse的ssh框架搭建
  • 国税税控开票系统
  • 怎样查询上一年的国税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设