当前位置: 首页 > 科技观察

一站式集成Cocos&OpenHarmony-HarmonyOS开发环境

时间:2023-03-13 06:31:56 科技观察

更多开源信息请访问:开源基础软件社区https://ost.51cto.com1、Cocos-Dashboard下载Cocos-仪表板下载。单击任意“从Dashboard安装”以下载Dashboard。下载安装完成后,注册一个Cocos账号并登录。2.下载Cocos-Editor打开Cocos-Dashboard,选择Editor->DownloadEditor。选择下载编辑器版本3.6.1。这里建议点击设置,将默认下载路径放在C盘外。普通3.X版本可以导出到Web、Windows、Android、HarmonyOS、快游戏等多个平台,但目前导出OpenHarmony项目需要下载特定的编辑器。下载资源在文末。下载CocosCreator-v3.6.1-oh-win-092319(文末),解压到Cocos-editor目录下。命名为3.6.1-oh,这个版本是基于3.6.1版本的编辑器,与原来的3.6.1编辑器区分开来的,只有这个版本可以导出OpenHarmony项目。进入刚刚解压的editor文件夹,双击Cocoscreator.exe。点击登录Dashboard,此时oh版本编辑器添加成功。3.导出HarmonyOS工程(1)新建Cocos工程并安装JAVAAPI5Cocos导出一个基于Java的HarmonyOS工程。后面我们可以实现Cocos引擎通过反射调用HarmonyOS的分布式能力。新建Cocos-3D工程打开Dashboard,选择Project->Empty3D,自定义工程名称,点击Create。要创建新场景,请单击图层管理器??区域并按ctrl+S。只需单击保存。创建空节点根创建资源文件夹在资源管理器的assets文件夹下创建model文件夹。下载文末附件的model.zip,解压所有选中的文件,拖入刚刚创建的模型文件夹中。将模型拖入根节点,点击file.fbx文件拖入根节点,在根节点下添加文件节点。双击文件节点以在场景编辑器中查看它。如果此时发现渲染出来的模型太小,点击窗口让场景管理器获得焦点,按住鼠标右键,控制WASD方向键漫游,找到模型的位置,然后调整位置,使模型位于视图的中间。点击MainCamera可以看到摄像机视角不是我们想要的正面视角。点击MainCamera确保它被选中,同时按下ctrl+shift+F,相机会自动调整到预览器视角。可以看到当前的摄像头视角是暗的。点击Mainlight确保它被选中,同时按下ctrl+shift+F,光源会自动照亮当前视角。(2)网页预览可以在本地环回URL127.0.0.1进行预览。(3)编写TypeScript脚本,使模型旋转。首先,按ctrl+S保存当前进度。新建一个脚本文件夹新建一个TypeScript脚本文件,右击文件夹->创建->脚本->新建组件,命名为main。在编辑器左上角设置默认脚本编辑器CocosCreator->首选项->外部程序->默认脚本编辑器。只跟踪常用代码IDE.exe文件。我这里用IDEA。编写业务逻辑双击main.ts文件。Main.ts的写法如下:import{_decorator,Component,Node,Vec3}from'cc';const{ccclass,property}=_decorator;@ccclass('main')exportclassmainextendsComponent{start(){}update(deltaTime:number){this.node.setRotationFromEuler(newVec3(this.node.eulerAngles.x,this.node.eulerAngles.y+1,this.node.eulerAngles.z))}}返回Cocos编辑器,点击根节点下的文件节点,将main.ts脚本拖入属性检查器。模拟器预览。可以看出此时模型在旋转。(4)导出HarmonyOS项目配置HarmonyOS-SDK点击左上角的CocosCreator->首选项->外部程序。设置HarmonyOS-SDK和NDK。HarmonyOS-SDK的位置可以在Devecho工具栏下的SDKManager中查看。如果native-SDK中有多个版本,则需要进入特定的版本文件夹。建议使用JAVA-API5以上的版本。SDK栏只需要具体到根目录即可。项目构建单击项目->构建发布。填写如下。资源服务地址可以随意填写URL,点击构建,构建完成后点击文件夹按钮。进入如图路径,点击文件夹根目录->进入本机目录。进入engine目录,ohos就是HarmonyOS项目。编译HarmonyOS工程,使用DevEcho打开工程根目录/native/engine/ohos文件。用数据线连接HarmonyOS设备(手机、平板、智慧屏)进行自动签名。自动签名方法不再详细描述。打开ohos项目级build.gradle文件。debug签名是刚才的自动签名,release签名是cocosexport项目自带的手动签名文件,现在已经失效了。我们需要将调试签名内容替换为发布内容。我们需要在2个项目级别的build.gradle上进行签名替换。替换ohos/build.gradle。替换ohos/entry/build.gradle。编译工程并安装到HarmonyOS设备中。运行项目。4、导出OpenHarmony工程(1)准备OpenHarmony开发板(九联虎、大宇200),烧录3.2beta2版本系统(9月以后的版本可以从dailybuild下载)。3.2.5.5版本原生和ETS(API)目前只支持该版本,SDK见文末。(2)添加SDK/NDK版本3.2.5.5考虑到新版本已经到了3.2.7.x,目前导出OpenHarmony-Cocos项目需要3.2.5.5版本,所以我们需要手动添加SDK和NDK。解压ets-windows-3.2.5.6-beta2压缩包,解压3.2.5.5-ETS文件。解压到OpenHarmonySDK-ETS路径下,文件夹名称由ets改为3.2.5.5。如果ETS-SDK文件夹中存在3.2.7.x版本,需要重命名该文件并添加几个字符后缀,这样IDE就检测不到该版本SDK,只会使用3.2.5.5版本.(IDE默认使用最高版本,所以需要重命名所有高于3.2.5.5的文件)。进入3.2.5.5文件夹,修改配置文件。修改oh-uni-package.json以防止更新。{"apiVersion":"9","displayName":"Ets","meta":{"metaVersion":"3.0.0"},"path":"ets","re??leaseType":"Beta2","version":"3.2.5.5"}需要注意的是,进入IDE时会提示SDK可以升级。不要升级!解压native-windows-3.2.5.6-beta2文件,将压缩包中的native文件夹解压到OpenHarmony-SDK路径下的native文件夹中,同样将文件夹名称改为3.2.5.5(原为native)。同样,如果此时native文件夹有高版本,也需要加上后缀,让IDE无法识别高版本。(3)配置OpenHarmonySDK/NDK点击CocosCreator->Preferences->ExternalPrograms。跟踪到OpenHarmonySDK的根目录即可。(4)构建OpenHarmony工程我们继续使用第三节创建的Cocos工程,但这里使用3.6.1-oh版本编辑器打开。我们在第一节中安装了编辑器并将其命名为3.6.1-oh。由于这里使用的是九连虎版demo,其内置屏幕分辨率为800x400,我们需要重新设置分辨率。点击Project->ProjectSettings,设置宽度和高度。这里可以根据实际分辨率设置。构建项目。单击项目->构建发布->新建构建项目。检查导出OpenHarmony项目并检查调试模式。单击构建。同样,单击OpenHarmony列下的文件夹。项目根目录/native/engine/openHarmony文件夹为导出的OpenHarmony项目。(5)编译OpenHarmony工程。同理,使用DevEcho打开openHarmony项目。项目结构如下。自动签名。连接开发板,编译运行程序。五、注意事项(1)OpenHarmony/HarmonyOS的SDK路径可以在tools-sdkmanager中查看。(2)HarmonyOS项目导出需要在Cocos偏好设置->外部程序中配置相应的SDK和NDK路径,导出的项目默认使用JAVA-API5。自动签名时需要保证ohos下的build.gradle文件和入口目录下的build.gradle文件的debug签名和release签名一致,都是自动签名信息(自带的签名文件它不可用)。(3)OpenHarmony工程导出目前只能使用3.2.5.5-ETS和NATIVE版本和3.6.1-oh版本编辑器,下载资源在文末。构建发布时,请记住检查调试模式。6.结论在HarmonyOS这边,Cocos引擎提供了3D场景渲染功能。目前Cocos端反射调用HarmonyOS的分布式能力,可以做出很有意思的东西。另外,OpenHarmony端需要等待Cocos端进一步适配,开发板本身的渲染和计算能力也是硬性条件。文章相关附件可点击下方原文链接下载:https://ost.51cto.com/resource/2443。https://ost.51cto.com/resource/2445。https://ost.51cto.com/resource/2446。了解更多开源请访问:开源基础软件社区https://ost.51cto.com