问答 LWRP 下代码动态更改阴影生成距离

侑虎科技 · 2020年05月28日 · 873 次阅读

1)LWRP 下代码动态更改阴影生成距离
2)SRP 如何开启 Android 平台的 Box Projection
3)发布 PC 版的窗口拖动问题
4)国际化字体问题
5)Unity 运行时手动 new 的 Mesh 应该如何释放


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


SRP

Q:我们项目用的 Unity 2018.3.14f1,还使用了 LWRP 4.10.0。在代码里想动态设置生成阴影的距离,LightweightRenderPipelineAsset。ShadowsDistance 的字段也赋值成功了,但是游戏里的阴影还是没有按设定的距离生效,如果自己手动再去调值就能马上生效。是不是还要有什么激活操作才能使参数生效?代码与截图如下:


A:它是在 CameraData 里的,你只有重写 LWRP 的 Render,并另外实现 SingleCamera,在里面做赋值操作就可以了。所以,一般项目不是直接用的,应该实现自己的 SRP。

感谢 Robot.Huang@UWA 问答社区提供了回答


SRP

Q:在编辑器切换到 Android 平台下,发现新增的反射探针中的 Box Projection 被禁用,是什么原因?怎么开启?

A1:SRP 目前是不支持 Box Projection 的,因为即使是编辑器上面打了勾,Shader 里也是不支持的,官方在后面的更新才会支持。


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

A2:发现一个解决办法:
直接复制 Unity 的着色器的 Box Projection 代码:

在你的编辑器中加上:


在你的着色器中加上:


关闭前


开启后

效果出来了。

感谢题主 Robot.Huang@UWA 问答社区提供了回答


UI

Q:我希望在发布 PC 版的时候,拖动窗口时,分辨率保持不变,但是 Scale 变化。我发布 PC 版的时候,拖动窗口时,整个场景是顶满窗口的。这是需要写代码去设置还是发布选项里有设置?

A:应该没有直接的设置,可以考虑用一个固定分辨率的 RenderTexture 作为所有相机的渲染目标,最后通过 UGUI 的 RawImage 配合 CanvasScaler 可以完成这个布局需求。

该回答由 UWA 提供


Font

Q:目前在做的游戏考虑支持国际多语言,就是在我客户端的游戏中,同时可以看到其它语言,比如:聊天暂定 6 种语言,西语、中、日、韩、东南亚等。

目前在考虑字体方案, 如果携带自有字体,会有接近 20MB 的样子,想了解下,使用系统自带字体的可行性如何?求有相关经验的大神指点一下。

A1:我们项目做过中、日、英、台、越版本,有一些字体文件,如繁体版没有版权,所以干脆只放了几个数字到字体文件,其它的字符都删了,看起来字体也挺好的,运营一年也没什么异常情况。如果你要用字体,字体库不全的情况下,例如:台湾人看日语字,有可能导致字符显示比较怪异,有粗有细。
感谢 Lim@UWA 问答社区提供了回答

A2:采用什么字体主要有几方面考虑:
1、字体大小,能支持多种语言的字体,有的比较大;
2、字体美观程度,有的字体在某些语言下会比较难看;
3、版权,选择无版权的开源字体。

综上,一般来说可以采用两种方案:
1、优先选择满足上述要求直接能找到的开源字体;
2、找不到开源字体的情况下,通过字体处理软件,将多种开源字体不同语言的部分提取出来,合并到一个字体文件中。

如果字体文件较大,可根据需求裁剪字库。这个基本上是我们项目中采用的方案。

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


Loading

Q:项目用的 Live2D,创建后其框架会动态 new 大量 Mesh,想求教下除了用 Resources.UnloadUnusedAssets() 接口外,有没有方法能指定只释放这部分 Mesh?

A:New 出来的 Mesh,可以通过 DestroyImmediate API 可以释放。

该回答由 UWA 提供


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

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册