Unity NGUI转Cocos Creator移植插件

废话不多说, 直接看效果.

###12.5日更新

  • 添加对Filled Sprite的支持
  • 修改Label的对齐方式, 行高
  • 增加Label对bitmapFont的支持
  • 增加子节点按深度排序功能
  • 添加ScrollView + Grid的支持(不完美方案)

详见github README

##插件说明
需求将Unity项目移植到CocosCreator(H5). 如果UI全部重拼一遍太费时费力. 故抽出时间写了这个扩展. 用于Unity NGUI制作的UI prefab移植到Cocos Creator.

NGUI版本: 3.8.2
CocosCreator版本: 1.9.0

暂时没精力顾及其他版本, 只用到一些基础方法, 如果有API变动请自行修改.

##工作原理
将Unity中prefab的节点父子结构, 以及节点上NGUI的UISprite, UILabel, UITexture等控件的有用信息保存至json文件. 在CocosCreator中解析后再创建.

目前可移植项:

  • 节点: position, scale, rotation(仅z轴)
  • UIWidget: 锚点信息, 宽高, 颜色
  • UISprite, UITexture: 图集, 图片, 是否使用Slice, 九宫格Border信息
  • UILabel: 字号, 描边颜色宽度, overflow

可以覆盖大部分需求.

使用方法

  1. 将 ExoprtPrefabToJson.cs 放至Unity工程Editor目录下. 在Prefab上右键导出Json文件.
  2. 将 prefab-creator 文件夹放至CocosCreator工程packages目录下. 在扩展菜单中选择 Prefab生成工具 打开扩展窗口. 配置导出路径以及图片文件夹. 图片文件夹内放入需要的资源, 支持图集和散图, 图集文件名/图集内图片文件名/散图文件名要与Unity端一致!!!. 之后拖入第一步导出的Json文件, 点生成即可.
  3. 首次创建时需要加载文件夹内的所有图片, 根据图片数量可能需要较长时间. 所以建议移除文件夹内的无用图片资源.

项目地址:

https://github.com/glegoo/ngui-cocos-creator-convertor
https://gitee.com/glegoo/ngui-cocos-creator-convertor

11赞

赞赞赞赞

虽然用不上但是还要 给你点赞

赞赞赞

不能导入json呢 :joy:

mark

可以转回unity吗?haha

我是说将 ngui通过该插件得到的接送文件,再creator中拖入到该插件的时候失败,
具体现象类似于 creator中拖入的类型不对 一样的表现

我猜测你是使用了1.10+的ccc版本. json文件变成了单独的资源类型
修改panel的index.js文件

// 此处type改为json
<ui-asset style="flex:1;" v-value="json" type="text"></ui-asset>   

加载后的使用方法也略有不同. 参考https://docs.cocos.com/creator/manual/zh/asset-workflow/json.html?h=json

等我有时间再写一个高版本可用的吧

你想折腾死我吗:9:
理论上是可以的, 你反着写一遍就是了

沒用過unity3d 請教下 為什麼有這個需求啊U3D不是自已可以上Web, 為什麼會需要轉成CocosCreator 望指導經驗

赞赞赞

并非能与不能的问题, 而是哪个更适合:slightly_smiling:

已经上架商店~
地址: http://store.cocos.com/stuff/show/178988.html

期待有UGUI转Cocos Creator的工具!

上面的unity插件在unity里面加载报错,是怎么回事?
报错信息:
Assets\Editor\ExoprtPrefabToJson.cs(61,22): error CS0246: The type or namespace name ‘UIWidget’ could not be found (are you missing a using directive or an assembly reference?)

啥时候做个可以把CocosCreator预制体移植到Unity NGUI预制体的插件