setObjectTexture: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(formats)
m (template:command argument fix)
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|= Description
* Supported formats: .pac, .paa, .jpg, .jpeg, .ogg, .ogv|DESCRIPTION=
____________________________________________________________________________________________
____________________________________________________________________________________________


| object '''setObjectTexture''' [selectionNumber,texture] |= Syntax
| object '''setObjectTexture''' [selectionNumber,texture] |SYNTAX=


|p1= object: [[Object]] |= Parameter 1
|p1= object: [[Object]] |PARAMETER1=
|p2= [selectionNumber,texture]: [[Array]] |= Parameter 2
|p2= [selectionNumber,texture]: [[Array]] |PARAMETER2=
|p3= selectionNumber: [[Number]] |= Parameter 3
|p3= selectionNumber: [[Number]] |PARAMETER3=
|p4= texture: [[String]] |= Parameter 4
|p4= texture: [[String]] |PARAMETER4=


| [[Nothing]] |= Return value
| [[Nothing]] |RETURNVALUE=
____________________________________________________________________________________________
____________________________________________________________________________________________
   
   
|x1= <code>_objectname [[setObjectTexture]] [0, "\pboname\texture.paa"];
|x1= <code>_objectname [[setObjectTexture]] [0, "\pboname\texture.paa"];
_objectname [[setObjectTexture]] [1, "\pboname\texture2.paa"];</code> |= Example 1
_objectname [[setObjectTexture]] [1, "\pboname\texture2.paa"];</code> |EXAMPLE1=


|x2= <code>_obj [[setObjectTexture]] [0, "#(rgb,8,8,3)color(1,0,0,1)"];</code> |= Example 2
|x2= <code>_obj [[setObjectTexture]] [0, "#(rgb,8,8,3)color(1,0,0,1)"];</code> |EXAMPLE2=


|x3= <code>_obj [[setObjectTexture]] [0, "#(argb,512,512,1)r2t(rendersurface,1.333)"];</code> |= Example 3
|x3= <code>_obj [[setObjectTexture]] [0, "#(argb,512,512,1)r2t(rendersurface,1.333)"];</code> |EXAMPLE3=


|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> |= Example 4
this [[setObjectTexture]] [0,"#(rgb,8,8,3)color(1,0,0,1)"];</code> |EXAMPLE4=
____________________________________________________________________________________________
____________________________________________________________________________________________


| [[getObjectTextures]], [[setObjectTextureGlobal]], [[setObjectMaterial]], [[getObjectMaterials]], [[setObjectMaterialGlobal]], [[forceFlagTexture]] |= See also
| [[getObjectTextures]], [[setObjectTextureGlobal]], [[setObjectMaterial]], [[getObjectMaterials]], [[setObjectMaterialGlobal]], [[forceFlagTexture]] |SEEALSO=


}}
}}

Revision as of 15:47, 7 April 2019

Hover & click on the images for description

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:
Uncategorised

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

Bottom Section

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