如何优化Unity发布iOS编译出来的Framework文件过大问题

1)如何优化Unity发布iOS编译出来的Framework文件过大问题
2)Scriptable Build Pipeline打包Scritptable Object报错
3)APK在OPPO上报编译错误
4)如何在Sequence中模拟我的蓝图


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

Memory

Q:最近项目是Unity和iOS混合开发,在Unity导出Xcode工程后,编译出Framework集成到iOS主工程里面,在Framework将近90兆,设置代码裁剪和IL2CPP代码成Smaller后能减少十几兆,后面实在优化不下去了,包里也没有资源文件。请问大家一般是怎么减小生成的Framework大小呢?一般导出的Framework都是多大的呢?

欢迎有经验的朋友转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


AssetBundle

Q:1. 发生了什么?

给定一个自定义可编写脚本的对象,它有一个类似于MyScriptableObject m_RefObject的字段,创建3个名为A、B、C的对象。

C引用B、B引用A,使用SBP CompatibilityBuildPipeline.BuildAssetBundles将3个资产构建为单独的捆绑包。

加载捆绑包A、B、C,加载资产A、B、C。A和B加载成功,而加载C失败,导致警告“The referenced script on this Behaviour (Game Object '') is missing!'' 并返回 null。

切换到UnityEditor.BuildPipeline.BuildAssetBundles,A、B、C 均加载成功。

2. 如何使用所附示例重现它?

打开示例场景并单击“播放”,控制台将显示资源加载失败,所有行为均在Entry.cs内。

使用版本:
com.unity.scriptablebuildpipeline: 1.20.2/ 1.21.9
Unity 2021.3.25f1

有没有人遇到过这个问题,怎么解决?

A:官方回复:MonoScript Bundle是一个特殊的Bundle,它只包含脚本汇编/类型数据。我们在Addressables中使用它来帮助解决像这样的一些构建依赖问题。如果您只使用ScriptableBuildPipeline而不使用Addressables,那么仍然可以这样做。有一个BuildTask包含在SBP中,叫做CreateMonoScriptBundle,您可以将其添加到构建任务列表。

如果您只使用CompatibilityBuildPipeline,那么您将无法修改构建任务。如果这是您的用例,它是否与本机AssetBundle构建管道(BuildPipeline.BuildAssetBundles)一起工作?除非你有理由使用CompatibilityBuildPipeline API,否则我可能会建议你尝试一下,看看它是否适合你。

感谢打包仔@UWA问答社区提供了回答


Lua

Q:Unity版本2021.3.9f1,插件使用xLua,游戏项目使用Lua语言编写,打出来的APK包,可以安装到小米手机正常,安装到模拟器正常,但是安装到OPPO Reno手机出现编译错误:
xLua exception : error loading module TestLua from CustomLoader, TestLua.lua:1: syntax error near 'Found'

欢迎有经验的朋友转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


Sequence

Q:制作了一个BP蓝图,里面实现了简单的灯光运动的效果。我想在Sequence中也能够模拟这个蓝图实现的效果,但是在Sequence里播放时是无法模拟蓝图的效果的。请问这个要如何解决呢?

A:总体的思路是把蓝图要实现的功能写到一个Function里,将其命名为SETdoSomething,并给这个Function一个输入(任意类型,比如Boolean)。这个Function需要开启Call In Editor。之后写一个doSomething的变量,类型与Function的输入保持一致(案例中为Boolean),该变量开启Expose to Cinematics和小眼睛(Instance Editable)。之后在Track里就可以找到这个Do Something,将其用于关键帧,当它为true时就会调用Function,即实现了Sequence中蓝图功能的模拟。

欢迎有经验的朋友转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技

封面图来源于网络


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

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/12528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java(二)——方法与数组

文章目录 方法与数组方法方法的定义方法的执行实参与形参方法重载方法签名 数组创建与初始化数组的类型数组应用转字符串排序查找(二分)填充拷贝判等 二维数组创建及初始化遍历本质和内存分布不规则二维数组 方法与数组 方法 什么是方法? …

C++学习笔记(20)——模板的进阶与继承(一)

系列文章 http://t.csdnimg.cn/u80hL 目录 系列文章[TOC](目录) 一、定义二、迭代器——六大组件之一封装的作用封装要注意的点迭代器封装设计很巧妙迭代器适配器 一、定义 访问容器有时使用原生指针,有时迭代器为了避免复杂化统一使用迭代器。 容器与算法不分离&…

Linux-vi、vim

使用Xshell远程登录到Linux主机进行操作 命令行不用全部掌握, 一般编辑大文件,比较复杂的情况下, 我们还是使用Xftp工具, down下来再恢复回去。

导航【仿牛客网社区论坛项目】

导航【仿牛客网论坛项目】 前言版权导航【仿牛客网社区论坛项目】最后 前言 2024-5-14 11:08:00 这个是找寒假实习的时候,牛客网中学习的项目。 原来准备再总结一下,然后就没后续了。 以下内容源自《【创作模板】》 仅供学习交流使用 版权 禁止其他…

AI绘画入门指南:完备的AI绘画学习路线,十分钟把你领进门

2024新风口大揭秘!不是直播,也不是短视频,而是AI绘本! 有一句话说得好:站在风口上,猪都能飞起来!想要用AI拿到大结果,一定要选对大的垂类赛道。 那么,为什么是AI绘本呢…

8数据通信名词解释

目录 数据通信: 信号: 信源: 信宿: 信道: 三种通信方式:单工,半双工,全双工 数据传输方式: 传输模式:同步传输和异步传输 码元: 数字通信…

未来IT新潮:共探技术革命与行业趋势

未来IT新潮:共探技术革命与行业趋势 随着科技的飞速发展,IT行业无疑成为了推动全球经济和社会进步的关键引擎。现代社会中,每一次技术创新都可能彻底改变我们的生活方式、工作方式和交流方式。云计算、大数据、人工智能、物联网、5G通信和区…

第二证券股市策略:股票st连续跌停卖不出怎么办啊?

对于接连跌停的st股票买不出,投资者只能早早地挂出跌停托付单等着成交,在当天没有成交,其托付单会被撤销,投资者能够挑选进行隔夜托付卖出时,最好在证券公司清算之后,再进行托付卖出,否则&#…

近邻算法原理详解

近邻算法,也称为K近邻(K-Nearest Neighbors,简称KNN),是监督学习中的一个基础方法,尤其在分类和回归问题中广泛应用。本文将深入探讨近邻算法的基本原理、工作流程以及在实际应用中的优缺点。 ### 基本概念…

利用GoAccess实现中文环境下的实时Web日志分析

Web日志分析对于网站管理和优化至关重要,它能帮助网站管理员理解用户行为、识别流量模式,并及时发现潜在的问题。GoAccess是一款开源的Web日志分析工具,它支持实时数据展示,并且可以通过简单的配置支持中文环境,使分析…

调测索喜应用收到 SIGSEGV 信号

同样的程序,已收到两份异常报告,还在定位问题; 1.第一种情况:PC指向静态库中函数的一个地址 [E][01-01 00:00:21808][sc2000_app][ac_sigsegv_handler :81] Signal 11 Memory location (nil) R0 0000000000000000 R1 0000…

hbuilder常见问题(技巧)总结

目录 问题hbuilder x 软件内如何实现html代码自动对齐hbuilder x 和sublime_text软件中实现复制/剪切当前行代码 快捷键代码提示 待续、更新中 问题 hbuilder x 软件内如何实现html代码自动对齐 Ctrlk hbuilder x 和sublime_text软件中实现复制/剪切当前行代码 不用选中直接Ct…

低空经济之无人机

朋友们,今天来聊聊个超酷的话题——低空经济之无人机! 无人机不仅让天空变得触手可及,还带来了无尽的商业可能,简直就是新时代的“空中小助手”啊! 说到无人机,你们是不是也和我一样,脑海里立马…

详解JS的URL()和URLSearchParams() API接口

两个 API 接口定义 URL() 构造函数返回一个新创建的 URL 对象,表示由一组参数定义的 URL。 URLSearchParams 接口定义了一些实用的方法来处理 URL 的查询字符串。 快速了解两个 API 在哪里用 以前我们要对地址栏中的 URL 地址进行分析处理,需要自己进…

【Mac】如何解决打开PD虚拟机后Mac无法上网的问题?

问题描述 部分用户在运行Parallels Desktop并打开Windows 11后,发现Windows上网没有问题,但是Mac主机不能访问带域名的网站,而访问带IP的网站没问题,退出Parallels虚拟机以后,Mac网络又恢复正常。 解决办法 退出 Pa…

vue的history模式返回404

vue的history模式返回404,可以把vue工程部署到静态资源服务器nginx上,代替用tomcat,然后在nginx配置: //vue中设置路径是: module.exports { publicPath:/ } 那么nginx中配置vue为: location / { root /us…

东B编译原理第二次实验课

由于本人比较懒还没咋学编译原理,并不知道LR,算符优先是啥方法,就按照自己想法写了个非常丧心病狂的代码 非常SB的是一个代码过五个题,我知道肯定漏洞百出,但是懒惰如我已经懒得改了,能过就好 下边放下原…

swift-resizableImageWithCapInsets(可拉伸图片)

resizableImageWithCapInsets 他的作用是用之前的的image创建出一个可拉伸的image,这个image的作用就是当要填充的imageView大于当前image时就会进行拉伸,但是这个可拉伸image是可以设置屏蔽区域的 也就是告诉你哪部分不要用来拉伸 let capInsets UIEdg…

在哪些地方能用到PMP认证?参加PMP培训怎么选择靠谱?

PMP认证在实际运用中比我们想象的作用要大得多,甚至涉及到了工作、生活各个方面,这其中主要是在工作方面发挥作用,帮助我们在项目管理相关岗位发挥更大的作用。 因为PMP认证是项目管理协会发起,考试也是针对专业项目管理人员的测…

golang中三种线程安全的MAP

一、map 是什么 map 是 Go 中用于存储 key-value 关系数据的数据结构,类似 C 中的 map,Python 中的 dict。Go 中 map 的使用很简单,但是对于初学者,经常会犯两个错误:没有初始化,并发读写。 1、未初始化的…