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

系统 OpenHarmony
本文基于过去踩过的坑坑洼洼,总结一套Cocos游戏开发环境的搭建和一些需要注意的事项。

想了解更多关于开源的内容,请访问:

​51CTO 开源基础软件社区​

​https://ost.51cto.com​

1、Cocos-Dashboard下载

Cocos-Dashboard下载。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

任意点击“从Dashboard安装”,下载Dashboard。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

下载安装完毕后,注册Cocos账号登录即可。

2、Cocos-Editor下载

打开Cocos-Dashboard,选择编辑器->下载编辑器。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

选择下载编辑器3.6.1版本即可。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

这里建议点击设置,将默认下载路径放置C盘以外。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

正常的3.X版本能够导出Web,Windows,Android,HarmonyOS,快游戏等多平台,但是目前导出OpenHarmony工程需要下载特定编辑器。下载资源在文末。

下载CocosCreator-v3.6.1-oh-win-092319(文末)

下载好后解压至Cocos-editor目录下。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

命名为3.6.1-oh,该版本是基于3.6.1版本编辑器的,要与原来的3.6.1编辑器进行区分,也只有该版本才能导出OpenHarmony工程。进入到刚刚解压好的编辑器文件夹内,双击Cocoscreator.exe。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

点击打卡Dashboard,此时成功添加oh版本的编辑器。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

3、导出HarmonyOS工程

(1)新建Cocos工程

安装JAVA API5

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

Cocos导出的是基于Java的HarmonyOS工程,后续我们可通过反射来实现Cocos引擎调用鸿蒙分布式能力。

新建Cocos-3D工程

打开Dashboard,选择项目->Empty 3D,并自定义工程名称,点击创建。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

新建场景scene

点击层级管理器区域,按下ctrl+S。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

点击保存即可。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

创建空节点root

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

创建资源文件夹

在资源管理器的assets文件夹下,创建model文件夹。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

下载文末附件的model.zip,并且解压

全选文件,拖入到刚刚创建的model文件夹中。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

将模型拖入到root节点

点击file.fbx文件拖入到root中,root节点下新增file节点。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

双击file节点,可在场景编辑器中查看。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

如果此时发现渲染的模型太小,点击窗口,让场景管理器获得聚焦,按住鼠标右键,控制WASD方向键进行漫游,找到模型所在位置,调整位置,让模型处在视图中间。

点击Main Camera

可见此时摄像机视角不是我们所想要的正面视角。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

点击Main Camera,确保其为选中状态,同时按下ctrl+shift+F,摄像头将自动调制成预览器视角。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

可见当前摄像机视角画面偏暗。

点击Main light

确保其为选中状态,同时按下ctrl+shift+F,光源将会自动照在当前视角。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

(2)进行网页预览

可在本地回环网址127.0.0.1进行预览。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

(3)编写TypeScript脚本,让model转动起来

首先按下ctrl+S保存一下当前进度。

新建script文件夹

新建TypeScript脚本文件,右键文件夹->创建->脚本->New Component,命名为main。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

设置默认脚本编辑器

编辑器左上角Cocos Creator->偏好设置->外部程序->默认脚本编辑器。

跟踪到常用的代码IDE.exe文件即可,我这里用的是IDEA。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

编写业务逻辑

双击main.ts文件。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

main.ts编写代码如下:

import { _decorator, Component, Node,Vec3} from 'cc';
const { ccclass, property } = _decorator;
@ccclass('main')
export class main extends Component {
start() {
}
update(deltaTime: number) {
this.node.setRotationFromEuler(new
Vec3(this.node.eulerAngles.x,this.node.eulerAngles.y+1,this.node.eulerAngles.z))
}
}

回到Cocos编辑器中,点击root根节点下的file节点,将main.ts脚本拖入到属性检查器中。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

模拟器预览。

可见此时模型以及转动起来。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

(4)导出HarmonyOS工程

配置HarmonyOS-SDK

点击左上角Cocos Creator->偏好设置->外部程序。

设置HarmonyOS-SDK和NDK,HarmonyOS-SDK位置可在Devecho的tools栏下的SDKManager中查看。

如果native-SDK中存在多个版本,需要具体到某个具体版本文件夹中,这里建议使用JAVA-API5以上的版本。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

而SDK一栏只需要具体到根目录即可。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

项目构建

点击项目->构建发布。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

按照如下方式填写。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

资源服务地址随意填写网址即可,点击构建,构建完毕后,点击文件夹按钮。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

进入到如图路径,点击文件夹根目录->进入native目录。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

进入到engine目录,ohos即为HarmonyOS工程。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区


 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

编译HarmonyOS工程

用DevEcho打开项目根目录/native/engine/ohos文件。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

用数据线连接HarmonyOS设备(手机,平板,智慧屏),进行自动签名。

自动签名方式不在赘述。

打开ohos项目级build.gradle文件。

其中debug签名为刚刚的自动签名,而release签名是cocos导出工程自带的手动签名文件,现已失效,我们需要将debug的签名内容替换掉release中的内容。我们需要对2个项目级别的build.gradle进行签名替换。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

替换ohos/build.gradle。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

替换ohos/entry/build.gradle。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

编译工程,安装进入HarmonyOS设备。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

运行工程。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

4、导出OpenHarmony工程

(1)准备

OpenHarmony开发板(九联tiger,Dayu200),烧录3.2 beta2版本系统(可由每日构建下载9月之后的版本)。

3.2.5.5版本native和ETS(API)目前仅支持该版本,SDK见文末。

(2)添加3.2.5.5版本SDK/NDK

考虑到目前新版已经来到3.2.7.x,目前导出OpenHarmony-Cocos工程需要3.2.5.5版本,因此我们需要手动添加SDK和NDK。

解压ets-windows-3.2.5.6-beta2压缩包

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

解压3.2.5.5-ETS文件。

解压到OpenHarmonySDK-ETS路径下,并把文件夹名字从ets改到3.2.5.5。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区


 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

如果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",
"releaseType": "Beta2",
"version": "3.2.5.5"
}

需要注意,进入IDE的时候会提示SDK可升级,千万不要进行升级!

解压native-windows-3.2.5.6-beta2文件

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

将压缩包里的native文件夹,解压到OpenHarmony-SDK路径下的native文件夹中,同样把该文件夹名改为3.2.5.5(原为native)。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

同理,如果此时存在更高版本的native文件夹,也需要添加后缀让IDE识别不到更高的版本。

(3) 配置OpenHarmonySDK/NDK

点击CocosCreator->偏好设置->外部程序。

追踪到OpenHarmonySDK根目录即可。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

(4)构建OpenHarmony工程

我们沿用第三节创建的Cocos工程,不过这里我们使用3.6.1-oh版本编辑器进行打开,在第一节中我们已经安装了该编辑器,并命名为3.6.1-oh。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

由于这里使用九联tiger版演示,其自带的屏幕分辨率为800x400,我们需要重新设置分辨率。

点击项目->项目设置,设置宽高。这里根据实际分辨率进行设置即可。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

构建工程。

点击项目->构建发布->新建构建项目。

勾选导出OpenHarmony工程,勾选调试模式。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

点击构建。

同理,点击OpenHarmony栏下的文件夹。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

项目根目录/native/engine/openHarmony文件夹,即为导出的OpenHarmony工程。

(5)编译OpenHarmony工程

同理,用DevEcho打开openHarmony工程,工程结构如下。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

自动签名即可。

连接开发板,编译运行程序即可。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

5、注意事项

(1)OpenHarmony/HarmonyOS的SDK路径

可在tools-sdk manager中查看。

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

 #盲盒+码# 一站式集成Cocos&OpenHarmony/HarmonyOS开发环境-开源基础软件社区

(2)HarmonyOS工程导出

需要在Cocos偏好设置->外部程序中配置对应的SDK和NDK路径,导出的工程默认使用JAVA-API5。

自动签名时需要确保ohos下的build.gradle文件和entry目录下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。

想了解更多关于开源的内容,请访问:

​51CTO 开源基础软件社区​

​https://ost.51cto.com​

责任编辑:jianghua 来源: 51CTO 开源基础软件社区
相关推荐

2023-04-25 16:30:58

设备开发鸿蒙

2022-09-16 11:27:46

建设微服务

2015-02-02 11:06:21

cocos cocos一站式解决

2014-01-13 09:00:54

PythonDjango

2009-10-23 09:42:24

2017-05-04 21:30:32

前端异常监控捕获方案

2009-07-30 21:16:29

布线服务电缆架设

2023-10-26 06:59:58

FinOps云原生

2021-08-06 15:09:22

鸿蒙HarmonyOS应用

2012-04-09 17:36:38

华为智真

2013-10-24 17:35:01

云网络H3C电子政务

2009-07-27 11:37:04

网络拓扑摩卡

2021-12-07 10:04:34

Azure Kuber场景应用

2018-04-03 13:15:24

AI实验室开发

2017-02-23 16:07:59

网易

2011-06-21 14:35:27

2010-05-06 16:02:26

2022-01-05 20:24:40

鸿蒙HarmonyOS应用

2021-06-11 13:56:27

大数据DataWorks数据开发
点赞
收藏

51CTO技术栈公众号