Author Topic: 3D Model Import questions  (Read 5154 times)

apz freak

  • *
  • Posts: 410
    • View Profile
3D Model Import questions
« on: 2006-02-05 13:01:19 »
Okay... All you 3D Modelers, or anybody who opened up those ff chars, could you help me out alittle?

I know this is NOT Final Fantasy related, BUT it is ripping models out of games and opening them in a modeler program...? related... question. :isee:

A web-site (www.thelostworlds.net) is basically like how this site is to Final Fantasy, that site is to Legacy of Kain games. Minus the forum like atmosphere, which is nice! ... and redundant. (I try not to be the same type of noob, so bear with me)

They (or two guys really) Developed utilities that extract raw data from the BIGFILE.DAT found in the games (Just like the LPG tools, see the similarity? :roll: ) and one more utility that can view the 3D models as well as convert the native file type (.srobj) into something more usable (.x)

Ah ha! DirectX! Just like the pro's and semi-pro's use! I quickly found the main character to the game Soul Reaver, converted him to .x, and converted him into .3ds for importing into 3D Studio Max.

Joy of joys! He's there, in the program, faceted all over.

BUT!

And here's my question:

Why this?



I throw on a quick meshsmooth, and part of him remains faceted! Further more, if I tried any iterations, the facted part remained the same.  :(

I remembered what I read on a forum about a geometric dumper for an n64 emulator, this guy imported Mario's head from mario64 and it was all faceted. So some other guy told him to select oll the verts and do a Weld with a threshold small enough to put all the polygons together the way it's suppost to.

So I do that, and now it does this:



It RENDERS partially normal smoothed, but parts of it are still faceted! I should also mention that in the viewport no noticable changes can be seen, at all! It still looks like the first picture. :weep:

I know that most of the faceted part is actually double sided. (In the game it's a cloth he pulls off of his face and puts back during game play) But that doesn't really count some of the other polys that aren't double sided, and yet act the same way! I should also mention that it only rendered that part smooth after I told the renderer to force 2 sided. So I think it has something to do with the whole two-sided buisness.

I've tried flipping the normals, to no avail. -_-

This could be attributed to the conversion process straight from .x (which is command text openable in notepad) but I highly doubt it. I think it has something to do with the vert/poly properties used in the game to make it render properly during the game.  :x

If this has no place here... Sorry! But it seems like this is the only place to ask for help! (I doubt the guy who programed the converter knew much about Max, the models appear completely smooth in his program) If anybody here could help me out, I'm be very appreciative. Thanks!

Borde

  • *
  • Posts: 891
    • View Profile
3D Model Import questions
« Reply #1 on: 2006-02-05 20:13:17 »
Mmmm... I really don't have a clue about 3D Modeling, but what you are saying reminds me of a little problem I had while doing my program. I supose 3DS Max uses face smoothing to calculate the normals of every vertex. Maybe there are some polygons that don't share directly vertices. Instead, there are two diferent vertices in the same coordinates. It's something very usual in FF7.
If that's the case, you should find all the vertices that have the same coordinates and make the polygons that have one of those vertices point to the same one.
Don't ask me how to do it in 3DS though :-P

apz freak

  • *
  • Posts: 410
    • View Profile
3D Model Import questions
« Reply #2 on: 2006-02-05 20:37:59 »
Yeah, that seems very likely! But the two verticies in the same spot thing, sort of might still be a possibility. But that's what the vert weld was supposed to do. The model used to have 299 verticies, and now it has 285 after the weld. It still has 640 polys, so it didn't delete any of the faces in the process.  :P I know not everybody uses 3ds max, but any advice is golden! It wouldn't be a problem if the whole thing rendered normal!

Synergy Blades

  • Guest
3D Model Import questions
« Reply #3 on: 2006-02-05 23:06:03 »
Just try dragging a small select box around the vertices in question and double-check the vert count to make sure it's welded. Really though, I don't think MeshSmooth is the answer. IMO it's not really designed to make just anything 'look' smoother; it's for making a model designed in max, and in a specific way, look better by adding polygons. Game models are by their nature low poly designs, imported as you say so perhaps not 100% accurate when they reach your modeller, and won't go well with MeshSmooth.

I remember once doing the same thing with an imported Cloud .p object and while he looked better on the whole the were some odd polygons as a result and things like the buster sword were obviously a no-go (a rectangular object with MeshSmooth just goes lozenge-shaped without some tweaking). I just accepted that as a function of it just being a quick slap-on effect to see what he might look like with more polygons.

I've not got 3ds max installed at the moment; if all you're after is decreasing edge sharpness, Maya has a function for 'smoothing' whereby any selected faces with an edge-angle greater than your specified amount are rendered smoothly (but look the same in the modeller). Is there a similar thing in max?

L. Spiro

  • *
  • Posts: 797
    • View Profile
    • http://www.memoryhacking.com/index.php
3D Model Import questions
« Reply #4 on: 2006-02-06 03:38:52 »
I can’t tell you any specific menus to visit in that software (I prefer Maya, but even still I don’t remember the menus at the moment), but here is the basic concept.

Often you will have vertices in a single location where multiple triangles touch.
Each vertex has a normal, which is how light is computed off the vertex (and incidentally all the way across the triangle) based on the camera angle in respect.
This is how shading is applied across the triangle.

To make things smoother, you can “weld” the vertices together where multiple triangles touch.
Internally, the normals of each vertex at that location will be the same value, and that value will be computed as the average of all the individual normals of those vertices.
In other words, the normals of each of the welded vertices are calculated individually, then averaged together to create a single normal, which is then applied to each of the welded vertices.

This creates the smoothness at the edges of the triangles where they meet, rounding them out visually via shading.


The sharp corners you saw in your model mean that those vertices are not welded to any other vertices, even though they may be touching other vertices.
They have a normal that is different from the other vertices at that location, so the shading will be different between the two sets of vertices, creating that sharp contrast.



However, this is entirely normal.
It is probably an intended effect in the model, depending on how it was exported and processed.
The plates that have this contrast are probably metallic or of some other nature.  Some type of armor on his clothes that are intended to stand out from the rest of his clothes.


L. Spiro

apz freak

  • *
  • Posts: 410
    • View Profile
3D Model Import questions
« Reply #5 on: 2006-02-06 04:36:11 »
Hey thank man! :D

...  :(

Why did I have to figure this out on my own BEFORE I read this post!!! :x

I get the answer I was looking for... AFTER I found out for myself! And you know what, I came to the conclusion (just like you said) that this is not a bi-product of converting. Some of the polygons wern't connected it's true (THAT could be a product of converting) but the original normals were tweaked so that the model would respond to light a certain way. -_-

A quick normals average, and some manual rotating of normals on one side of him should be enough, then I'll just mirror the darn thing and be over it!

Thanks guys you've all been great! :love:

apz freak

  • *
  • Posts: 410
    • View Profile
3D Model Import questions
« Reply #6 on: 2006-02-23 04:09:50 »
A NOBODY CARES BUT ME UPDATE:

Okay, incase anybody else runs into this kind of problem. The real reason it did this is because Max doesn't know how to compute normals if the same mesh is two sided.

The problem with my import is that those specific polygons were two sided. Just like I said in the first post. (Even though I was wrong, every single faceted poly WAS two sided) Meaning the same verticies were connecting polygons on the inside of the model as well as polygons on the outside. IT WAS NOT BECAUSE THE VERTICIES WERE NOT CONNECTED.  :wink: No offense to anybody, but I already tried that  before I posted here! 8) (re-read my first post you'll see what I mean!)

Changing the normals manualy didn't allow me to add any kind of modifiers without it reverting to it's previous state. Thus it was only it was only a quick fix and not the solution...

THE REAL SOLUTION:

I just needed to delete those inner polygons, and then everything was fixed!

Happy Ending!