• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Export with explicit normals (Max)

Messages
588
Country
germany
Hi all.

Has anyone tried to export a model from Max after setting vertex normals manually for better smoothing? Since Max provides control over the vertex normals, i thought it would be nice to use this to resolve some lighting issues on my model (instead of increasing polycount). So I tried to export a cube/box (ePoly) with all edges hard (3 normals per vertex) except one vertex with only one normal. But, Nada. All normals are standard. Since the ACES-exporter triangulates the model on export,
1. Could it be that it also recalculates normals based on smoothing groups?
2. Can i prevent this from happening?

I can manually edit vertex normals in the .x-file before passing it to 'XToMdl', and the model in the sim looks just the way i want, so it is possible! But, that workaround is ok for a cube, whereas cubes usually don't fly that good... Thanks for any input on this.

Cheers

Felix

PS - For explanation: Explicit Normals are manually altered normals vs. Calculated Normals that result from smoothing algorithms. Generally used in low-poly-modelling...
 
Ok. seems to be of little interest, but i'll just continue to post progress here :)

I've exported an x-file with custom normals from Max with the Panda-plugin, altered the file manually to fit the FSX-DirectX-format and compiled with XToMdl. Works fine and best of all, the sim shows the custom normals! It would have been great to have that ability in the ACES-exporter... I'm now thinking of a maxscript to handle it all in one pass. Of course this means starting an exporter from scratch, unless i could get hold of (tinker, tinker)... nah! :p

Stay tuned...
 
Scene I, Part 3, Monolog of Felix...

I'm gone hacking. So there may be some distro-issues, but... I started a little library (GUP) for max to publish some useful functions to maxscript. Integrating that into the exporter is no big deal, as I found out.

ExportLOD2.jpg


Think of integrating any post-processing for the X-File in there... :stirthepo Sure enough, I cannot distribute the altered ACES maxscript files. But what I need to know: am I getting myself into trouble if I write a readme with the GUP that says: add this line in this script and change these two values in that script?

Felix
 
Last edited:
Testers welcome!

For the rare Maxer who wants to try it out... This is a beta, preliminary testing OK. If it is of any use, i will post it to the download section once it is proven relatively stable (or after i use it for couple of weeks). Readme included...

In case you wondered what this is all about:
eno_before.jpg
eno_after.jpg


You may now call me names :p

Enjoy!

Felix

PS: I integrated it into the export-script and use it as default export method.
 

Attachments

Last edited:
As soon as I install Max8 on my new development computer, I'll give your script a whirl...

...although I'm unclear as to why simply using Smoothing Groups properly won't achieve the same results... :confused:
 
Hi Bill,

in the case shown above, cargo doors and fuse are separate objects, hence smoothing groups won't work across the border, whereas the 'edit normals'-modifier allows simultaneous selection of several objects. Don't know if grouping the objects would've helped, didn't try. The second advantage is total control of the vertex normals, as given by the modifier (which is why i actually wrote it). With smoothing groups, normals calculation is still up to Max. You could attach the doors to the fuse, set up SM-groups properly and skin-animate the door, sure. Or use the 'Edit Normals'-Modifier and animate the doors without skinning :)

Greetz
Felix
 
Note: Since i don't have any previous version of Max installed, i would love to read reports from Max 7/8 modellers. All methods and interfaces used should work fine with Max (32bit) from version 6 upwards.

Thanks
Felix
 
It looks like there is a compatibility issue with max7 the FSPP has failed to initialise on the start up but certainly it would be a valuable solution when dealing with normals.

Thanks!
 
Hi Bill,

in the case shown above, cargo doors and fuse are separate objects, hence smoothing groups won't work across the border, whereas the 'edit normals'-modifier allows simultaneous selection of several objects.

Strange... I've created dozens of models and have never encountered such a problem either with Max or GMax...

Perhaps it is my technique. After cutting out the doors, hatches, etc. I then (re)Attach them to the fuselage, UVW Map, and create/apply the Material.

After ensuring that my mapping is satisfactory, I then Detach by Element each of the previously (re)Attached doors, hatches, etc. and animate as needed.

Note that there is nothing to give away the two nosebay hatches, nor the port aft cargo door...

fsxxls000003.jpg

Shot at 2009-04-07
 
Last edited:
Detaching a door by element? hmm it’s a cool hint :) nevertheless occasionally the normals adjustment very useful on an object it’s self, it is also cool to be able to export them.

Capt x thanks for the update, it has loaded with no errors but I can’t piece the script together in the listener, do you think you could throw in an example of what it should look like I.e. noob friendly/er?:confused:
 
n4gix said:
Strange... I've created dozens of models and have never encountered such a problem either with Max or GMax...

Perhaps it is my technique.
I know your accuracy from reading your countless valuable posts and seeing your work. So don't be surprised if I suggest that it must be your mesh. :) Lazy people like me fake the lighting to camouflage poor meshes :duck:

Cheers

Edit: I really must be missing something. Select faces->Detach->Detach to Element->OK. Normals change. It doesn't keep the smoothing for me. Can you spot any error?
 
Last edited:
monotwix said:
Capt x thanks for the update, it has loaded with no errors but I can’t piece the script together in the listener, do you think you could throw in an example of what it should look like I.e. noob friendly/er?
You're welcome.

fspp_example.jpg


the last line is valid if you exported with "Choose Export File" unchecked. Hope this helps.
 
I know your accuracy from reading your countless valuable posts and seeing your work. So don't be surprised if I suggest that it must be your mesh. :) Lazy people like me fake the lighting to camouflage poor meshes :duck:

Cheers

Edit: I really must be missing something. Select faces->Detach->Detach to Element->OK. Normals change. It doesn't keep the smoothing for me. Can you spot any error?

The following three images should be pretty much self-explanatory. Although this project is in GMax, it works precisely the same way in Max. :wizard:

Select Door by Element...

smoothinggroups01.jpg

Shot at 2009-05-18

smoothinggroups02.jpg

Shot at 2009-05-18

smoothinggroups03.jpg

Shot at 2009-05-18

As the nose appears in FSX...

cj1plus01.jpg

Shot at 2009-05-18
 
Last edited:
ok, that illustrates my point pretty well. recall my first post...
Since Max provides control over the vertex normals, i thought it would be nice to use this to resolve some lighting issues on my model (instead of increasing polycount)
With that amount of lenghtwise edgeloops, controlling curvature is not such a pain as with this (specially on the flatter top region):

fspp_example2.jpg


your mesh is simply too refined to notice the normals shifting. ;) and harder to clean up. But maybe low-poly is just obsolete nowadays...
 
Last edited:
Okay, I'll concede your point there. However, you can still have your cake and eat it too...

That particular mesh was originally created as an FS2002 model, then upconverted for FS2004, now further refined for FSX.

All my new mesh however only has that level of complexity where it's needed and will do the most good... :D

But, aside from AI a/c, the triangle count is no where near as critical as it has been in the past. Now the cross to bear revolves around total vertices (mesh and texture) as well as draw calls.

The chief problem I face is trying to balance the requirements of FS9 along with the somewhat different requirements for FSX. That's a real challenge!
 
Strange... I've created dozens of models and have never encountered such a problem either with Max or GMax...

Perhaps it is my technique. After cutting out the doors, hatches, etc. I then (re)Attach them to the fuselage, UVW Map, and create/apply the Material.

After ensuring that my mapping is satisfactory, I then Detach by Element each of the previously (re)Attached doors, hatches, etc. and animate as needed.

Note that there is nothing to give away the two nosebay hatches, nor the port aft cargo door...

fsxxls000003.jpg

Shot at 2009-04-07

That is one beautiful XLS model, Bill. It seems that the modeler is very good and he was able to make a perfect model without any poly stress!;)

Tiberiu
 
That is one beautiful XLS model, Bill. It seems that the modeler is very good and he was able to make a perfect model without any poly stress!;)

Tiberiu

Hi stranger! Yes, you did an excellent job on the original model... :wave:

I have of course made some minor changes along the way, but it is essentially the same mesh. What has changed significantly is the way that it's been (re)UVW Mapped to take advantage of the latest options in FSX, as well as larger texture sizes.

Hopefully it will actually get released some day... ;)
 
Back
Top