setObjectTexture: Difference between revisions
| m (Text replacement - "<h3 style="display:none">Bottom Section</h3> " to "") | Lou Montana (talk | contribs)  m (Text replacement - " *\| *([Cc]omments|COMMENTS|Game|[Gg]ame [Nn]ame( +[0-9])?|Game [Vv]ersion( +[0-9])?|Game Version \(number surrounded by NO SPACES\)|Arguments in MP|MP[Aa]rg|Multiplayer Arguments( \("local" or "global"\))?|Effects|Execution|Effects...) | ||
| Line 1: | Line 1: | ||
| {{Command | {{Command | ||
| | ofpr  | | ofpr | ||
| |1.75 | |1.75 | ||
| |arg= global  | |arg= global | ||
| |eff= local  | |eff= local | ||
| |gr1= Object Manipulation  | |gr1= Object Manipulation | ||
| | Textures object selection with texture named in array.   | | Textures object selection with texture named in array.   | ||
| Line 19: | Line 19: | ||
| * Not all objects could be textured this way. To find out, run [[getObjectTextures]] command on an object. Empty array [] usually indicates it cannot be textured. | * Not all objects could 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 resolution 2^x / 2^y (e.g. 16 / 16, 16 / 32, 64 / 256, 512 / 512, etc). The largest texture size commonly supported by graphics cards and RV engine is 4096x4096   | * All textures must have resolution 2^x / 2^y (e.g. 16 / 16, 16 / 32, 64 / 256, 512 / 512, etc). The largest texture size commonly supported by graphics cards and RV engine is 4096x4096   | ||
| * Supported formats: .pac, .paa, .jpg, .jpeg, .ogg, .ogv | * Supported formats: .pac, .paa, .jpg, .jpeg, .ogg, .ogv | ||
| | object '''setObjectTexture''' [selectionNumber,texture]  | | object '''setObjectTexture''' [selectionNumber,texture] | ||
| |p1= object: [[Object]]  | |p1= object: [[Object]] | ||
| |p2= [selectionNumber,texture]: [[Array]]  | |p2= [selectionNumber,texture]: [[Array]] | ||
| |p3= selectionNumber: [[Number]]  | |p3= selectionNumber: [[Number]] | ||
| |p4= texture: [[String]]  | |p4= texture: [[String]] | ||
| | [[Nothing]]  | | [[Nothing]] | ||
| |x1= <code>_objectname [[setObjectTexture]] [0, "\pboname\texture.paa"]; | |x1= <code>_objectname [[setObjectTexture]] [0, "\pboname\texture.paa"]; | ||
| _objectname [[setObjectTexture]] [1, "\pboname\texture2.paa"];</code>  | _objectname [[setObjectTexture]] [1, "\pboname\texture2.paa"];</code> | ||
| |x2= <code>_obj [[setObjectTexture]] [0, "#(rgb,8,8,3)color(1,0,0,1)"];</code>  | |x2= <code>_obj [[setObjectTexture]] [0, "#(rgb,8,8,3)color(1,0,0,1)"];</code> | ||
| |x3= <code>_obj [[setObjectTexture]] [0, "#(argb,512,512,1)r2t(rendersurface,1.333)"];</code>  | |x3= <code>_obj [[setObjectTexture]] [0, "#(argb,512,512,1)r2t(rendersurface,1.333)"];</code> | ||
| |x4= When applying custom texture in Editor on vehicles that have randomization enabled ([[Arma 3 Assets]]), disable randomization first:<code>this [[setVariable]] ["BIS_enableRandomization", [[false]]]; | |x4= When applying custom texture in Editor on vehicles that have randomization enabled ([[Arma 3 Assets]]), disable randomization first:<code>this [[setVariable]] ["BIS_enableRandomization", [[false]]]; | ||
| this [[setObjectTexture]] [0,"#(rgb,8,8,3)color(1,0,0,1)"];</code>  | this [[setObjectTexture]] [0,"#(rgb,8,8,3)color(1,0,0,1)"];</code> | ||
| | [[getObjectTextures]], [[setObjectTextureGlobal]], [[setObjectMaterial]], [[getObjectMaterials]], [[setObjectMaterialGlobal]], [[forceFlagTexture]]  | | [[getObjectTextures]], [[setObjectTextureGlobal]], [[setObjectMaterial]], [[getObjectMaterials]], [[setObjectMaterialGlobal]], [[forceFlagTexture]] | ||
| }} | }} | ||
Revision as of 11:10, 18 January 2021
Description
- Description:
- Textures object selection with texture named in array. 
Array has the form [selectionNumber, "Texture"].
 The selection number is defined through the hiddenselection[]={} array in the vehicle's config (starting with 0).
 NOTES:- Not all objects could 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 resolution 2^x / 2^y (e.g. 16 / 16, 16 / 32, 64 / 256, 512 / 512, etc). The largest texture size commonly supported by graphics cards and RV engine is 4096x4096
- Supported formats: .pac, .paa, .jpg, .jpeg, .ogg, .ogv
 
- Groups:
- Object Manipulation
Syntax
- Syntax:
- object setObjectTexture [selectionNumber,texture]
- Parameters:
- object: Object
- [selectionNumber,texture]: Array
- selectionNumber: Number
- texture: String
- 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:
- When applying custom texture in Editor on vehicles that have randomization enabled (Arma 3 Assets), disable randomization first:this setVariable ["BIS_enableRandomization", false]; this setObjectTexture [0,"#(rgb,8,8,3)color(1,0,0,1)"];
Additional Information
- See also:
- getObjectTexturessetObjectTextureGlobalsetObjectMaterialgetObjectMaterialssetObjectMaterialGlobalforceFlagTexture
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
Notes
- Posted on Aug 4, 2006 - 23:40
- Hoz
- In MP this command has only local effect. If you want to change a texture on all clients, you have to execute this command on each client (or setObjectTextureGlobal). This command has also a bug: when a saved game is loaded the texture you have set will disappear and needs to be reset.
- Posted on December 19, 2009 - 23:16
- Lou Montana
- 
Instead of bitmaps, procedural textures can be used.
 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._obj setObjectTexture [0,'#(argb,8,8,3)color(0,1,0,1)']would color myObj in flat green. See Procedural Textures for more details.
- Posted on August 25, 2014 - 22:27 (EST)
- Benargee
- 
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
- Posted on March 18, 2015 - 03:09 (UTC)
- Longbow
- 
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)
- Posted on May 13, 2015 - 14:37 (UTC)
- Moerderhoschi
- 
You can also use the gameinternal skins: List of MH9 Skins _obj setObjectTexture [0, "\a3\air_f\heli_light_01\data\skins\heli_light_01_ext_digital_co.paa"];
- Posted on October 24, 2016 - 12:09 (UTC)
- Killzone Kid
- 
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
Categories: 
- Scripting Commands
- Introduced with Operation Flashpoint: Resistance version 1.75
- Operation Flashpoint: Resistance: New Scripting Commands
- Operation Flashpoint: Resistance: Scripting Commands
- Command Group: Object Manipulation
- Scripting Commands: Local Effect
- Scripting Commands OFP 1.99
- Scripting Commands OFP 1.96
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 3: Scripting Commands
- Take On Helicopters: Scripting Commands
 
	