基于iOS系统的3D模型动态加载方法和装置制造方法及图纸

技术编号:38437881 阅读:32 留言:0更新日期:2023-08-11 14:21
本发明专利技术提供了一种基于iOS系统的3D模型动态加载方法和装置,涉及计算机技术领域,包括:利用Xcode的工具对初始模型文件进行处理,生成3D模型文件;利用scntool指令对3D模型文件进行压缩,生成目标3D模型文件;将所述目标3D模型文件打包上传至服务器,以供iOS系统按需动态加载,可以缓解现有技术中存在的动态加载3D模型文件资源消耗大的技术问题。3D模型文件资源消耗大的技术问题。3D模型文件资源消耗大的技术问题。

【技术实现步骤摘要】
基于iOS系统的3D模型动态加载方法和装置


[0001]本专利技术涉及计算机
,尤其是涉及一种基于iOS系统的3D模型动态加载方法和装置。

技术介绍

[0002]目前在iOS应用中实现3D特效通常依赖于第三方游戏引擎,例如:Unity,UnrealEngine,cocos等;具体包括:通过Unity端约定的接口进行与iOS端的信息传递,iOS端只需要将Unity集成到项目中,通过接口通信就可以实现iOS与Unity的交互,iOS客户端侧不需要关心Unity 3D内部的场景渲染和动作执行的实现,只需要告诉Unity加载的人物和动作即可。但是Unity启动之后项目就相当于游戏一样,性能、耗电让原本轻量的APP变得非常沉重,用户反馈手机发烫、卡顿、耗电非常快,体验非常不友好。
[0003]因此越来越多的企业使用iOS自带的3D引擎SceneKit,来实现轻量级的动态加载、更新3D模型的渲染,SceneKit是苹果公司对Metal或OpenGL封装的3D渲染框架,可以快速3D渲染项目的项目,实现添加动画、物理模拟、粒子效果和逼真的物理渲染。
[0004]使用SceneKit框架渲染3D模型时,如果直接把3D模型以及依赖的资源配置放在远程服务,终端从服务器下载到本地,通过SceneKit框架获取下载好的文件路径进行读取加载渲染,存在不支持动态加载3D模型文件的缺点。因此通常需要在开发阶段提前把准备好的模型文件、配置文件、纹理资源等在程序构建时统一进行封装打包,这样则会导致iOS应用的安装包体积过大,存在下载时耗费流量、安装时占用硬盘空间过大的问题。

技术实现思路

[0005]本专利技术的目的在于提供一种基于iOS系统的3D模型动态加载方法和装置,以缓解现有技术中存在的动态加载3D模型文件资源消耗大的技术问题。
[0006]第一方面,本专利技术实施例提供了一种基于iOS系统的3D模型动态加载方法,应用于开发终端,上述方法包括:
[0007]利用Xcode的工具对初始模型文件进行处理,生成3D模型文件;
[0008]利用scntool指令对预先处理过的上述3D模型文件进行压缩,生成目标3D模型文件;
[0009]将上述目标3D模型文件打包上传至服务器,以供iOS系统按需动态加载。
[0010]在一些可选的实现中,利用Xcode的工具对初始模型文件进行处理,生成3D模型文件,包括:利用Xcode的工具对初始模型文件进行copySceneKitAssets处理,生成3D模型文件,以便于在iOS系统识别加载上述目标3D模型文件。
[0011]在一些可选的实现中,利用Xcode的工具对初始模型文件进行copySceneKitAssets处理,包括:获取copySceneKitAssets程序后,打包为相应文件并存储于第一目录;将存储于上述第一目录的copySceneKitAssets程序文件提取并存储于测试场景文件夹目录;在测试场景文件夹目录下新建SCN文件夹;上述SCN文件夹用于存储3D模型
文件;切换至上述测试场景文件夹目录下执行copySceneKitAssets程序。
[0012]在一些可选的实现中,利用scntool指令对上述3D模型文件进行压缩,生成目标3D模型文件,包括:获取scntool程序后,打包为相应文件并存储于上述第一目录;将存储于上述第一目录的scntool程序文件提取并存储于上述测试场景文件夹目录;切换至上述测试场景文件夹目录下执行scntool程序,对上述3D模型文件进行压缩,生成目标3D模型文件。
[0013]在一些可选的实现中,应用于用户客户端,上述方法还包括:从服务器按需动态下载上述目标3D模型文件进行渲染。
[0014]第二方面,本专利技术实施例提供了一种基于iOS系统的3D模型动态加载装置,该装置包括:
[0015]生成模块,用于利用Xcode的工具对初始模型文件进行处理,生成3D模型文件;
[0016]上述生成模块,还用于利用scntool指令对预先处理过的3D模型文件进行压缩,生成目标3D模型文件;
[0017]上传模块,用于将上述目标3D模型文件打包上传至服务器,以供iOS系统按需动态加载。
[0018]在一些可选的实现中,上述生成模块还包括:第一处理单元;上述第一处理单元用于利用Xcode的工具对初始模型文件进行copySceneKitAssets处理,生成3D模型文件,以便于在iOS系统识别加载上述目标3D模型文件。
[0019]在一些可选的实现中,该装置还包括:下载模块;上述下载模块用于从服务器按需动态下载目标3D模型文件进行渲染。第三方面,本专利技术实施例提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的方法的步骤。
[0020]第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述第一方面任一项所述的方法。
[0021]本专利技术提供了一种基于iOS系统的3D模型动态加载方法和装置,该方法包括:利用Xcode的工具对初始模型文件进行处理,生成3D模型文件;利用scntool指令对3D模型文件进行压缩,生成目标3D模型文件;将所述目标3D模型文件打包上传至服务器,以供iOS系统按需动态加载,可以缓解现有技术中存在的动态加载3D模型文件资源消耗大的技术问题。
附图说明
[0022]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1为本专利技术实施例提供的一种基于iOS系统的3D模型动态加载方法的流程示意图;
[0024]图2为本专利技术实施例提供的一种基于iOS系统的3D模型动态加载方法中对3D模型文件进行压缩的流程示意图;
[0025]图3为本专利技术实施例提供的一种基于iOS系统的3D模型动态加载装置的结构示意
图;
[0026]图4为本专利技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0027]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。
[0028]因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于iOS系统的3D模型动态加载方法,其特征在于,应用于开发终端,所述方法包括:利用Xcode的工具对初始模型文件进行处理,生成3D模型文件;利用scntool指令对所述3D模型文件进行压缩,生成目标3D模型文件;将所述目标3D模型文件打包上传至服务器,以供iOS系统按需动态加载。2.根据权利要求1所述的基于iOS系统的3D模型动态加载方法,其特征在于,利用Xcode的工具对初始模型文件进行处理,生成3D模型文件,包括:利用Xcode的工具对初始模型文件进行copySceneKitAssets处理,生成3D模型文件,以便于在iOS系统识别加载所述目标3D模型文件。3.根据权利要求2所述的基于iOS系统的3D模型动态加载方法,其特征在于,利用Xcode的工具对初始模型文件进行copySceneKitAssets处理,包括:获取copySceneKitAssets程序后,打包为相应文件并存储于第一目录;将存储于所述第一目录的copySceneKitAssets程序文件提取并存储于测试场景文件夹目录;在测试场景文件夹目录下新建SCN文件夹;所述SCN文件夹用于存储3D模型文件;切换至所述测试场景文件夹目录下执行copySceneKitAssets程序。4.根据权利要求3所述的基于iOS系统的3D模型动态加载方法,其特征在于,利用scntool指令对所述3D模型文件进行压缩,生成目标3D模型文件,包括:获取scntool程序后,打包为相应文件并存储于所述第一目录;将存储于所述第一目录的scntool程序文件提取并存储于所述测试场景文件夹目录;切换至所述测试场景文件夹目录...

【专利技术属性】
技术研发人员:吴党徐令刚袁华伟
申请(专利权)人:杭州米络星科技集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1