sidebar features
sidebar content

Go Back   Blender Artists Forums > General Forums > Python & Plugins

Reply
 
Thread Tools
NichFrancis NichFrancis is offline
Member
 
Join Date: May 2004
Location: Denmark
Posts: 23
Hi guys.

I'm the User Experience guy on Unity (www.unity3d.com) - a game making app some of you might have heard of.

We're annoyed at our less-than-perfect integration with Blender, and are looking for somebody to make us an export plugin. And yeah, we're willing to pay for it ;-)

Basically, we would like someone to author an ascii FBX exporter for Blender. The goal is to get fully skinned, animated, textured models into Unity (like we currently do for Maya, Max, Cinema4D). In addition to making the Blender/Unity integration better, this script would also make it easier for Blender to integrate with the above apps as well as dedicated animation apps like Motion Builder. A large part of the game industry is tied in to the fbx format, and we would like to give a hand at getting Blender to join the show.

Requirements: A mac (so you can test the Unity integration) and preferably some exporter-writing experience. The FBX ASCII file format is a pretty straightforward format, so it shouldn't be too hard.

If you're interested, drop me a mail at nicholas@otee.dk and let's talk.
#1   Old 21-Mar-07, 10:21   
Reply With Quote


ideasman42's Avatar
ideasman42 ideasman42 is offline
Member
 
Join Date: Mar 2004
Location: Australia
Posts: 3,488
Hi, just wondering if the resulting exporter could be GPL's and released with Blender?
............................................
BPython Cookbook * How to get features into Blender * Code Metrics
Hire Me
ideasman42<at>gmail.com
#2   Old 21-Mar-07, 11:37   
Reply With Quote
NichFrancis NichFrancis is offline
Member
 
Join Date: May 2004
Location: Denmark
Posts: 23
Not GPL'ed - then we can't ship it with Unity. A BSD-styled license would be fine, though. Basically, we want everybody to gain from this - if Blender can accept public domain/BSD style licenses then by all means, ship the thing!
#3   Old 21-Mar-07, 12:11   
Reply With Quote
ideasman42's Avatar
ideasman42 ideasman42 is offline
Member
 
Join Date: Mar 2004
Location: Australia
Posts: 3,488
I dont see how GPL could stop you from shipping it. If it was GPL it could be bundeled with blender and then you could just distribute blender.
............................................
BPython Cookbook * How to get features into Blender * Code Metrics
Hire Me
ideasman42<at>gmail.com
#4   Old 21-Mar-07, 12:57   
Reply With Quote
NichFrancis NichFrancis is offline
Member
 
Join Date: May 2004
Location: Denmark
Posts: 23
Unity is not GPL - it's a commercial closed source app. Possibly this could be done - since we're not binarily linking, but using some sort of cross-application communication - but we're not going to open that can of worms. Getting a lawyer to verify that yes, we can do this (under numerous copyright laws) is gonna be far more expensive than the actual development. So BSD, Public Domain, whatever. But not a viral GPL.

We can just do it in public domain. then blender can ship a copy of that under GPL & we can ship a copy of it without any particular license. That should solve any issues. (I'm assuming the reason you want it to be GPL is because the BPL has some requirement from that NaN venture funding & the deal that was there to get the code opened up afterwards?)

EDIT: And we're not really interested in bundling blender - that would tie our update cycle together with Blender, which will be a major hassle for us.
#5   Old 21-Mar-07, 13:51   
Reply With Quote
86point5's Avatar
86point5 86point5 is offline
Member
 
Join Date: Nov 2004
Posts: 395
(Obligitory 'I am not a lawyer' so this is not legal advice.)

If you are paying for someone to develop it (work for hire) then the copyright is yours to release as you like. There should be no problem for you to release as a dual license (like MySQL does) where you release it as part of your product under your product's license, and also release it as GPL so that it can be included with GPL software.

The main thing that would affect this is that you would need to know ahead of time what license/licenses you were using ahead of time so that the developer doesn't include any code that would be invalid for the license specified. (ie. using GPL XML parsing libraries for something being released with a commercial license.)

Dual licensing gets tricky in that if someone fixes a bug in the GPL version, you may not be able to incorporate the fix in your version (depending on how you write your license and handle code commits and developer copyright sign-offs - you'd probably want to see how someone like MySQL handles it.)

--

Conversely, if you want to go with a single license - if you go the route of the BSD license, you should be able to distribute it with Blender anyway, as long as you use the revised BSD license (which removes the 'advertising clause' that makes it incompatible with the GPL)
http://www.gnu.org/licenses/gpl-faq.html#OrigBSD

I think the main concern here is that in order be distributed with Blender, it would need to be under a GPL license. Either of the above (dual licensing, or re-licensing BSD as GPL) routes should satisfy that.
#6   Old 21-Mar-07, 14:06   
Reply With Quote
ideasman42's Avatar
ideasman42 ideasman42 is offline
Member
 
Join Date: Mar 2004
Location: Australia
Posts: 3,488
had a look and couldn't find any ASCII FBX docs, do you have some examples?
............................................
BPython Cookbook * How to get features into Blender * Code Metrics
Hire Me
ideasman42<at>gmail.com
#7   Old 21-Mar-07, 14:16   
Reply With Quote
NichFrancis NichFrancis is offline
Member
 
Join Date: May 2004
Location: Denmark
Posts: 23
Basically, I don't care about the license. I just care about getting the work done. How about doing without any copyright. Then blender can just take the code and do it under GPL.

We do not want to make use of external libraries. FBX Ascii is a simple format. No XML, no nothing.

Before we go any further on the (intensely boring) license stuff, is anybody actually interested in doing the job?
#8   Old 21-Mar-07, 14:16   
Reply With Quote
ideasman42's Avatar
ideasman42 ideasman42 is offline
Member
 
Join Date: Mar 2004
Location: Australia
Posts: 3,488
If you can give an example file or some docs, Ill look at writing an exporter, no cost and include in blender, otherwise sombody else can do it, I dont mind.

exporting bones with animation will be the hard part, anything with armatures generally is... not sure about that part as a freebe.
............................................
BPython Cookbook * How to get features into Blender * Code Metrics
Hire Me
ideasman42<at>gmail.com
#9   Old 21-Mar-07, 14:26   
Reply With Quote
NichFrancis NichFrancis is offline
Member
 
Join Date: May 2004
Location: Denmark
Posts: 23
Sounds great! I'm making some sample files right now.

The trick with bones (or anims in general) would be to bake the animations. Armature animations are what's actually missing from our current setup:

We've used the collada exporter from blender. This gets basically everything (to my knowledge) except animations. The problem with using collada is that basically the Autodesk FBX SDK (which we use in Unity) is not very good at collada - Seems to me they put it in to pay lip service to the format (wanna crash 3ds max? Try importing a collada model ;-) - hence, we need FBX (which is what we use with Maya, Cinema4D, Cheetah3D) etc.

thing is: at the moment, blenderheads can't do characters. That is a damn shame, so that is what we're basically out to solve. If its a problem, maybe we could fund you doing that part?
#10   Old 21-Mar-07, 14:48   
Reply With Quote
ideasman42's Avatar
ideasman42 ideasman42 is offline
Member
 
Join Date: Mar 2004
Location: Australia
Posts: 3,488
Cool, Ill be up for a few hours, if you post an example Ill see if I can something started..
if you can, a simple example like a cube, and something more complex - animated character.

would the animations be baked into the verts (like MD2) or bones?
............................................
BPython Cookbook * How to get features into Blender * Code Metrics
Hire Me
ideasman42<at>gmail.com
#11   Old 21-Mar-07, 15:00   
Reply With Quote
NichFrancis NichFrancis is offline
Member
 
Join Date: May 2004
Location: Denmark
Posts: 23
Hmm - can't seem to upload files. Drop me a mail at nicholas@otee.dk & I'll send 'em to ya.

Can't wait to get this thing going!

PS: Do you have a Mac? Then I can send you a license for Unity for testing.
#12   Old 21-Mar-07, 15:03   
Reply With Quote
bigkahuna bigkahuna is offline
Member
 
Join Date: Nov 2004
Posts: 931
Hi Nicholas! Great to see you here!

If I can be of assistance, let me know. As you already know, I have both Unity Pro and Blender as well as Macs and PC's. Don't have any skills in this area, but Ideasman is -the- man to talk to for Blender export/import scripts. FYI, OTEE (the creators of Unity) are a great group to work with. Hope you guys sort this out.
#13   Old 22-Mar-07, 04:37   
Reply With Quote
NichFrancis NichFrancis is offline
Member
 
Join Date: May 2004
Location: Denmark
Posts: 23
Animations go into bones...
#14   Old 22-Mar-07, 12:54   
Reply With Quote
ideasman42's Avatar
ideasman42 ideasman42 is offline
Member
 
Join Date: Mar 2004
Location: Australia
Posts: 3,488
Iv tried to match the format of existing FBX files,
This exports mesh objects only verts,normals and faces so far.

http://members.optusnet.com.au/cjbar...t_fbx-ascii.py

Suzanne exported
http://members.optusnet.com.au/cjbarton/test.fbx

I tried to convert the FBX back to OBJ and it results in a Blank file, yes, this is work in progress
Im not sure why this is, but from comparing 2 files the match is fairly good, probably a character off somewhere. If you have your own FBX importer you could debug.

It may also be that Im not exporting any materials at the moment

Are you using the FBX sdk for loading the models?
do you use multiple UV channels?


for weighting etc Ill need some example files.
............................................
BPython Cookbook * How to get features into Blender * Code Metrics
Hire Me
ideasman42<at>gmail.com

Last edited by ideasman42; 22-Mar-07 at 15:11.
#15   Old 22-Mar-07, 15:02   
Reply With Quote
bigkahuna bigkahuna is offline
Member
 
Join Date: Nov 2004
Posts: 931
Here's what your Suzanne model looks like after importing into Unity:





The only apps that would open an ASCII .FBX file were Unity and Carrara, didn't work in either Modo or Cinema 4D. Mesh looks the same in both apps.

I also tried exporting a mesh of my own, but even though the exported file is 2.6 MB, when imported all that appeared was an empty place holder. Here's the file (FBX and Blend) if you want to take a look:

http://www.pmudesign.com/downloads/Miner.zip

Last edited by bigkahuna; 23-Mar-07 at 16:02.
#16   Old 23-Mar-07, 16:00   
Reply With Quote
ideasman42's Avatar
ideasman42 ideasman42 is offline
Member
 
Join Date: Mar 2004
Location: Australia
Posts: 3,488
Thanks for the feedback,

Iv updated the exporter (same location) after doing some DIFF'ing with simple objects to see whats wrong, Also managed to test with some FBX supporting Apps and it works now.

Added basic support for materials also

Make sure you select the data before you export it.
............................................
BPython Cookbook * How to get features into Blender * Code Metrics
Hire Me
ideasman42<at>gmail.com
#17   Old 23-Mar-07, 18:23   
Reply With Quote
bigkahuna bigkahuna is offline
Member
 
Join Date: Nov 2004
Posts: 931
Ok, Suzanne now works fine. But my model crashes Unity and opens to an empty scene in Carrara. Have you tried the model I included above? Just curious if you're able to open the resulting FBX file in anything.
#18   Old 23-Mar-07, 19:05   
Reply With Quote
e1two e1two is offline
Member
 
Join Date: Nov 2006
Posts: 47
HI,

Having an fbx exporter for blender would be great.
It's a great format for moving object, bones and vertex data across multiple
platforms. I'm not a coder, so not a lot I can do to help there, but if you need
people to basically troubleshoot the exporter, I'm up for that.

I downloaded the exporter as is and did a few tests moving stuff from blender
to motionbuilder. Everything works so far ...

Thanks for putting time into this!

e1
#19   Old 23-Mar-07, 21:27   
Reply With Quote
ideasman42's Avatar
ideasman42 ideasman42 is offline
Member
 
Join Date: Mar 2004
Location: Australia
Posts: 3,488
Hi, if anyone could provide a FBX with weight painting and bones that would be great.

Also an example of Multiple UV layers. Would be nice to support since no exporters I know of support blenders Multi UV's at the moment.
............................................
BPython Cookbook * How to get features into Blender * Code Metrics
Hire Me
ideasman42<at>gmail.com
#20   Old 23-Mar-07, 21:47   
Reply With Quote
Reply

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 23:31.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Logo and website design copyright © 2006 by froodee design bureau. All rights reserved.
Other Blender Sites
new icon Blender Homepage »
The official Blender homepage
new icon BlenderNation »
Fresh Blender News, Every Day
new icon Blenderart Magazine »
Blender articles, tutorials and images.
Blender Headlines
Featured Artwork
Short animation: Barrel by Phlopper
Woolly mammoth by sebastian_k
Photorealistic classic furniture by eMirage
Social BlenderArtists