setObjectTexture: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "{{ExternalLink|" to "{{Link|")
m (Add Procedural Textures link)
Line 28: Line 28:
|gr1= Object Manipulation
|gr1= Object Manipulation


|descr= Applies given texture to object's selection. See [[Retexturing with setObjectTexture]] for a short tutorial.
|descr= Applies given texture to object's selection. See also [[Procedural Textures]] and [[Retexturing with setObjectTexture]].
{{Feature|Informative|
{{Feature|informative|
* Not all objects can be textured this way. To find out, run [[getObjectTextures]] command on an object. Empty array <sqf inline>[]</sqf> usually indicates it cannot be textured.
* Not all objects can be textured this way. To find out, run [[getObjectTextures]] command on an object. Empty array <sqf inline>[]</sqf> usually indicates it cannot be textured.
* All textures must have a resolution of 2<sup>a</sup> &times; 2<sup>b</sup> (e.g. 16&times;16, 16&times;32, 64&times;256, 512&times;512, ...). The largest texture size supported by the RV engine is 4096&times;4096.
* All textures must have a resolution of 2<sup>a</sup> &times; 2<sup>b</sup> (e.g. 16&times;16, 16&times;32, 64&times;256, 512&times;512, ...). The largest texture size supported by the RV engine is 4096&times;4096.
Line 62: Line 62:


|seealso= [[getObjectTextures]] [[setObjectTextureGlobal]] [[setObjectMaterial]] [[getObjectMaterials]] [[setObjectMaterialGlobal]] [[forceFlagTexture]]
|seealso= [[getObjectTextures]] [[setObjectTextureGlobal]] [[setObjectMaterial]] [[getObjectMaterials]] [[setObjectMaterialGlobal]] [[forceFlagTexture]]
}}
{{Note
|user= Lou Montana
|timestamp= 20091219231600
|text= Instead of bitmaps, procedural textures can be used.<br>
The syntax for those is '''#(argb,8,8,3)color(R,G,B,A)''', where R,G,B stands for Red, Green, Blue, and A stands for Alpha, all values can be anything between 0 and 1 (including decimals). e.g.
<sqf>_obj setObjectTexture [0,'#(argb,8,8,3)color(0,1,0,1)']</sqf>
would color _obj in flat green. See [[Procedural Textures]] for more details.
}}
}}


Line 88: Line 79:
|timestamp= 20150318030900
|timestamp= 20150318030900
|text= It is also possible to apply texture to unit's backpack, as it also has hidden selection (unfortunately does not work for vests)
|text= It is also possible to apply texture to unit's backpack, as it also has hidden selection (unfortunately does not work for vests)
<sqf>(backpackContainer player) setObjectTexture [0,"#(argb,8,8,3)color(0,0,0,1)"]</sqf>
<sqf>backpackContainer player setObjectTexture [0,"#(argb,8,8,3)color(0,0,0,1)"]</sqf>
Also keep in mind that player's custom texture is being reset when you open BIS Arsenal (even without changing any gear)
Also keep in mind that player's custom texture is being reset when you open BIS Arsenal (even without changing any gear)
}}
}}
Line 95: Line 86:
|user= Moerderhoschi
|user= Moerderhoschi
|timestamp= 20150513143700
|timestamp= 20150513143700
|text= You can also use the gameinternal skins: {{Link|link= http://forums.bistudio.com/showthread.php?169734-paint-MH-9-different-colour|text= List of MH9 Skins}}
|text= You can also use the game's internal skins: {{Link|http://forums.bistudio.com/showthread.php?169734-paint-MH-9-different-colour|List of MH9 Skins}}
<sqf>_obj setObjectTexture [0, "\a3\air_f\heli_light_01\data\skins\heli_light_01_ext_digital_co.paa"];</sqf>
<sqf>_obj setObjectTexture [0, "\a3\air_f\heli_light_01\data\skins\heli_light_01_ext_digital_co.paa"];</sqf>
}}
}}

Revision as of 17:39, 21 April 2023

Hover & click on the images for description

Description

Description:
Applies given texture to object's selection. See also Procedural Textures and Retexturing with setObjectTexture.
  • Not all objects can be textured this way. To find out, run getObjectTextures command on an object. Empty array [] usually indicates it cannot be textured.
  • All textures must have a resolution of 2a × 2b (e.g. 16×16, 16×32, 64×256, 512×512, ...). The largest texture size supported by the RV engine is 4096×4096.
  • Supported formats: .pac, .paa, .jpg, .jpeg, .ogg, .ogv
Multiplayer:
See setObjectTextureGlobal.
Groups:
Object Manipulation

Syntax

Syntax:
object setObjectTexture [selection, texture]
Parameters:
object: Object
selection: Number or Arma 3 logo black.png2.10 String - Index of the selection. It is defined in the hiddenSelections array in the vehicle's config (starting with 0). If a string is given, it referes to a hiddenSelection name or clan selection instead of an index.
texture: String - Path to texture
Return Value:
Nothing

Examples

Example 1:
_objectname setObjectTexture [0, "\pboname\texture.paa"]; _objectname setObjectTexture [1, "\pboname\texture2.paa"];
Example 2:
_obj setObjectTexture [0, "#(rgb,8,8,3)color(1,0,0,1)"];
Example 3:
_obj setObjectTexture [0, "#(argb,512,512,1)r2t(rendersurface,1.333)"];
Example 4:
Disable randomization before applying a texture to a vehicle in the Editor (if it is a vehicle that supports randomization):
this setVariable ["BIS_enableRandomization", false]; this setObjectTexture [0,"#(rgb,8,8,3)color(1,0,0,1)"];
Example 5:
The "clan" selection can be used to apply a texture to the areas that usually display the squad.xml logo:
MyVehicle setObjectTexture ["clan", "\a3\missions_f_epa\data\img\orbat\b_111_texture_ca.paa"];

Additional Information

See also:
getObjectTextures setObjectTextureGlobal setObjectMaterial getObjectMaterials setObjectMaterialGlobal forceFlagTexture

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Benargee - c
Posted on Aug 25, 2014 - 22:27 (UTC)
Also works with absolute path and .jpg files.
_obj setObjectTexture [0, "C:\Folder\Folder\Texture.paa"]; _obj setObjectTexture [0, "C:\Folder\Folder\Texture.jpg"];
Texture can also be blank:
_obj setObjectTexture [2,""];
This will make the texture selection invisible on certain units without an error message. In some cases this is a desirable effect
Longbow - c
Posted on Mar 18, 2015 - 03:09 (UTC)
It is also possible to apply texture to unit's backpack, as it also has hidden selection (unfortunately does not work for vests)
backpackContainer player setObjectTexture [0,"#(argb,8,8,3)color(0,0,0,1)"]
Also keep in mind that player's custom texture is being reset when you open BIS Arsenal (even without changing any gear)
Moerderhoschi - c
Posted on May 13, 2015 - 14:37 (UTC)
You can also use the game's internal skins: List of MH9 Skins
_obj setObjectTexture [0, "\a3\air_f\heli_light_01\data\skins\heli_light_01_ext_digital_co.paa"];
Killzone_Kid - c
Posted on Oct 24, 2016 - 12:09 (UTC)
Sometimes it could be necessary to set default material on an object for the texture to take effect:
_block = createVehicle ["Land_VR_Block_02_F", player getPos [20, getDir player], [], 0, "CAN_COLLIDE"]; _block setObjectMaterial [0, "\a3\data_f\default.rvmat"]; _block setObjectTexture [0, "#(rgb,8,8,3)color(1,0,0,1)"];
Courtesy of Larrow