With a prediction of 4.77 billion mobile phone users in 2017, mobiles are the rising star of digital platform. According to a study conducted by comScore, a leading cross-platform measurement company, 60% of digital media time spent in the U.S. is on smartphones and tablets; out of which 52% is primarily app usage!
At ProtoTech, we have been on the app bandwagon for some time now and have acquired an expertise in developing 3D apps for mobiles, using tools like Cocos 3D, Hoops Visualize, Unity, OpenGL ES. In this blog, we share our experience of using CoCos 3D for developing 3D iOS app for one of the North American technology companies dedicated to seamless digital manufacturing, machining and shop floor management.
Snapshot of Cocos 3D:
CoCos 3D is a popular open source framework used for developing sophisticated dynamic cross platform 3D games and applications. It is built on top of Open GL ES framework which runs on all iOS devices and uses Objective-C and Xcode native to iOS developers. Cocos3D is easy to use and allows one to effortlessly create full 3D game or application without switching over to C or C++ unlike other 3D frameworks. Cocos3D also works with Cocos2D, a popular 2D game engine. Other useful features include parametric meshes, model replication, scene lighting, animation and blending, multi- texturing etc.
6 Reasons Why ProtoTech Chose Cocos3D for iOS App:
- Supports OpenGL ES 2.0 or OpenGL ES 1.1 on iOS and offers a seamless integration with the iOS UIView Controller framework
- A special Cocos2D layer is used for rendering of all 3D model objects where 2D nodes and health bars can be drawn under, over or beside 3D model objects to create a rich, synchronized audio-visual experience
- Pluggable framework in which you can load 3D models exported from popular 3D editors or 3D object files like Collada or PowerVR POD
- Saves device memory by sharing mesh data between 3D objects and boosts performance and memory management
- Automatic OpenGL state machine shadowing which reduces OpenGL engine calls and increases OpenGL output
- Cocos3D has documented API in Objective-C eliminating the need to switch to C or C++ to work with 3D components
What’s Great about COCOS 3D!
- Commercially viable: Being open source, Cocos 3D is commercial friendly and comes with MIT license
- Flexible: It works well with both open and closed source apps and games. It’s extendable and is compatible with any third-party library besides all of Apple’s intuitive APIs
- Easy to use: It has a clean API, offers good documentation and is actively supported by the Open source community
What could be Better!
OpenGL ES can be used to customize the standard behavior of a framework, especially the drawing part but not all customizations are possible and more importantly free, due to which you may have to reuse a base framework class. For example, the shaders in Cocos2D 2.0, meant for a special blending mode like a tinting effect are not free and the color attribute for CCSprite does not render the same result. Consequently, you may have to write your own shader and plug it into the sprite to achieve the desired results. Besides this, in Cocos3D, you also need to come up with custom scene-format, parser and integrate the physics engine.
Our experience suggests that the visual editor in Unity3D makes it easier to create the game-world. Alternatively, you can explore other tools that are cross platform friendly and popular.
These are just some minor hiccups for an otherwise great framework!
At ProtoTech, we have acquired decade-long experience in designing, developing and implementing bespoke Engineering software solutions on desktop, mobile and cloud for our global clientele.
Get in touch with our mobile app experts to learn more about this topic or discuss ideas on building your FUTURE 3D MOBILE APP!!!