setObjectTexture: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(2.09 update)
No edit summary
 
(10 intermediate revisions by 3 users not shown)
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 {{ic|[]}} 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 resolution 2^x / 2^y (16x16, 16x32, 64x256, 512x512, ...). The largest texture size commonly supported by graphics cards and RV engine is 4096x4096
* 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.
* Supported formats: .pac, .paa, .jpg, .jpeg, .ogg, .ogv}}
* Supported formats: .pac, .paa, .jpg, .jpeg, .ogg, .ogv
}}


|mp= See [[setObjectTextureGlobal]]
|mp= See [[setObjectTextureGlobal]].


|s1= object [[setObjectTexture]] [selectionNumber, texture]
|s1= object [[setObjectTexture]] [selection, texture]


|p1= object: [[Object]]
|p1= object: [[Object]]


|p2= selectionNumber: [[Number]] or [[String]] (since {{GVI|arma3|2.09}}) - Index of the selection. It is defined in the [[CfgVehicles_Config_Reference#hiddenSelections|hiddenselection]][] = {} array in the vehicle's config (starting with 0). If a string has given, it referee the hiddenSelection name or clan selection instead of the number index.
|p2= selection: [[Number]] or {{GVI|arma3|2.10|size= 0.75}} [[String]] - index of the selection. It is defined in the [[CfgVehicles Config Reference#hiddenSelections|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.


|p3= texture: [[String]] - Path to texture
|p3= texture: [[String]] - path to texture. Since {{GVI|arma3|2.20}} using '''"#reset"''' would reset to default texture.


|r1= [[Nothing]]
|r1= [[Nothing]]


|x1= <sqf>_objectname setObjectTexture [0, "\pboname\texture.paa"];
|x1= <sqf>
_objectname setObjectTexture [1, "\pboname\texture2.paa"];</sqf>
_objectname setObjectTexture [0, "\pboname\texture.paa"];
_objectname setObjectTexture [1, "\pboname\texture2.paa"];
</sqf>


|x2= <sqf>_obj setObjectTexture [0, "#(rgb,8,8,3)color(1,0,0,1)"];</sqf>
|x2= <sqf>_obj setObjectTexture [0, "#(rgb,8,8,3)color(1,0,0,1)"];</sqf>
Line 53: Line 56:
|x3= <sqf>_obj setObjectTexture [0, "#(argb,512,512,1)r2t(rendersurface,1.333)"];</sqf>
|x3= <sqf>_obj setObjectTexture [0, "#(argb,512,512,1)r2t(rendersurface,1.333)"];</sqf>


|x4= When applying custom texture in Editor on vehicles that have randomization enabled ([[Arma 3 Assets]]), disable randomization first:
|x4= Disable randomization before applying a texture to a vehicle in the Editor (if it is a vehicle that supports randomization):
<sqf>this setVariable ["BIS_enableRandomization", false];
<sqf>
this setObjectTexture [0,"#(rgb,8,8,3)color(1,0,0,1)"];</sqf>
this setVariable ["BIS_enableRandomization", false];
this setObjectTexture [0,"#(rgb,8,8,3)color(1,0,0,1)"];
</sqf>
 
|x5= The {{hl|"clan"}} selection can be used to apply a texture to the areas that usually display the [[squad.xml]] logo:
<sqf>MyVehicle setObjectTexture ["clan", "\a3\missions_f_epa\data\img\orbat\b_111_texture_ca.paa"];</sqf>


|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 myObj in flat green. See [[Procedural Textures]] for more details.
}}
}}


Line 73: Line 72:
|timestamp= 20140825222700
|timestamp= 20140825222700
|text= Also works with absolute path and .jpg files.
|text= Also works with absolute path and .jpg files.
<sqf>_obj setObjectTexture [0, "C:\Folder\Folder\Texture.paa"];
<sqf>
_obj setObjectTexture [0, "C:\Folder\Folder\Texture.jpg"];</sqf>
_obj setObjectTexture [0, "C:\Folder\Folder\Texture.paa"];
_obj setObjectTexture [0, "C:\Folder\Folder\Texture.jpg"];
</sqf>
Texture can also be blank:
Texture can also be blank:
<sqf>_obj setObjectTexture [2,""];</sqf>
<sqf>_obj setObjectTexture [2,""];</sqf>
Line 84: Line 85:
|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 91: Line 92:
|user= Moerderhoschi
|user= Moerderhoschi
|timestamp= 20150513143700
|timestamp= 20150513143700
|text= You can also use the gameinternal skins: {{ExternalLink|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>
}}
}}

Latest revision as of 00:20, 28 October 2024

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. Since Arma 3 logo black.png2.20 using "#reset" would reset to default 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