目录

FAQ

如果您在下面没有找到需要的问题,请加入Stack Overflow社区参与讨论。

Gradle编译失败怎么办?

  1. 目前演示Demo使用的Gradle编译工具是5.4.1版本,如果您编译失败,请查看Gradle版本是否和Android Studio版本匹配,同时确保Gradle编译工具包可用。

    例如:为了提升编译速度,可以将对应的Gradle编译工具包下载到本地,然后修改gradle\wrapper\gradle-wrapper.properties文件,指向您的Gradle编译工具包的地址。

    #Wed Apr 01 11:37:55 CST 2020
    distributionBase=GRADLE_USER_HOME
    distributionPath=wrapper/dists
    zipStoreBase=GRADLE_USER_HOME
    zipStorePath=wrapper/dists
    distributionUrl=http\://emts.huawei.com/distributions/gradle-5.4.1-all.zip
  1. 如果存在lib库链接失败,请确保您的project配置正确的配置选项和依赖项,请参见集成HMS Core SDK。
  1. 如果您的工程运行存在Maven依赖链接失败的问题,请您修改build.gradle文件Maven依赖路径到可用的Maven路径。

工程证书如何生成?

在src/build.gradle文件中,您需自行调整signingConfigs模块内容,来生成自己的工程证书,替换jks文件和密码,请参见配置AppGallery Connect。

signingConfigs {
    debug {
        storeFile file(rootProject.getRootDir().getAbsolutePath() + "/testkey.jks");
        storePassword "******"
        keyAlias "******"
        keyPassword "******"
        v1SigningEnabled true
        v2SigningEnabled true
    }
    release {
        storeFile file(rootProject.getRootDir().getAbsolutePath() + "/testkey.jks");
        storePassword "******"
        keyAlias "******"
        keyPassword "******"
        v1SigningEnabled true
        v2SigningEnabled true
    }
}

OpenGL的Smart Cache是否支持所有版本的OpenGL?

不是,支持OpenGL2.0及以上。

能否使用带有presentable image framebuffer里面的attachments在其他framebuffers里面使用?

不能,这个会导致用到这些需要旋转的image的framebuffers和其他的images也需要旋转,然后连锁反应到其他的framebuffer。

能否使用带有presentable image framebuffer的image当做texture或者buffer在其他render buffer使用?

不能,因为这些图像实际已经被旋转到了新的方向,但是访问的坐标却没有变化。

OpenGL的Smart Cache生效,但没有收益,是什么原因?

我们在驱动里做了fbo和texture区分的预处理,但有时会区分出错,当区分出错时,就需要重新区分,此时会释放内存和重新申请,会对性能功耗产生影响,导致没有收益。如果提前做好fbo和texture区分,就不需要重新释放和申请内存,也就不会出现没有收益的现象。

插件激活失败怎么办?

加载插件后,插件系统会调用插件提供的初始化函数去激活该插件,如果应用查询到插件激活失败,需要联系插件提供者。

体积云插件离线烘焙功能是否支持烘焙任意大小的三维纹理?

支持。但在烘焙过程中,如果三维纹理输出的尺寸越大,那么计算资源和内存资源的需求会大幅上升,导致烘焙速度变慢,所以推荐128*32*128的输出纹理尺寸。

美工人员根据体积云插件开发文档不易调出满意的结果,能否在文档中增加不同参数下的渲染效果?

开发文档着重于插件的集成使用,多针对有一定开发能力的人员。我们在开发者论坛提供了更多不同参数的效果,可以给美工人员参考,也鼓励开发者分享不同的体积云渲染结果。

downSample参数的设置会使深度图分辨率降低,在遮挡的边缘是否会出现较强的锯齿?

不会。在插件内部,有特定的机制去处理低分辨率下遮挡带来的边缘锯齿。

体积雾插件是否支持任意数量的光源?

不是。考虑到移动端的性能,目前最高支持8个点光源、8个聚光源和1个平行光。

体积雾插件可以同时开启高度雾和噪声雾吗?

可以。体积雾插件支持这两种雾效同时开启,供开发者在场景中进行更灵活的定制。

骨骼动画插件能实现哪些动作的融合?

骨骼动画插件目前仅支持常用的立、走、跑和跳的融合,可以求解出相应的动作权重和时间权重,用于角色基本动作的融合处理。

脚部IK是否能够兼容当前常用的游戏引擎?

是的。脚部IK底层通过C++来实现,支持PC端dll和手机端so调用,仅需左右脚的脚踝、膝盖、大腿的旋转和位置信息,以及脚踝目标位置信息,即可实现脚部IK。

动作融合或脚部IK是否可以只使用其中一个功能?

可以。动作融合和脚部IK两个功能是相互独立的,可以仅使用其中一个功能。

时域抗锯齿插件是否支持实时预览不同抗锯齿参数的抗锯齿效果?

支持。插件会实时获取用户输入的抗锯齿参数,并将参数传给shader进行绘制。

时域抗锯齿插件是否需要用户自行获取motion vector?

是的。motion vector需要用户自行计算并将该资源作为插件的输入。

智能流体插件是否支持设置液体高度?

目前暂不支持通过外部传参的方式设置液体的高度。

AI捏脸插件是否支持任意游戏角色捏脸系统?

只支持拟人角色捏脸系统,且必须按照CharacterAdapter接口对游戏角色模型进行适配。

支持哪些光源的阴影?

当前只支持定向光的阴影,而且只支持一个定向光的阴影效果。

定向光阴影是否为实时阴影?

是的。

如果骁龙865的android手机在使用CG渲染框架时出现闪屏、黑屏怎么办?

当出现闪屏或黑屏问题时,请在logcat日志中查看是否有如下的日志信息,如果有建议升级手机版本。

Adreno-GSL: <gsl_ldd_control:549>: ioctl fd 74 code 0xc040094a (IOCTL_KGSL_GPU_COMMAND) failed: errno 35 Resource deadlock would occur
Adreno-GSL: <log_gpu_snapshot:458>: panel.gpuSnapshotPath is not set.not generating user snapshot