美文网首页
Spine合批问题

Spine合批问题

作者: 侑虎科技 | 来源:发表于2020-03-31 18:03 被阅读0次

    1)Spine合批问题
    2)使用HDR模式渲染RenderTexture产生的问题
    3)Inspector的图片预览窗口异常
    4)关于Unity 2019打包疑问


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

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

    Rendering

    Q:这里用Unity导入了一个Spine文件,该Spine有两张贴图,在Unity中也生成了两个对应的材质。现在有个问题是这个Spine的DrawCall很高,检查后发现是这两个材质在一直切换,也无法合批。请问这种Spine有什么办法合批来减少DrawCall吗?

    Spine的版本是3.6,Unity的版本是2017.4,如下图所示,该Spine的DrawCall是55。

    A:请参考官方说明
    如果可以合并图集,还是用一个图集比较好,我们现在也是这样用的。但是如果导出的图集利用率不高或者实在太大,则考虑使用PropertyBlock。毕竟要增加一些代码控制。

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


    RenderTexture

    Q:使用RenderTexture渲染模型(带特效)到UI上的时候,如果Camera开了HDR,在HDR Mode的格式为FP16时,没有出现问题,Alpha通道是有值的,但在使用R11G11B10格式时(Unity在中低端机上的推荐),Alpha通道就全是1,这样就无法知道哪块是透明的。现在项目只能在手机上判断如果当前Camera.HDRMode是R11G11B10格式时,关闭这种Camera的HDR,但是特效跟模型都会差很多,想问一下大家有没有遇到过这个问题?

    PS:场景上的Camera使用哪种HDR Mode关系并不大,只是效果的区别而已,但是在UI上是直接没有透明通道。

    另外我在安卓机上直接用FP16也无法正常渲染透明通道,iOS上确是正常的。所以安卓上是不支持FP16吗?

    A1:FP16模式是ARGBHalf,每个通道16bit,带Alpha通道。R11G11B10模式就没有Alpha通道,一个像素32bit,R11bit,G11bit,B10bit。
    感谢黄程@UWA问答社区提供了回答

    A2:我在小米9和OPPO K1上均测试过,FP16模式的HDR是可以渲染出Alpha通道的。

    上面的截图是一个简单的测试场景,渲染RenderTexture的相机背景使用SolidColor,普通相机背景是天空盒,场景中有一个透明的Sphere,球背后有一个Cube。

    RenderTexture相机显示透明通道的渲染效果

    渲染RenderTexture的相机将Sphere和Cube渲染到1024x1024的ARGB32格式的RenderTexture中,生成的渲染的Temp RenderTexture(FP16格式)和我创建的New RenderTexture(R8G8B8A8格式)都保留了透明通道。

    单独的透明通道图

    然后再将这个New RenderTexture(R8G8B8A8格式)作为RawImage的Texture,可以看到是可以透过这个RawImage看到另外一个相机的天空盒背景的。

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


    Editor

    Q:如图所示,想知道右上角那部分是怎么出现的?我看不到开发中的那个工程,但是新建一个项目图片是能看到的。

    A:我曾经遇到过一个类似的问题,是由于Substance的插件放错了目录造成预览窗口很多控件无法显示。可以考虑查看是否有什么插件造成影响,或者是meta文件有什么问题,造成保存的各种属性读取错误。

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


    Build

    Q:下图一张是Unity 2018的Build Setting,一张是2019.3.0f6的。想请问一下Unity 2019打包中的Gradle设置为什么不见了?

    A:2019.3全部使用Gradle打包。点击Build直接导出APK,勾选“Export Project”则能够导出使用Gradle的Android Studio工程。

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


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

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

    相关文章

      网友评论

          本文标题:Spine合批问题

          本文链接:https://www.haomeiwen.com/subject/udituhtx.html