7erra/Sandbox – User

From Bohemia Interactive Community
Jump to navigation Jump to search
(setObjectTexture retexturing)
m (side toc)
Line 1: Line 1:
{{TOC|side}}
If you want to retexture an asset with the [[setObjectTexture]] command it is necessary to work with the original texture. As an example we will be using the [[Arma_3:_CfgVehicles_EMPTY|Wall Sign]] ({{ic|Land_WallSign_01_F}}). Contrary to other signs, such as the advertisment signs ({{ic|SignAd_...}}), a texture with the usual dimensions (w<sup>2</sup> * h<sup>2</sup>, eg. 256x256, 512x1024, ...) will display the image wrong. This is because the texture also contains the texture for the back and sides of the board, not only the "content". With the following steps you can correctly retexture such assets.
If you want to retexture an asset with the [[setObjectTexture]] command it is necessary to work with the original texture. As an example we will be using the [[Arma_3:_CfgVehicles_EMPTY|Wall Sign]] ({{ic|Land_WallSign_01_F}}). Contrary to other signs, such as the advertisment signs ({{ic|SignAd_...}}), a texture with the usual dimensions (w<sup>2</sup> * h<sup>2</sup>, eg. 256x256, 512x1024, ...) will display the image wrong. This is because the texture also contains the texture for the back and sides of the board, not only the "content". With the following steps you can correctly retexture such assets.



Revision as of 17:32, 27 March 2021

If you want to retexture an asset with the setObjectTexture command it is necessary to work with the original texture. As an example we will be using the Wall Sign (Land_WallSign_01_F). Contrary to other signs, such as the advertisment signs (SignAd_...), a texture with the usual dimensions (w2 * h2, eg. 256x256, 512x1024, ...) will display the image wrong. This is because the texture also contains the texture for the back and sides of the board, not only the "content". With the following steps you can correctly retexture such assets.

Prerequisites

For this tutorial you will need:

Steps

Finding the original texture

Your safest bet to find textures is to look in the config. If you want to use setObjectTexture there has to be an attribute called hiddenSelectionTextures which contains at least one entry. In case of the wall sign it looks like this:

 hiddenselectionstextures[] = {"a3\Structures_F_Orange\Signs\Special\Data\WallSign_01_F_wood_CO.paa","a3\Structures_F_Orange\Signs\Special\Data\WallSign_01_F_wood_CO.paa"};

It is also possible to find this path using Eden. You can place down an object, open its attributes (right click >> Attributes... or double click), scroll down to "Object Specific - Object: Wall Sign" and the texture paths should be listed as Texture #0 to Texture#N.

If you have the game data unpacked you simply follow that path and find the paa file. If not it will be a bit more tricky. Most of the game's data is located in the Addons folder in your game directory. But with the release of DLCs the content is way more split up. In the case of our example it is part of the Laws Of War DLC but in the game files it is called "Orange". So if we go into "Arma 3\Orange\Addons" folder you can find the structures_f_orange.pbo. If we open it we can go further down into Signs\Special\Data and find WallSign_01_F_wood_CO.paa.

Opening the paa

The paa file can be opened with the TexView 2 program that is part of Arma 3 Tools. Opening the paa will show us the problem that we were facing initially. The texture handles the entire sign, including the back of it. What you have to do is to only modify the white part of the board.

Editing the paa

You can't directly edit paa. Instead you have to convert paa to png using TexView 2 first. Then you can edit the png file and convert pack to paa with TexView 2 again.

Applying the texture

Your paa file has to be placed in the mission folder or your mod folder. To set the texture you can use setObjectTexture or its global variant setObjectTextureGlobal.