Jump to content


Photo

MDLOps

mdlops tool md alpha

  • Please log in to reply
82 replies to this topic

#21 DarthParametric

DarthParametric

    Dark Lord of the Sith

  • Members
  • PipPipPipPipPip
  • 1,179 posts
  • LocationOz

Posted 25 January 2016 - 06:49 AM

I think I still have the Xbox discs for TSL somewhere....

#22 Dastardly

Dastardly

    Jedi Padawan

  • Members
  • PipPipPip
  • 63 posts
  • LocationIn a galaxy far, far away.

Posted 25 January 2016 - 12:15 PM

I got both xbox game files on my pc.


"never encountered someone with such disdain for TSL" - Milestails responding to Sithspecter 


#23 DarthParametric

DarthParametric

    Dark Lord of the Sith

  • Members
  • PipPipPipPipPip
  • 1,179 posts
  • LocationOz

Posted 25 January 2016 - 01:53 PM

Didn't Team Gizka pull some stuff that was only in the Xbox version for use in TSLRP? Did the TSLRCM team do anything in that regard?

#24 VarsityPuppet

VarsityPuppet

    Jedi Master

  • Premium Member
  • 2,014 posts

Posted 25 January 2016 - 04:39 PM

Didn't Team Gizka pull some stuff that was only in the Xbox version for use in TSLRP? Did the TSLRCM team do anything in that regard?


HK Factory, I believe... and M4-78 I think as well..?

Be careful how you think; your life is shaped by your thoughts. - Proverbs 4:23


#25 JCarter426

JCarter426

    Jedi Knight

  • M478_Staff
  • 289 posts

Posted 25 January 2016 - 06:24 PM

We've fixed the issue (either the face normals or plane distances) and uploaded a fixed version (now it's MDLOps 0.7 Alpha 2).

 

Ah, that's great! Thanks for the update.



#26 redrob41

redrob41

    Jedi Padawan

  • RoR Staff
  • 108 posts
  • LocationEdmonton, AB

Posted 31 January 2016 - 06:11 AM

Ok, now that I've downloaded 0.7a2, I'll start posting some of my experiaments. I've been holding off so far, so that FS could have a bit of a break.

I hadn't seen that there were no shadows when I was doing my testing, because I usually have them turned off. Plus, for testing, I've made the Dantooine ground transparent, and the skybox is 128 Grey. That way, I don't have to work so hard with Photoshop to separate foreground from background. Anyway...

 

Attached File  Mira test MDLOps 7.jpg   366.71KB   0 downloads

http://deadlystream....-test-mdlops-7/

In the image for Mira's underwear, I've got in-game shots of her with various mdls.
- The one using Taina's replacer has smooth edges, but no shirt tie, and some of the vertices are weighted strangely (by default).
- Using MDLOps 0.6 you can see the hard edges (the back of the arms is the worst, but no screen shot), but at least the shirt ties work, and the weighting issues have been fixed (at least the ones that bothered me the most).
- Using MDLops 0.7a1 or a2 (only difference was the shadows) you can see that the edges are smooth along the wrist, fingers, inside leg, trapezius, but there is a hard edge below the deltoid / above the bicep. This is where the Larm/Rarm mesh object meets the Torso mesh object. I've checked a pair of verts, and they seem to be identical between Larm and Torso. Those faces were all set to the same smooth group.

 

Attached File  Male Underwear test.jpg   188.84KB   0 downloads

http://deadlystream....underwear-test/
- Using Taina's replacer, the model retains the original smooth groups. This results in smooth edges at the seams, but there's a noticible semi circle around the collar (this is where the vanilla DS skin has red cloth). This is th model that is included in my underwear mod.
- Using MDLops 0.7 fixes edges and removes any different smooth groups. I found that it didn't matter if I compiled the binary mdl straight from the unedited ascii.mdl or after I'd edited it in 3ds max 2011. It seems to me that mdlops is swithcing all faces to the same smooth group before calculating normals. The downside, is that the faces on top of the neck (where the head mdl sits) needs to be a different smooth group than the rest of the body. If they are the same smooth group, then it tried to round the edge, and thus it puts a highlight around the neck, rather than a shadow on one side (like the Taina model).
- Also, you can see the hard edge where the arms and torso meet when using 0.7a

So, I think that the new mdlops still isn't perfect (hence alpha). Hopefully, my testing can help out.

As a side note, when I was checking for shadows, I noticed that Mira's head didn't cast a shadow when in her undies or when wearing armor. Her head did cast a shadow when wearing her default clothes (I think that her body model includes bones for the head, but the other body models don't).



#27 Fair Strides

Fair Strides

    Aurora Engine Operator

  • Administrators
  • 2,215 posts
  • LocationOregon, USA

Posted 31 January 2016 - 06:17 AM

In the current release of MDLOps, we don't bother to check the smooth group at all... And what are the exact coordinates of a vertex on Mira's torso and a vertex on her left arm that seem to overlap?


(By the way, if you ever want to ask about one of the quotes, feel free to send me a PM)

 

My personal, made-up quote: "To know is good, but to act is better."

"Words are just words, thoughts thoughts, but actions...actions are progress." - Fair Strides

"Intelligence and respect are all it takes to get along fine. Not a bad trade off, huh?" - EwigD from GameFaqs

"And regarding butchering the language, I have been to the internet. The language is well butchered regularly." - Malkior

 

"You can either live with the lies or die with the truth. Who would rather lie to live than die for telling the truth?" - Fair Strides


#28 redrob41

redrob41

    Jedi Padawan

  • RoR Staff
  • 108 posts
  • LocationEdmonton, AB

Posted 31 January 2016 - 06:32 AM

In the current release of MDLOps, we don't bother to check the smooth group at all... And what are the exact coordinates of a vertex on Mira's torso and a vertex on her left arm that seem to overlap?

I checked a few verts around this seam:

Attached File  Mira test Max 1.jpg   356.14KB   0 downloads

As shown, X=-22.522cm Y=-4.118cm Z=132.47cm and the matching vert on the Larm had the same coordinates.

 

and I made the smooth groups the same for the skin of the shoulder (Torso object) and arm (Larm object):

Attached File  Mira test Max 2.jpg   312.54KB   0 downloads



#29 DarthParametric

DarthParametric

    Dark Lord of the Sith

  • Members
  • PipPipPipPipPip
  • 1,179 posts
  • LocationOz

Posted 31 January 2016 - 06:46 AM

You'd have to re-weight the mesh, but one solution would be to split the mesh at any point where you want a seam and merge any pieces you want to have unified smoothing. So cut off the little bits of upper arm and join them to the main arm meshes.

#30 redrob41

redrob41

    Jedi Padawan

  • RoR Staff
  • 108 posts
  • LocationEdmonton, AB

Posted 31 January 2016 - 07:33 AM

You'd have to re-weight the mesh, but one solution would be to split the mesh at any point where you want a seam and merge any pieces you want to have unified smoothing. So cut off the little bits of upper arm and join them to the main arm meshes.

sure, I could do that. And I could delete the mesh where the neck hole would be. As long as there remains the same Torso, Larm, Rarm configuration that all the body mdls are set up for, it could be a decent work around. But there are times when you want different smooth groups on the same mesh (like the shoes), but they can't be detached into their own object. Afaik, the game engine isn't set up for that (it expects Torso, Larm, Rarm). Of course, I could be completely wrong (I know next to nothing about game engines :P).

 

If MDLops can make use of smooth groups and calculate normals across mesh seams, that'd be more useful in the long run.



#31 JCarter426

JCarter426

    Jedi Knight

  • M478_Staff
  • 289 posts

Posted 31 January 2016 - 07:54 AM

For the model I was working on, with the shadow issues, I did have the shoes detached from the torso:

...and I haven't noticed any problems. I did just notice the same problem with the upper arms on mine, though.

 

Also, out of curiosity, what model(s) are you using for Mira there?



#32 DarthParametric

DarthParametric

    Dark Lord of the Sith

  • Members
  • PipPipPipPipPip
  • 1,179 posts
  • LocationOz

Posted 31 January 2016 - 08:12 AM

There should be no reason that a split between torso/left arm/right arm as individual meshes is required as such. The model will animate identically regardless of whether it is one mesh or twenty, as long as the verts are all weighted the same. I suspect it is more an artefact of their production pipeline than any inherent requirement of the engine.

As to smoothing groups/normals, the only limitation of the MDL format is that there must be a 1:1 relationship between geometry verts and texture verts. It seems like NWMax exports smoothing group data correctly, so there should be no reason why MDLOps couldn't compile models with smoothing across UV seams at least. Theoretically that should extend to physically separate meshes sharing vert co-ords as well, but I'm not sure if that is necessarily the case in practice.

#33 VarsityPuppet

VarsityPuppet

    Jedi Master

  • Premium Member
  • 2,014 posts

Posted 31 January 2016 - 03:27 PM

I can't quite remember, but I think I told Fair Strides to do the checking for overlapping vertices between different meshes originally (in an attempt to get the Atris head working) but then realized we didn't need it.

Not sure if he reverted it then? Sounds like he did.

Either way, what would be the ideal solution? Check overlapping vertices on separate meshes for faces that have the same smooth groups? We would have to do that, I think. Keep in mind you'd have to make sure that any other vertices aren't overlapping as well (i.e. on a bone mesh and a skin) because that will also mess with the vertex normals.

Be careful how you think; your life is shaped by your thoughts. - Proverbs 4:23


#34 Fair Strides

Fair Strides

    Aurora Engine Operator

  • Administrators
  • 2,215 posts
  • LocationOregon, USA

Posted 31 January 2016 - 07:11 PM

Actually, I kept that data, but I checked that there is less than 0.0001 between each axis of both vertices... Maybe try 0.01?


(By the way, if you ever want to ask about one of the quotes, feel free to send me a PM)

 

My personal, made-up quote: "To know is good, but to act is better."

"Words are just words, thoughts thoughts, but actions...actions are progress." - Fair Strides

"Intelligence and respect are all it takes to get along fine. Not a bad trade off, huh?" - EwigD from GameFaqs

"And regarding butchering the language, I have been to the internet. The language is well butchered regularly." - Malkior

 

"You can either live with the lies or die with the truth. Who would rather lie to live than die for telling the truth?" - Fair Strides


#35 JCarter426

JCarter426

    Jedi Knight

  • M478_Staff
  • 289 posts

Posted 31 January 2016 - 08:30 PM

3ds Max only displays three decimal points for me... I don't know if that's just a setting that could be changed, or if it's a limit of the version I use. (3ds Max 8... no, not 2008. 8.) I usually use the snap toggle to have vertices overlap exactly, but even so, giving it a range three decimals or less would be safer. 0.01 sounds too broad to me, though. That's one centimeter, so accidental overlaps could happen. I'd say something between 0.001 and 0.005 should do it.



#36 DarthParametric

DarthParametric

    Dark Lord of the Sith

  • Members
  • PipPipPipPipPip
  • 1,179 posts
  • LocationOz

Posted 01 February 2016 - 04:38 AM

Yeah the rounding is normal, regardless of version. Other 3D apps do it as well.

#37 redrob41

redrob41

    Jedi Padawan

  • RoR Staff
  • 108 posts
  • LocationEdmonton, AB

Posted 03 February 2016 - 05:17 AM

Also, out of curiosity, what model(s) are you using for Mira there?

That's the standard PFBAM mdl, but heavily modified to match Mira's BB model almost perfectly (like the pronounced clavicles). My previous underwear mod was good, this one will be better.

 

There should be no reason that a split between torso/left arm/right arm as individual meshes is required as such. The model will animate identically regardless of whether it is one mesh or twenty, as long as the verts are all weighted the same. I suspect it is more an artefact of their production pipeline than any inherent requirement of the engine.

As to smoothing groups/normals, the only limitation of the MDL format is that there must be a 1:1 relationship between geometry verts and texture verts. It seems like NWMax exports smoothing group data correctly, so there should be no reason why MDLOps couldn't compile models with smoothing across UV seams at least. Theoretically that should extend to physically separate meshes sharing vert co-ords as well, but I'm not sure if that is necessarily the case in practice.

That's good to know. I'll keep it in mind as a last resort, since it would mean a whole bunch of extra work to re-weight the shirtless male & Mira undies models. If MDLops is tweaked to work the smooth groups better, then they would be ready now (I still have to re-do her dancer model before releasing it).



#38 JCarter426

JCarter426

    Jedi Knight

  • M478_Staff
  • 289 posts

Posted 03 February 2016 - 05:23 AM

That's the standard PFBAM mdl, but heavily modified to match Mira's BB model almost perfectly (like the pronounced clavicles). My previous underwear mod was good, this one will be better.

 

That's good to know. I'll keep it in mind as a last resort, since it would mean a whole bunch of extra work to re-weight the shirtless male & Mira undies models. If MDLops is tweaked to work the smooth groups better, then they would be ready now (I still have to re-do her dancer model before releasing it).

 

I figured it had to be that, but I couldn't figure out how you had gotten it to be so accurate. You're scary sometimes.

 

And I'm seconding the request for the smoothing groups. I've been fiddling around with it some more and while everything does seem to be doable, the way many the models are set up would require a lot of editing just to retain the smoothing as is. A lot of them have the forearms on a separate mesh, and in my experience editing the arms is one of the trickiest parts. Simply running it through MDLOps loses the smoothing because of that. In contrast, a lot of them have the feet on the torso mesh and splitting them is required to keep everything as is.



#39 xander2077

xander2077

    Jedi Knight

  • Members
  • PipPipPipPip
  • 288 posts
  • LocationCyberspace

Posted 15 May 2016 - 11:15 PM

im about to run my own models through mdlops, but i see here the file is updated.

 

from what i remember you have to put all three files for a model in the same directory. but i forgot which button to push once i choose the model i want to convert back to binary. is it the read/ write? or the replace?

 

never mind, found the instructions on the DL page, and boy is that gui nice!

 

not knocking 3dsmax 8, it was my favorite before i got 9 years ago, and i wish i could still run both in linux. but anyway, in blender i can take it down to 0.0001 for the decimal points for proximal vertices i want to weld, however it jumps in increments of .001 so it has to be entered manually to tweak it just right. by default it is set already to 0.0001... anyway i always use that on import because the faces are all separated. if nwmax or neverblender do the same thing and export them as smooth groups, then it shouldn't matter if they are welded before export or not.

 

i cant remember what it was called in max, but in blender i can select all faces/vertices, and set the faces as smooth material. if that is something that can help the appearance i would suggest it, but to do so the verts must be welded or it wont work.

 

now something i do not know whether it effects the models or not is the sharps. if i mark something sharp it sometimes helps the appearance but im not sure if it breaks the model up or not. im not sure about seams either. i often just leave the original UVs alone unless i add geometry, and then if there is new geometry i only unwrap that portion or the island they logically belong to and keep the rest the same. if you can create seams from island then that is a trick that might help. if not then they need to be manually added.

 

once i export these i will give my models a test in game to see if they suffer from any anomalies, but first to download the updated mdlops.



#40 ndix UR

ndix UR

    Jedi Padawan

  • Members
  • PipPipPip
  • 72 posts
  • Locationca, usa

Posted 26 May 2016 - 05:02 AM

I just spent waaaaaaay too long debugging MDLOps and I have a fix for you!

 

Setup: working on character models with blender using neverblender import/export

 

Symptom: recompiled characters don't have shadows in game. if they are playable NPCs (handmaiden say) and you enter combat with them active, the camera freaks out, doing a combination of moving inside the model's head and orbiting them really closely as if some kind of collision were happening.

 

Cause: neverblender exports models with classifications in ALL CAPS. It took me *so* long to figure this out. I tried just about everything else (returning weights, tverts, faces, orientations, all things neverblender changes on a simple import/export).

 

Solution: in MDLOps.pm change line around 1795:

    } elsif (/\s*classification\s+(\S*)/i) { # look for the model type
      $model{'classification'} = $1;

to

    } elsif (/\s*classification\s+(\S*)/i) { # look for the model type
      $model{'classification'} = ucfirst lc $1;

This is similar to how keys are used in the nodelookup hash.

 

Anyway, I hope this will save some blender character modders some grief somewhere down the line. Thanks for maintaining this essential software!







Also tagged with one or more of these keywords: mdlops, tool, md, alpha

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users