【Unity渲染】URP透明物体自身渲染穿插异常问题

这篇具有很好参考价值的文章主要介绍了【Unity渲染】URP透明物体自身渲染穿插异常问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:

对于URP中的某个物体,我们如果希望他正反面都可以被渲染。

通常会有两种解决方案:

1.将网格设置为双面网格。(此种情况Mesh.RecalculateNormals计算结果可能会异常,解决可参考网格法线生成异常解决)

2.将材质设置为双面材质Render Face设置为Both
unity 蒙版相互穿插后,Unity,Unity渲染,unity,游戏引擎

期望的结果:

unity 蒙版相互穿插后,Unity,Unity渲染,unity,游戏引擎
unity 蒙版相互穿插后,Unity,Unity渲染,unity,游戏引擎

异常结果

unity 蒙版相互穿插后,Unity,Unity渲染,unity,游戏引擎
很明显,可以看出渲染顺序按照1,2,3的顺序渲染了,导致显示异常问题。

异常原因

经测试后发现,如果勾选了材质球的双面渲染,在透明模式下,会按照网格中三角形标号,从前往后进行面片渲染。

导致排序靠后的面片,渲染在了前面。

而不是按照我们的期望,先渲染RenderFace=Back的情况,再渲染RenderFace=Front的情况。

结合图3和图4可已看出, 1面渲染在了最上面,2面渲染在中间,3面渲染在了最后面。对应着网格中三角形标号的先后顺序。
unity 蒙版相互穿插后,Unity,Unity渲染,unity,游戏引擎

解决方案

1.不再将材质球设置为双面渲染, 改为只渲染正面(RenderFace=Front)

2.增加网格面,将网格设置为双面网格。(需要注意,设置为双面网格可能会导致自动生成法线接口Mesh.RecalculateNormals计算结果异常,解决可参考网格法线生成异常解决)

即可解决透明物体自身渲染的异常问题。
unity 蒙版相互穿插后,Unity,Unity渲染,unity,游戏引擎

unity 蒙版相互穿插后,Unity,Unity渲染,unity,游戏引擎文章来源地址https://www.toymoban.com/news/detail-807578.html

到了这里,关于【Unity渲染】URP透明物体自身渲染穿插异常问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 控制renderQueue解决NGUI与Unity3D物体渲染顺序问题

    NGUI与Unity3D物体渲染顺序问题,做过UI的各位应该都遇到过。主要指的是UI与Unity制作的特效、3D人物等一同显示时的层次问题。 由于UI与特效等都是以transparent方式渲染,而Unity与NGUI在管理同是透明物体的render queue时实际上互相没有感知,于是引出排序问题。现在介绍以render

    2024年02月13日
    浏览(51)
  • unity urp 实现丝绸渲染

    首先看一下实际上真实的效果 再来一张 这是专门去找的。 可以看到丝绸渲染使用了各向异性的GGX去实现,有点仿头发的感觉,接下来看一下怎么实现的。 首先,准备实现双向反射率分布函数(BRDF)的DVF项。 D项使用UE里面的各项异性GGX: V项使用配合D项的Vis_SmithJointAniso F项

    2024年02月10日
    浏览(39)
  • Unity获取物体自身坐标轴的方向以及沿着该方向运动的方法

    有时候对于一个游戏对象,需要其沿着自身的坐标轴方向进行运动,那么首先如何获取自身的坐标轴方向? 获取自身的坐标轴方向可以通过transform组件进行获取(负方向加负号即可)  Vector3 moveDirection = transform.right;  获取自身的x轴的方向  Vector3 moveDirection = transform.forward;  获

    2024年02月12日
    浏览(54)
  • Unity 基于URP使用Highlight Plus实现物体高亮

    内容将会持续更新,有错误的地方欢迎指正,谢谢!   Unity 基于URP使用Highlight Plus实现物体高亮       TechX 坚持将创新的科技带给世界! 拥有更好的学习体验 —— 不断努力,不断进步,不断探索 TechX —— 心探索、心进取! 助力快速实现 Highlight Plus 基于URP的物体高亮 为初学

    2024年02月05日
    浏览(37)
  • Unity升级到URP渲染管线,

    首先 需要安装URP的包 安装后 然后打开ProjectSettings 替换 上一步创建 URP的配置文件 这个时候有些材质就会变成洋红色 选择RenderPipelineConverter 等待转换完成即可,

    2024年02月15日
    浏览(52)
  • Unity中用代码控制物体透明度(物体闪烁简易版)

    之前看了很多文章,有些文章对于只是想简单使用代码控制物体透明度的小伙伴不是很友好,比如我。所以研究了半天找到了很简单的一个方法,在这里分享给初入门想用的小白,希望能给你们带来帮助,同时给自己当作笔记记录一下。      

    2024年02月08日
    浏览(43)
  • Unity URP渲染管线与内置渲染管线的性能差别

    首先,我们来了解一下Unity的内置渲染管线。内置渲染管线是Unity较早版本中使用的默认渲染管线,它使用的是传统的图形渲染技术。内置渲染管线提供了一系列的渲染功能,如阴影、反射、抗锯齿等。但是,由于其较为庞大且复杂的设计,它的性能相对较低。在高质量图形效

    2024年02月08日
    浏览(39)
  • Unity内置渲染管线升级URP教程

    URP全称为Universal Render Pipeline(通用渲染管线),可以提供更加灵活的渲染方案,通过添加Render Feature实现各种渲染效果。并且可以针对移动平台进行专门的优化,同时还提供了SRPBatcher提高渲染效率。Unity的一些工具,比如ShaderGraph,也是必须在URP管线下才可以使用,可以说许多方

    2024年02月16日
    浏览(53)
  • Unity如何将一个物体逐渐变透明

    脚本很简单如下,需要配合DoTween来实现: 将该脚本挂载在任何一个节点即可

    2024年02月13日
    浏览(52)
  • Unity——URP & HDRP 渲染模式学习笔记

    目录 HDRP和UPR是两种完全不同的渲染模式,不能混用,只能选择其中一种,最好在项目刚开始的时候就确定好。否则后期所有模型的材质都要改变非常麻烦。 修改渲染模式方法: HDRP, URP, BRP区别 备注 project settins: 1. graphics-Scriptable render pipeline settings 要修改,假如从hdrp改为

    2024年02月04日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包