Hi, i often see questions here, were people are asking for a way to get some 3D Content inside objective C Apps. I have some jobs like this as well, and so far i always used unity. But most often i need not much more than an 3D Model Viewer. So a game engine is a bit of an overkill.
This is what i found so far:
cocos2d gets 3D via a PlugIn. It´s not done yet, can´t tell what exacactly it can handle. See here.
Some pretty clever guy recently wrote a objective C Open GL ES Engine which can directly import some model formats. Looks promising but is GL 2.0 only and has so far no support for animations and colliders.
But it looks very promising and lightweight. Moreover he has exceptionally good OpenGL Topics and Tutorials on his page. Definably worth a visit: ninevehgl
A more feature full thing called iSGL3D. Seams to be able to handle GL 1.1 and 2.0. Has support for skinned meshes and a lot of other stuff. Check it out here.
In iOs 5 there will be GLKit. GlKit shall help setting up GL Apps. It will simplify the creation of EGL Views, loading textures, offer some effects and skyboxes. Might be incorporated by unity some day (I would love to have a viewcontroller controlled unity eagle view!)
Thats the best ones i could find. Of course you might say, there is torque, there is unreal and and and… But thats not the point. Than you can just use unity, as it turned out to be a great solution for feature rich apps. The point is to find exceptionally good lightweight solutions for easy things. If you have any other knowledge about this topic, or experience with the ones i mentioned, it would be great if you could post this info here.
Besides:
Aside from the Blog of the Ninevehgl Maker there are some really good games and opengl related videos in the WWDC 2010 and 2011 section on iTunes U (accessibly via developper.apple.com). Also very interesting to see how they do stuff in open GL only. Seeing that also helps to understand the under the hood stuff of unity.
Something like this i developped myself. You still have a least a hefty 10-20 MB Build even with an empty scene and stripping. Who needs monotouch if everything is already there?
And then imagine some 200 Pages digital newspaper with 1 page having 3D. Do you want to start up the unity engine for that - having a at least 2 Seconds loading time on new devices - and never be able to get completly rid of it? Certainly not.
I think it matters less every single month since devices have already reached the desktop pc performance of a few years ago. I know for sure that as an indie, my only chance is quick development times, not small file sizes.
Oh, you know what the biggest complain by customer review was, for my last app?
“why a hefty 280 MB??”
Well actually there are movies in there and hundreds of images. Thats not even worth trying to get it smaller by dropping unity. But it teaches me, that people don´t like huge apps for no obvious reason (well they dont think of the resulting filesize if you configure cars with 50 different interior leathers times 30 different veneers times 20 manufactorer presets times 30 carpets * 3 different views).
And i can understand that. One of the limiting factors of all mobile devices now and in the near future is storage. While the processing power and graphics power multiplied along the generations, storage did not. You are still at 16 - 64 Gigabytes. And if every app is going to go 1 GB. then you can see how many you can have on the device at a time. Not to mention the download times.
So there is a big demand for small fast informative apps. On the other hand, customers always want to have in their apps as much as possible. So i am in the need to get their demands down to something usable.
Anyways, for game makers that is no concern. But what i meant by “a lot of questions here about getting 3d inside some none game app” is just demanding low footprint solutions.