zoukankan      html  css  js  c++  java
  • Mask裁切UI粒子特效或者3D模型

    刚好前几天有人问我这个问题,再加上新项目也可能用,所以这两天就研究了一下。其实如果粒子特效 和3D模型 都用RenderTexture来做的话就不会有裁切的问题,但是粒子特效用RenderTexture来做会有显示的问题,所以还是得用摄像机。废话不多说了,进入正题。

    原理就是把Mask的裁切区域传给粒子特效Shader,当超出这个区域那么直接让它完全透明即可。粒子特效的源生shader大家可以去unity官网下载,我在这里把需要修改的地方标注给大家。

    //add 注释中的内容就是我做修改的地方。

    然后是自己写了个类继承Mask。把Mask的区域传给shader。

    OK,如下图所示,把粒子特效直接挂在Mask下面, 就可以进行裁切了。。

    UGUI研究院之Mask裁切UI粒子特效或者3D模型(十七) - 雨松MOMO程序研究院 - 1

    在说一下3D模型, 理论上用上述的shader改一改就可以。 但是我还是建议3D模型用RenderTexture。比较好控制深度。

    最后是工程的下载地址:http://pan.baidu.com/s/1pJFV5ph

    希望大家可以多多测试一下,看看有没有问题。 或者你有更好的方法,欢迎在下面给我留言。谢谢啦~

    原文地址:http://www.xuanyusong.com/archives/3518

  • 相关阅读:
    CentOS下使用crontab命令来定时执行任务
    java调用wkhtmltopdf生成pdf文件,美观,省事
    ElasticSearch-5.3.1集群环境搭建,安装ElasticSearch-head插件,安装错误解决
    Jfinal QuartzPlugin 简单使用案例
    tampermonkey,采用js解析自定义脚本,实现网页列表数据采集分析
    安装Elasticsearch5.0 部署Head插件
    Springmvc中配置Quartz使用,实现任务实时调度。
    IDEA异常解决: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
    js jquery 实现html页面之间参数传递(单一参数、对象参数传递)
    ajaxfileupload 实现多文件上传
  • 原文地址:https://www.cnblogs.com/dabiaoge/p/4583134.html
Copyright © 2011-2022 走看看