Advertisement

Unity 2017以后版本中使用Shader实现UGUI外描边的方法,通过复用材质以确保可以合并渲染批次(已修正Mask问题)

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本文详细介绍在Unity 2017及以上版本中利用Shader为UGUI添加外部描边的技术,并提供了一种方法来重用材质,从而优化渲染性能,解决了Mask功能的兼容性问题。 基于Shader实现的UGUI描边解决方案解决了Unity自带Outline组件顶点数过多、过度绘制过大的问题,并进行了改进,使用一个材质球绑定所有描边效果以确保文字描边可以合并渲染批次。该方案在实例项目中采用的是Unity2018版本。此外,修正了Mask和渐隐的问题。具体实现代码可以在相关博客文章中找到。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Unity 2017使ShaderUGUIMask
    优质
    本文详细介绍在Unity 2017及以上版本中利用Shader为UGUI添加外部描边的技术,并提供了一种方法来重用材质,从而优化渲染性能,解决了Mask功能的兼容性问题。 基于Shader实现的UGUI描边解决方案解决了Unity自带Outline组件顶点数过多、过度绘制过大的问题,并进行了改进,使用一个材质球绑定所有描边效果以确保文字描边可以合并渲染批次。该方案在实例项目中采用的是Unity2018版本。此外,修正了Mask和渐隐的问题。具体实现代码可以在相关博客文章中找到。
  • Unity Shader队列、ZTest和ZWrite及Early-Z技术
    优质
    本篇文章深入探讨了Unity Shader中关键的渲染概念,包括渲染队列、深度测试(ZTest)与深度写入(ZWrite),并介绍了如何利用Early-Z技术优化渲染性能。 Unity渲染引擎通常会先对物体进行排序再进行渲染。一般做法是:首先渲染所有不透明的物体,并开启它们的深度测试和深度写入功能;然后将半透明物体按照距离摄像机远近顺序排列,从后往前依次渲染这些半透明物体,同时开启其深度测试但关闭深度写入。
  • 直接使Unity
    优质
    这是一套即插即用的Unity游戏开发资源包,包含丰富的预制件、脚本和纹理等,帮助开发者快速构建高质量的游戏项目。 Unity3D概要和基础知识讲解思维导图能够更好地帮助初学者理解Unity的各个方面,使学习过程更加高效和系统化。这份资料涵盖了Unity的基础概念以及如何使用该引擎进行开发的基本知识,非常适合那些刚开始接触Unity的新手开发者们。通过这种结构化的展示方式,可以让复杂的信息变得易于理解和记忆。
  • Mac 10.15 经测试使
    优质
    本软件或系统版本已成功在Mac OS Catalina 10.15上完成兼容性测试,并可顺利运行。用户现在可以在该操作系统环境下放心体验其全部功能与特性。 要安装macOS 10.15的开发者测试版,请访问MacOS开发人员Beta页面并下载macOSDeveloperBetaAccessUtility.dmg文件。找到下载好的文件后打开它,会弹出一个新的Finder窗口,在该窗口中双击macOSDeveloperBetaAccessUtility.pkg文件。 点击“继续”按钮两次,并在提示时选择“同意”。输入您的用户账户密码以开始安装过程。如果一切顺利,您将看到一个显示“安装成功”的界面。
  • github上machoview直接使xcode13.2.1进行编译
    优质
    此项目在GitHub上经由machoview改进后,现可兼容Xcode 13.2.1直接编译运行,为开发者提供便利。 下载后直接运行machoview.xcodeproj 文件。
  • 使Thymeleaf框架JavaHTML生成PDF
    优质
    本项目利用Thymeleaf模板引擎与Java技术结合,高效地将HTML文档转换并导出为PDF格式文件,提供灵活且强大的文档生成解决方案。 在Java工程中将Word格式的模板文件以PDF格式下载或预览,并使用Thymeleaf前端框架,在Maven工程中提供一个示例代码。
  • J-link_v8.bin文件从偏移地址加载,Keil5打开会自动更新,这是,之使
    优质
    这段文字描述了一个修正后的J-link_v8.bin文件的功能和使用方法,包括如何从特定偏移地址加载以及在Keil5中自动更新的过程。适合需要进行调试器设置或遇到相关问题的开发者参考。 已经调整了固件的偏移地址,在上电后 MDK 会自动进行升级,这是正常现象。完成升级后可以正常使用设备。 具体原因如下:由于固件问题,J-Link 插入电脑时会出现“J-link 是克隆版”的提示信息。这通常是因为 J-link_v8.bin 这个文件的固件需要修改。解决方法是使用 WinHex 打开该文件,并找到从偏移地址 0x00FF00 开始的后面四个字节,如果这些字节不是 FF,则将其改为 FF 并保存即可。
  • 下载gdb32.exeCodeblocks调试器使
    优质
    本教程指导用户如何通过下载并安装gdb32.exe来解决Code::Blocks集成开发环境中的调试器功能失效或不正常的问题。 Codeblocks安装后如果无法调试程序,请按照以下步骤解决:对于使用 MinGW 编译器的情况, 需要确保路径设置为gdb32.exe所在的位置。例如,我的 gdb32.exe 位于 d:\Program Files\CodeBlocks\MinGW\bin\gdb32.exe 。完成路径配置后重新编译代码即可进行调试。
  • 使layUIajax加载html页面重新
    优质
    本篇文章详细介绍了如何利用Layui框架结合Ajax技术实现动态加载HTML页面,并对其进行高效渲染的具体方法和步骤。 在使用layUI的jquery.load加载界面后,需要让layui重新渲染页面。当通过$.ajax方法异步获取html内容并插入到指定位置(如#layui-tab-title)之后,要确保新添加的内容能够被layUI正确识别与处理。关键步骤是在将HTML代码追加至DOM元素后调用`element.init()`函数来完成组件的重新渲染。 具体实现如下: ```javascript $.ajax({ url : 你的url, type : GET, success : function(data) { $(#layui-tab-title).append(
  • tab名称
  • ); // 将获取到的数据插入至指定位置后,调用element模块的init方法重新渲染页面 layui.element.init(); } }); ``` 注意:在实际应用中,请确保已正确引入layUI的相关组件和配置文件,并且`element.init()`应根据实际情况可能需要调整。
  • 使layUIajax加载重新HTML页面
    优质
    本教程详细介绍了如何运用Layui框架结合Ajax技术实现网页内容动态加载与更新的过程及技巧。 今天给大家分享一篇关于使用layUI的ajax加载html页面后重新渲染的方法的文章,具有很好的参考价值,希望对大家有所帮助。一起跟着来看看吧。