Noooo!!! DX EXporter 2.41 Won't Work!!!

Arrrggghhh!!! I have officially spent nearly 3 weeks modelling a low-poly game character, the extra time taken for delays caused by a busy schedule, and now I’m ready to export her, but now since I’ve done that, none of my test Exports will work with my DX9 Mesh Viewer!!!

I don’t know what’s going on, but: I have 2 textures put onto her, a JPEG placed accidentally but I am only using one, a PNG…along with that I have a Material(for Rendering purposes), and a Modifier for the Bones, with both Vertex Groups and Envelopes used.

When I Export her and open the Mesh Viewer(a DX9 SDK extra), the Mesh Viewer always closes. This hasn’t happened so far with any other of my test Meshes…can anyone please help me? I’m almost ready to start on my game, I really want to get something exported…thanks in advance.

https://blenderartists.org/forum/viewtopic.php?t=55800

AFAIK it will fail if you have camera(s), empties etc because it exports only solid Mesh. Did you UVMap your texture?

%<

yes, it does indeed have UV mapped textures. I also made sure to delete all the lights and cameras.

I don’t frequent these forums but:

-try to open in MVIEW from MS SDK of directx 8.0 or 8.1 If it opens, resave there. Then try to open at the dx9 sdk one. This often mades it more compliant to standards.

-Optionally, if the game is not secret/etc, upload the model to somewhere like savefile so I can have a look at it. I am an “oficial” (cough, laughs allowed) tester of the x plugin, I may help there.

Only problem is…now I have to remember to come back here to check, which I don’t use to do. But who knows. Maybe I will remember.

Oh, don’t worry, I don’t say for using your model. I earn my plate of food doing low pol and hi pol 3d, texturing, animation, pixel art, and all what is graphics for games.

I say only as I know how much of a pain is to have to throw to the paper bin a whole set of animations of a character. Happened to me in another packages.

Let’s hope I remember to co me back.

edit: Anyway, I meant the *.blend. That’s the only way i can help you.

OK, I’ve got the file uploaded to my site, the address is here: http://www.freewebs.com/shall56/Michelle_GameCharacter7.blend1

ok
model is exporting right here.

Something I noticed is…You did not put the image in “texture” material slot, only in UV window. I dunno if is required, I just allways do so.

using very latest Ben’s exporter, so, using Blender 2.41, I exported with

-animation
(nor normals flip checked)
-flipped (left handed system)

-export all.
-speed UNchecked. Not setting manually the speed, so.

It works with one of my several x viewers, the first I tried.

So I’ll see now what’s the prob with dx9 skinned mesh sample of sdk.

ok

I had checked the otehr day my complex rig did worked with ben’s latest exporter…

But double checked now with both skinned mesh dx9 andmview of dx8…work both great.

So.

Is something, some detail of your scene really breaking it …

Let’s spot it…

back in a minute.

mesh not tirangulated, some vertices disconnected, it seems…

maybe…

Should I try converting it to Tris then? I originally modelled this in 3ds Max 8 and exported it to Blender for mapping/skinning as a .obj. Could this have anything to do with my problems?

Ive tried for you but doesnt work… if is as I think, as I dont use blender to model, only to animate…I model in wings, max, and others…

I did alt c to convert to mesh in case there were something weird, and then ctrl t in edit mode… Unsure if one cand do thi swith an armature parent modifier applied…

you have the material name as (null) and I guess all sort of punctuation must be avoided with this exporter…

you also had dots at bone names, like something.L .Avoid that too…

Also you hadn’t applied ctrl a to armature and mesh previously…learn that too…read ben’s doc here… : http://xoomer.virgilio.it/glabro1/faq.html

Max OBJ exporter is not of my likes, though…I’d almost prefer a *.3ds export and fix the weird stuff later in blender…The max obj imporrter works better, though.

Ensure those things, triangulate the mesh, then add the armature and vertex groups.

MVIEW and skinned mesh sample are REALLY picky bout x standards, though, and often with spaces, commands…is really strict…Other viewers do load perfect your mesh animated…If is for an engine, test first if goes in the engine, as it may eat it well though the viewers dont…

If you work with Max8 and can actually use Max 8,do not mess your self, and use max x exporter directly… :
http://www.andytather.co.uk/Panda/directxmax.aspx

I’d be able sure to gues what happens in this mesh or scene, but got no more time to use… sorry.

oh, btw, did a remove doubles, too…it had several unjoined vertices…

also, the way it displays the mesh in object mode is suspicious…I am not familiarized with Blender modelling side of things, but seing the mesh unconnected forming like ngons in several places made me suspect a bit…

yes Extrudeface that’s the problem!
the model has a lot of doubles which creates confusion
in the vertex groups.it’s a common problem with the imported
files.After cleaning the mesh(Scripts-Clean Mesh)the rig must
be redone!

Ben

ask cambo if he can edit clean mesh so that it doesn’t require the rigging to be redone, perhaps the rigging info can be stored and transfered…

LetterRip

how do you use the Clean Mesh script? I just tried it on the figure, but nothing seemed to happen…I had all the buttons pressed, and the Limit set to 1, and yet it still came to zero vertices/edges/faces removed.
And with Remove Doubles…performed that command too, I never realized how many loose vertices there were. Does this mean I have to redo my UV mapping?
BTW ExtrudeFace, how do you proofread meshes like this just by looking at them, or that it had N-gon like faces? I had no idea you could do that, I would like to learn the technique for the next time I import a mesh like this. And, thank you very much for the advice thus far. :slight_smile:

First of all, Ben…Allways cool to read you.

Surely you know already, but Extrudeface = Oin at Blender.org :wink: :wink:
That is I am the guy helping you with the exporter since eons. Dunno if I am the older tester of it :slight_smile:

the rig must
be redone!

Yup, that I was trying to avoid to him, though lol, I guess for the time spent trying to spot his problem I could have just cleaned the mesh my self, and applied new vertex groups… :wink: After all there are errors for example in shoulders weighting, and is only a test animation.

But thanks a lot , as I was a bit unsure on if was that or other stuff more related to dx standard text formatting.

My samples do work perfect in every viewer out there.

What i knew was to me very clear…Is the proccess of mounting the scene. I know the probs not only in blender and x exporter, but other softwares like Max when exporting weights formats. There are essential things to avoid, and usually I don’t know how the user built the mesh. So it makes it a bit slower to spot stuff.

But was clear the issue was in that proccess: I have zero problems since many versions, and my exported meshes do work with mview and skinnedmesh , till I try constraints or stuff, if I forgot to bake, that is. Your last exporter allow me every crazy animation matter in blender. And after all, Halflife 2 SMDs look like do also bake all frames!(at least reimporting them…)So not much of an issue :slight_smile: Anyway, that constraints or pose mode API sounds interesting… :wink:

I solve a lot of issues with x exporters (in Max, character fx, blender…or just from other packages which i know less, just looking at the x file (dump method, I call it)) So I was a bit angry with myself not solving fully this one… :wink: (so, kudos for clarifing it)

how do you use the Clean Mesh script? I just tried it on the figure, but

Ehm. execute from script window with just the mesh selected.

nothing seemed to happen…I had all the buttons pressed, and the Limit set to 1, and yet it still came to zero vertices/edges/faces removed.

The main issue here is I model all with Wings, so I don’t know much of blender modelling. I only learn of it and of Blender UI what I need of it to just make character animation with it. Not that I wouldn’t enjoy more involvement,(I did with many 3d packages, but fun iddle time has gone since I’m in game job) is just a matter of time. I don’t have so much. And I am very fast already (they tell me in the company, hehe) with Wings, so I just don’t duplicate. (this is for in case someone tell me here I should learn Blender modelling more :wink: )

I didn’t even know of cleaning meshes Blender’s functionality till yesterday with ur issue…Fortunately they called it just like in many other 3d packages. Yup it has a thresold (usually in any 3d tool, you needda play a bit with that distance till it actually removes something. You gotta be careful to not remove just too near vertices. You only want to remove coincident vertices. That is, those in same position. In some moment of your modelling or during an export, those vertices become each from being one to become 2. This happens often when formats do not support 2 UV vertices per 3d vertex. It happens to *.3ds, md3, md2. Among others. But OBJ has not the problem. Though an exporter can make the wrecking while the format doesn’t. Usually the exporters don’t support all. There good exporters (Ben’s) , average exporters, and terrible exporters. :wink: )
The same guy that did the OBJ importer for Max, made the exporter. And while the importer is so great that saved my workflows with wings at companies, the exporter (which I rarely needed) of obj, I found it to have some problem. But unsure if was totally plugin’s fault.

So, play with the threshold, or somethingyou are doing wrong, as, as far as I remember, yesterday it found like 102 vertex unwelded.

I have been also a -registered- Milkshape user. It had a great feature, was called like “weld together” .Was not based in a thresold, just looked for exactly vertices sharing same exact location. Way, way mor eproductive. But is not even in max, that I know of. (I don’t usually model in Max, either :wink: That used to bring me some crude fights at work…But not since a big while :wink: )

Good news are…usually low/med pol characters like your wont bring much problems witha threshold. edges are not too short.For just you sure have already optimized the polygon count as much as possible. Just aply it with values, but check later if some place where u know vertex are too near, u got there unwanted welds.

Probably you don’t need to leave checked ALL the buttons. I can’t remember now, as was the very first and only time I ever used that thing.
And looks like it works as expected. great for usual import issues in 3d softwares.

And with Remove Doubles…performed that command too, I never realized how many loose vertices there were. Does this mean I have to redo my UV mapping?

edit_ sorry I tedn to forget the question. No need need to redo the uv mappping. Looked fast at it, seems is well worked at a fast glance.

cant remember well, but I think it tells u , as usual in tools (ie, max, ultimate unwrap…) how many verts are welded, as it poped to me th eresul somewhere, didn’t have to look for it (another good thing)

BTW ExtrudeFace, how do you proofread meshes like this just by looking at them, or that it had N-gon like faces?

I’m modelling for games since '97, is that i have seen many problems due to my maybe silly(according to others opinion in staff) obsession of using loads of free tools instead just dedicating to just Max all my time…hehe. Nah, is against all my feelings…

No, I’ll leave the arogant tone. Take the tone as a joke, is all about sense of humour. I am no more than a crappy and very wasted, fed up, company worker. And I know the crap I am very well.

The real thing is just that, whenever you do meshes for character animations in games, consider that (while each game engine, and each packages is a complete different world, i wish I hadnt had to learn so many different ones…but usually, this advices tend to be safe ):

  • While is thousands times easier and faster to model with N-Gons (opinions allowed, is just what works for me, and some other workers I know) , or at least, quads, be sure to triangulate once your solidly convinced you will not want more extra edit other than small details. happily, Wings3d, and equally happily, also Blender, can both convert tris to quad back. But I didn’t have the enough time to check as a curiosity yesterday.

-Also previous to adding the weights (vertex groups in Blender) ensure no double verts are there.

  • Any final touch to mesh must be done then, usually packages do get with very linear-workflow once weights and bones are applied fully. I have now in max at work total non linear work that I very hardworked for productivity reasons (ie: can do mesh changes of any sort after even fully animated, this is way better when time is tight. But has certain small risk, even in my case. Other packages are less linear in this. I think the nature of it makes hard to code it differently. Aniway, Blender is not much linear, , usually…But I have XSI at home… :wink: )

  • I don’t know the rest of people out there, but I tend to not like to see an N-Gon with vertices not connected (non existing edges where I’d expect them) …it may not, but it may provide loads of problems. Triangulate first to any sort of rig or weights.

-Add the same texture to material slot. In my experience (I have worked really actively (crazily even) for other plugins for lightmaps and scenery, for other game engines, just never dumped it here at elysiun, so most people wont know) some python scripts care for the image at UV window, some for the texture at the material slot (at the material buttons, you know )

-Beware weights. Shoulders are a huge problem in any package. When putting arm up , problem comes. This can be solved back and force editing th emesh in certain way (try to imagine how it’ll bend while modelling. I’m allways with time issue, so I even model thinking of just what movements is gonna make the character ingame, according to docs or word said. SOme do actually don’t care if movement is very fast and some strangling occurs in joint, but I hate when see some screenshot with the issue. A paper magazine will show it for ever :wink: So I never left one joint so… ) When is too late to tweak mesh, or package is too linear (no way to go back to edit mesh, or just too dangeorus) , then, play a lot with weights values. I usually tweak typing numbers, specially in low pol, as there are not so much vertices, and usually one pick lasso selections of em…vertex paints can be useful, but I don’t trust it much. tweakinga vertex weight can have many tricks. Often is all relative.
But all this is unrelated to your question, and I guess you just made a fast weighting for a test. But then so, I am sure you will not mind removing the armature and having to remake the weights, as are a bit non correct.

-The 3d packages exporters are almost never fail-safe. Check for doubles allways, even if it looks like it is ok. try other exporters, also. Blender has a lot of formats supported, yet not all maintained through versions. OBJ is certainly one actively supported.

-Add your smooth groups at first. here I see a problem. I think no smooth groups are in blender yet. Is possibly to use split in blender(break mesh in some edges, producing so sharp edges, and allowing smoothing normals act as you want, avoidng later opengl darkening), but that’d generate doubles, and seems this can mess the x exporter (Lol, Ben, I did it again, maybe am adding you work…maybe in the future force it consider both with same weight…max does this…if coincident but with exact same weight, they move together as single vertex.Visually is great it works so. )

-I am not too familiar with modifiers concept yet, dunnot know what they share with Max modifiers concept, probably nothing. In general , this kind of piles are good for editing, but perhaps confuse some exporters. There’s a rule, the simpler the safer. And almost allways there’s a a way to work with all features fo reasier design, and at the very last moment, go baking it all to a triangulated, clean, if possible just full piece mesh, with single texture. Of course you can do as complex as you want, but you need more knowledge (of he trial and error kind with engines, exporters, etc)

I had no idea you could do that,

is absolutely logical. You have seen the issue or not.Is nothing special. There are lot of cases I have not seen (the crap auto-isult I made for me was not casual) I am not happy I did. I’d prefer to work in an easy job and never make games or 3d at all…for a living, that is :wink:
Don’t worry. I hope I have cut a bit your issue-hours, at least it then serves to someone…

I would like to learn the technique for the next time I import a mesh like this. And, thank you very much for the advice thus far.

It is very clear to me you are of the kind that works for solving the issue. Those are worth to help. Also, in a way, I am helping Ben also, as he is as extremely kind as not only do th eplugin for us all, but also attend issues. In some way I may have reduced some of that time, besides confirming once again the plugin works well.

Woah, saturday mourning. Months since I did wrote so long.

-Add your smooth groups at first. here I see a problem. I think no smooth groups are in blender yet. Is possibly to use split in blender(break mesh in some edges, producing so sharp edges, and allowing smoothing normals act as you want, avoidng later opengl darkening), but that’d generate doubles, and seems this can mess the x exporter (Lol, Ben, I did it again, maybe am adding you work…maybe in the future force it consider both with same weight…max does this…if coincident but with exact same weight, they move together as single vertex.Visually is great it works so. )

It’s a good idea! At the moment I have to investigate on it,but will try…
DirectX file format has a template VertexDuplicationIndices which
detects not welded vertices(not supported in the exporter now ).Maybe
will add it for this purpose… %|
…as regarding the game model of Suu999 it wouldnt work too, because
that model has free vertices which doesnt take part of any edge or face
…but make part of weight groups.The mesh exporting part avoid
the exporting of that vertices,since has not sense for DX but the
skinned part exports them,because are rigged.This creates confusion
in mview.
That’s what I get by selecting the main mesh with L.It has 86
free vertices and 16 doubles.THe doubles aren’t a great problem
but the free ones are…
http://xoomer.virgilio.it/glabro1/game_char.jpg (copy&paste)

Ben

yup, definitely I added more ideas to add stuff to the plugin… sorry (if applies :wink: )

Who knows…maybe that dx feature is there to force a weld for the case of users not removing doubles or something, but if can be studied to actually be used to support “faked smoothgroups” lol, we’re now talking about supporting an “error”, to call it so…hehe )

woah…
Big issue with the model, then. perhaps was modeled in max using some point to point technique…

Su, I am afraid a remake would be the fastest way…You can check at max for isolated vertices, most surely, to kill em before export, as I strongly doubt they were generated by max obj exporter…
If you don’t find the command, say so, I may tell u where to find some maxscript doing that, or at least, some free utility…well, I think clean mesh in Blender can do that work pretty well. As vertices not connected by edges or something. I think I saw that yesterday, but unsure.

I’m curious. Did you model using a technique of point by point, or face by face modelling?

I usually model by polygon extrussion (there my nick) and box modelling mixed with more Mirai kind of modelling.

But all techniques are good. I have also modelled point to point, metaballs, patches, nurbs and splines, zbsuh and amorphium dragging and pushing. All are perfectly good for certain purpose.
Youmay need to dig a bit max 8, I am almost 99% certain you can run an stl check, or something in that line, so to kill weirdness… maybe can even spot em if don’t have vertices dots too small at settings.

Hmm…could it have happend at some point of export/import, or once in blender, while modelling? maybe I don’t know the steps given. Would need a kind of camcorder avi of all your actions since start :slight_smile:

No, review that very deeply, export again, check all is ok, do the triangulation and all (dunno if yet is needed ctrl+a, I tend to make it, for latest ben’s versions) and try to export then…

Hmm…who knows, Ben…
Maybe if you find a way to support that dx feature, kindof “doubles allowed” not only allow an extremely useful thing in games (fake the smooth groups effect) , but also make it even more able to eat that so common 3d error…(doubles) as most people don’t even know they have it. What is more. A model that does not have it, will have it for an export, or for a 3d operation. Most users don’t have a way to know, unless have learnt some way to detect it…

You might try rem doubles using CVS blender, I think it was changed to keep more data when used.

LetterRip

Some info on my modelling style: when in Max, I usually start out a with a plane for some part of the body(like the face), then use a combo of extrusion and cutting the faces to form a figure. Those disconnected vertices must’ve been from careless Cutting or something; sometimes I find myself welding together two close vertices from an incomplete cut. Then I go back and do a smoothing group, but just 1, so I can see how the fig looks. I also do a lot of Element attachment to save time, like joining cylinders to the body for legs or disconnecting a part to work on it separately, like the nose.

And, what’s point-to-point or face modelling? Or Mirai? I’ve never heard of those before(I seem to learn something new about Blender everyday it seems like).