STEAM 组
Blender Source Tools BleST
STEAM 组
Blender Source Tools BleST
446
游戏中
2,478
在线
成立于
2013 年 11 月 8 日
所有讨论 > Bug Reports > 主题详情
Dan 2014 年 8 月 30 日 下午 10:23
[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!
最后由 Artfunkel 编辑于; 2014 年 11 月 30 日 上午 11:23
< >
正在显示第 1 - 15 条,共 36 条留言
Zappy 2014 年 8 月 31 日 上午 12:17 
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 2014 年 8 月 31 日 上午 10:34 
Could we get an overrride option when importing then? Because that breaks these models :(
Zappy 2014 年 8 月 31 日 上午 10:36 
Did you even bother reading the second half of my comment?
Dan 2014 年 8 月 31 日 上午 10:39 
"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 2014 年 8 月 31 日 上午 10:41 
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 2014 年 8 月 31 日 上午 11:45 
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 2014 年 8 月 31 日 上午 11:47 
"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 2014 年 8 月 31 日 上午 11:48 
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 2014 年 8 月 31 日 下午 12:09 
...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 2014 年 8 月 31 日 下午 12:42 
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 2014 年 8 月 31 日 下午 12:47 
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 2014 年 8 月 31 日 下午 12:58 
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 2014 年 8 月 31 日 下午 11:14 
Of course. The SMD extension is used for SMD meshes, not DMX meshes.
Artfunkel 2014 年 9 月 2 日 下午 12:24 
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 2014 年 9 月 2 日 下午 12:31 
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!
< >
正在显示第 1 - 15 条,共 36 条留言
每页显示数: 1530 50

所有讨论 > Bug Reports > 主题详情