Lua与C#传参
- 作者:admin
- /
- 时间:2021年07月13日
- /
- 浏览:2537 次
- /
- 分类:厚积薄发
1)Lua与C#传参
2)Unity发布iOS版本出现屏幕问题
3)安卓的View成为Unity界面的一部分
4)Unity升级导致项目启动时间过长
5)Unity中Cascaded Shadows在移动端的设置
这是第258篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的问题,建议阅读时间10分钟,认真读完必有收获。
UWA 问答社区:answer.uwa4d.com
UWA QQ群2:793972859(原群已满员)
Lua
Q:游戏中是先在Lua中String.format好再传入C#,还是在Lua里把参数传入C#,在C#里用String.format好?
即一个是Lua加载文字表,String.format后传给C#显示,另一个是C#读表,Lua把参数传给C#,再string.format使用,哪个方式更好些,或者有没有其他更好的方式?
A1:搬运群里大佬的问答:第二种比较好,因为传参越简单越好,参数可以打包传。
感谢Tao@UWA问答社区提供了回答
A2:可以参考一下这篇文章:《用好Lua+Unity,让性能飞起来——Lua与C#交互篇》,总之Lua与C#传参,优先考虑int、float和double等类型,其次bool、string及object等类型,同时尽可能降低交互次数。
感谢羽飞@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/60e41d96e58b4719dd3e2916
iOS
Q:Unity发布iOS版本在iOS 11之后出现屏幕显示问题:半屏被压缩,另一半黑屏。
A:直接在编辑器中设置这几个参数,不要在代码中设置这个,7p就不会出现这个问题:
Screen.autorotateToLandscapeLeft = true; Screen.autorotateToLandscapeRight = true; Screen.autorotateToPortrait = false; Screen.autorotateToPortraitUpsideDown = false; Screen.orientation = ScreenOrientation.AutoRotation;
感谢许家胜@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/5ab9ef650b827e2c0bfdd1b6
Unity
Q:加载了一个安卓的Activity,会遮挡住Unity的界面,如何让安卓的View,成为Unity界面的一部分呢?Unity界面的一部分使用安卓原生SDK的界面实现。
A:安卓混合Unity的界面,已经完成了。
https://blog.csdn.net/Yzw_92_4_11/article/details/68952529
感谢题主韩飞@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/60e6caa7e58b4719dd3e296b
Editor
Q:查看了Unity的editor.log发现里面:
RefreshInfo: InitialScriptRefreshV2(NoUpdateAssetOptions)
RefreshProfiler: Total: 0.000ms
InvokeBeforeRefreshCallbacks: 1115393.587ms
......
OnSourceAssetsModified: 340.325ms
......
ImportAndPostprocessOutOfDateAssets: 1032441.185ms (82533.117ms without children)
ImportManagerImport: 82501.381ms (0.000ms without children)
......
有没有大佬知道这个是在处理什么东西?科学上网了也没有查到相关信息,这里看耗时就很长时间了1115393.587ms。
A:参考以下几点:
- 检查一下项目是不是放在机械硬盘上,建议放NVME的固态上。因为高版本的数据结构更复杂了,不用固态来不及序列化。
- 检查一下是不是开了PlasticSCM。
感谢萧小俊@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/60e2afece58b4719dd3e28ed
Rendering
Q:Unity的Shadow Cascade功能在移动平台中是否生效?
在场景使用了Unity自带的实时阴影,具体参数如下:
用Frame Debug观察阴影绘制过程:
Shadowmap为1024*1024,场景远处会有黑色的阴影覆盖。
当Cascade设置为2则远处阴影消失:
用Frame Debug观察阴影绘制过程:
Shadowmap还是1024*1024,但一分为二,各占1024*512。
以上是在PC上验证的,证明Cascade确实起作用。但当在Unity编辑器中的BuildSettings中切换到Android平台时,无论怎么修改Cascade的值,场景远处均有阴影,用Frame Debug观察阴影绘制过程如下:
似乎在安卓平台中这个参数不起作用,查阅Unity官服文档也并没说明Shadow Cascade不支持移动平台。
请问有同样遇到这种问题的吗?
A:Graphics设置那里需要在对应的Tier里面启用Cascaded Shadows。
感谢题主x21@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/60e7fa6d038436106ddf2955
20210712
更多精彩问题等你回答~
1.如何实现AAB包的增量更新
2.关于Unity出AAB包的问题
3.RTS 手游技术难点
封面图来源于网络
今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。
官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859(原群已满员)