From a 3D modeler to an iPhone app - what are best practices?
I am quite new in 3D programming on iPhone and I would like to ask for hints about organizing a work between designers and programmers on that platform. Most of all: what kind of tools, libraries or plugins cooperate the best on both sides.
Although I consider the question as looking for general best-practices advice I would like to find a solution for my current situation which I describe further, too.
I've already done some research and found following libraries:
- SIO2
- Khronos OpenGL ES 1.x SDK for PowerVR MBX
- Unity3D
- Oolong Game Engine
I've checked modellers or plugins to them giving output formats readable by those tools:
- obj2opengl Wavefront OBJ to plain header file converter
- Blender with SIO2 exporter
- iphonewavefrontloader
- Cheetah3D
- PVRGeoPOD for 3DS / Maya
Unfortunately I still have no clear vision how to combine any of that tools to get a desinger's work in an application. I look for a way of getting it in the most possible complete way: models, lights, scenes, textures, maybe some simple animations (but rather no game-like physics), but I still got nothing.
And here comes my situation: I would like to find right way to present few (but quite complicated) models from a single scene. The designers mostly use 3DS Max 9, sometimes 10 (which partly prevents using PVRGeoPOD) and are rather reluctant to switch to something else but if there's no other choice I suppose it would be possible.
The basic rule I've already found in some places "use Wavefront OBJ" not always works. I haven't got any acceptable results with production files, actually. The only things worked fine were some mere examples. Some of my models did imported incomplete, sometimes exporters hung or generated enormous files not really useful on an iPhone, sometimes enabling textures (with GL_TEXTURE_2D) just crashed an app.
I know it might be a problem with too complicated models or my mistakes coming from inexeperience but I am not able to find any guidelines for that process to have streamlined cooperation with designers.
I am even willing to write some things from scratch in pure OpenGL-ES if it's necessary, but I would like to avoid what might be avoided and get the most from the model files. The best w开发者_开发百科ould be the effect I saw on some SIO2 tutorials: export, build & go. But at that moment I've got only "import, wrong", "import, where are textures?", "import, that almost looks fine, export, hang" and so on...
Is it really so much frustrating or I am just missed something obvious? Can anybody share his/her experience in that field and tell what kind of software uses for "making things happen"?
Well I can't say I know the perfect way to do this but after some experimenting I did get something working doing the following:
created the model(s) in Blender, exported it to wavefront .obj format (TRIANGLE,normals,hq) then used obj2opengl.pl script to convert the model to a header file(.h) then added the header in the project and used it in GLGravity - which is a sample program from Apple and modified the drawView function
maybe that could be a starting point for you too, just to get something up and running?
精彩评论