Finding a 3D Modelling Application for iPhone Development

by Rob Bajorek on May 7, 2009

After starting down the road of OpenGL development on the iPhone, I knew I needed a 3D modeling application to do anything fancier than spheres and cubes. My first try at an application was Blender. Blender has a lot of fans, but it’s also quite complicated. Just going through the tutorials was a chore. I didn’t want to learn how to draw fancy shapes like monkeys; simple polygons were sufficient.

After getting some basic models together in Blender, I had difficulty exporting into a usable format for the iPhone. The Wavefront OBJ format is the generic 3D model standard, and there is an importer for iPhone out there. It’s not feature complete, and doesn’t support UV texture mapping at this time. That’s a big hole for my purposes.

I played with Blender for a couple of days, but I struggled getting textured Blender objects into my iPhone project. Other people do it, so I’m sure it’s my lack of knowledge in that field. However, I don’t plan on being a 3d modeler; I’m the software architect. I need to spend my time on my area of expertise. But my needs were simple (mostly basic textured polygons), so I still preferred to do it myself.

What did I do? I ended up buying Cheetah3D, made my shapes quickly (and easily!), and exported it to a .h file in under 15 minutes. Now that’s what was looking for from Blender!

All done? Close, but not quite. Cheetah3D’s .h export feature makes an OpenGL-compatible file, not an OpenGL ES one. But, it took under an hour to hammer out a Perl program to convert the header file into an iPhone-usable one. Now I just run my Perl program over Cheetah’s exports and *poof*! Add the new header file to my iPhone project, import it at the appropriate place, and it Just Works.

End result? Cheetah3D is doing everything I need in a 3D tool. Not to say that Blender is a bad program. Far from it; it has an enormous amount of power and it’s free. But just like you won’t recommend Photoshop to get rid of red-eye, for my basic needs Cheetah3D does the job.

I have some requests for my Perl program, so as soon as I clean it up I’ll put it out for you to use.

[Update 2009/05/09] The Cheetah3D -> iPhone header converter has been posted.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Reddit
  • Slashdot
  • StumbleUpon

{ 3 comments… read them below or add one }

1 Tom June 4, 2009 at 9:52 pm

Hi Rob,

thanks for great post! I installed the the test version of Cheetah3D and think this is a quite nice app. And the price compared to the big 3D Apps like Maya/Max is just a bargain…

Were you able to use Cheetah3D for texturing and importing the textures to your iPhone app?

Would you mind to post your Perl converter script?

Thanks

Thomas

Reply

2 Rob Bajorek June 4, 2009 at 10:32 pm

Hi Thomas,

Yeah, Cheetah3D is very affordable and probably can do everything that most users need.

I did use Cheetah3D for textures successfully. The actual loading of textures in your app is a separate step, but very easy to do. I have an Xcode project I used for testing the converter that spins around some textured shapes from C3D. I’ve sent it to some readers via email, but I’m cleaning it up and will post it on the site before I go to WWDC next week.

You can download the converter now at “http://cocoaswirl.com/2009/05/09/cheetah3d-header-file-converter-for-iphone/”. In fact, I just posted an update tonight!

Thanks for your comments, and let me know how C3D is working out for you!

Reply

3 RJ Moore September 6, 2009 at 5:03 pm

How do I get cheetah3D? is it an app for the ipod touch or iphone? how similar is it to google sketchup?

Reply

Leave a Comment

Powered by WP Hashcash

Previous post:

Next post: