setObjectTextureGlobal: Difference between revisions
Jump to navigation
Jump to search
m (template:command argument fix) |
Killzone Kid (talk | contribs) (when setObjectTextureGlobal fails) |
||
Line 14: | Line 14: | ||
* Do not put global commands such this one into init field in editor and expect it to work in Multiplayer. See [[Talk:setObjectTextureGlobal]] for the explanation. | * Do not put global commands such this one into init field in editor and expect it to work in Multiplayer. See [[Talk:setObjectTextureGlobal]] for the explanation. | ||
* 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|DESCRIPTION= | * 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 | ||
{{Warning | If [[setObjectTextureGlobal]] is executed from <tt>init</tt> of a vehicle, it may be too soon and fail to broadcast to other vehicle instances on network and become JIP compatible. The workaround is to delay setting the texture until after the vehicle is fully initialised}} |DESCRIPTION= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
Revision as of 10:44, 13 May 2019
Description
- Description:
- Set the texture of the given selection on all computers in a network session.
NOTES:- Do not put global commands such this one into init field in editor and expect it to work in Multiplayer. See Talk:setObjectTextureGlobal for the explanation.
- 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
- Groups:
- Uncategorised
Syntax
- Syntax:
- obj setObjectTextureGlobal [selection, texture]
- Parameters:
- obj: Object
- [selection,texture]: Array
- selection: Number
- texture: String
- Return Value:
- Nothing
Examples
- Example 1:
player setObjectTextureGlobal [0, "\MyAddon\blue.paa"];
- Example 2:
//set up persistent texture keeper player addEventHandler ["Take", { (getObjectTextures player + [uniformContainer player getVariable "texture"]) params ["_texUniform", "_texInsignia", "_texCustom"]; if (isNil "_texCustom") exitWith {}; if (_texUniform == _texCustom) exitWith {}; player setObjectTextureGlobal [0, _texCustom]; false }]; //Example: make current uniform persistently blue _texture = "#(rgb,8,8,3)color(0,0,1,1)"; //blue texture player setObjectTextureGlobal [0, _texture]; //set it on player uniformContainer player setVariable ["texture", _texture, true]; //store it on uniform
Additional Information
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
Bottom Section
- Posted on March 8, 2015 - 21:15 (UTC)
- Sxp2hiiigh
- The effect is persistent and will be synchronized for players who join in progress. (Tested with Arma 3 v1.40)
- Posted on December 29, 2015 - 18:13 (UTC)
- Elch2070
- In some cases the ".paa" files do not work. Instead you can try ".jpg" files.
- Posted on October 24, 2016 - 12:13 (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 setObjectMaterialGlobal [0, "\a3\data_f\default.rvmat"]; _block setObjectTextureGlobal [0, "#(rgb,8,8,3)color(1,0,0,1)"];
Courtesy of Larrow