Jump to content

[SOLVED] Frustration with trying to convert .X file


Pixel Perfect
 Share

Recommended Posts

I am trying to open a .X format model file which contains a facially animated head so I can convert it to gmf format and failing miserably to do so! It contains a series of 5 separate meshes plus the animation data.

 

It opens and animates perfectly in the Microsoft DirectX viewer app, so I know inherently it works, however I can either open it in apps with importers that don't support x file animation in which case I get the 5 meshes correct or in apps which do support x file animation in which case I always get the face severely distorted and it fails to animate correctly!

 

Apps or converters tried so far:

 

meshconv.exe (Leadwerks Engine tool) - fails to export the animation - meshes are ok

UU3D - Imports it all but head mesh is screwed up

Fragmotion - Imports it all but head mesh is screwed up

Milkshape - Imports the mesh ok but no animation (does not support animation import for x files)

trueSpace7.6 - Does not even support x file import

Deep Exploration v3.5 - Imports the mesh ok but no animation

3D Object Converter - Imports the mesh ok but no animation

Blender 2.61 - Does not support x file format import (I believe 2.5 did but not multiple meshes)

DeleD - Imports the mesh ok but no animation

 

I believe the file was originally created in 3DS Max and exported using the PolyTrans geometry converter from Okino Computer Graphics. It would seem likely that head mesh is being deformed by the incorrect import of the animation data; as when the animation data is ignored by importers they get the head mesh correct. Clearly the microsoft app gets this correct.

 

Does anyone else know of an application which can import animated multi-mesh x format files and subsequently export to other formats; other than those that I've tried?

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

Hi Mac, I must admit I assumed that's what the meshconv.exe was calling to do the conversion but I'll give it a try on its own

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

Guest Red Ocktober

i don't think that you're gonna be able to do this... if those are frame by frame animations, i don't think they're aren't gonna work in a bone based animation environment... they're separate meshes, and have to be cycle through...

 

Truespace 5 has a facial animator which is real easy to use, and i think it outputs a bone based animated mesh... lemme check...

 

--Mike

Link to comment
Share on other sites

Guest Red Ocktober

hey... i got a facial animation from TSpace working in UUWrap3D (bone based, not frame by frame), so i'm gonna assume it can be exported into Leadwerks intact... but since i've gotta relearn FragMotion, i the skeleton isn't attached to the proper bones and it's not weighted properly... so the speech animation consists purely of the lower lip and jaw moving up and down...

 

not worth taking the time to go any further with until i go through a refresher on skinning these models properly...

 

i'll be following this thread to see what you come up with and to inform you if i have any luck with this...

 

 

--Mike

Link to comment
Share on other sites

Thanks for the input guys. The meshes appear to be separate meshes and consist of the head, the eyes (2 off) and the lower and upper teeth and yes, the animation is skeletal. There is a rig consisting of about 20 bones and this and the animation appears to be working it's just, as Dan suggested, the vertex weightings seem to have got corrupted in the import.

 

If I can get anything to load it successfully along with the correct vertex weightings then I will have to redo it in Fragmotion which will no doubt be a tedious process as I've not have a lot of experience in this but if I want to apply the rig to any other models then I would need to do this anyway!

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

I found a similar problem although it was a while ago.

 

 

 

http://forums.create.msdn.com/forums/p/4665/24064.aspx

 

 

 

 

 

Right now I am extremely busy with remodeling my house, but maybe in a couple of weeks I could make some facial animations for you. I have motion capture software that works nice. That is if you do not need it right now.

 

Edit: Fixed link

Link to comment
Share on other sites

Hmmm, I can't even get the 2.5 version of 3dsx2gmf to work without it coming up with a 'User lib not found' error!

 

just an fyi... to get the 3dsx2gmf.exe to work you have to have the gmfsdk.dll in the same folder as it... easiest method i have found is to open two window explorers side by side and just drag the model file onto the converter located in the SDK\Tools folder... it will then create a GMF model located in the same directory as the original model file...

Win7 64bit / Intel i7-2600 CPU @ 3.9 GHz / 16 GB DDR3 / NVIDIA GeForce GTX 590

LE / 3DWS / BMX / Hexagon

macklebee's channel

Link to comment
Share on other sites

Interesting. I have a .max model of a similar setup to yours, from which I tried to export directly to .gmf via Arbuz tools, but the meshes were all messed up. Exporting it only as a static or rigged model was fine, and animations alone looked ok (in modelviewer), but adding animations in code produced the same messed up results. Then I tried exporting it to various formats like fbx, dae and x to convert the model elsewhere, but the results were the same, like the ones you describe (in fragmotion, uu3d and with fbx2gmf, but one .X viewer app managed to laod and display it almost correctly - I should check this with MS app too).

Took a closer look inside max, compared it with others that caused no trouble, everything seemed identical, I even deleted the skin modifier and skinned/weighted it again, but If I used the original bones animation data, the issue was back. Tried a bunch more tricks, but nothing that would fix or allow me to re-use the animations. Now I'm using a simple "placeholder" animation I made myself until I find another way around this or get to the bottom of it.

 

I'd like to take a look at your head model if you're at liberty to provide the file.

Link to comment
Share on other sites

Thanks for the heads up Mac, that did work but the resultant gmf file is just 92 bytes!!! Guess it didn't like what it found in the file :D

 

Thanks for the offer Dan, I might need some help on the modelling side for sure If I can't set this up myself.

 

Interesting that you are experiencing similar issues paramecij. I already have a model with facial animation working in Leadwerks but it just emulates speech movement; its not sophisticated enough to drive proper speech but demos that bone driven facial animation definitely works (as it should). That however is a single mesh.

 

I believe the model I using is also available in the demo download of Dark Voices from The Game Creators, which is what I am trying to implement in Leadwerks. I've bought the full package (not expensive) to play around with it. It's basically a Lip Sync animation package which should work fine in Leadwerks once I've written the code for it. It relies on having a 3D head model animated with 9 specific phonemes for the speech part. You can then use their converter software to convert single channel wav files containing your speech to a sequenced and time stamped list of phonemes used to drive the animation. It looks pretty cool and quite acceptable for games. The mouth movements are simply interpolated between each phoneme. The package contains the original MAX model and rigs as well as the .x file.

 

As previous stated I've managed to extract the animated rig and can combine that with the extracted meshes in Fragmotion, its just all of the weighting data has been lost. I'll have a play around with it today if I get a chance and see if I can at least get some movement going and successfully export it to Leadwerks. If it's the separate meshes that are causing the problem then I'll try it with the meshes combined into a single mesh. I think the separate meshes are to allow for individual eye and teeth movements allowing for things like smiling etc which would be hard to do if the teeth were fused to the lips.

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

one of the several reasons why my players wear dusk masks :D ... you road the fpsWeapon artikle ?!

AMD 64 X2 Dual 5k - 4GB - XFX GForce9800GT - nv196.21 - WinXP Sp3

zBrush4R2 - Silo2Pro - Unwrap3DPro - Gile - MaPZone2.5

 

adv_banner-april2012_720x150_tex01.png

 

Xxploration FPS in progress ...

Link to comment
Share on other sites

Haha ... I could kiss you flachdrache ( but I won't :D ). The tool you suggested worked and I can now load it in UU3D and it animates correctly. Have tried a quick export to Leadwerks and apart from loosing the smoothing groups it works (I can sort that out later). It's enough to get me started with a known animated head and get the coding done to drive it. Many thanks!

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

You could try two other methods :

 

- Make one mesh only , eyes, mouth etc ... included, than when rigging attach the right meshes to right bones :

Eye meshes with eye bones for example.

 

- Load and attach separated meshes by code to the right bones

 

Perhaps other format than .X will do lot better. I avoid .X Format from long long time ago, i instead use Blender and export to FBX for my needs.

Stop toying and make games

Link to comment
Share on other sites

Hmmm ... did you read any of what I've been describing YouGroove. This is an existing model that comes as a demo model with the rest of the lip sync software. I had no choice in the .x format as that is what was provided and besides, as I previously stated, this is fixed and now working! Thanks for the input but it seems somewhat uninformed and irrelevant now.

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

You could try two other methods :

 

- Make one mesh only , eyes, mouth etc ... included, than when rigging attach the right meshes to right bones :

Eye meshes with eye bones for example.

 

- Load and attach separated meshes by code to the right bones

 

Perhaps other format than .X will do lot better. I avoid .X Format from long long time ago, i instead use Blender and export to FBX for my needs.

 

 

Actually it is a better idea to seperate the meshes especially when weighing to the bones. Example: When you want to weight the teeth and gums to a bone it is much easier to have them as a separate mesh so you can just select the teeth and gums. Instead of you trying to hide the cheeks and lips on a different layer just so you can select the underlying mesh. Also I think it would be a good idea to have separate meshes in game. That way you could change a texture in game with code. Like change eye color or what not.

Link to comment
Share on other sites

That makes a lot of sense to me Dan and is certainly how it's been done in the example I have; and it seems to work really well. I would not pretend to have much experience of modelling and animating so this is all new territory for me but interesting non the less.

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

  • 3 weeks later...

Demo of the Dark Voices facial animation model running in Leadwerks. I just completed this tonight having fixed the few remaining issues in Fragmotion. It looks to be working fine (after a nightmare trying to get it converted properly) and completes the first stage to ensure the model animates correctly in Leadwerks. The next phase is to code the animation control required for the lip syncing.

 

She is simply running through her sequence of phonemes and facial expressions repeatedly.

 

http://www.youtube.com/watch?v=rBpt_gbZrTw

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...