[solved] SMD Importer Failing

Started by Mambridge, February 10, 2015, 06:50:29 PM

Previous topic - Next topic

Mambridge

I've had previous problems with higher poly smds being imported into 3dsmax using wallworm's importer (rigging was way off)
However I realized that this problem may of been solved a long time ago when I noticed your frequent updates.

So earlier today I chose to update my installation of wallworm in hopes of taking advantage of all its latest functionality, however I found upon importing any smds that my mesh would be rigged, but have no smoothing and what I assume texture groups were destroyed. The rigging for the vertex's were based on faces so I assume weight mapping broke too.
Here are my different trials




Same error was presented when I chose single mesh

I am using 3dsmax 2014 and the latest version of wallworm.

I should also mention that this occurs with multiple qc's
Same results happen when I attempt to load smd's

wallworm

Thanks for reporting these.

First, I will fix that bug shortly. You can also manually edit that file where the error is (line 2674 in importers/Mario_Kart_SMD_Importer.ms) and change it to this:


if vals.count >= 6 AND  (vals[4] != undefined AND vals[5]  != undefined AND vals[6] != undefined ) then (
local pos = [(vals[4] as Float), (vals[5] as Float), (vals[6] as Float)]
in coordsys coordsy atmt.atPoint.position = pos
)


I'll post this later.

The other issue is actually a slight visual issue. If you import a QC that includes VTA files, the morphs are all imported too. This is discussed at the bottom of the SMD, VTA and QC Importer docs. What you'll need to do is drag the Morpher modifier in the modify panel to below the Skin modifier.

Max 2015 will then display the normal/smoothing correctly. Older Max won't display the smoothing correctly then, but it should still export correctly. I recommend using 2015 to get the best visual display.

Mambridge

I did my best to implement the code snippet, but found I still received the same error. I am willing to believe that I didn't implement the code correctly and will wait until the next update or hotfix until I can continue my work.

Quote
The other issue is actually a slight visual issue. If you import a QC that includes VTA files, the morphs are all imported too. This is discussed at the bottom of the SMD, VTA and QC Importer docs. What you'll need to do is drag the Morpher modifier in the modify panel to below the Skin modifier

The models I am importing has no VTA's. The mesh that is imported has no morph modifier.
Each of the polygons are single elements, when I know for sure they are not.

wallworm

In that case, please send to me the files you are importing (QC+SMDs). You can find my email in the WW download readme. I'll see why it's not working for you.

Mambridge

Sent,

Although I upgraded from 3dsmax 2013 to 2014 for a clean install I believe I may of installed your toolset incorrectly.

I dropped the wallworm.com folder in the base directory of 3ds Max 2014 and then used run script on the installer.ms, when I approached the message of installing to

AppData\Local\Autodesk\3dsMax\2014 - 64bit\ENU\scripts\WallWorm.com

I selected yes

If this is incorrect then I think this may be apart of my problem!

wallworm

During the install, if you choose YES it will keep use WW where you ran the install file from (in your case, in Max 2014/scripts . It's generally better to choose NO and let it copy to AppData because that way you can run the Check For Updates and it will automatically update itself--which it cannot do in the program files path by default.

But that is a separate issue to what is going on here.

I discovered the problem in the importer, and it is based off of the way the QC data is. You can immediately solve the problem if you edit the QC and change these lines:

FROM:
// 3 attachment(s)
$attachment "0" "BombStart" 0.00 0.00 0.00 rotate -0 0 0
$attachment "1" "Dummy (Root)" 0.00 0.00 0.00 rotate -0 0 0
$attachment "2" "bDummy (Root)" 0.00 -0.00 -0.00 rotate -0 -0 0


TO:


// 3 attachment(s)
$attachment "0" "BombStart" 0.00 0.00 0.00 rotate -0 0 0
$attachment "1" "Dummy" 0.00 0.00 0.00 rotate -0 0 0
$attachment "2" "bDummy" 0.00 -0.00 -0.00 rotate -0 -0 0


The problem is that WW is parsing the data parts based off of spaces. When I wrote it, I was naively expecting all of the names of attachments to include no spaces. Now it's obvious I cannot do that for  scenario like this. I'll have to re-write that code. But until then, you can fix it by editing the QC.

Mambridge

This fixed my issues with the script causing errors, however my issue with the faces still remain.

wallworm

I will have to import in Max 2014 to see if there is a difference. When exporting to Max 2015 SP3, the smoothing is perfect in my test.

Perhaps make sure that you have the latest service pack of Max installed. You could also look into upgrading to Max 2015. Anyway, I'll test it in 2014 later this evening.

Mambridge

Ive already moved from 2013 today so I have no need to hang onto 2014  ;)

Mambridge

#9
This just got interesting, while the same problem remains in 3dsmax 2015, when you import characters they rig just fine and the smoothing too!

However single face polys are elements

wallworm

There is an update to WW that now fixes the error importing attachments with names as in the QC you sent.

In terms of the faces being unwelded, the reason this is this way is that the SMD faces don't have indexed vertices... so there is never a guarantee that any two vertices are supposed to be welded or not. And welding them before the Skin Modifier is applied destroys the relationship in the data between a vertex and it's weighting. So did not weld them in the importer if there is a Skin Modifier.

If you need the skin weights and welded verts, the simple fix is to select the Model and add a Vertex Weld modifier on top of the Skin Modifier.

Mambridge

That's awesome of you to jump on the problem and solve it real quick. I know some people who would just say F#$@ it and not even respond to the entire issue itself.

now learning the correct term is face welding

You mentioned that facewelding isn't possible when the skin modifier Is present, so is there a way

As when I import static objects like binoculars and what not's I usually rerig the entire thing when I go about animating, so rigging isn't a top priority in such situations.


This was my initial post, but I have found the solution, I can import the mesh without merging to a single mesh, it results in all the elements that I used to see in older versions of wallworm. Now I have best of both worlds!

Again thank you for all the help and your dedication to ww

wallworm

Glad you got it working as you want. Unfortunately, not using single mesh imports slower than single mesh, but if it works like you want, I guess that's what you'll have to do :)

I do have an idea to circumvent the welding issue in all cases, but for the moment the current implementation will have to do.

Mambridge

Older versions of wallworm, atleast the smd importer 1.6 if I would say had the ability to recover face welds, at the cost of mucking up a model IIRC. Since my use of the newer version of wall worm I have been able to export my models (and their animations) and import them at a considerably faster speed.

I will post the work I have done with WW soon when I can get them all together. Its mostly weapon rigging and animating.

wallworm

Ever going to share the screen shots of your projects? :)

SMF spam blocked by CleanTalk