2

如何只降3D相机不降UI相机的分辨率 - UWA问答 | 博客 | 游戏及VR应用性能优化记录分享...

 2 years ago
source link: https://blog.uwa4d.com/archives/TechSharing_305.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
如何只降3D相机不降UI相机的分辨率

如何只降3D相机不降UI相机的分辨率

  • 作者:admin
  • 时间:7月26日
  • 浏览:242 次
  • 分类:厚积薄发

1)如何只降3D相机不降UI相机的分辨率
​2)Unity使用Wwise音频打包后没声音
3)战争迷雾中按区域解锁的不规则地形区域边缘是如何实现的
4)PC包中文路径问题


这是第305篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的问题,建议阅读时间10分钟,认真读完必有收获。

UWA 问答社区:answer.uwa4d.com
UWA QQ群2:793972859(原群已满员)

Rendering

Q:项目由于GPU压力较大,计划通过降低分辨率的方式来减少性能压力。在降分辨率时,有什么方法可以只降3D相机,不降UI相机?

A1:需要将3D场景渲染到RT里面,再将RT作为RawImage的Texture渲染到UI里面,这样可以通过控制RT的分辨率来控制场景的渲染分辨率。

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

A2:这个是我修改的URP管线:URP-12-GammaUIAndSplitResolution

主要解决的问题是:线性工作流下,场景相机和UI相机采用独立的分辨率,并且UI能够保持在Gamma颜色空间下工作(详情可以查看项目readme文件)。

感谢夜莺@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/62cfb239d6172d576f88ed2e


Wwise

Q:手动将GeneratedSoundBanks文件拖到StreamingAssets下还是没声音,Log也没显示找不到声音文件,求指点!

A:Wwise的Bank加载机制类似于File.Open(Path),这种API对于安卓手机上的StreamingAssets目录(只读JAR包)是不可以的,你可以把Banks从StreamingAssets目录里面复制到Persistent Path里面。

感谢夜莺@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/62cd7ca9bbeee433d2be410d


Rendering

Q:如下图,这种战争迷雾的不规则区域是如何实现呢?按区域解锁,这种不规则的区域边缘大概是怎样的逻辑?

1.png

一次性解锁N个格子的区域,这N个区域应该是多边形Mesh,边缘应该是直的,但是不知道在Shader里如何计算让他变得不规则还能连接,像是做了噪声?

而且Mask都是按格子存的像素点,得出来区域边缘都是直的,这种不规则的连接如何实现呢?

A1:把地图分割成多个Cell,然后每次解锁一片。至于看上去的不规则是通过一些固定的随机算法显示图片,原理和拼图差不多。

感谢萧小俊@UWA问答社区提供了回答

A2:绘制迷雾加一个可以Read/Write的Mask应该也可以实现。

直的还是不规则的具体看你的Mask的分辨率,而且Mask的值也不是非零即一的,要看具体怎么实现。

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

A3:可以参考:《平滑过渡的战争迷雾(一) 原理:Warcraft3地形拼接算法》

感谢jim@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/62d68adf210e34755e994df9


Script

Q:游戏打包时安装目录是中文,PC包的中文路径大家一般用什么方法解决?

A:通常情况C#都是使用Unicode,库提供的文件读取方法应该是支持中文的。但是,如某些C库进行文件读取(比如可能会遇到直接通过lua_loadfile这类接口的),需要使用WindowsAPI:WideCharToMultiByte把Unicode转换为系统能够识别的多字节字符串后,再传给需要进行文件读取的接口。

感谢lujian@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/62cc020bbbeee433d2bd1027

封面图来源于《URP从原理到应用——进阶篇》


今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。

官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859(原群已满员)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK