位置: 编程技术 - 正文

Unity3D在NGUI中使用mask(unity ngui)

编辑:rootadmin
过程是这样的:最近一直想做一个头像的mask效果,后来发现原来unity的mask需要用shader来写,网上找了不少资料,也能实现,不过大多数都是用render texture作为相机投影的texture。然后把这个相机的图像作为一个material,然后在ngui中创建一个texture,把这个material赋给texture。怎么说呢,这种方式虽然也能实现,但是必须要创建一个相机,对于一个大型项目来说有点不切实际。一个头像加个mask多简单的一件事,肯定有更好的办法。最终还是找到了一种很好的方法,这种方法更接近想象中的方法,废话不多说了,跟我一步步做吧!首先,我们需要新建一个shader。然后给他添加下面的代码。在project试图中,右键->Create->Shader,新建一个shader,名字随便。Shader "Unlit/Transparent Colored with mask" { Properties { _MainTex ("Base (RGB), Alpha (A)", 2D) = "white" {} _AlphaTex ("Yeahyeah", 2D) = "white" {} } SubShader{ LOD Tags{ "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } Pass { Cull Off Lighting Off ZWrite Off Fog { Mode Off } Offset -1, -1 ColorMask RGB AlphaTest Greater . Blend SrcAlpha OneMinusSrcAlpha ColorMaterial AmbientAndDiffuse SetTexture [_MainTex] { Combine Texture * Primary } SetTexture [_AlphaTex] { Combine previous, texture } } }}复制代码顺便说下shader吧。太官方了可能不好理解,大概意思就是,在渲染的时候shader规定了某些规则,这些规则往往是用来实现某些炫酷的特效,或者为了某使些功能更高效。代码中的Properties相当于unity脚本中的公共变量,当把shader赋给某个material时这些变量就能想出来,你可以给他赋&#; ,跟unity脚本基本一样。代码中的SubShader是子渲染器,这里面就能访问到前面设置的变量,这里主要是实现shader功能的地方,当然你还可以在这里面定义函数,等等,但是函数是用的一种叫Cg / HLSL的语言。Pass,是渲染通道。这里可以设置一些参数来规定渲染方式。好了我们接着做mask。如果shader代码能看懂的话,基本你也就会做了。它主要做了两件事:1,给两个texture赋&#;,其实就是两张图片。2,把_AlphaTex中不透明的像素和_MainTex中的像素输出,其实就相当在MainTex中抠出一个AlphaTex中不透明的那部分形状一样的图块。其实刚开始我搜到了不少shader,很多都没有提到怎么使用,下面来看一下其实很简单,点击建好的shader在inspector面板中你会看到顺便说下shader吧。太官方了可能不好理解,大概意思就是,在渲染的时候shader规定了某些规则,这些规则往往是用来实现某些炫酷的特效,或者为了某使些功能更高效。代码中的Properties相当于unity脚本中的公共变量,当把shader赋给某个material时这些变量就能想出来,你可以给他赋&#; ,跟unity脚本基本一样。代码中的SubShader是子渲染器,这里面就能访问到前面设置的变量,这里主要是实现shader功能的地方,当然你还可以在这里面定义函数,等等,但是函数是用的一种叫Cg / HLSL的语言。Pass,是渲染通道。这里可以设置一些参数来规定渲染方式。好了我们接着做mask。如果shader代码能看懂的话,基本你也就会做了。它主要做了两件事:1,给两个texture赋&#;,其实就是两张图片。2,把_AlphaTex中不透明的像素和_MainTex中的像素输出,其实就相当在MainTex中抠出一个AlphaTex中不透明的那部分形状一样的图块。其实刚开始我搜到了不少shader,很多都没有提到怎么使用,下面来看一下其实很简单,点击建好的shader在inspector面板中你会看到从project视图中把两张图片拖上去就可以了。MainTex是你要显示的图片AlphaTex是你要抠图的形状,注意这张图除了形状可以用任何颜色以外其他必须都是透明的,而且图的大小要跟MainTex图片一样大。最后就是使用了,用NGUI创建一个Texture,把shader拖到UITexture脚本的shader变量中,你会发现兴奋的事情发生啦!!最终效果如下:

推荐整理分享Unity3D在NGUI中使用mask(unity ngui),希望有所帮助,仅作参考,欢迎阅读内容。

Unity3D在NGUI中使用mask(unity ngui)

文章相关热门搜索词:unity3d documentation,unity3d ui,unity3d gui,unity3d gui,unity3d怎么用,unity3d ui,unity3d怎么用,unity3d gui,内容如对您有帮助,希望把文章链接给更多的朋友!

Unity3D游戏开发之虚拟现实项目开发流程 一、系统设计与资料的收集与整理1.与项目投资单位沟通并进行系统设计;2.收集整理规划图、效果图、现场照片;3.拍摄比干文化及景区介绍的专题片

unity游戏开发之游戏过审后 国行PS4将在3月日发售 报道/昨日,索中国官方网站公布,PlayStation4和PlayStationVita简体中文版游戏将于3月日同步发售。这两款游戏机此前计划于年1月日发售,后因传闻中

初尝2D骨骼动画编辑工具SPINE 一、SPINE使用研究2D骨骼动画,CYou的朋友介绍我SPINE这个工具,开发自EsotericSoftware的一款专门制作2D动画的软件,网络上的资料还很少,我这从半吊子美

标签: unity ngui

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

上一篇:法线贴图技术(法线贴图使用)

下一篇:Unity3D游戏开发之虚拟现实项目开发流程(Unity3D游戏开发(第2版)pdf)

  • 房产税与土地使用税如何申报
  • 去税局更正申报需要什么资料,忘记带营业执照
  • 公司缴税怎么计算的
  • 企业所得税优惠政策最新2023小微企业
  • 缴纳上个月增值税要先计提吗
  • 个人工资薪金所得怎么算
  • 个税两种申报方式哪种好
  • 机票抵扣进项只能在发生当月吗
  • 报税成本费用怎么填
  • 小规模纳税人租金发票的税率是多少
  • 银行理财产品的特点
  • 现金折让怎么做会计分录
  • 超标公积金应怎么办理
  • 出口收汇核销单取消了吗
  • 长期股权投资转入持有待售资产
  • 企业购买用于绿化的土地
  • 增值税专票销货清单模板
  • 建安税由谁承担
  • 土地受让人是什么意思
  • 金税三期的变化
  • 公司收生育津贴怎么入账
  • 农产品初加工免征企业所得税
  • 印花税销售收入按50%计算征收
  • 汽车加油专票可以抵扣税款吗
  • 网上银行转账被骗能追回吗
  • 子公司与总公司的关系说明书
  • 初级备考计划表
  • 出口汇兑损益的会计分录
  • 防伪税控设备丢失需要处罚吗
  • 服务费减免税会计处理
  • 桌面图标变成了白色的
  • 联想y400怎么装win10
  • 应收票据冲转是什么科目
  • 提示内存或磁盘空间不足
  • 其他应付款贷方增加
  • 协调费用应该怎么表述
  • 股东向公司借款合法吗
  • 收益类账户借增贷减
  • 零售价是含税价还是不含税价
  • web搜索与挖掘
  • 委托代销商品委托方和受托方会计分录
  • 主营业务成本和生产成本的关系
  • 所得税申报表营业成本包括管理费用吗
  • 长期无法收回的应收账款如何处理
  • 开具增值税专用发票和普通发票的区别
  • 以前年度差旅费退回
  • 计提递延所得税资产影响当期利润吗
  • 总资产报酬率的公式
  • 企业注销资本公示时间
  • 股东分红会计分录
  • 自产货物用于在建工程账务处理
  • 法人借给公司钱怎么写情况说明
  • 银行承兑汇票去哪个银行承兑
  • 物流运输业务
  • 特许权使用费代扣代缴企业所得税
  • 如何学会计做账视频
  • 数据库 异步
  • win7 64位系统关机按钮不见了怎么找回 win7关机按钮设置步骤
  • 高效管理者的三大技能 罗伯特卡茨
  • 如何在百度上发布自己的广告
  • linux开发经验指的什么
  • win7 如何截屏
  • win8宽带错误651最简单解决方法
  • unity控制相机
  • 如何制作批处理
  • cocos2dx4.0入门
  • Node.js中的核心模块包括哪些内容?
  • 批量压缩命令
  • windows2003服务器管理器在哪里
  • javascript的理解
  • JavaScript事件类型中焦点、鼠标和滚轮事件详解
  • jquery鼠标点击
  • 五十八二
  • python 管理系统
  • 如何办理清税证书
  • 税务文书送达地点
  • 新旧动能转换是我们能否过坎的关键
  • 专利证书印花税怎么计算
  • 天津定额发票查询真伪查询
  • 营业执照增加项目怎么办理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设