TMP的阴影性能如何

news2024/9/21 22:29:51

1)TMP的阴影性能如何
​2)CommandBuffer.DrawMeshInstanced无法画阴影问题
3)Unity编辑器在Require大量加载Lua文件时,经常报出not enough memory
4)场景制作的时候,2D资源受后处理调色影响比较大


这是第335篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

TextMeshPro

Q:请问TMP的阴影性能如何?TMP的描边没办法改成外描边吗?看起来Outline是内外都扩的,如果想要改成外扩只能改源码吗?

A1:UGUI的Outline会让对象多渲染n次,TMP的Outline并不会让对象的渲染次数增加,性能更好。

在这个Shader中把“+outline”删除,Outline就会只往外扩散了。

感谢Xuan@UWA问答社区提供了回答

A2:TMP的阴影性能非常不错,因为它使用的是基于距离场的渲染技术,这种技术可以在保持高质量的情况下减少渲染时间。这意味着,即使在文本中使用多个阴影效果,也可以获得良好的性能表现。

至于TMP的描边效果,它是支持外描边的。默认情况下,TMP的描边是内外都扩的,但是你可以通过更改材质属性来将其改为外描边。

具体来说,你可以在使用TMP组件的对象上找到对应的材质,然后将材质的Outline Width属性设置为负数,这样就可以将描边扩展到文本的外部。

需要注意的是,TMP的材质是使用ShaderLab语言编写的,如果需要修改其内部逻辑,可能需要一定的编程知识。但是,对于简单的修改,例如更改描边效果,你可以尝试使用Shader Graph工具来简化修改过程。

感谢NG週@UWA问答社区提供了回答


Rendering

Q:想用CommandBuffer.DrawMeshInstanced画阴影,使用的是URP的Lit Shader,ForwardLit 是可以的,且可以AfterRenderingOpaques。但是阴影是画不出来,请问有什么解决方法吗?以下是代码(代码不是原创):
Question - CommandBuffer, DrawMeshInstanced, & ShadowCasting - Unity Forum

部分代码截图:

针对以上问题,有经验的朋友欢迎转至社区交流分享:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


Rendering

Q:场景制作的时候,要不要开着后处理,遇到的问题是2D资源受后处理调色影响比较大?

我们的情况比较复杂:
1. 从性能角度考虑,低配机型是不开后处理的
2. 2D角色、2D建筑、3D场景混合渲染
3. 有半解锁的战争迷雾效果

在这些需求下,场景制作跟后处理要怎么协同呢?

思考了几个方案都不太行:
1. 在UI相机画2D,但无法完美处理深度问题,因为场景的RT是缩放过的,但UI采用全分辨率
2. 2D片写入Stencil,有一些半透的云可能遮住2D片,写入Stencil处理的话可能会有明显的边界问题,且UberPost最后是全屏的,由于场景RT跟界面RT尺寸不同,Stencil也不对应
3. 将后处理的调色放到Opaque之后进行,但这样其他的半透则无法参与调色,且这种方案带来更多的RT切换,在移动端并不明智

现在想着是在不开后期的情况下设计场景,然后后期调色只是进行微调,尽量不影响2D,如果效果甚微的话,就不开启后期调色了,不知这样处理如何?主要是2D与3D混合的场景,不是说UI,UI相机本身是不开后期的,不知大家有什么方案?

针对以上问题,有经验的朋友欢迎转至社区交流分享:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


Lua

Q:在Unity 2018编辑器上跑时,启动Require大量加载Lua文件时,经常报出not enough memory,很频繁但非必现,在Windows/Android/iOS上都不会,用的是toLua。

A:可以在编辑器里面用System.IO.File的接口读Lua,避开TextAsset在编辑器不能卸载的问题。或者尝试升级Lua版本。

感谢欧月松@UWA问答社区提供了回答

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/536080.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM面试题(一)

JVM内存分哪几个区,每个区的作用是什么? java虚拟机主要分为以下几个区: JVM中方法区和堆空间是线程共享的,而虚拟机栈、本地方法栈、程序计数器是线程独享的。 (1)方法区: a. 有时候也成为永久代,在该区内…

开始梳理大学课程体系(一)--万字C语言总结上

C语言 前言第一章 初识C语言1.1 C语言的起源1.2 选择C语言的理由1.3 使用C语言的7个步骤 第二章 数据和C2.1 变量和常量2.1.1变量定义2.1.2 常量的定义 2.2 数据类型关键字 第三章 运算符、表达式和语句3.1 基本运算符3.1.1 算术运算符3.1.2 关系运算符3.1.3 逻辑运算符3.1.3 赋…

关于接口可维护性的一些建议 | 京东云技术团队

作者:D瓜哥 在做新需求开发或者相关系统的维护更新时,尤其是涉及到不同系统的接口调用时,在可维护性方面,总感觉有很多地方差强人意。一些零星思考,抛砖引玉,希望引发更多的思考和讨论。总结了大概有如下几…

TOB企业生态体系构建的核心要素有哪些?

To B市场作为一个非常庞大的领域,其复杂度和多元化水平,要远远要高于针对于消费者群体推进的市场。尤其近年来,消费互联网成为过去式,爆发式增长的时代结束,让资本、媒体的目光开始聚焦到以B2B企业所代表的产业互联网身…

人工智能与机器人|机器学习

原文链接: https://mp.weixin.qq.com/s/PB_n8woxdsWPtrmL8BbehA 机器学习下包含神经网络、深度学习等,他们之间的关系表示如图2-7所示。 图2-7 关系图 那么什么是机器学习、深度学习、他们的区别又是什么呢? 2.7.1 什么是机器学习&#x…

Unity中Camera.main和Camera.current的区别

在Unity中,Camera.main和Camera.current都是用来获取相机,那到底有什么区别呢? 一、异同及注意事项 1、相同点: Camera.main和Camera.current都是用于获取相机的属性。它们都是静态属性,可以通过Camera类访问。它们…

【Redis】Redis set类型实现点赞功能

文章目录 set 数据类型介绍不排序实现排序实现 set 数据类型介绍 Redis中的set类型是一组无序的字符串值。 set通过其独特的数据结构和丰富的命令提供了在存储和处理集合元素方面的一些非常有用的功能。下面列出了主要的set类型命令: SADD key member1 [member2]&a…

国产 API 工具天花板,用来搞项目真的不错

一、API爆炸的时代 随着最近行业的移动化、物联网化、数字化转型、微服务等多种概念的提出,对应的 API 数量已经呈现出爆炸式增长,由此带来的问题就是前后端的接口对接问题越来越来突出,我们能很难找到一个合适的技术工具提高我们的效率。由此…

irq_domain msi_domain 的 使用和关系

文章目录 如何创建一个 irq_domain如何创建一个 msi_domainirq domain 和 msi domain 的关系MSI对IRQdomain打的补丁变量结构体API初始化时的API申请IRQ时的API 实例 GICV3-ITS & GICV3-ITS-PCI 相关结构体变量所在文件 如何创建一个 irq_domain 内核文档说,我们可以调用如…

基于 FPGA 的彩色图像灰度化的设计实现

文章目录 前言一、系统整体设计二、各模块的功能三、彩色图像灰度化处理模块的设计1.基本原理2.彩色图像灰度化处理方法介绍方法 1:分量法方法 2:最大值法方法 3:平均值法平均值法的实现方法 4 加权平均法加权平均法的实现rgb2gray 模块rgb2g…

LeetCode965. 单值二叉树,100. 相同的树

965. 单值二叉树,100. 相同的树 965描述示例解题思路以及代码 100描述示例解题思路以及代码 965 描述 如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 true;否则返回 fals…

获得GitHub Copilot并结合VS Code使用

一、什么是GitHub Copilot GitHub Copilot是一种基于AI的代码生成工具。它使用OpenAI的GPT(生成式预训练Transformer)技术来提供建议。它可以根据您正在编写的代码上下文建议代码片段甚至整个函数。 要使用GitHub Copilot,您需要在编辑器中…

(四)Photon Voice2 的使用

一、入门 1.Voice简介 Photon Voice 2 是一个 SDK,可以轻松地向 Unity 应用程序添加高质量的低延迟语音聊天。它建立在 Photon Realtime 之上,并继承了它的所有功能,包括配对和兴趣小组。客户端加入房间并创建传出流(本地语音&a…

双目、结构光、tof,三种深度相机的原理区别看这一篇就够了!

编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ 内容可能会不定期更新,官网内容都是最新的,请查看首发地址链接。 ▌前言 Hello,大家好,这里是OAK中国,我是助手…

win10屏幕录像哪个好用?这2款录屏软件值得推荐!

案例:win10电脑如何录屏? 【我使用的电脑是win10系统,我想对它进行屏幕录制。有没有小伙伴知道win10电脑如何录屏?win10录屏软件哪款比较好用?】 在如今互联网时代,屏幕录像是一项非常实用的功能&#xf…

【大数据之Hadoop】三十二、MapReduce生产经验

1 MapReduce跑的慢的原因 MapReduce程序效率的瓶颈在于两点: 1)计算机性能:CPU、内存、磁盘、网络 2)I/O操作优化 (1)数据倾斜 (2)Map运行时间太长,导致Reduce等待过久 …

高斯-约旦消元法

1,思想 该算法基于高斯消元,但是思想是把矩阵化为对角阵,从而避免回代的操作思路是一列一列处理,每次选为处理过的行中主元最大(极大避免精度损失)的行处理。把这一列除了主元这一行的元素,其余该列的其他…

c#笔记-委托

委托 委托是方法的类型。 有了类型就可以声明方法的变量,参数,字段。然后再调用他。 很多新人很困惑,为什么要把方法做成变量,不直接去调用它呢? 这是因为在目前你的认知里,代码都是你一个人写出来的。 如…

计算机图形学-GAMES101-5

一、观测变换 通过Viewing(观测)transformation,最终我们将世界坐标系中的物体投影到了一个xyz都处于【-1,1】的立方体中。那么接下来,我们该做什么? 二、光栅化(Rasterization) (1)透视投影的定义 定义透视投影的视…

〖大学生·技术人必学的职业规划白宝书 - 职业规划篇①〗- 大学生选择职业前的自我认知与剖析

历时18个月,采访 850 得到的需求。 不管你是在校大学生、研究生、还是在职的小伙伴,该专栏有你想要的职业规划、简历、面试的答案。说明:该文属于 大学生技术人职业规划白宝书 专栏,购买任意白宝书体系化专栏可加入TFS-CLUB 私域社…