Problem Incorrect normals translation from 3Ds Max into .msh

PeterRoss

Warranty man
Joined
Oct 8, 2009
Messages
1,985
Reaction score
127
Points
63
Location
Khabarovsk
Website
vk.com
I'm new into all the addon-making stuff and I am really interested in it right now (I've even managed to understand the C++ magic and wrote the working .dll module with keyboard-controlled animation:woohoo:). But I've met this problem that really pisses me off: I cannot translate my hand-picked normals into .msh format. Looks like max2msh script is just merging normals together, converting flat solar panels into some chocolate bars:

ETC1_.JPG
ETC1.JPG

Is there any other way to convert 3Ds Max model into .msh? Or maybe I'm doing something wrong?



I've started my modelling with Anim8or and there was an opposite problem: 3ds2msh program is breaking smooth curved surface into faceted one.

I've found Urvumpe's script for Anim8or and it looks like it's working fine, but I don't know how (if) I can edit every normal as I do it in 3Ds Max.
 

dougkeenan

Addon Developer
Addon Developer
Donator
Joined
Nov 18, 2007
Messages
617
Reaction score
0
Points
16
Location
Indianapolis
Website
www.orbithangar.com
Hi PeterRoss - welcome to Orbiter addons! :hello: There's a known issue with the max2msh transfer involving flipped normals. It often results from using the Mirror tool (contrasted with adding Mirror in the modifier stack). Does that sound like it might help? We'll figure it out.
 

PeterRoss

Warranty man
Joined
Oct 8, 2009
Messages
1,985
Reaction score
127
Points
63
Location
Khabarovsk
Website
vk.com
Hi, Doug :hello:

No, I haven't used mirror tool while making this model. In fact, it was converted from Anim8or model, and 3Ds Max was used only to edit normals (well, the main orange fuselage was recreated from scratch in 3Ds Max too). I've made normals at the solar edges split so edges would look sharp, as you can see it on the first attached picture. It doesn't looks like that after conversion.

Do you mean that the conversion result depends on some creation history and not only on the final model I see on the table right before I press 'Export' button? Maybe I should recreate the whole model from scratch in 3Ds Max?

Just comfort me by saying that not all the flat surfaces created in 3Ds Max and converted with max2mesh results in chocolate bars and I'll try to redo everything.

---------- Post added at 12:16 PM ---------- Previous post was at 11:58 AM ----------

I've read in some other soft (MeshMaker) description about dependency between normals and material properties. Though the said description concerns only MeshMaker, I wonder is there any dependency between normals and material properties in 3Ds Max? Material properties are very complex in 3Ds Max, maybe I've just missed something there?
 

dougkeenan

Addon Developer
Addon Developer
Donator
Joined
Nov 18, 2007
Messages
617
Reaction score
0
Points
16
Location
Indianapolis
Website
www.orbithangar.com
Do you mean that the conversion result depends on some creation history and not only on the final model I see on the table right before I press 'Export' button? Maybe I should recreate the whole model from scratch in 3Ds Max?

Just comfort me by saying that not all the flat surfaces created in 3Ds Max and converted with max2mesh results in chocolate bars and I'll try to redo everything.

---------- Post added at 12:16 PM ---------- Previous post was at 11:58 AM ----------

I've read in some other soft (MeshMaker) description about dependency between normals and material properties. Though the said description concerns only MeshMaker, I wonder is there any dependency between normals and material properties in 3Ds Max? Material properties are very complex in 3Ds Max, maybe I've just missed something there?

Maybe - be careful with materials and max2msh also. It's a great tool but does have limits. I've rebuilt models (or sections of models) over again to eliminate problem areas. You might spend less time rebuilding than chasing the problem. :)
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,877
Reaction score
2,131
Points
203
Location
between the planets
Known problem. Oftentimes the "correct normals" function of MeshWizzard is able to fix it. If not, you're kinda screwed.
 

PeterRoss

Warranty man
Joined
Oct 8, 2009
Messages
1,985
Reaction score
127
Points
63
Location
Khabarovsk
Website
vk.com
Okaaaaaay, let me sum up the results of my experiments with 3DsMax/max2msh and Anim8or/export_msh_plugin:

I've made two experimental cubes in 3DsMax - with common normals and with unified ones:

001.JPG002.JPG

After conversion both cubes resulted in absolutely equal sharp-edged cubes:

003.JPG

This means that max2msh just does not transfer the normals information into resulting model at all but creates it's own normals model instead. I guess the question 'why' is out of our concern or our expertise, but let me ask you guys how do you tweak normals in your complex models like XR2 - I just don't believe it is automatically normalized.


P.S. Just for comparison, Anim8or/export_msh_plugin was able to satisfy my demands - here are two cubes with common and unified normals:

004.JPG005.JPG
 

Thorton

sense offender
Addon Developer
Joined
Mar 31, 2008
Messages
330
Reaction score
1
Points
0
Location
Tomsk
What version of the script do you use?
I remember I had some problems with last version so I rolled back to the one of the previous version.
 

Ae7flux

Ghost of Utopia Planitia
Donator
Joined
Apr 14, 2008
Messages
28
Reaction score
0
Points
1
Location
-27.4550 153.0381
It's a workaround, I know, but the safest method is simply to split the mesh - detach each face and then reattach it. As I understand it, the Orbiter mesh format doesn't allow multiple normal per vertex so the converter will do the splitting anyway. Doing it yourself just prevents nasty surprises.
 

PeterRoss

Warranty man
Joined
Oct 8, 2009
Messages
1,985
Reaction score
127
Points
63
Location
Khabarovsk
Website
vk.com
What version of the script do you use?
I remember I had some problems with last version so I rolled back to the one of the previous version.

It's 1.3. Where I can get an older version? Can you send it to me?


Ae7flux said:
It's a workaround, I know, but the safest method is simply to split the mesh - detach each face and then reattach it. As I understand it, the Orbiter mesh format doesn't allow multiple normal per vertex so the converter will do the splitting anyway. Doing it yourself just prevents nasty surprises.

Hmmm, thanks for the tip, it may solve at least half of my problems.
 

Hielor

Defender of Truth
Donator
Beta Tester
Joined
May 30, 2008
Messages
5,580
Reaction score
2
Points
0
You might also try using Wings3D to import the .3ds, then exporting to .msh via the exporter: [ame="http://orbithangar.com/searchid.php?ID=3901"]Wings3D .msh Exporter[/ame] . I don't know how well Wings handles 3ds, though...
 

Mindblast

Donator
Donator
Joined
Aug 29, 2008
Messages
169
Reaction score
0
Points
16
Location
Berlin
Website
www.nestadlinn.de
Hmmm interesting problem.. as i see it you are editing the normals directly. I would advice to leave them alone and use the smoothing groups (edit mesh) instead to achieve sharp or smoothed edges. I think i had some problems with directly edited normals.. i wasn't able to read out the data of the edited normals correctly using maxscript. Maybe a limit of maxscript or just stupidity on my part.. :) However it should work fine with smoothing groups..
 

PeterRoss

Warranty man
Joined
Oct 8, 2009
Messages
1,985
Reaction score
127
Points
63
Location
Khabarovsk
Website
vk.com
Hmmm interesting problem.. as i see it you are editing the normals directly. I would advice to leave them alone and use the smoothing groups (edit mesh) instead to achieve sharp or smoothed edges. I think i had some problems with directly edited normals.. i wasn't able to read out the data of the edited normals correctly using maxscript. Maybe a limit of maxscript or just stupidity on my part.. :) However it should work fine with smoothing groups..

Thanks for answering, Alex, I'll try it. I knew I'm doing it some wrong way, I just wanted to know how other guys doing it:)
 
Top