4.3 发布您的项目¶
概念¶
在完成一个可运行的项目后,可以将该项目导出发布成其他人可运行的软件包。这样方便与他人之间进行项目的交流和分享,导出的方式取决于导出的平台。接下来将讲述在IdeaVR里,进行更方便的导出操作。
由于发布出来的可执行文件会按照我们预先指定的流程进行执行,我们在制作内容的时候,可能在IdeaVR的编辑器里制作了多个场景文件,为了确保发布出来的程序能够正常识别需要执行的场景,我们需要制定当前项目的主场景文件。
设置主场景¶
在导出前,首先需要设置主场景,在IdeaVR中有三种主场景的设置方式:
- 在编辑器下方的文件窗口选择需要设置为默认启动的场景文件,然后点击鼠标右键,在弹出的菜单中选择设为主场景。
- 打开左侧项目设置,在常规窗口中选择应用程序下拉框,在运行界面里选择运行栏,设置主场景。
- 快捷键F5,运行整个项目,如果您未设置主场景,此时IdeaVR会提示您选择一个场景去设置为主场景。
注意
如果未设置主场景就进行导出,可能导致导出发布出的exe程序无法打开!
第一种主场景设置方法 :
在IdeaVR编辑器窗口的下方,点击文件
标签,可以看到当前项目中的所有文件,我们可以选择需要设置为默认启动的场景文件,然后点击鼠标右键,在弹出的菜单中选择设为主场景。这样,当前工程的默认加载场景就设置好了。
第二种主场景设置方法 :需要点击右侧的项目设置图标选择对应场景后确认。
第三种主场景设置方法 :点击顶部运行工具栏的运行图标,快捷键F5,根据相关提示进行选择。
导出模板¶
为了导出,需要下载导出模板,导出模板是为每个平台预先编译的不带编辑器的引擎优化版本。我们可以直接通过点击IdeaVR上方工具菜单,找到管理导出模板进行下载,下载后会自动安装。
我们也可以通过点击导出模板下载获取导出模板,从管理导出模板中,选择左下角 从文件安装 按钮,找到我们刚才从链接中下载下来的项目导出模板进行安装。
同时在 管理导出模板 窗口中,你也可以直接点击下载获取与IdeaVR版本匹配的导出模板版本,待下载完成后会自动安装。
注意
导出模板必须与IdeaVR版本匹配,否则导出的项目可能无法正常工作。
导出设置¶
在导出模板安装成功后,我们需要先进行导出设置才能够正常使用发布功能。用户可以通过点击编辑器左侧的 导出 按钮来配置导出设置。
在弹出的窗口中点击选中需要导出项目所需要的预设。在导出窗口下方有导出项目按钮和导出PCK/ZIP按钮。其中:
- 导出项目:创建游戏的完整可执行版本,例如Android的apk文件或者Windows的exe文件。
- 导出资源包:只创建项目数据的打包版本,不包含可执行文件,该项目无法单独运行。
在资源和功能选项卡中,用户可以自定义导出项目。例如导出模式,筛选或者排除文件/目录等。
平台导出¶
本小节主要介绍导出到PC平台(Window/Linux/MacOS)、Android、HTML5平台的导出流程,包括导出过程中需要的软件或者要求。
注意
更多平台正在加紧编译中,当前这个版本暂不支持以及IOS的导出。
1. PC(Linux/Windows)¶
IdeaVR导出PC平台的工作原理在操作系统(Linux/Windows/MacOS)上面相同,编辑器左侧导出按钮,点击选择需要导出的导出预设,根据个人需求编辑对应预设,然后点击导出项目,指定导出项目的名称和目标文件夹,单击保存(也可跳过如图中2、3步骤的导出项目路径的设置,直接点击导出项目,内容将会导出到项目的根目录当中),IdeaVR将自动构建导出文件。
2. HTML5¶
注意
在导出Web版本时,在创作类容和导出时请选择右上角 性能优先 ,否则会导致运行失败或者显示不正常!
在导出发布前如果想在浏览器中预览效果,可以点击右上角帮助旁边的按钮进行预览。
项目导出发布至HTML5,直接使用默认设置进行导出即可,选定导出目标文件夹(也可跳过文件路径设置,点击**导出项目**,直接导出到**项目根目录**当中),在导出时,如果勾选了使用调式导出选项框,导出的项目运行时,控制台窗口会显示对应log。如果**不需要**,请**不要勾选它**。
导出完成后在导出项目时设置的文件夹中可以看到如下文件列表:
可以在文件夹中看到“ web_server_win.exe ”,双击运行它就会自动将页面弹出来。当然也可以在浏览器地址栏中输入http://127.0.0.1:8080/web.html。
如果您是Mac用户请双击“ start ”以启动运行
linux暂不支持一键启动,请期待后续更新!!
局域网内其他用户也可以访问,只需要将127.0.0.1改成本机对应的局域网IP即可(此IP会在“ WebServer.exe “运行起来的黑窗口中看到,一般都为第一个ip,多网卡或者装有虚拟机的用户会有多个ip,这种情况需要用户自行判断自己实际物理网卡IP)。
注意这里的web.html是您填的导出项目名称。等待片刻后,就可以看见对应项目的场景。
注意1
浏览器可能会缓存,所以同一台电脑发布的网页如果文件名一样,可能网页显示的是缓存内容。此时需要强制刷新页面
注意2
在导出发布至HTML时,如果导出的资源包含非“.webm”格式的视频资源时,虽然最终可以成功导出,但是在浏览器内运行时场景内如果使用了非“.webm”格式的资源,那么该视频无法在浏览器内播放。
对于上面注意点2的问题,引擎在编辑器中提供了视频转码到“.webm”格式的内嵌工具。其使用方法如下:
在文件窗口内右击需要转码的文件,在弹出的窗口中选择**文件格式转换**,点选弹出的**webm格式**,之后引擎会自动转码为同名的“.webm”格式的文件,之后在引擎中使用该视频的节点中替换视频为转码之后的“.webm”格式的文件。
当完成视频转码与场景树节点视频内容替换之后,重新回到HTML5导出的界面中,选择“导出项目”,在点选之后可能会弹出下图所示的弹窗:
该弹窗弹出表示当前导出的资源中含有浏览器不支持的视频格式,当你看到该窗口时,不必惊慌,如果你已经正确转码,并且完成了场景树节点中视频格式文件的替换,那么该窗口仅仅是提示你当前导出的资源包中含有浏览器不支持的视频格式,最终浏览器内的运行效果没有任何影响,点选警告窗口的“继续导出”,可以完成HTML5平台的导出工作。如果上述的转码与视频替换没有完成,则需要点选警告窗口内的“返回编辑器进行检查”,完成视频转码与场景树节点内的视频格式替换,否则导出的场景可能无法在Web平台正确播放视频。
3. Android¶
导出到安卓平台,首先需要进行如下的配置:
- 下载Android SDK,只需要SDK中的命令行工具。
- 安装OpenJDK8,JDK9和以后的版本暂不支持。
- 配置一个debug.keystore:安卓需要调试密钥库文件才能安装到设备并分发非发行版APK。如果您以前使用过SDK并已构建项目,则ant或eclipse可能会为您生成一个。
如果您没有它或找不到它,则需要生成一个,您可以使用JDK中的keytool命令来实现此目的:
Keystore生成
keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999 -deststoretype pkcs12
在编辑器设置中,您需要设置三个文件的路径:
- 找到电脑上ADB的路径并设置。
- 找到Jarsigner的路径并设置。
- 找到调试密钥库并设置。
这些配置完成后,一切准备就绪,我们就可以导出到安卓平台啦!
- ADB: 安卓调试桥(adb)是用于与Android设备通信的命令行工具。它是随SDK一起安装的,但是您可能需要安装一个(任意)Android API级别才能将其安装在SDK目录中。
- Jarsigner:用于给项目签名的工具,表明该软件已经通过了签署者的审核。
随后,下载导出模板,并在我们的导出页面中,设置导出路径(也可跳过文件路径设置,点击**导出项目**,直接导出到**项目根目录**当中),随后我们点击导出项目,在我们的导出路径下就会生成一个用于在安卓设备上安装的安装包.apk文件。
之后,我们可以选择通过命令行安装apk到设备,我们在命令行中输入
adb install -r 附上您的项目apk的路径
或直接将apk导入设备进行安装!
注意
如果电脑上没有配置adb的环境变量,就在adb.exe路径下使用命令行工具(cmd)输入安装命令;有配置好环境变量的情况下,在任意位置使用命令行工具(cmd)输入安装命令都行。
感谢使用
IdeaVR2021较以往的版本,在功能上更加强大,同时用户也可以在IdeaVR上开发更丰富的内容。同时,我们也会持续优化改进,欢迎大家及时获取最新版本的IdeaVR。
导出设置高级版¶
本段将详细介绍导出面板上的每个选项含义。
1.选项选项卡:¶
可执行的 :在添加特定平台预设后可以点击添加后面的Copy按钮进行Copy出多个预设,每一个预设都有自己的设置,开启可执行的就 是说应用该设置到当前预设,每个预设都只有一个设置。
导出路径 :即导出存放目录。
二进制格式 :有"64位"和"内置的pck"两个可选择的选项,如果勾选了“64位”就会以64位的模板导出程序,最终可执行程序是64位。如 果不勾选就是以32位的模板,最终可执行程序是32位。如果勾选了“内置的pck”就会把pck和exe打包在一起,最终只有一个exe、如果 不勾选pck和exe都是单独的,最终由两个文件,一个是可执行的exe,一个是项目打包文件pck。
自定义模板 :如果您的模板文件不是从工具--->模板管理中下载而是自己编译或者别的朋友发给您的就可以使用此选项来指定模板文 件。"发布"即Release版本,不带调试信息,通常体积较小(通常用户发布版本)、"调试"即Debug版本,可执行文件带调试信息,因为带 调试信息通常体积较大(通常开发者使用)。
代码签名(Code signing) :是对可执行文件或脚本进行数字签名以确认软件作者及保证软件在签名后未被修改或损坏的措施。通常使用 HASH算法+私钥加密来验证真实性和完整性。
启用 :是否启用代码签名
证书类型 :选择证书类型
证书 :选择证书
密码 :输入密码
时间戳 :是否启用时间戳
时间戳服务器地址 :填写网络时间戳服务器地址
摘要算法 :选择摘要算法
描述 :请填写描述
自定义选择 :填写自定义选项
纹理格式化 :是否使用纹理格式压缩来减小不必要的浪费
BPTC :是否启用BPTC纹理压缩算法
S3TC :是否启用S3TC纹理压缩算法
ETC :是否启用ETC纹理压缩算法
ETC2 :是否启用ETC2纹理压缩算法
2.资源选项卡:¶
资源 选项卡中 导出模式 中有三个导出选项: 导出项目中的所有资源 、 导出选中场景(包括依赖项) 、 导出选中的资源(包括依赖资源) 。
导出项目中的所有资源 会将所有工程所有的的资源都导出。
导出选中场景(包括依赖项) 会让您选择需要导出哪些场景(.scene文件但不包括其他资源)和其依赖项以减少包的体积。
导出选中的资源(包括依赖资源) 会让您选择要导出哪些资源,包括所有资源以减少包的体积。、
筛选导出非资源文件或文件夹 会让您填写文件类型用后缀区分如 *.json 表示所有的json文件都会被打到最终包里,不同类型文件用逗号隔开。
从项目中排出文件或目录 同样会让您填写文件类型,不同的是相反这些文件不会被打倒包里去。