+ All Categories
Home > Documents > Il-2 Modding

Il-2 Modding

Date post: 02-Jan-2016
Category:
Upload: steve-goemann
View: 354 times
Download: 10 times
Share this document with a friend
Description:
Il-2 modding
Popular Tags:
13
Verhängnis’s 3d Modding Explanations Guide + some Java: Table of Contents- 2) Links to Modding Tools and Tutorials. 3-4) The Hierarchy File, Hier.him Explanations. 5) Aircraft Part Naming Convention 6-9) The Mesh File, Explained, Full Example 10) IL-2 Mod File Structure 11) Exporting and Importing Procedure, 3ds max/ Gmax 12) IL-2 Modeling Tips and Notes
Transcript

Verhängnis’s 3d Modding

Explanations Guide + some Java:

Table of Contents-

2) Links to Modding Tools and Tutorials.

3-4) The Hierarchy File, Hier.him Explanations.

5) Aircraft Part Naming Convention

6-9) The Mesh File, Explained, Full Example

10) IL-2 Mod File Structure

11) Exporting and Importing Procedure, 3ds max/ Gmax

12) IL-2 Modeling Tips and Notes

2

Modding Tools and Tutorials:

Dr Jones Mesh Converter~ Used for Converting meshes to 3ds max format.

http://www.sas1946.com/main/index.php/topic,3004.0.html

Kumpels Matrix Tool~ Used for getting World coordinate values for XYZ xyz.(Only for use with

Hier.him Attaching line!)

http://www.sas1946.com/main/index.php/topic,15.0.html

SFS Extractor~ Used for extracting the files and meshes from the SFS Archives in the IL-2 Root

Folder.

http://www.sas1946.com/main/index.php/topic,7017.0.html

Buggy Buggy Exporter~ For 3ds max and Gmax.

http://allaircraftsimulations.com/forum/viewtopic.php?f=31&t=28667

IMF Viewer for TGA~ Open TGA files from the SFS Archives etc.

http://www.sas1946.com/main/index.php/topic,1110.0.html

IL-2 3d modeling tutorial~

http://www.sas1946.com/main/index.php/topic,357.0.html

Hier.him Tutorial~

http://www.sas1946.com/main/index.php/topic,356.0.html

Hook Orientation Explanation~

http://www.sas1946.com/main/index.php/topic,7442.0.html

3

The Hierarchy File, Hier.him Explanations.-

Hier.him example 1)

[CF_D0] ~The name piece of the Heirarchy, doesn’t have to be the same as the mesh but usually is for convenience,

always in Brackets.

Mesh CF_D0 ~The name of the .msh file in the folder.

Parent _ROOT_ ~The CF_D0's parent is always _ROOT_

Attaching 0 1 0 -1 0 0 0 0 1 -0.97176 0.01184 0.58133 ~World 3d Coordinates XYZ Scaling/Stretching and Orientation, xyz

Position.

CollisionObject xcf1 ~Collision Boxes on this mesh, Not entirely sure what these lines do however.

CollisionObject .xxoil1

CollisionObject .xxeng1oil1

CollisionObject .xxmgun01

[CF_D1] ~The consecutive Damage Model # 1

Mesh CF_D1

Parent CF_D0 ~Damage models parent is always It’s undamaged mesh.

Hidden ~Means it is hidden always when the aircraft is in D0 condition. If the line is removed it means you will be flying

around in a undamaged aircraft yet have the model of the damage mesh aswell as the D0 mesh present. For damage

meshes it is always hidden.

Attaching 1 0 0 0 1 0 0 0 1 0 0 0 ~Kept default because it’s parent is CF_D0 and it will appear relative to it’s World Coordi-

nates instead, since it is default this means that it will appear in the exact same place as CF_D0.

CollisionObject xcf1 ~Appears to be the same as it’s D0 mesh.

CollisionObject .xxoil1

CollisionObject .xxeng1oil1

CollisionObject .xxmgun01

Hier.him example 2)

[Engine1_D0]

Mesh Engine1_D0

Parent CF_D0 ~For single engined aircraft it is usually CF_D0, however for Twin and Multi engined aircraft it is generally

WingLIn / WingRIn and for Outboard engines on 4 engined aircraft it is usually WingLMid / WingRMid.

Separable ~Means the engine separates from it’s parent Mesh if damaged through all stages, if it does separate then

Engine1_CAP will appear.

Attaching 1 0 0 0 1 0 0 0 1 0 -2.93307 -0.33544

CollisionObject xengine1

CollisionObject .xxeng1prop

CollisionObject .xxeng1case

CollisionObject .xxeng1cyls

CollisionObject .xxeng1mag1

CollisionObject .xxeng1mag2

CollisionObject .xxeng1supc

4

[Engine1_CAP] ~CAP model for Engine1_D0, occurs after all Damage models have been used, does not exist on Single

engined fighters such as Bf-109’s.

Mesh Engine1_CAP

Parent WingLMid_D0 ~Always the same as Engine1_D0 Parent.

Hidden

Attaching 1 0 0 0 1 0 0 0 1 -0.117314 -1.97064 -0.404139

Hier.him example #3)

[Prop1_D0]

Mesh Prop1_D0

Parent Engine1_D0 ~Always the Engine.

Separable

Attaching -1 0 0 0 -1 0 0 0 1 0 -1.41059 -0.04923

[PropRot1_D0]

Mesh PropRot1_D0

Parent Prop1_D0

Hidden ~Contrary to Common sense, this mesh is actually hidden.

Separable

Attaching 1 0 0 0 1 0 0 0 1 0 0 0

Notes on Hier.him:

· Use Kumpels Matrix tool to change the 3d world coordinate values correctly.

· Usually if you have an incorrect mesh file structure then it will give a Hier.him loading error in game even

though the Hier.him is fine, this is discussed more below in Notes on Meshes.

· Not everything is ‘even’.

~END

5

Aircraft Part Naming Convention:

Always name from the front of the aircraft, e.g.: When looking from the

front the Right wing is WingROut and vice versa for the left, Same thing for

other parts on both sides and for engines, Engine1 is always on the Left side

( From the Front)

For non essential parts like shown above, you can call it whatever you like.

Gear L1, R1 and C1 is usually the wheel, whilst L2, R2 and C2 are the Gear

Struts, any other Gear parts are usually the gear doors and I don’t think they

need specific names.

GearC is the center tail wheel or nose wheel, depending.

6

The Mesh File, Explained.-

Full Mesh file structure is as follows:

Ok here is a sample Mesh. Take this as your structure for CF_D0 only. The same Structure Applies for All Other LOD's.

There is usually 5-6 LOD's on every CF_D0 but this was for the original IL-2 and now that there are more powerful com-

puters there is only a need for 3 LOD’S. LOD0 is the Perfect Model.

Base Format:

[Common]//Seems to be the same on every Mesh.

NumBones 0

FramesType Single

NumFrames 1

[LOD]//Distance at which the Next LOD is visible.

//Example:

50//LOD 0 is visible at 0-50m

100//LOD 1 is visible at 50-100m

150//LOD 2 is visible at 100-150m

200LOD 3 is visible at 150-200m

[Hooks]//Special effects like Shell Ejection, smoke and fire etc.

//Example:

_Clip09 <BASE>

[HookLoc]//Numbers that tell the game where the Hooks are positioned in 3d world coordinates, same as Hier.him at-

taching format.

//Example:

1 0 0 0 1 0 0 0 1 -0.00448 -1.17328 0.81369

[Materials]//The .MAT files that point to the Texture that the assigned parts of the LOD0 Model uses.

//Example:

Gloss1D0o

[FaceGroups]//The grouping of faces on the Model of LOD0. (Smoothing Groups?)

//Example:

1073 845

7

[Vertices_Frame0]//The shape and postioning of Vertices on the Model of LOD0.

//Example:

-0.346649 0.767822 0.162201 -0.951076 -9.15523E-05 0.308958

[*]^^These are the numbers the game uses to create the model.^^[*]

[MaterialMapping]//Position of the Textures on the Model for LOD0.

//Example:

0 1

0.7960052 0.3399506

[Faces]//The shape and postioning of faces on the Model of LOD0.

//Example:

0 41 4

4 3 0

16 19 37

[ShVertices_Frame0]//The shape and postioning of the Shadow Vertices on the Shadow Model of LOD0.

//Example:

-0.3937073 -0.9940796 0.07792664

[ShFaces]//The shape and postioning of the Shadow Faces on the Shadow Model of LOD0.

//Example:

4 3 6

2 1 0

12 13 42

//LOD's:

//Same as above except it is for the LOD's.

[LOD1_Materials]

[LOD1_FaceGroups]

[LOD1_Vertices_Frame0]

[LOD1_MaterialMapping]

[LOD1_Faces]

[LOD1_ShVertices_Frame0]

[LOD1_ShFaces]

8

//Collision:

//Collsion Boxes. Not really sure what the different parts mean though.

[CoCommon]

//Example:

NBlocks 1

[CoCommon_b0]

//Example:

NParts 4

[CoCommon_b0p0]

//Example:

Type Mesh

NFrames 1

Name xcf1//Name of the Collision box

[CoVer0_b0p0]//The Vertices and Position

//Example:

3.05176E-05 2.13019 0.314667

[CoNeiCnt_b0p0]

//Example:

6

2

9

5

[CoNei_b0p0]

//Example:

12

3

9

8

[CoFac_b0p0]//The Faces

//Example:

0 2 1

1 9 8

9

//End of File:

; eof //Always at end of Mesh

Notes on Mesh File Structure:

· The mesh must always be using at least 1 material otherwise the IL-2 will give you a “Cannot Load Hier.him”

error, there is nothing wrong with the Hier.him, the mesh is the cause, giving it a material will fix this problem.

· Must have at least 1 LOD Value otherwise the same error will be given as the above, so once again giving it a

value of 250 for example will fix this.

· The above mentioned problems are usual when you are converting meshes or replacing one aircrafts meshes

with another, you often forget to enter the values and when exporting from 3ds max it gives you an LOD Value

but no material.

~End

10

Mod File Structure.- Basic:

MODS/Name of your Mod/3do

Possible Extensions:

Plane/Name of the aircraft e.g. Yak-1(Multi)

Cockpit/Name of Aircrafts Cockpit e.g. He-162A-2

Arms/Name of the Weapon e.g. Ab-1000

Artillery/Name of Country/Name of Artillery piece e.g. Russia Maxime

Ships/Name of Ship e.g. M-Boat Tanks/Name of Tank e.g. LT-38

Classfiles Just go in the Mod folder.

All 3d meshes, textures, .mat files go in the 3do/Plane/Yak-1(Multi) for example

11

Exporting and Importing Procedure, 3ds max/ Gmax-

Importing into 3ds max/ Gmax:

1) Open a mesh in the Dr Jones Mesh converter.

2) Select if you want the whole mesh file or just the LODs, Hooks, Collision meshes,

shadow meshes, etc.

3) Above the Mesh Structure Window there are Data, Info (Debug) and Save Options Tabs, click on the Save Op-

tions Tab.

4) Change the values to the following:

U offset 0

V offset -1

U scale 1

V offset -1

5) In the Toolbar where there is File, Debug, Output and Help, open the Output menu and then other (max) Op-

tions.

6) Check "Limit name to 10 chars"

7) Import into 3ds max or Gmax.

Exporting from a 3d modeling program into IL-2:

1) To export Meshes from a 3d program you need a modeling program like Gmax or 3ds max and then you use the

Buggy Buggy Exporter.

2) It will then generate all the text of a .msh file in the listener, press F11 to open it if not already open.

3) Copy this text into a .txt file then click Save As, type the name of the mesh with .msh extension.

4) There, a new mesh for IL-2. Then complete the relevant entries in the Hier.him for the mesh to become

"readable" as part of the objects' 3d model.

~END

12

IL-2 3d modeling tips and notes.-

Notes on Replacing Meshes:

When replacing one mesh with another, usually during a testing period of your Mod

aircraft, remember to copy the original aircraft’s Hook sections from it’s mesh, oth-

erwise your replaced plane probably won’t load as some Hooks are usually needed

for it to load properly.

Creating Shadow Meshes...or not really:

Rather than creating a complete Shadow model in your modeling program as usu-

ally done, simply copy your exported meshes’ Vertices_Frame0 and Faces Sections

underneath and add Sh in front of the section names, this eliminates exporting the

model twice. Whilst this works most of the time, there have been times for me at

least where it didn’t work.

13

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- More Things Will be added later, and if there is any-

thing specific that you would like me to cover or ex-

plain then feel free to ask, the reason I didn’t cover

Hier.him editing among other things is because this

is already explained at SAS far better than I ever

could, after all, there is no reason to invent the

wheel twice. Happy Modding,

Verhängnis


Recommended