You are on page 1of 13

Verhängnis’s 3d Modding Explanations Guide + some Java

Table of Contents2) 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

0.(Only for use with Hier.php/topic.sas1946.sas1946.html IL-2 3d modeling tutorial~ http://www.php?f=31&t=28667 IMF Viewer for TGA~ Open TGA files from the SFS Archives etc. http://allaircraftsimulations.html Buggy Buggy Exporter~ For 3ds max and Gmax.html SFS Extractor~ Used for extracting the files and meshes from the SFS Archives in the IL-2 Root http://www.sas1946.php/ Hook Orientation Explanation~ Attaching line!) http://www.357.15.sas1946.sas1946.0.html Hier.0.7017.php/topic.sas1946.0.0.php/topic.php/topic.356. http://www.php/topic.php/topic.html Kumpels Matrix Tool~ Used for getting World coordinate values for XYZ .him Tutorial~ http://www.2 Modding Tools and Tutorials: Dr Jones Mesh Converter~ Used for Converting meshes to 3ds max

always in Brackets. Separable ~Means the engine separates from it’s parent Mesh if damaged through all stages.xxeng1mag1 CollisionObject .33544 CollisionObject xengine1 CollisionObject . since it is default this means that it will appear in the exact same place as CF_D0. 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.93307 -0.xxeng1cyls CollisionObject .97176 0.xxeng1oil1 CollisionObject . xyz Position.him example 1) [CF_D0] ~The name piece of the Heirarchy.xxoil1 CollisionObject . Attaching 1 0 0 0 1 0 0 0 1 0 -2. Hidden ~Means it is hidden always when the aircraft is in D0 condition.Hier. For damage meshes it is always hidden.xxmgun01 [CF_D1] ~The consecutive Damage Model # 1 Mesh CF_D1 Parent CF_D0 ~Damage models parent is always It’s undamaged mesh. doesn’t have to be the same as the mesh but usually is for convenience. Parent _ROOT_ ~The CF_D0's parent is always _ROOT_ Attaching 0 1 0 -1 0 0 0 0 1 -0.xxeng1prop CollisionObject .58133 ~World 3d Coordinates XYZ Scaling/Stretching and Orientation.xxoil1 CollisionObject . Hier.3 The Hierarchy File. Not entirely sure what these lines do however.msh file in the folder. CollisionObject xcf1 ~Collision Boxes on this mesh.him example 2) [Engine1_D0] Mesh Engine1_D0 Parent CF_D0 ~For single engined aircraft it is usually CF_D0.xxeng1case CollisionObject . CollisionObject .xxeng1mag2 .him Explanations.xxeng1oil1 CollisionObject . CollisionObject . 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. 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 Coordinates instead.01184 0. Mesh CF_D0 ~The name of the . CollisionObject xcf1 ~Appears to be the same as it’s D0 mesh.xxmgun01 Hier. if it does separate then Engine1_CAP will appear.

117314 -1. Separable Attaching -1 0 0 0 -1 0 0 0 1 0 -1.him loading error in game even though the Hier. this mesh is actually hidden. .him example #3) [Prop1_D0] Mesh Prop1_D0 Parent Engine1_D0 ~Always the Engine. this is discussed more below in Notes on Meshes. Separable Attaching 1 0 0 0 1 0 0 0 1 0 0 0 Notes on Hier.97064 -0. Mesh Engine1_CAP Parent WingLMid_D0 ~Always the same as Engine1_D0 Parent.04923 [PropRot1_D0] Mesh PropRot1_D0 Parent Prop1_D0 Hidden ~Contrary to Common sense. Usually if you have an incorrect mesh file structure then it will give a Hier. Hidden Attaching 1 0 0 0 1 0 0 0 1 -0.404139 Hier. does not exist on Single engined fighters such as Bf-109’s.41059 -0. · ~END Not everything is ‘even’.4 [Engine1_CAP] ~CAP model for Engine1_D0.him: · · Use Kumpels Matrix tool to change the 3d world coordinate values correctly.him is fine. occurs after all Damage models have been used.

5 Aircraft Part Naming Convention: Always name from the front of the aircraft. GearC is the center tail wheel or nose wheel. you can call it whatever you like. R2 and C2 are the Gear Struts. Same thing for other parts on both sides and for engines. whilst L2. . Gear L1. depending.g. R1 and C1 is usually the wheel. Engine1 is always on the Left side ( From the Front) For non essential parts like shown above. any other Gear parts are usually the gear doors and I don’t think they need specific names. e.: When looking from the front the Right wing is WingROut and vice versa for the left.

NumBones 0 FramesType Single NumFrames 1 [LOD]//Distance at which the Next LOD is visible. Explained.81369 [Materials]//The . Take this as your structure for CF_D0 only. Base Format: [Common]//Seems to be the same on every Mesh. The same Structure Applies for All Other LOD's.him attaching format. //Example: _Clip09 <BASE> [HookLoc]//Numbers that tell the game where the Hooks are positioned in 3d world coordinates. 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 computers there is only a need for 3 LOD’S. LOD0 is the Perfect Model.Full Mesh file structure is as follows: Ok here is a sample Mesh. //Example: Gloss1D0o [FaceGroups]//The grouping of faces on the Model of LOD0. //Example: 1 0 0 0 1 0 0 0 1 -0.17328 0.MAT files that point to the Texture that the assigned parts of the LOD0 Model uses.6 The Mesh File. same as Hier. smoke and fire etc.00448 -1. (Smoothing Groups?) //Example: 1073 845 . //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.

//Example: 01 0.308958 [*]^^These are the numbers the game uses to create the model.3937073 -0. //Example: -0.767822 0.951076 -9.9940796 0.7960052 0.07792664 [ShFaces]//The shape and postioning of the Shadow Faces on the Shadow Model of LOD0. //Example: 436 210 12 13 42 //LOD's: //Same as above except it is for the LOD's.15523E-05 0. [LOD1_Materials] [LOD1_FaceGroups] [LOD1_Vertices_Frame0] [LOD1_MaterialMapping] [LOD1_Faces] [LOD1_ShVertices_Frame0] [LOD1_ShFaces] .^^[*] [MaterialMapping]//Position of the Textures on the Model for LOD0.162201 -0.346649 0. //Example: -0.7 [Vertices_Frame0]//The shape and postioning of Vertices on the Model of LOD0. //Example: 0 41 4 430 16 19 37 [ShVertices_Frame0]//The shape and postioning of the Shadow Vertices on the Shadow Model of LOD0.3399506 [Faces]//The shape and postioning of faces on the Model of LOD0.

05176E-05 2. Not really sure what the different parts mean though.314667 [CoNeiCnt_b0p0] //Example: 6 2 9 5 [CoNei_b0p0] //Example: 12 3 9 8 [CoFac_b0p0]//The Faces //Example: 021 198 .8 //Collision: //Collsion Boxes. [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.13019 0.

The above mentioned problems are usual when you are converting meshes or replacing one aircrafts meshes with another. Must have at least 1 LOD Value otherwise the same error will be given as the above. the mesh is the cause.him” error.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. you often forget to enter the values and when exporting from 3ds max it gives you an LOD Value but no material. giving it a material will fix this problem. so once again giving it a value of 250 for example will fix this.him. ~End . there is nothing wrong with the Hier.

He-162A-2 Arms/Name of the Weapon e.Basic: MODS/Name of your Mod/3do Possible Extensions: Plane/Name of the aircraft e.g. All 3d meshes.g. Ab-1000 Artillery/Name of Country/Name of Artillery piece e. . M-Boat Tanks/Name of Tank e.g. textures.g.10 Mod File Structure.mat files go in the 3do/Plane/Yak-1(Multi) for example .g. Russia Maxime Ships/Name of Ship e. Yak-1(Multi) Cockpit/Name of Aircrafts Cockpit e.g. LT-38 Classfiles Just go in the Mod folder.

shadow meshes. 2) Select if you want the whole mesh file or just the LODs. ~END .him for the mesh to become "readable" as part of the objects' 3d model. open the Output menu and then other (max) Options. Then complete the relevant entries in the Hier. 6) Check "Limit name to 10 chars" 7) Import into 3ds max or Gmax. Debug. click on the Save Options Tab. Output and Help. 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. 3) Copy this text into a . Hooks. 2) It will then generate all the text of a . 3ds max/ GmaxImporting into 3ds max/ Gmax: 1) Open a mesh in the Dr Jones Mesh converter. Collision meshes.txt file then click Save As. etc. 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. 3) Above the Mesh Structure Window there are Data. Info (Debug) and Save Options Tabs.msh file in the listener.11 Exporting and Importing Procedure. a new mesh for IL-2.msh extension. 4) There. press F11 to open it if not already open. type the name of the mesh with .

. Whilst this works most of the time.Notes on Replacing Meshes: When replacing one mesh with another.12 IL-2 3d modeling tips and notes. Creating Shadow Meshes. remember to copy the original aircraft’s Hook sections from it’s mesh. this eliminates exporting the model twice. usually during a testing period of your Mod aircraft. simply copy your exported meshes’ Vertices_Frame0 and Faces Sections underneath and add Sh in front of the section names.or not really: Rather than creating a complete Shadow model in your modeling program as usually done... there have been times for me at least where it didn’t work. otherwise your replaced plane probably won’t load as some Hooks are usually needed for it to load properly.

13 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_More Things Will be added later. Verhängnis . after all.him editing among other things is because this is already explained at SAS far better than I ever could. and if there is anything specific that you would like me to cover or explain then feel free to ask. the reason I didn’t cover Hier. Happy Modding. there is no reason to invent the wheel twice.