Author Topic: Exported model missing pieces  (Read 370 times)

Paulo Amorim   «   on: August 29, 2012, 03:42:38 PM »
Hello.

I'm trying to add a charcter animated to my project in the same way I did with version 1, but it's not working. 

In 3DMax I have a body, a structure of bones to the body, the body with skin modifier using the bones and a head model linked to the bones structure (to what would be the head's bone).

Now, what's happening is that when I export the model, all the bones go missing in the final structure and the head, attached to them, isn't there as well. And it's not only invisible, I checked the model structure and it's just not there.

Can I get some help on that? Is it a version problem? I'm using the trial from the website.

As a side note....maybe not too aside...the "Flare3D Preview" option inside 3DMax isn't working as well. It won't open, won't show anything, it doesn't open and then close, it simply don't do anything.

Hope I can get a help on that.

Thanks a lot for the awesome tool!

Paulo Amorim   «   Reply #1 on: August 29, 2012, 03:44:17 PM »
The version is: Flare3D Beta - 1.3 (vc)

Jose Luis Ressia   «   Reply #2 on: September 04, 2012, 02:26:56 PM »
Hi Paulo, 
If 1.3 is the 3D Max plugin version. Then you can download the 2.0 version from Flare3D Wiki.
Try it and let me know if you note some change importing the model.

Paulo Amorim   «   Reply #3 on: September 06, 2012, 04:26:06 PM »
It's the same version.

On the installer it says: "3DMax Plugin Flare3D V2 - Beta V1.3 (vc)"

And it's the same file I used at first. Is there any known problem exporting bones on this version?

Thanks

Ivan Vodopiviz   «   Reply #4 on: September 18, 2012, 03:57:49 PM »
Paulo, did you solve this? If not, would it be possible for you to send us your MAX file?

Cheers,

Paulo Amorim   «   Reply #5 on: October 02, 2012, 03:47:54 PM »
Hi, Ivan. Sorry for the delay, I lost track of this topic.

I just reproduced the error here.

The f3d model can be found at:
http://www.pauloamorim.com.br/temp/fail_sample.f3d

The max model can be found at:
http://www.pauloamorim.com.br/temp/fail_sample.max

And the error I'm getting is the following:

When trying to:

[Embed(source="../media/3d/fail_sample.f3d", mimeType="application/octet-stream")]
public static var failModel:Class;

...
scene = new Viewer3D( this );
scene.registerClass( Flare3DLoader1 );
scene.addChildFromFile( Assets.failModel );

 I get the error:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at flare.basic::Scene3D/get context()[Z:\projects\flare3d 2\src\flare\basic\Scene3D.as:765]
    at flare.core::Surface3D/upload()[Z:\projects\flare3d 2\src\flare\core\Surface3D.as:236]
    at flare.modifiers::SkinModifier/build()[Z:\projects\flare3d 2\src\flare\modifiers\SkinModifier.as:232]
    at flare.loaders::Flare3DLoader1/readSkin()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader1.as:601]
    at flare.loaders::Flare3DLoader1/readModifiers()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader1.as:371]
    at flare.loaders::Flare3DLoader1/parse()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader1.as:358]
    at flare.loaders::Flare3DLoader1/loadBytes()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader1.as:231]
    at flare.loaders::Flare3DLoader1/load()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader1.as:1301]
    at flare.loaders::Flare3DLoader/parse()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader.as:153]
    at flare.loaders::Flare3DLoader/loadBytes()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader.as:121]
    at flare.loaders::Flare3DLoader/load()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader.as:91]
    at flare.system::Library3D/load()[Z:\projects\flare3d 2\src\flare\system\Library3D.as:179]
    at flare.system::Library3D/push()[Z:\projects\flare3d 2\src\flare\system\Library3D.as:154]
    at flare.basic::Scene3D/addChildFromFile()[Z:\projects\flare3d 2\src\flare\basic\Scene3D.as:689]

It really seems like it's a version issue, since not even the preview works in max...but I'm not sure.

Thanks.

Ivan Vodopiviz   «   Reply #6 on: October 02, 2012, 05:00:02 PM »
Yes, it's hard to keep track of the threads, but we're working on it :)

Ok now, checking back your first post, we should have mentioned that visible objects shouldn't be children of non-visible ones like bones because they won't be exported. That should explain why the head doesn't get exported.

I guess is probably a typo, but scene.addChildFromFile( Assets.failModel ); should be scene.addChildFromFile( new Assets.failModel );

Aside from that, I can open your F3D file with Flare Studio and the bones are there. Could you please tell me what versions of Flare3D and Max are you using?

Cheers,

Paulo Amorim   «   Reply #7 on: October 03, 2012, 03:39:59 PM »
Hmmm....about the typo, I'm pretty sure it does work either way! hehe...you're doing a better job than you even know! ;) Anyway I tried and either way I get the same error.

Now...I used it before, on the first version of flare, and I do need that so that I can reduce the calculation for skin modifier using some parts of the body like the head, hat, shoes, etc. linked directly to the bones. And on the older version I also used to manipulate the bones. Isn't it possible anymore? :(

I'm using 3DMax 12 and when I click on the preview button on export it just won't work at all. Nothing happens...is it normal? The Flare version is the latest one I'm able to download from the website. Right now I'm using the "Flare3D_Trial_2048c.swc" and the version I mentioned on the other comment as export plugin.

Thanks, Ivan.

Ivan Vodopiviz   «   Reply #8 on: October 04, 2012, 01:00:55 PM »
No, unfortunately, it isn't possible anymore. This is because the first version of Flare3D performed skinning by software while Flare3D 2.0 does this using the GPU hardware. This, while much faster, comes with certain limitations like the ones you're already noticing. And yes, some people are experiencing issues with Max 2012 and the preview app and we haven't been able to trace the problem (it works fine in our computers).

Now, onto the good news: The exporter issues will be fixed in the next release (Flare3D 2.5) and it's possible to perform bone manipulation by code. You can check an example here. We also have "BoneControllers" that can be used to attack geometry to parts of the skeleton. You can find an example of that in our wiki too.

Would it be possible for you to share your code with me to see if I can replicate that error?

Cheers!


Paulo Amorim   «   Reply #9 on: October 04, 2012, 03:22:40 PM »
Hi, Ivan

I don't really have a code. I just create these files and tried to put it on a scene with the lines I described...and then BAM! Error.

If I remove the object linked to the bone on max it works fine, no errors.

I understand that the error is generated because the bone is not on the hierarchy somehow, so it can not have children.

About the bones issue...well..it's a change for a better performance so we have to accept some changes. I just will have to check on how to work with this new model.

On the other version I would even copy skin info from one model/bones to another on runtime to use separate models for clothes and armor and on runtime blend them into the model. I'm guessing I will have to rethink that as well, right?

(anyways, gratz for all the system and evolution. it's amazing)

Paulo Amorim   «   Reply #10 on: October 04, 2012, 03:33:33 PM »
Oops...looks like I lied...

If I just remove the bones' child, I still get an error:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at flare.basic::Scene3D/get context()[Z:\projects\flare3d 2\src\flare\basic\Scene3D.as:765]
    at flare.core::Surface3D/upload()[Z:\projects\flare3d 2\src\flare\core\Surface3D.as:236]
    at flare.modifiers::SkinModifier/build()[Z:\projects\flare3d 2\src\flare\modifiers\SkinModifier.as:232]
    at flare.loaders::Flare3DLoader1/readSkin()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader1.as:601]
    at flare.loaders::Flare3DLoader1/readModifiers()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader1.as:371]
    at flare.loaders::Flare3DLoader1/parse()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader1.as:358]
    at flare.loaders::Flare3DLoader1/loadBytes()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader1.as:231]
    at flare.loaders::Flare3DLoader1/load()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader1.as:1301]
    at flare.loaders::Flare3DLoader/parse()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader.as:153]
    at flare.loaders::Flare3DLoader/loadBytes()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader.as:121]
    at flare.loaders::Flare3DLoader/load()[Z:\projects\flare3d 2\src\flare\loaders\Flare3DLoader.as:90]
    at flare.system::Library3D/load()[Z:\projects\flare3d 2\src\flare\system\Library3D.as:179]
    at flare.system::Library3D/push()[Z:\projects\flare3d 2\src\flare\system\Library3D.as:154]
    at flare.basic::Scene3D/addChildFromFile()[Z:\projects\flare3d 2\src\flare\basic\Scene3D.as:689]
...

I have to remove the skin modifier for it to work.

If you feel it's necessary I can put together a complete source code for you to try and run to check for the error!

Ivan Vodopiviz   «   Reply #11 on: October 04, 2012, 05:08:32 PM »
That'd be great, yes. It'll be much easier to debug and I'll be able to give you a solution sooner.

I don't really know how did you work with Flare3D 1.0 (I'm too new for that ;)) but you can append animatios contained in one pivot to another pivot using:

Pivot3DUtils.appendAnimation( destinationPivot, animationPivot );

Cheers!


Paulo Amorim   «   Reply #12 on: October 04, 2012, 07:34:56 PM »
Wow...that's shameful, but just as I put everything on a simple project, it worked.

I mean...the objects linked to a bone in any sort of way just disappear. But that's something you already explained and it's ok!

But it's not popping any runtime error.

BUT...I do realize that my other project, since I was adding some stuff for a bigger test, is a mess, and probably the mess created the runtime errors on some strange situation.

Maybe it's a good idea to show you this messy project so you can see the error. The only problem is that this one I would need to send to a private email.

Ivan Vodopiviz   «   Reply #13 on: October 05, 2012, 09:57:31 AM »
Yes indeed, you can send us your project to info AT flare3d DOT com