【最终版】Cocos2d-x&JS v3.7 发布!

大家好!

[color=#ff0000][size=3]很高兴告诉大伙,Cocos2d-x&JS v3.7发布了。[/size][/color]这对于我们来说是个大版本,在这个版本中有很多重大的更新:

1.Cocos2d-x未来将只会发布final版本,所有的alpha,beta,rc版本只会在社区发布,包括中英文论坛,开发者QQ群等。而final版本会跟随Cocos同步发布。

2.v3.7版本中,Cocos2d-JS已经被合并到Cocos2d-x中,从现在开始,开发者不必纠结应该使用哪一款产品。在Cocos2d-x中,你同样可以使用C++/Lua/JS,然后发布在Windows/WP8.1/Android/Mac/iOS/Linux平台,如果使用JS的话,还可以发布在HTML5平台。

3.Cocos Framework也被统一到Cocos2d-x中,并且支持源码编译定制版Cocos Framework。为了节省编译时间,提升开发效率,Cocos Framework一直是基于Cocos2d-x的预编译版本。在v3.7之前,开发者一直无法定制Cocos Framework,而这个版本支持开发者由定制过的Cocos2d-x编译出Cocos Framework预编译版本,并作为定制版搭配Cocos使用。

Cocos2d-x 3.7包含:C++,Lua和JS。

[size=3]v3.7 rc1更新:windows phone编译要求Visual Studio 2013 update4 +
[/size]

[color=#0000ff][size=3]Cocos2d-x v3.7的主要功能:[/size][/color]

1.3D物理

这是我们提供的一个用于支持3D物理游戏的物理引擎,它可以很好地配合当前3D模块,比如3D精灵,3D地形等等。我们使用bullet库来作为3D物理的基础,同时将它封装成Cocos 3D物理接口。你可以参考Physics3DTest测试例来查看它的API和用法,我们稍后将会增加相应的文档到programmers guide
  [attachment=94035]
2.3D导航网格

3D导航网格系统提供了一套简单易用的接口可以方便在复杂的3D世界中寻路,你可以通过添加一个三角形列表添加网格,以及添加障碍物。然后你可以通过添加一个代理来执行寻路任务,根据路径移动你的3D精灵到某个指定的地方。你可以参考NavmeshTest测试例来查看它的API和用法,我们稍后将会增加相应的文档到programmers guide
  [attachment=94036]
3.材质系统

材质系统是一个定义了对象的所有可视化信息(将来可能会包含音效和物理信息)的高级系统。相比于直接贴一张简单的2D贴图,你还可以做很多类似多通道渲染的高级功能。更多信息请参考文档
  [attachment=94037]
4.统一的Cocos2d-x

在将Cocos2d-JS合并到Cocos2d-x后,对于C++/Lua开发者来说可能没什么改变,但是对于JS开发者来说引擎的结构可能看起来相当奇怪。不必担心,升级是非常简单的,因为项目的结构和之前仍然是一样的。更多信息请参考讨论贴

5.增强的Polygon Sprite

在前一个版本中Polygon Sprite不是很好用,因此我们重构了Polygon Sprite的API。现在它成了2d精灵的一个内部特性,你可以使用AutoPolygon来给一个精灵生成polygon信息,然后直接用它来创建精灵,非常简单。

    auto pinfo = AutoPolygon::generatePolygon("filename.png");     auto spp = Sprite::create(pinfo);

虽然它在生成polygon信息的时候需要花费点时间,但是你可以缓存下来并进行复用,我们计划将来直接在编辑器中生成polygon信息。
  [attachment=94038]
6.JS的WebView和VideoPlayer(支持原生和HTML5)

WebView和VideoPlayer已经移植到JS中,同时支持iOS,Android和Web浏览器。你参考API和测试例中的使用方法:

[list=1]
[li]WebView API[/li]
[li]VideoPlayer API[/li]
[li]WebViewTest[/li]
[li]VideoPlayerTest[/li]
[/list]

7.支持点九图

点九图是一个可伸展的位图图片,它可以被用作Scale9Sprite的纹理。现在Cocos2d-x支持直接使用一个点九图文件来创建Scale9Sprite节点。更多信息请参考点九图图片格式和制作工具。你也可以参考我们的测试例以了解使用方法。

8.支持Android Studio

Cocos console现在支持使用Andriod Studio1.2编译和打包安卓程序,使用的时候带上–android-studio即可。

cocos run/compile -p android --android-studio

9.支持三星Enhanced API

对于Android 5.0+系统的三星产品,三星提供了一系列Enhanced API以优化Cocos2d-x游戏。它包含了一些很酷的特性,比如:性能加速API,省电模式API,动态FPS的API等等。目前这些API可以在这个头文件中找到,我们稍后将会提供一份更详细的文档。

10.添加SDKBOX支持海外SDK接入

SDKBOX是由Cocos团队打造的新工具产品,它致力于让海外SDK接入更加轻松便捷,給广大瞄准海外市场的开发者新的机遇。是用SDKBOX,开发者可以用一条命令集成第三方服务到自己的工程中:

sdkbox import -b iap

目前已经支持的第三方服务SDK包括:

[list=1]
[li]Tune[/li]
[li]In App Purchase[/li]
[li]AdColony[/li]
[li]Vungle[/li]
[li]Chartboost[/li]
[li]Kochava[/li]
[li]Google Analytics[/li]
[li]Flurry Analytics[/li]
[/list]

正如你所看到的,v3.7中,我们采用了材质系统,集成了polygon sprite以提高我们的2d渲染,更重要的是,我们的3d功能变得越来越完整,3d物理,导航网格,以及之前的相机,3d精灵,3d粒子系统,3d光照,3d地形,天空盒。现在,你可以真正地使用Cocos来做一款3d游戏了。

[color=#0000ff][size=3]下一步计划[/size][/color]

在v3.8中,我们不会做一些新功能,而是会放慢速度,全力优化当前的2d和3d模块。

相当相当不错,支持一个

下一步计划

在v3.8中,我们不会做一些新功能,而是会放慢速度,全力优化当前的2d和3d模块。

这个值得攒一下。。。

希望能够增加减包功能
像是如果我不用3D的话能去掉

:2::2::2::2::2::2::2:

还不支持MAX3D动画.
做再做东西有毛用.特效动画难道全用粒子?不知道你们引擎组的人怎么想的.
我们以前引擎开发者.
第一个做的就是导出MAX骨骼动画和MAX3D动画.没这玩意叫3D?
弄个粒子就想忽悠一群人来做3D?

3.7正式版大概什么时候会发布?

正式版大概7月初发布

我们支持将fbx格式转换为c3b格式,并在Cocos中使用。
而fbx格式是可以从3ds max中导出的。

如果只支持粒子而不支持模型和动画导入的话,那我们连测试例都做不出来呢。。。

不需要的话,就不要引用3d部分的头文件,那么就可以在编译阶段动态剔除

:2:支持国人, 前排留名。 ——沈君杰

新发布的material 有编辑器吗?

自己建一个helloword项目,编译也要50分钟 , 怎么会这么慢。cpp-test 需要更长时间。

编译完成运行还报错。 开发环境是win10+vs2013 update4.。
“Unhandled exception at 0x0F96A375 (libcocos2d.dll) in HelloCpp2.exe: 0xC0000005: Access violation reading location 0x000001F4.”
不断的报类似这样的错误。

报错的截图

我所说的动画.是MAX导出的帧动画.不是骨骼动画.游戏大多特效都是帧动画.我记得3.3版本是不支持的.我不知道.现在有没有做这个功能.
如果帧动画都不支持.实在想不出怎么做3D游戏

你说的是3D转2D的帧动画吧,这种不需要3D库的支持,只需要用普通的2D帧动画方式去处理就可以了

— Begin quote from ____

引用第15楼fysp于2015-06-23 09:57发表的 回 14楼(zwpmain) 的帖子 :
你说的是3D转2D的帧动画吧,这种不需要3D库的支持,只需要用普通的2D帧动画方式去处理就可以了 http://www.cocoachina.com/bbs/job.php?action=topost&tid=307589&pid=1333231

— End quote

他应该说的是部件动画,没有骨骼的,比如线,面体这些的,加入max内置的粒子,再配合自定义属性,就可以做出很好的特效了

是的.
主要是用来做技能特效用的.

— Begin quote from ____

引用第17楼zwpmain于2015-06-23 10:32发表的 回 16楼(flamefox) 的帖子 :
是的.
主要是用来做技能特效用的. http://www.cocoachina.com/bbs/job.php?action=topost&tid=307589&pid=1333276

— End quote

其实已经支持的,不过可能要改改代码,可以看看新版本Animate3D这个东西里面的查找动画的代码,骨骼带这种node的已经支持,但是纯node的就要修改了

这里还有个问题:
3.6的时候就已经存在了,存在的问题是预期遮盖的对象反而造成了镂空效果

3.7依然存在,新问题在于,预期覆盖的2d对象没有办法覆盖住预期要覆盖的3d对象了

其实这边就想求个满足下面需求的实现
1:先绘制背景 大地图世界
2:再绘制3d对象 小伙伴们欢乐的奔跑
3:再绘制UI层 查看主角界面
4:UI层上绘制3d对象(如果RTT可用也可以用RTT,求带3d模型显示的完美教程) 主角/其他对象
5:然后再在ui层上弹出窗口盖住这个3d对象 其他弹出对话框