In this guide I use original GTA4 vehicle model "Schafter".
It was loaded with ZModeler2 and saved with textures in a .z3d file,
so it can be opened in ZModeler3 as a regular .z3d file.
It does not show textures on it, it will be fixed in a next part of tutorial.
The model has LOD components listed in a hierarchy.
While these are listed that way we need to apply some changes to all of meshes,
as it will be impossible to do later after conversion.
All objects are shown, I hide collision objects using selection by name with COL keyword.
Geometry per-vertex color in GTA5 is different. It uses Red channel for ambient occlusion (shadows).
Green channel is the level of possible deformation. 
I select all objects and switch them all to vertices level.
Then I specify green channel to be affected by paint tool.
And paint all vertices of all meshes to white (full possible level of deformation).
Then paint the middle, say, "safety cage" area to low level deformation color.
It will be magenta color while green is not on full power.
Per-vertex blue color is the "burnt" effect level. 
I set blue channel to be affected by paint tool.
And paint all verts to zero level on blue channel (no burnt effect).
Then paint full burnt effect level (white) in a middle of the vehicle.
Wheel is located aside, but should have full burnt level too.
Now we can proceed with arranging hierarchy components.
As I'll be replacing a "buffalo2" model, I rename root hierarchy node to "buffalo2_hi".
"_hi" means I have the highest detail LOD in this scene too.
LOD models will be combined into states "L0", "L1", "L2" stored in single components.
Toggle off "L0", "L1", "L2" and use "Convert to compound" on elements that has _L0, _L1 objects in.
Including "extra" and all branches that has geometry in them.
wheel_lf is the only of wheel nodes that is converted to.
Additionally, I rename it to [wheel_lf] as this is a separted model that can be instanced on other wheels
Now I need to inject geometries into "compound" components. I double-click on the very left side of label.
This is the same as pressing "Lock" icon to lock structure panel on a given component.
I toggle "L0" mode and Drag&Drop chassis_L0 part into a list of components of a locked node.
Then toggle "L1" and Drag&Drop chassis_L1 part into a list too.
It is important to drop onto an empty area of the list to "inject" component.
As if you drop it onto existing entry in a list, it will be replaced.
Double-click on the left side of "bonnet" component to "Lock" it on structure panel
and populate component with associated geometries.
Then do this with "extra_1" part and so on.
[wheel_lf] is a bit specific again. I inject models of [wheelmesh_lf] as "L0" state.
and set [wheelmesh_lf_l1] as "L1" state.
Toggle L0, L1, L2 states to verify your model. It should switch LODs appropriately.
I've spotted a non-switching front-grill part
and populated it with respective objects too.
Everything looks correct now.
I toggle on COL state. This is for collision components.
While COL is toggled, I convert all [COL] objects to compound components too.
These are collision objects as-is taken from GTA4. They need to be corrected.
First of all, I select all wheels collisions.
And change their properties.
Axis should be set to "X".
And these are still not fine. I need to reset object axes to correct orientation.
00:04:31.300,00:03:34.100
I set "Keep object" and "Orientation" mode in "Local axes" options
00:04:36.200,00:03:39.100
And use "Reset to world" tool by clicking in viewport (to apply it to selected objects).
Wheel collisions are oriented correctly now.
Just reduce their size to a half of specified in properties on all axes. 
Size is Ok, but objects are misplaced slightly. This have to be fixed too.
I move collision objects horizontally.
and ensure left/right wheel collisions are symmetrical.
Now I need to apply some properties to all collision objects.
So I select them by name using "COL" search keyword.
And toggle "Flat shaded" option in "Appearance" properties branch.
Now I need to assign properties onto object components,
so I toggle off all state buttons and see dummies.
I start with selecting door dummies
and expand their "user-defined options" window in properties page.
These all have "RotY" axis constrain, but require RotX and RotZ too.
So I add these properties and specify "0, 0" in value field for them.
Deselect with CTRL key the passenger-side dummies (so driver-side dummies are selected)
and change RotY on them by mirroring values and refining syntax.
Thus, "-71..0" changes to inverted "0, 71".
Then select only passenger-side dummies
and refine RotY for them too by setting "-70, 0".
Bonnet dummy should have rotation constrains refined too.
I change RotX values and syntax and add RotY and RotZ zero constrains.
Then do the same with boot dummy node.
Now I hide all parts and untick those parts that can fall off during impact.
Selection should include "chassis" and all wheels too.
These nodes require a "Flags" option on them.
I set value "E" for them by default.
chassis object should have value "AE" on Flags.
So does [wheel_lf] too - I set "AE" here too.
Other wheel nodes should have "A" instead of "E" on Flags.
Now properties should be changed on collision elements 
so I toggle "COL" state on structure panel.
I use Isolated mode on "chassis [COL]" object
I assign user-defined property "E".
This is a set of unknown physics properties, so I just type values
that were initially used on buffalo2 model.
This property is important, so I assign it on all [COL] objects.
Just write down values from original model and use them on a modded collision.
When you have no source of info for particular object
you can use values from a similar (in size and properties) object.
The purpose of each value is unknown, so I can't give any hints here.
I select all collision objects and switch them to polygons level.
Per-poly IDs (surface type) in GTA5 is different than in GTA4, so correct IDs should be set.
Metal panels use value of 116, the most commonly used type.
An area on chassis collision where other collisions should act is about to be selected.
These polygons will reject collision-detection, so other collision volumes will act properly.
Set ID 142 and flags #3 and #4 on them.
Polygons on collisions for glass objects should use ID 120 and flags #3 and #8.
Windscreen for higher stamina should use ID 122.
and rear windscreen should use ID 121.
I select all collision objects using Select by name with COL keyword.
Toggle "Deformation" option in Mesh -> Vertices -> Format.
Each collision mesh requires to be a solid volume, preferable completely convex.
In particular, door window collision is flipped inside out, 
so I apply Modify->Flip tool to flip object inside out.
Door collision has incorrect topology and will not work in game.
It can even prevent parent collision (chassis) to work too.
So I fix topology by moving vertices aside and making a solid volume out of this buggy collision shape.
I refine all objects that look inaccurate to me, so the game will not reject them.
Bonnet is refined too. In general I add some thickness to edges.
Minor changes to boot collision follows.
I add some thickness to windscreen collision too.
The collision is generally ok now. I select all collision objects
and recalculate normals with Surface -> Normals -> Calculate tool
Additionally, I toggle L0 state to see geometries, select them all 
enable "Tangents" in Mesh -> Vertices -> Format options on them
and click to recalculate normals (and tangents) on meshes.
Now I save model in .z3d file for later conversion.
End of Part 1.
