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感谢夜莺@UWA问答社区提供了回答
主要解决的问题是:线性工作流下,场景相机和UI相机采用独立的分辨率,并且UI能够保持在Gamma颜色空间下工作(详情可以查看项目readme文件)。
Wwise Q:手动将GeneratedSoundBanks文件拖到StreamingAssets下还是没声音,Log也没显示找不到声音文件,求指点!
A:Wwise的Bank加载机制类似于File.Open(Path),这种API对于安卓手机上的StreamingAssets目录(只读JAR包)是不可以的,你可以把Banks从StreamingAssets目录里面复制到Persistent Path里面。感谢夜莺@UWA问答社区提供了回答
Rendering Q:如下图,这种战争迷雾的不规则区域是如何实现呢?按区域解锁,这种不规则的区域边缘大概是怎样的逻辑?
文章图片
一次性解锁N个格子的区域,这N个区域应该是多边形Mesh,边缘应该是直的,但是不知道在Shader里如何计算让他变得不规则还能连接,像是做了噪声?
而且Mask都是按格子存的像素点,得出来区域边缘都是直的,这种不规则的连接如何实现呢?
A1:把地图分割成多个Cell,然后每次解锁一片。至于看上去的不规则是通过一些固定的随机算法显示图片,原理和拼图差不多。感谢萧小俊@UWA问答社区提供了回答
A2:绘制迷雾加一个可以Read/Write的Mask应该也可以实现。【如何只降3D相机不降UI相机的分辨率】感谢羽飞@UWA问答社区提供了回答
直的还是不规则的具体看你的Mask的分辨率,而且Mask的值也不是非零即一的,要看具体怎么实现。
A3:可以参考:《平滑过渡的战争迷雾(一) 原理:Warcraft3地形拼接算法》感谢jim@UWA问答社区提供了回答
Script Q:游戏打包时安装目录是中文,PC包的中文路径大家一般用什么方法解决?
A:通常情况C#都是使用Unicode,库提供的文件读取方法应该是支持中文的。但是,如某些C库进行文件读取(比如可能会遇到直接通过lua_loadfile这类接口的),需要使用WindowsAPI:WideCharToMultiByte把Unicode转换为系统能够识别的多字节字符串后,再传给需要进行文件读取的接口。感谢lujian@UWA问答社区提供了回答
封面图来源于《URP从原理到应用——进阶篇》
今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。
官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859(原群已满员)