• Unity的粒子总是丢材质


    1)Unity的粒子总是丢材质
    2)C#传给C++的Byte数组如何释放
    3)CommandBuffer.DrawProcedural在手机上为什么不生效
    4)游戏加载场景碰撞,会弹出显卡报错,驱动程序超时


    这是第359篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

    Loading

    Q:Unity打包AssetBundle后总是丢粒子的材质,而且不固定,有时候这个丢有时候那个丢。编辑器下引用是没问题的,内容也打进去了,资源加载也没问题,就是真机上丢引用了,先加载材质球也一样的,只能重新导入这个材质才没问题。重新导入后Meta文件和材质文件也是没有差异的,只能删除Lib文件夹。使用的是Unity 2020.4.48版本,打包的也是稳定的AssetBundleName。

    有没有一样的情况?

    A1:Unity打AssetBundle,如果不删除已有目录的AssetBundle,是增量打AssetBundle的,感觉是这里导致的Bug。

    可以试着打包前删除上一次打的所有AssetBundle,或者用BuildAssetBundleOptions.ForceRebuildAssetBundle强制打AssetBundle试试。

    感谢范世青@UWA问答社区提供了回答

    A2:我们的解决方案是删除对应异常的AssetBundle(和相关依赖的AssetBundle),重新生成就可以解决(重新生成的包内容、依赖和异常时的包对比没有变化)。我们发现如果Prefab是变体最容易出现(偶发),且每次出现这个情况,几个不同的机器打包就会有一部分机器出现相同情况(不全部都是),一部分又没有问题。这个没法通过Reimport方法解决。

    感谢1 9 7 3-311135@UWA问答社区提供了回答


    Script

    Q:游戏里用C#读取文件数据byte[],然后传给C++(unsigned char*),有点不明白,这个数组是同一份内存还是复制了一份?

    在C++调用free()释放会闪退,猜想应该没有复制,如果是这样,C#这边读出来先不管,C++那边还引用着,也没释放(析构时置空引用),要怎么释放呢?

    A:C#创建的非托管堆内存,在C#中通过Marshal.FreeHGlobal(InPtr)释放。

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


    Rendering

    Q:CommandBuffer.DrawProcedural为什么在手机上不生效?

    cb.DrawProcedural(Matrix4x4.identity, material, shaderPass, MeshTopology.Triangles, 3, 1, null);
    

    就是URP自定义的Feature Pass里Draw一个三角形来模拟BLIT(网上挺多这种节省性能的做法的文章),这个效果在Unity下播放能生效,但打包到华为NOVA6上或者雷电模拟器上运行就不生效了,不知道是不支持还是其他问题?

    针对以上问题,有经验的朋友欢迎转至社区交流分享:
    UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


    Loading

    Q:游戏加载场景碰撞,会弹出显卡的报错,驱动程序超时,这是为什么呢?有什么解决方法吗?

    针对以上问题,有经验的朋友欢迎转至社区交流分享:
    UWA问答 | 游戏开发者互动问答社区 | 侑虎科技

    封面图来源于网络


    今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

    UWA官网:www.uwa4d.com
    UWA社区:community.uwa4d.com

     

  • 相关阅读:
    Android Canvas之Path的详解与使用(二)
    Google Earth Engine(GEE)——ui.util.debounce的使用
    flutter聊天界面-TextField输入框buildTextSpan实现@功能展示高亮功能
    一个基于.NET7的开源DNS服务 DnsServer 的部署使用经验分享
    基于PHP的互联网送水平台
    【kubernetes】k8s各组件运行流程以及高可用
    神经网络系列---回归问题和分类问题
    计算机网络中常见缩略词翻译及简明释要
    c语言系统编程十二:Linux多任务编程之线程
    DispatcherSynchronizationContext and Dispatcher
  • 原文地址:https://blog.csdn.net/UWA4D/article/details/134261560