
A retina screenshot from the cocos3d Mashup Demo, insanely overloaded with mesh particles, text labels, animated robots, skinned hammers and running characters!
Update [2012-11-13]:
I’m pleased to announce that cocos3d 0.7.2 has been released.
This release adds heterogeneous 3D mesh particles, enhanced UIViewController integration, ray-casting enhancements, simplified parametric vertex array allocation and management, performance and memory usage improvements, enhanced logging, and detailed GL error tracing.
Features added in this 0.7.2 release include:
- Added mesh particles as a type of particle system.
- Particles can now be constructed from any template mesh, (sphere’s, boxes, planes,
PODmodels, etc). - A single emitter can support particles constructed from different template meshes.
- Mesh particles can individually move, rotate and scale in three dimensions.
- Particles can be added manually to an emitter, effectively creating a generic mesh batching system.
- All mesh particle vertices are manipulated in main memory and submitted to the GL engine in a single GL call.
- Particles can now be constructed from any template mesh, (sphere’s, boxes, planes,
- Improved integration with
UIViewandUIViewController:- New
CC3UIViewControllerclass supports auto-rotation of the 3D/2D scene to the device orientation using standardUIKitauto-rotation. - Both iOS6 and pre-iOS6 rotation mechanisms are supported.
- The
CC3UIViewControllerloadViewmethod now creates an appropriateCC3EAGLView, removing the need to create the view outside the controller in theAppDelegate.
- New
- Added the ability to determine the individual mesh faces, and the exact mesh location, intersected by a ray (for example from a touch).
- Added the
vertexContentTypesproperty toCC3MeshNode&CC3Meshto simplify the creation of vertex arrays within a mesh. Parametric meshes (spheres, cones boxes, planes, etc.) can now be created with any type of vertex content. - Added several new parametric mesh population methods, including parametric cones and invisible touch-boxes.
- Added support for bitmapped text labels as a 3D mesh.
- Added additional camera movement and framing methods.
- Added a build setting to provide the ability to trace
GLerrors to the exactGLcall that triggered the error. - Automatic handling of textures with pre-multiplied alpha channels.
- Memory and performance improvements including the use of minimal matrices, removal of many redundant
GLcalls, and the use of bitfields for mostBOOLs.
Find out what’s new here.
cocos3d is a significant extension to cocos2d 1.x that adds a full 3D modelling space, including 3D mesh models, perspective projection cameras, materials, and lighting. With cocos3d, you can populate your world with 3D models exported from 3D editors such as Blender, 3ds Max or Cheetah3D, combined with models you create dynamically in your Objective-C code.
Integration with cocos2d 1.x is seamless. Rendering of all 3D model objects occurs within a special cocos2d layer, which fits seamlessly into the cocos2d node hierarchy, allowing 2D nodes such as controls, labels, and health bars to be drawn under, over, or beside 3D model objects. With this design, 2D objects, 3D objects, and sound can interact with each other to create a rich, synchronized audio-visual experience.
Like cocos2d, cocos3d is written entirely in Objective-C, and many of your favourite cocos2d paradigms, such as CCActions, are available for 3D objects. And like cocos2d, it is distributed for free under an MIT license.
Continue reading ‘Updated cocos3d – a 3D extension for cocos2d’






Recent Comments