CRIWARE Unity Plugin Manual
Last Updated: 2025-05-08
WebGL版FileMajik PRO
概述
本章介绍面向WebGL目标平台的FileMajik PRO。
限制事项
您可以使用 CriFsWebInstaller 。
不支持 CriFsInstaller 。
各个文件系统上的规格
您可以访问以下文件系统。
当在ADX/Sofdec/FileMajik PRO的加载相关API中指定了文件路径时,
会对该路径对应的文件系统进行文件获取处理。
远程文件系统
对于以“http://”、“https://”开头的URL路径,
会使用fetch Application向远程服务器发送请求
并获取文件。
在 WebGL 平台,StreamingAssets 是远程服务器上的一个目录,
使用 Application.streamingAssetsPath 会返回一个URL地址。
访问速度受网络通讯状态的影响,
加载过程中如果线路中断或超时会输出错误。
一旦文件成功加载,它就会使用 IndexedDB 缓存自身,并从缓存中加载,直到页面重新加载。
此外,对CORS(跨域资源共享)也有限制。
资源读取失败 (CORS)
内存文件系统
如果路径以“/”开头,将访问Emscripten的标准文件系统。
您可以使用Unity的File类等访问它。
Application.temporaryCachePath 会返回 /tmp 。
内存文件系统具有较高的访问速度,但会消耗与写入文件同样大小的内存。
由于是易失性存储,会在网页重新加载时重置。
IndexedDB文件系统
使用IndexedDB的文件系统会备份数据到非易失性存储的文件系统。
挂载在 /idbfs 上,可以像内存文件系统一样访问。
Application.persistentDataPath 会返回 /idbfs 。
这仅仅是在内存文件系统上添加了备份功能,
同样会消耗和所写入文件同样大小的内存。
用File类等写入的时候,需要用 WebGL NativePlugin 调用 FS.syncfs() 与 非易失性存储同步。
可保存的容量因浏览器而异,如果在浏览器设置中禁用IndexedDB或在写入时的确认中选择不允许,
就会出现错误。
启动Unity WebGL游戏时,所有保存在IndexedDB中的文件都会被加载到内存中,所以如果文件数量增加,
可能会占用内存,影响启动时间。
此外,由于idbfs在同一主机上共享,因此来自不同游戏的文件也可能会产生影响。
备注:使用 WWW.LoadFromCacheOrDownload() 会写入 /idbfs 以下。
Copyright (c) CRI Middleware Co., Ltd. 1.8.10