Pixel Perfect Posted January 1, 2012 Share Posted January 1, 2012 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? Quote 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 More sharing options...
macklebee Posted January 1, 2012 Share Posted January 1, 2012 i assume the 3dsx2gmf converter gives the same results? Quote 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 More sharing options...
Pixel Perfect Posted January 1, 2012 Author Share Posted January 1, 2012 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 Quote 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 More sharing options...
Pixel Perfect Posted January 1, 2012 Author Share Posted January 1, 2012 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! Quote 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 More sharing options...
Guest Red Ocktober Posted January 1, 2012 Share Posted January 1, 2012 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 Quote Link to comment Share on other sites More sharing options...
tournamentdan Posted January 1, 2012 Share Posted January 1, 2012 It sounds like the head needs to be re-weight painted to the bones. Although I am kind of confused with the five meshes. Are you sure this head animations are driven by bones, because it kind of sounds like morphs. Quote Link to comment Share on other sites More sharing options...
Guest Red Ocktober Posted January 1, 2012 Share Posted January 1, 2012 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 Quote Link to comment Share on other sites More sharing options...
Pixel Perfect Posted January 2, 2012 Author Share Posted January 2, 2012 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! Quote 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 More sharing options...
tournamentdan Posted January 2, 2012 Share Posted January 2, 2012 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 Quote Link to comment Share on other sites More sharing options...
macklebee Posted January 2, 2012 Share Posted January 2, 2012 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... Quote 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 More sharing options...
paramecij Posted January 2, 2012 Share Posted January 2, 2012 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. Quote Link to comment Share on other sites More sharing options...
Pixel Perfect Posted January 2, 2012 Author Share Posted January 2, 2012 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 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. Quote 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 More sharing options...
paramecij Posted January 2, 2012 Share Posted January 2, 2012 Also, I just remembered about these two: Softimage mod (or XSI mod) - I think it imports animated .x files (didn't see mentioned explicitly what formats are supported in the free version) SMD2X - with this, you can split animation and mesh data from .x files, etc, might be handy .. might be worth a shot Quote Link to comment Share on other sites More sharing options...
flachdrache Posted January 2, 2012 Share Posted January 2, 2012 one of the several reasons why my players wear dusk masks ... you road the fpsWeapon artikle ?! http://www.leadwerks.com/werkspace/page/articles/_/artwork/converting-fps-creator-weapons-to-gmf-r21 Quote AMD 64 X2 Dual 5k - 4GB - XFX GForce9800GT - nv196.21 - WinXP Sp3 zBrush4R2 - Silo2Pro - Unwrap3DPro - Gile - MaPZone2.5 Xxploration FPS in progress ... Link to comment Share on other sites More sharing options...
Pixel Perfect Posted January 2, 2012 Author Share Posted January 2, 2012 Haha ... I could kiss you flachdrache ( but I won't ). 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! Quote 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 More sharing options...
flachdrache Posted January 3, 2012 Share Posted January 3, 2012 Great that it worked but ... "blarg". Quote AMD 64 X2 Dual 5k - 4GB - XFX GForce9800GT - nv196.21 - WinXP Sp3 zBrush4R2 - Silo2Pro - Unwrap3DPro - Gile - MaPZone2.5 Xxploration FPS in progress ... Link to comment Share on other sites More sharing options...
YouGroove Posted January 3, 2012 Share Posted January 3, 2012 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. Quote Stop toying and make games Link to comment Share on other sites More sharing options...
Pixel Perfect Posted January 3, 2012 Author Share Posted January 3, 2012 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. Quote 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 More sharing options...
tournamentdan Posted January 3, 2012 Share Posted January 3, 2012 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. Quote Link to comment Share on other sites More sharing options...
Pixel Perfect Posted January 3, 2012 Author Share Posted January 3, 2012 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. Quote 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 More sharing options...
Pixel Perfect Posted January 22, 2012 Author Share Posted January 22, 2012 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 Quote 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 More sharing options...
Recommended Posts
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.