STEAM GROUP
Blender Source Tools BleST
STEAM GROUP
Blender Source Tools BleST
265
IN-GAME
1,598
ONLINE
Founded
8 November, 2013
All Discussions > Bug Reports > Topic Details
Dan 30 Aug, 2014 @ 10:23pm
[FIXED] Importing Seems to Weld Some Verts Together
From Dota2, importing "root/models/items/alchemist/brutalblades/brutalblades.mdl" (converted to .smd) results in what appears to be some of the verts welded together. The two swords are overlapping and if you move one of the weapon bones, the sword assigned to that bone moves but a bunch of the verts appear attached to the other sword still.

Importing the .smd into 3DS Max 2012 appears to work correctly however.

Comparing the number of vertices after importing the model into both software seems to back up my theory about welding verts:

Blender 2.71 with BleST v2.2.1: 401 verts
3DS Max 2012: 511 verts

A few of the other Alchemist swords exhibit this behavior too, but not all of them, oddly. "root/models/items/alchemist/butterflyswords/butterflyswords.mdl" is an example of a sword for Alchemist that does import correctly into Blender as a counter-example.

Please let me know if you need the files or more information.

Thanks!
Last edited by Artfunkel; 30 Nov, 2014 @ 11:23am
< >
Showing 1-15 of 36 comments
Zappy 31 Aug, 2014 @ 12:17am 
The Blender Source Tools imports SMDs and then "removes duplicates" to weld all vertices in the same spot together, regardless of whether they should be welded or not. I'm pretty sure many people prefer that above every triangle being a seperate thing from every other triangle.
Dan 31 Aug, 2014 @ 10:34am 
Could we get an overrride option when importing then? Because that breaks these models :(
Zappy 31 Aug, 2014 @ 10:36am 
Did you even bother reading the second half of my comment?
Dan 31 Aug, 2014 @ 10:39am 
"I'm pretty sure many people prefer that above every triangle being a seperate thing from every other triangle."

And I do not prefer it that way. So an optional override option (left column of Blender) when importing makes everyone happy.
Zappy 31 Aug, 2014 @ 10:41am 
Yeah. Except, you know, noone would ever turn the override on for anything other than curiousity. Could you explain to me exactly what you would want the override to do?
Dan 31 Aug, 2014 @ 11:45am 
There are 2 swords that are overlapping each other but bound to different bones - left hand and right hand. When you move one of the bones, say for an animation, it moves that sword but a bunch of the verts are welded to the other sword.

Here are some pictures:

Import the .smd into Blender:
http://i.imgur.com/IYD6bxV.png

Move one of the swords in Blender:
http://i.imgur.com/WARLCTZ.png

Import an animation into Blender:
http://i.imgur.com/uoJZpRW.png


And how it should look:

Import the .smd into Max:
http://i.imgur.com/EPvZ7fC.png

Move one of the swords in Max:
http://i.imgur.com/4ArL9jl.png

Import an animation into Max:
http://i.imgur.com/2YuyaYA.png


P.S. it is incredibly hard to upload pictures to imgur without getting distracted by the pictures there
Dan 31 Aug, 2014 @ 11:47am 
"Could you explain to me exactly what you would want the override to do?"

Checking this override box would not weld verts together that overlap.
Dan 31 Aug, 2014 @ 11:48am 
Ohhh you know what. I think there's misunderstanding here. I'm saying separate objects with overlapping verts should not weld and I think you think that I meant verts within the same object.
Zappy 31 Aug, 2014 @ 12:09pm 
...Okay, let me explain what I explained earlier, again.

When importing an SMD with the Blender Source Tools, all triangles get imported on their own, then all vertices on the exact same coordinates gets welded.

I don't think there is any way to get around it without every single triangle being seperated.


Anyway, firstly, having overlapping vertices in a model on purpose is a really bad design choice, no matter what. Secondly, depending on what you want to do, can't you just take all the vertices, assign them to one of the bones, then duplicate it and assign those vertices to the other bone (while making changes if necessary)? Thirdly, you can also just use 3DS Max, even if just for seperating the blades for Blender.
Dan 31 Aug, 2014 @ 12:42pm 
3DS Max gets around it so there has to be a way in Blender.

These are models extracted straight out of Dota 2. I have no control over it. I'll be sure to let Valve know that you disapprove of their design choices though.

It's weird that only some of the sword models exhibit this behavior whereas others (still overlapping) work just fine in Blender. Maybe those swords that do work are minisulely offset from each other or something.

I can't really use 3DS Max to "separate" them in the same scene as they need to both be in that same exact spot for their animation bind pose to work correctly. I might be able to split them into two separate meshes in 3DS Max (that's probably what you meant), but that gets uglier further down my pipeline.
Zappy 31 Aug, 2014 @ 12:47pm 
Actually, what I meant was take 2DS Max, did I just type 2DS Max?
Take 3DS Max, import the mesh, then move one of the swords a bit in one direction (it'd be best if you could move it by something memorable, like 10 whole units or something, for example +10 in the X direction), then export it, and Blender should like it perfectly (possibly except for the smoothing). Then just select the sword in Blender, make changes if needed, and move it back in the opposite direction by the same amount (for example -10 in the X direction). Seperate the two swords into two different Blender objects if you want, too. Oh, and Blender has nothing against overlapping vertices when using the DMX format.
Dan 31 Aug, 2014 @ 12:58pm 
Studio Compiler adds the ".dmx.smd" suffix to just about everything that it decompiles. Including the overlapping sword models that do work in Blender.

Using Crowbar results the same broken behavior in Blender.
Zappy 31 Aug, 2014 @ 11:14pm 
Of course. The SMD extension is used for SMD meshes, not DMX meshes.
Artfunkel 2 Sep, 2014 @ 12:24pm 
There is actually already code in the SMD importer for this situation. It's having an effect (try selecting all verts then running remove doubles yourself!) but evidently more work is needed. Comparing weightmap data as well as vertex location should sort the problem out.
Dan 2 Sep, 2014 @ 12:31pm 
Hi Artfunkel,

Thanks for replying and confirming the bug! Do you need anything from my end to help fix it? Is this something that we might expect to be fixed for the next version of the BleST?

Thanks!
< >
Showing 1-15 of 36 comments
Per page: 1530 50

All Discussions > Bug Reports > Topic Details