PDA

View Full Version : ModelConverterX alpha 12 release


arno
30 May 2008, 13:16
After a period of some inactivity, here is a new version of ModelConverterX. This are the main improvements:


Fixed issues with transformations being applied incorrect
Improved reading of API macros with "exotic" code structures
Fixed texture mapping problems
Improved mif/melse/mend handling
Improved speed by updating the log less frequent (only after object reading finished)
Made FSX MDL reader a bit more robust
Added 3DS exporter functionality


For the 3DS export functionality there are still some limitations, but it should export static objects with a material or texture correctly. All the polygons with the same material end up being one part if you import it into 3DS or GMax later on. Also all polygons will be triangulated. But still it could be easier than starting from scratch on your objects.

You will also see that the first time you start the tool you will have to accept the user license. I added this to make it clear once more that this tool is meant only to convert objects you are the designer of. Do not use it to convert/edit other people's work without their permission.

Quite high on my todo list now is support for LODs, so maybe I can add that in the next version.

Ayrsimming
31 May 2008, 08:45
Hi Arno

With this version I have converted an API file to 3DS file and then opened in GMax FSX. I am seeing the geometry of the object but it is not textured. Can you clarify, should I expect to see textures already applied or has one to retexture?

Iain

arno
31 May 2008, 10:58
Hi Iain,

There should be no need to re-texture. When I tested it the 3DS and the textures used were in the same folder, is that also the case for you?

Oh, another thing I should mention. By default the option in the material to show the texture is off. I have no idea how to turn that on, but you need to press the blue/white cube icon for the material. Then it should show. I guess I have to update the manual soon :).

Ayrsimming
02 Jun 2008, 04:02
Hi Arno

I have textures displayed now after following your advices.
However I was looking at an object with multiple textures applied and that appears to pose further problems.
It's no big deal for me at the moment as I can continue to convert my old objects directly to mdl's as before. I also appear to be able to convert some older files now that did not convert before, so thank you for that.

Iain

arno
02 Jun 2008, 14:08
Hi Iain,

However I was looking at an object with multiple textures applied and that appears to pose further problems.

Can you specify the problems a bit more? If I know what is not working I might be able to improve it :).

Ayrsimming
04 Jun 2008, 05:32
Hi Arno

My problems are almost certainly more to do with my limitations with using Gmax than anything else. I will need to spend some more time on the Gmax end of things.
I am assuming the main benefit of the conversion through producing a 3DS file is the possibility of making changes to your object, as opposed to the straight conversion from API to MDL achieved with previous versions of the tool?

Iain

arno
04 Jun 2008, 15:11
Hi Iain,

OK, clear. Yes if you want the convert the object as is, using the MDL export functionality is better. The 3DS functionality is for the cases when you want to change your object before putting it in FSX.

KlausKlausen
20 Jun 2008, 16:05
Hi Arno,

Your ModelConverterX does a great job in the latest version.

1. However, I cannot make transparent textures to display at all, regardless of the format I use when saving the textures - 555-1, dds or whatever. If ModelConverterX cannot handle them correctly at the moment, is it possible to tweak the .x file a little (MeshMaterial etc.) ???

2. If I convert a simple building like that at the end of this message, the final mdl file does show up in FSX, but the walls are a few metres LOWER than the roof, so the roof floats freely above the walls. Is there any bug in my code? The points for the roof (0, 1, 2, 3) are the same as for the walls.

Any help would be appreciated.

Greetings,

Klaus

Points( 0
-34 34 15; 0
34 34 15; 1
34 34 -15; 2
-34 34 -15; 3

-34 0 15; 4
34 0 15; 5
34 0 -15; 6
-34 0 -15; 7

-11 34 15; 8
-11 34 -15; 9
-11 0 15; 10
-11 0 -15; 11

12 34 15; 12
12 34 -15; 13
12 0 15; 14
12 0 -15; 15

-34 46 13; 16
34 46 13; 17
34 36 13; 18
-34 36 13; 19
)

LoadBitmap( 0 L6 EF 100 100 100 h22hpe.bmp )

; north face
TexPoly( a 1 0 83 12 84 83 14 84 0 5 0 0 )
TexPoly( a 12 0 83 8 84 83 10 84 0 14 0 0 )
TexPoly( a 8 0 83 0 84 83 4 84 0 10 0 0 )

; south face
TexPoly( a 3 0 83 9 84 83 11 84 0 7 0 0 )
TexPoly( a 9 0 83 13 84 83 15 84 0 11 0 0 )
TexPoly( a 13 0 83 2 84 83 6 84 0 15 0 0 )

; east face
TexPoly( a 2 140 83 1 255 83 5 255 0 6 140 0 )
; west face
TexPoly( a 0 140 83 3 255 83 7 255 0 4 140 0 )

; billboard
LoadBitmap( 0 L6 EF 100 100 100 h22ace.bmp )
TexPoly( a 16 255 255 19 255 90 18 0 90 17 0 255 )
LoadBitmap( 0 L6 EF 100 100 100 h4hp8.bmp )
TexPoly( ai 16 0 35 17 95 35 18 95 0 19 0 0 )

; roof
LoadBitmap( 0 6 EF 100 100 100 hkxhproof04.bmp )
TexPoly( a 0 255 255 1 000 255 2 000 193 3 255 193 )

arno
21 Jun 2008, 06:33
Hi Klaus,

1. However, I cannot make transparent textures to display at all, regardless of the format I use when saving the textures - 555-1, dds or whatever. If ModelConverterX cannot handle them correctly at the moment, is it possible to tweak the .x file a little (MeshMaterial etc.) ???

In the material editor of ModelConverterX you can specify if the material has transparency or not. After that it should work on the converted object, as long as you make sure that the texture has an alpha channel (some old textures with transparency don't have an alpha channel yet).

2. If I convert a simple building like that at the end of this message, the final mdl file does show up in FSX, but the walls are a few metres LOWER than the roof, so the roof floats freely above the walls. Is there any bug in my code? The points for the roof (0, 1, 2, 3) are the same as for the walls.

Can you send me the full API of that one? Then I can easier debug it.

KlausKlausen
21 Jun 2008, 08:09
Hi Arno,

I did specify tranparency in ModelConvX, and the texture does have an alpha channel. I also changed the dafault name for night textures. The .x file, however, has no alpha specified, here is an excerpt:

DiffuseTextureFileName {
"h2la47.bmp";
}
EmissiveTextureFileName {
"h2la47n.bmp";
}
FS10Material {
1.000; 1.000; 1.000; 1.000;;
0.000; 0.000; 0.000;;
0.000000;
1.000000; 1.000000;
1.000000;
0;
0;
0;
0; 0; 0;
0; 0; 0.000000;
64.000000;
"One"; "Zero";
BlendDiffuseByBaseAlpha {
0;
}
BlendDiffuseByInverseSpecularMapAlpha {
0;
}
AllowBloom {
1;
}
SpecularBloomFloor {
0.900000;
}
EmissiveData {
"AdditiveNightOnly"; // Emissive mode
}
AlphaData {
0; // ZTest Alpha
0.000000; // Alpha test threshold
"Never"; // Alpha test function
0; // Perform final alpha write
255.000000; // Final alpha value
}
EnhancedParameters {
0; // Assume vertical normal
0; // Z-Write alpha
0; // No Z-Write
0; // Volume shadow
0; // No shadow
0; // Prelit vertices
}
-----------------------

I understand that I have to alter it to

AlphaData {
1; // ZTest Alpha
0.500000; // Alpha test threshold
"GREATER"; // Alpha test function
0; // Perform final alpha write
255.000000; // Final alpha value

What I do NOT know is:

1) Change to 1; // Perform final alpha write ?

2) Change in Enhanced Paramerts the line to
1; // No Z-Write

??? Or should I leave 1) and 2) as they are, i.e. 0; // ?

I cannot find out the asnwer from the scenery SDK.

---------------

As for the second phenomenon, I meanwhile found out that FSX (with SP2 and DX10 preview) should be the cause. The API displays in ModelConv. correctly. However, the emissive texture was missing in the texture folder. Although it was day, FSX seemed to want to find the emissive texture to display correctly. If I created one and copied it to the folder, everything was fine. Strange, isn't it?

Regards,

Klaus

arno
22 Jun 2008, 02:46
Hi Klaus,

The settings you mention are not the most important, they are for drawing order display problems mainly. So get the transparency at all you need to have the line:

"One"; "Zero";

Changed to:

"SrcAlpha"; "InvSrcAlpha";

But that is something the tool should do for you, are you sure you set the transparency on the right material in ModelConverterX? There is really no need to do this manually in the X file.

I do not understand what you mean with the emmissive texture. Are you talking night texture here or something else?

KlausKlausen
28 Jun 2008, 15:29
Hi Arno,

Thank you very much for making things clear to me about the transparency mode in the .x file. And sorry that I blamed ModelConverter for not setting the correct paramters. It does the job, it was my fault, mixing up 2 different .x files.

As for the emissive texture, I meant night texture (called emissive in the *.x file, right?) Strange phenomenon, but as soon as there are all textures quoted in the x file in the texture folder, everything is fine.

So thanks again for your help and for the excellent tool.

Regards,
Klaus

arno
24 Jul 2008, 10:34
I have released a new version (http://www.fsdeveloper.com/forum/showthread.php?p=72664#post72664).