User Tools

Site Tools


arma:modeling:damage_model

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
arma:modeling:damage_model [2008/05/03 05:38] – added mode vehicle damage model information snakemanarma:modeling:damage_model [2024/08/01 09:17] (current) – links added. snakeman
Line 1: Line 1:
-====== Vehicle Damage Model ======+====== ArmA 1 Vehicle Damage Model ======
  
-**Törni**With **DamageHide** selection (not a LOD) you can hide parts of the model when the it is destroyedJust what I did with the BMD-1 2.0 addon. The only addon in which the texture swapping is currently working is BTR80 and the model can be opened with O2.+[[https://www.pmctactical.org/forum/viewforum.php?f=42|ArmA 1 Forum]], [[:arma|ArmA 1 Home]], [[arma:config|ArmA 1 Config]], [[arma:tools|ArmA 1 Tools]], [[arma:file_formats|ArmA 1 File Formats]], [[arma:missions|ArmA 1 Missions]], [[arma:modeling|ArmA 1 3D Modeling]], [[arma:terrain|ArmA 1 Terrain]], [[arma:texturing|ArmA 1 Texturing]], [[arma:scripting|ArmA 1 Scripting]]
  
-**Armored_Sheep** (BIS dev): New ArmA Damage visualisation by animating materials on surface is defined in config.cpp (class damage). Model must contain at least selection "zbytek" that will contain all faces that are animated. You can also use other selections bind in config.cpp in class Hit* as visual=. On top of that the selection must be defined as "section" in model.cfg.+**ArmA 1** aka Armed Assault (ArmA)
  
-"Zbytek" is czech word for "the rest" meaning remaining parts. In case HIThull "karoserie" in czech - is used, you might not find "zbytek" it the model. All selection names are anyway defined in config.+**Törni**: With **damageHide** selection (not a LOD) you can hide parts of the model when the it is destroyedJust what I did with the BMD-1 2.0 addon. The only addon in which the texture swapping is currently working is BTR80 and the model can be opened with O2.
  
-Hiding animation bind to damage controler is also defined in model.cfgEach animated part must be well configured in skeleton hierarchy[[model_config|Model_Config]]+**Armored_Sheep** (bis dev): New ArmA Damage visualization by animating materials on surface is defined in config.cpp (class damage)Model must contain at least selection "zbytek" that will contain all faces that are animated. You can also use other selections bind in config.cpp in class Hit* as visual=. On top of that the selection must be defined as "section" in model.cfg.
  
-As you can see in config each turret has its own hitzone definition (class HitTurretclass HitGun) so if you have diferent named selections for each turret.+"Zbytek" is Czech word for "the rest" meaning remaining parts. In case HIThull - "karoserie" in Czech - is used, you might not find "zbytek" it the model. All selection names are anyway defined in config.
  
-**passThrough = 1** means that the hitzone is vital to the complete model, so if this "weakspot" is destroyed (he might be just 30% of the whole armor) the whole vehicle blows up. **passThrough = 0** means that destroyed hitzone does some effect (windows textures changed, wheeles not turning), but the vehicle does not blow up.+Hiding animation bind to damage controller is also defined in model.cfg. Each animated part must be well configured in skeleton hierarchy. [[model_config|Model_Config]] 
 + 
 +As you can see in config each turret has its own hitzone definition (class HitTurret, class HitGun) so if you have different named selections for each turret. 
 + 
 +**passThrough = 1** means that the hitzone is vital to the complete model, so if this "weakspot" is destroyed (he might be just 30% of the whole armor) the whole vehicle blows up. **passThrough = 0** means that destroyed hitzone does some effect (windows textures changed, wheels not turning), but the vehicle does not blow up.
  
 **Armored_Sheep**: For working animated material that is bind to vehicle damage you need:\\ **Armored_Sheep**: For working animated material that is bind to vehicle damage you need:\\
Line 18: Line 22:
 3) Section defined in model.cfg for the animated selection\\ 3) Section defined in model.cfg for the animated selection\\
 4) Hitzone definition in config.cpp in class HitPoint* where the selection is written\\ 4) Hitzone definition in config.cpp in class HitPoint* where the selection is written\\
-5) Class dammage in config.cpp where switching materials are defined\\+5) Class damage in config.cpp where switching materials are defined\\
 6) Model and all its sources must be binarised (packed) in PBO 6) Model and all its sources must be binarised (packed) in PBO
  
Line 28: Line 32:
 Then the Rvmat you define in the config must also point to this texture, otherwise the engine will not recognize the texture and will not replace it with the destruct one. Then the Rvmat you define in the config must also point to this texture, otherwise the engine will not recognize the texture and will not replace it with the destruct one.
  
-====== BIS Example ======+Also it appears that you cannot damageHide a already animated selection, good examples are helicopter rotors made the old OFP way (the new ArmA proxy way apparently works?). So be careful and test your damageHide selection by selection before overhauling your whole model. 
 + 
 +====== Selection names ====== 
 + 
 +**Obmar** posted this about selection names:\\ 
 +To get the Damage textures to animate you have to have a specific entry in the model's Named Selection, in all the Resolution LODs. To do that you have to select all the surfaces of the model you want the damage textures to animate in O2 and give the entire selection a specific name. The //different type of vehicle models have different names// applied to the model's sections. I am listing the Names applied to the damage selections in the different models... 
 + 
 +^ Selection Name ^ Vehicle type ^ 
 +| trup | Helicopter | 
 +| telo | Tracked vehicle | 
 +| karoserie | Wheeled vehicle | 
 +| zbytek | Aircraft | 
 + 
 +Once the actual model has the named selection in all the Resolution LODs the damage texture animations will work. 
 + 
 +//Please note that for aircraft's selection name like "body" will work just fine, but for tank vehicles, it won't work anymore. Why? we have no idea. If you configure tank with "body" selection name it won't work but as soon as you change it to "zbytek" it will work fine. Go figure. Also do not try to add damageHide into tank's turrets, it wont work as then the objects won't animate normally, you need to use the damageVez maybe?// 
 + 
 +====== bis Example ======
  
-Here is example damage config from BIS A10 aircraft. +Here is example damage config from bis A10 aircraft. 
-<code>+<code cpp>
 dammageHalf[] = dammageHalf[] =
 { {
Line 57: Line 78:
 }; };
 </code> </code>
-The model itself contains **damageHide** selection in 1-6 Res LODs and others containing the weapon and pilot proxys only. Last 7.0 LOD dont have damageHide.+The model itself contains **damageHide** selection in 1-6 Res LODs and others containing the weapon and pilot proxys only. Last 7.0 LOD don'have damageHide.
  
 The **zbytek** selection is present on all LODs. It contains everything except weapons, wheels and canopy glass. The **zbytek** selection is present on all LODs. It contains everything except weapons, wheels and canopy glass.
Line 68: Line 89:
  
 **Warrior0_destruct.rvmat** file: **Warrior0_destruct.rvmat** file:
-<code>+<code cpp>
 ambient[]={1.0,1.0,1.0,1.0}; ambient[]={1.0,1.0,1.0,1.0};
 diffuse[]={1.0,1.0,1.0,1.0}; diffuse[]={1.0,1.0,1.0,1.0};
Line 127: Line 148:
 </code> </code>
 And the main Config now has; And the main Config now has;
-<code>+<code cpp>
 class cfgModels class cfgModels
 { {
Line 181: Line 202:
 The P3D file in O2 needs to have this bit added for each texture used. The Face Properties need the Materials definition to point to the rvmat file The P3D file in O2 needs to have this bit added for each texture used. The Face Properties need the Materials definition to point to the rvmat file
  
-{{ http://tactical.nekromantix.com/images/wiki/Gnat_damage_rvmat_1.jpg }}+{{ https://pmc.editing.wiki/images/Gnat_damage_rvmat_1.jpg }}
  
-And to clarify, all these files are needed (until experiementation proves otherwise) to enable damage textures.+And to clarify, all these files are needed (until experimentation proves otherwise) to enable damage textures.
  
-{{ http://tactical.nekromantix.com/images/wiki/Gnat_damage_rvmat_2.jpg }}+{{ https://pmc.editing.wiki/images/Gnat_damage_rvmat_2.jpg }}
  
 Best of luck :) Best of luck :)
 +
 +
 +====== damageHide Additions ======
 +
 +This effect usually pops up, when a selection is only partial included in the "damageHide" section. For me, it seems that all "damageHide" sections get moved below ground level at destruction, causing such effects.
 +
 +Also some issues may pop up, when other "active" sections are included in the damageHide section. You may check the T-72 model included in the bis samples and check the tracks. Each damper section has its own damageHide section, else the same effect would pop up on the tracks.
 +
 +There are few things you need to know.
 +
 +  * The damageHide animation will move the selection to the center of the model. Make sure that they are not connected to other parts which will remain after destruction, like you can see it on your screenshot.
 +  * If you want to make a selection animated and hidden after destruction, make a separate damageHide animation for it, otherwise the animation will be influence each other and your translation or rotation will be effected.
 +
 +I suggest making 2 levels of landContact, the bottom layer is named like the suspensions and will be removed after destruction. The other layer is at the height of the chassis. That way your truck will look like it rests on the visible elements which are left after destruction.
 +
arma/modeling/damage_model.1209793131.txt.gz · Last modified: 2008/05/03 05:38 (external edit)

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

All PMC web site download services are temporarily suspended until web site yearly fees have been recovered, want to download addons/mods? Then Support PMC.

If you are grateful for all the work PMC has done in the past 25 years, use Support PMC page.