Stack images, brush strokes, text, and gradients over a game texture, limit them to chosen parts of the model, and reuse your graphics.
Layers paint over the game texture where one exists. New liveries, tattoos, and patches start transparent; Clean face overlays also have no game pixels underneath. Export creates the game files without changing your GTA V installation. Edits without layers are skipped, except Clean face overlays, which export a transparent texture even without layers.
Open the Layers tab and click Add layer. The new layer lands on top and is selected.
The Add layer menu.
Layer
What you get
Import image…
Your own .png, .jpg, .jpeg, .webp, .gif, .apng, or .avif file. File edits use a still image. Skins and edits already set to In game can import animation from GIF, WebP, APNG, or AVIF, up to the first 32 frames; unsupported animation falls back to a still image.
Brush
A layer you paint on by hand.
Solid color, Gradient
Generated at the size of the texture.
Shape
Rectangle, Ellipse, or Line, with fill or line color and outline or thickness. Size (px) sets the drawing’s resolution before scaling.
Noise
Grain with Color, Intensity, Grain (px), and Seed. Roll changes the grain pattern.
Text
Text with a font, size, color, and outline.
Color adjustment
Changes Hue, Saturation, and Lightness of everything below it.
Add layer is disabled when the texture cannot be written.
For an animated swap, switch to In game before importing. If you imported while in File, import the image again after switching modes.
Choose Linear or Radial under Type. A linear gradient also has an Angle. Each stop has a Color, a position (Pos), and an opacity (Opac). Add stop inserts one in the largest gap; a gradient always keeps at least two.
A gradient layer: Composition, Gradient, and Transform sections.
Enter the wording in Text; the layer takes the text as its name. Pick a Font from the list and set Size (px), Bold, Italic, Color, and an Outline.
A text layer with the Font list open.
On weapon skins, the Dynamic variables for FiveM button opens FiveM variables. Choose a variable to add it to the Text field. The button also appears on other text layers containing variables, but live text is exported only for weapon skins.On skins, rageon-bridge updates {ammo}, {max_ammo}, {total_ammo}, and {weapon_name} from the equipped weapon. Your script must supply {kills}, {player_name}, {player_id}, and {serial} with exports['rageon-bridge']:setSkinVariable('kills', value) or setSkinVariables. Other edits export the text as part of the image.
The top row is the top layer. Drag rows to change their order. Use Rename or F2 to rename a layer, and Layer actions for duplication, locking, mirroring, and removal.
The layer row menu.
Isolate hides every other layer so you can check one; click it again to show them all. A locked layer cannot be picked on the stage, which keeps a background from stealing clicks.Composition sets Blend (from Normal to Luminosity, the usual blend modes) and Opacity. On a Color adjustment layer the opacity control is Intensity. Transform takes exact Position X (px), Position Y (px), Scale X, Scale Y, and Rotation, with Flip horizontally and Flip vertically under Mirror.On the stage, drag a layer to move it and use the handles to resize and rotate. Shift locks the axis while moving, keeps the angle on fixed steps while rotating, and frees the proportions on a corner handle. Alt switches snapping off. Ctrl+click picks the topmost layer even when another one covers it.When you edit a Normals texture and import a normal map made for OpenGL, turn on Invert green (OpenGL → DirectX) under Normal map.
Use Clip layer (M) to keep a layer on chosen geometry, such as painting the hood only.
1
Select the layer and click Clip layer (M)
The tool needs a selected layer and a model that uses the texture. Open Clip mode to choose how you select.
Clip mode with Component selected.
2
Pick geometry
Component takes a whole part with all its UV islands. Triangle (or Quad, with Mesh faces set to Quads) picks faces by click or drag. On the 2D stage, Ctrl adds components or faces and Alt removes them; without modifiers, a picked component or face toggles its selection. With Lasso, release while holding Shift to add or Alt to remove; release without either to replace the selection. Ctrl+A selects every face using this texture.In 3D, hold Shift and click or drag to pick geometry. Turn on Mesh on model in Viewer first.To see what you are picking on the 2D stage, set Map mode to Guide in Viewer.
3
Tune the edge
The layer shows a scissors icon and a Cutout · … triangle(s) section. Bleed grows the cutout past its edge, which closes seams; a negative value shrinks it. Feather softens the edge. Invert applies the layer everywhere except the selection, for example the whole car except the hood. Clear releases the layer to the whole texture.
A layer clipped to one body part, with the UV guide and the selection on the 3D car.
Click Viewer in the tools strip for the display controls.
The Viewer popover.
Option
What it does
Default
3D preview
Shows the model wearing your edit as you work. Turn it off to give the 2D stage the full width.
On
Mesh on model
Draws the wireframe of the parts that use this texture. Needed to click geometry in 3D.
On
Selection on model
Shows the clip selection on the model.
On
Map mode
Overlay on the 2D stage. Guide fills the parts you can paint, Outline draws their borders, and Mesh draws the mesh. For ready-made guides, including liveries, plates, and the minimap, the choices are Hidden and Template.
Mesh for model UVs; Template for ready-made guides
Mesh faces
Quads or Triangles, for the overlay and for face clipping.
Quads
Only faces in view
Shows only faces facing the axis selected on the 3D orientation gizmo. Requires a selected axis and a visible UV map; unavailable with ready-made guides.
Off
A warning strip under the 3D preview tells you when something affects what you see:
Message
What it means
This texture does not appear on the model. No 3D preview.
The model does not use this texture. The edit still exports.
This texture repeats across the model: …
The cutout shares texels with almost all of the geometry, so paint shows up everywhere.
This model’s UV reuses texels: the paint also shows on … triangle(s) outside the cutout…
Some faces share the same area of the texture. Painting there also paints them.
The 3D preview does not show this edit. The saved file comes out correct.
The Library tab keeps images you reuse across projects. Use the + button to copy images into your graphics library. Reload the folder refreshes both your graphics and AI history. Search filters graphics by file name and AI history by request text. Choose a thumbnail to add it as a layer; the project keeps its own copy, so removing it from the library does not change existing edits.The AI generated section holds every image the AI tab returned for this texture, including the ones you did not use. Click one to put it over the whole texture. Reusing a past result costs no credits. See AI generation.
Library with your graphics and the AI history for this texture.
Remove from library and Remove from history ask for confirmation. Delete permanently removes the library or history copy; existing project layers keep theirs. A deleted history image must be generated again if you have no other copy, which costs credits.
Cancels a clip selection, then returns to move, then deselects.
Delete / Backspace
Removes the selected unlocked layer.
Ctrl+D
Duplicates the layer.
Ctrl+[ / Ctrl+]
Moves the layer down / up. Add Shift for back / front.
Arrow keys
Nudge the layer 1 px; with Shift, 10 px.
Ctrl+Z / Ctrl+Shift+Z or Ctrl+Y
Undo / redo, across the whole project.
Ctrl+S / Ctrl+E
Save / export to the last destination.
Canvas shortcuts are ignored while you edit a field or a dialog is open. Locked layers cannot be moved, duplicated, reordered, or removed with the canvas shortcuts.
The brush works on Brush layers only. Add one, or select an existing one.
Choose a layer to clip it to a component
Select a layer first, then click Clip layer (M).
Clipping unavailable: the texture is not in the loaded model
The model does not use this texture, so there is no geometry to pick. Choose a texture the model wears.
The layer is locked
Click Unlock in the layer menu, then try again.
Choose an editable texture in the panel below.
The texture cannot be written, so layers are off. Pick another texture in New edit.
Could not read the library: …
The graphics folder could not be opened. Check that it exists and that Rageon can read it, then click Reload the folder.
Could not copy to the library: …
The file could not be copied into the graphics folder. Check the file and the free space on the drive, then try again.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Rageon","colors":{"primary":"#f97316","light":"#fb923c","dark":"#c2410c"},"logo":{"light":"https://mintcdn.com/rageon/NnSHzDe1phDyv79M/logo/mark.png?fit=max\u0026auto=format\u0026n=NnSHzDe1phDyv79M\u0026q=85\u0026s=e0ae0889d31e1576f579125f3ef6685e","dark":"https://mintcdn.com/rageon/NnSHzDe1phDyv79M/logo/mark.png?fit=max\u0026auto=format\u0026n=NnSHzDe1phDyv79M\u0026q=85\u0026s=e0ae0889d31e1576f579125f3ef6685e","href":"https://rageon.dev"},"favicon":"https://mintcdn.com/rageon/tGC-5rfc07564TOG/favicon.png?fit=max\u0026auto=format\u0026n=tGC-5rfc07564TOG\u0026q=85\u0026s=7525da8dae81e50d0056d02037548e02","appearance":{"default":"dark"},"navbar":{"links":[{"href":"https://rageon.dev/pricing","label":"Pricing"}],"primary":{"type":"button","label":"Download","href":"https://rageon.dev/download"}},"footer":{"socials":{"website":"https://rageon.dev"}},"icons":{"library":"lucide"},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"href":"start/introduction"},{"language":"pt-BR","href":"pt-BR/start/introduction"},{"language":"es","href":"es/start/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"rageon","hasAudioNarration":false,"actualSubdomain":"rageon","customDomains":["docs.rageon.dev"],"gitSource":{"type":"github","owner":"rageoon","repo":"rageon-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6ada8d872e2812485d3d490a"},"chroma":{"latestBuiltDeploymentHistoryId":"6ada8d882e2812485d3d4910","collectionId":"d8abb39d-b557-4128-b440-bcb1bb1501eb","liveDeploymentHistoryId":"6ada8d882e2812485d3d4910","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ada8d96fbb15298db52c70c","clientVersion":"0.0.3939","searchFilterCounts":[{"language":"en","tag":"Projects","count":43},{"language":"es","tag":"Proyectos","count":43},{"language":"pt-BR","tag":"Projetos","count":43},{"language":"en","tag":"Structures","count":16},{"language":"es","tag":"Estructuras","count":16},{"language":"pt-BR","tag":"Estruturas","count":16},{"language":"en","tag":"Map","count":15},{"language":"es","tag":"Mapa","count":15},{"language":"pt-BR","tag":"Mapa","count":15},{"language":"en","tag":"Getting started","count":14},{"language":"en","tag":"Viewer","count":14},{"language":"es","tag":"Primeros pasos","count":14},{"language":"es","tag":"Visor","count":14},{"language":"pt-BR","tag":"Primeiros passos","count":14},{"language":"pt-BR","tag":"Visualização","count":14},{"language":"en","tag":"Assets","count":12},{"language":"en","tag":"Capture","count":12},{"language":"es","tag":"Assets","count":12},{"language":"es","tag":"Captura","count":12},{"language":"pt-BR","tag":"Assets","count":12},{"language":"pt-BR","tag":"Captura","count":12},{"language":"en","tag":"Texturing","count":11},{"language":"es","tag":"Texturizado","count":11},{"language":"pt-BR","tag":"Texturização","count":11},{"language":"en","tag":"Export","count":8},{"language":"es","tag":"Exportar","count":8},{"language":"pt-BR","tag":"Exportar","count":8},{"language":"en","tag":"Help","count":6},{"language":"es","tag":"Ayuda","count":6},{"language":"pt-BR","tag":"Ajuda","count":6}],"searchSettings":{"isFiltersEnabled":true,"showContentSnippets":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"projects/texturing/layers-and-tools","slug":"/projects/texturing/layers-and-tools","pageMetadata":{"title":"Layers and tools","icon":"layers","description":"Stack images, brush strokes, text, and gradients over a game texture, limit them to chosen parts of the model, and reuse your graphics.","href":"/projects/texturing/layers-and-tools"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Stack images, brush strokes, text, and gradients over a game texture, limit them to chosen parts of the model, and reuse your graphics.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Frame,Heading,OptimizedImage,Step,Steps,Table,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Layers paint over the game texture where one exists. New liveries, tattoos, and patches start transparent; `,_jsx(_components.strong,{children:`Clean`}),` face overlays also have no game pixels underneath. Export creates the game files without changing your GTA V installation. Edits without layers are skipped, except `,_jsx(_components.strong,{children:`Clean`}),` face overlays, which export a transparent texture even without layers.`]}),`\n`,_jsx(Heading,{level:`2`,id:`add-a-layer`,children:`Add a layer`}),`\n`,_jsxs(_components.p,{children:[`Open the `,_jsx(_components.strong,{children:`Layers`}),` tab and click `,_jsx(_components.strong,{children:`Add layer`}),`. The new layer lands on top and is selected.`]}),`\n`,_jsx(Frame,{caption:`The Add layer menu.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-add-layer-menu.webp?fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=5dbb844e3fecde60b00f8b245afe9cfb`,alt:`Add layer menu listing Import image, Brush, Solid color, Gradient, Shape, Noise, Text, and Color adjustment`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/textures/texturing-add-layer-menu.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-add-layer-menu.webp?w=280\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=0f33079a37034b5f86c687e3533ef2d0 280w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-add-layer-menu.webp?w=560\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=802cd46f8ac7313ab0a3a7c25e16c47a 560w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-add-layer-menu.webp?w=840\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=ce6f5b8f1a24e98cb4675a943ba07797 840w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-add-layer-menu.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=376bc8bc71396b46d590c24dc82272c3 1100w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-add-layer-menu.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=160652268f8eff1896c5d9a30a17cbc2 1650w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-add-layer-menu.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=678368a9ec30064a3d5586863eae0fb0 2500w`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Layer`}),_jsx(_components.th,{children:`What you get`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Import image…`})}),_jsxs(_components.td,{children:[`Your own `,_jsx(_components.code,{children:`.png`}),`, `,_jsx(_components.code,{children:`.jpg`}),`, `,_jsx(_components.code,{children:`.jpeg`}),`, `,_jsx(_components.code,{children:`.webp`}),`, `,_jsx(_components.code,{children:`.gif`}),`, `,_jsx(_components.code,{children:`.apng`}),`, or `,_jsx(_components.code,{children:`.avif`}),` file. File edits use a still image. Skins and edits already set to `,_jsx(_components.strong,{children:`In game`}),` can import animation from GIF, WebP, APNG, or AVIF, up to the first 32 frames; unsupported animation falls back to a still image.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Brush`})}),_jsx(_components.td,{children:`A layer you paint on by hand.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Solid color`}),`, `,_jsx(_components.strong,{children:`Gradient`})]}),_jsx(_components.td,{children:`Generated at the size of the texture.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Shape`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Rectangle`}),`, `,_jsx(_components.strong,{children:`Ellipse`}),`, or `,_jsx(_components.strong,{children:`Line`}),`, with fill or line color and outline or thickness. `,_jsx(_components.strong,{children:`Size (px)`}),` sets the drawing’s resolution before scaling.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Noise`})}),_jsxs(_components.td,{children:[`Grain with `,_jsx(_components.strong,{children:`Color`}),`, `,_jsx(_components.strong,{children:`Intensity`}),`, `,_jsx(_components.strong,{children:`Grain (px)`}),`, and `,_jsx(_components.strong,{children:`Seed`}),`. `,_jsx(_components.strong,{children:`Roll`}),` changes the grain pattern.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Text`})}),_jsx(_components.td,{children:`Text with a font, size, color, and outline.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Color adjustment`})}),_jsxs(_components.td,{children:[`Changes `,_jsx(_components.strong,{children:`Hue`}),`, `,_jsx(_components.strong,{children:`Saturation`}),`, and `,_jsx(_components.strong,{children:`Lightness`}),` of everything below it.`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Add layer`}),` is disabled when the texture cannot be written.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`For an animated swap, switch to `,_jsx(_components.strong,{children:`In game`}),` before importing. If you imported while in `,_jsx(_components.strong,{children:`File`}),`, import the image again after switching modes.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`gradient`,children:`Gradient`}),`\n`,_jsxs(_components.p,{children:[`Choose `,_jsx(_components.strong,{children:`Linear`}),` or `,_jsx(_components.strong,{children:`Radial`}),` under `,_jsx(_components.strong,{children:`Type`}),`. A linear gradient also has an `,_jsx(_components.strong,{children:`Angle`}),`. Each stop has a `,_jsx(_components.strong,{children:`Color`}),`, a position (`,_jsx(_components.strong,{children:`Pos`}),`), and an opacity (`,_jsx(_components.strong,{children:`Opac`}),`). `,_jsx(_components.strong,{children:`Add stop`}),` inserts one in the largest gap; a gradient always keeps at least two.`]}),`\n`,_jsx(Frame,{caption:`A gradient layer: Composition, Gradient, and Transform sections.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-gradient.webp?fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=247f75464fcee9260cb307feb9312c7a`,alt:`Layers tab with a gradient layer selected, showing Blend, Opacity, Type, Stops, and Transform`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/textures/texturing-layer-gradient.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-gradient.webp?w=280\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=6b912e72cadb26e15a17a1cbc50abd8f 280w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-gradient.webp?w=560\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=83f057d62ca13b152049e414ff2206c3 560w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-gradient.webp?w=840\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=8dd038e56c492adaa9e7a0977a547d41 840w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-gradient.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=825090e08f7ec5943fe4373bffc86f03 1100w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-gradient.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=7ae83452e7f053080f0ae3f3866f2c81 1650w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-gradient.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=dd9884ba880060458d89778f65c35334 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`text`,children:`Text`}),`\n`,_jsxs(_components.p,{children:[`Enter the wording in `,_jsx(_components.strong,{children:`Text`}),`; the layer takes the text as its name. Pick a `,_jsx(_components.strong,{children:`Font`}),` from the list and set `,_jsx(_components.strong,{children:`Size (px)`}),`, `,_jsx(_components.strong,{children:`Bold`}),`, `,_jsx(_components.strong,{children:`Italic`}),`, `,_jsx(_components.strong,{children:`Color`}),`, and an `,_jsx(_components.strong,{children:`Outline`}),`.`]}),`\n`,_jsx(Frame,{caption:`A text layer with the Font list open.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-text.webp?fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=bb5dc4080cc58419ab42aeeca29115cd`,alt:`Text layer settings with the Font list open`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/textures/texturing-layer-text.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-text.webp?w=280\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=d7ef4bafcce1e351749d40e32dbb13d3 280w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-text.webp?w=560\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=293aee4ae45624232abb43bca586996e 560w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-text.webp?w=840\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=5d8b91431e9e9e1335a958a4412f6b0b 840w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-text.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=48938eb20856015aee6b558512e5273e 1100w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-text.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=4225b7cf0a42b4b1b9ccff7b6c14a597 1650w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-text.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=b1137df3a248c8d8f969d9f0e8d5b537 2500w`})}),`\n`,_jsxs(_components.p,{children:[`On weapon skins, the `,_jsx(_components.strong,{children:`Dynamic variables for FiveM`}),` button opens `,_jsx(_components.strong,{children:`FiveM variables`}),`. Choose a variable to add it to the `,_jsx(_components.strong,{children:`Text`}),` field. The button also appears on other text layers containing variables, but live text is exported only for weapon skins.`]}),`\n`,_jsxs(_components.p,{children:[`On skins, `,_jsx(_components.code,{children:`rageon-bridge`}),` updates `,_jsx(_components.code,{children:`{ammo}`}),`, `,_jsx(_components.code,{children:`{max_ammo}`}),`, `,_jsx(_components.code,{children:`{total_ammo}`}),`, and `,_jsx(_components.code,{children:`{weapon_name}`}),` from the equipped weapon. Your script must supply `,_jsx(_components.code,{children:`{kills}`}),`, `,_jsx(_components.code,{children:`{player_name}`}),`, `,_jsx(_components.code,{children:`{player_id}`}),`, and `,_jsx(_components.code,{children:`{serial}`}),` with `,_jsx(_components.code,{children:`exports['rageon-bridge']:setSkinVariable('kills', value)`}),` or `,_jsx(_components.code,{children:`setSkinVariables`}),`. Other edits export the text as part of the image.`]}),`\n`,_jsx(Heading,{level:`2`,id:`arrange-layers`,children:`Arrange layers`}),`\n`,_jsxs(_components.p,{children:[`The top row is the top layer. Drag rows to change their order. Use `,_jsx(_components.strong,{children:`Rename`}),` or `,_jsx(_components.strong,{children:`F2`}),` to rename a layer, and `,_jsx(_components.strong,{children:`Layer actions`}),` for duplication, locking, mirroring, and removal.`]}),`\n`,_jsx(Frame,{caption:`The layer row menu.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-menu.webp?fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=71d9a61d53c9048560f10040acad0604`,alt:`Layer row context menu with Rename, Duplicate, Isolate, Lock, Flip, order, and Remove`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/textures/texturing-layer-menu.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-menu.webp?w=280\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=e191f56ad274a8ea585d3e547d18fc40 280w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-menu.webp?w=560\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=4da27d23efad452701303c3c5e2623ef 560w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-menu.webp?w=840\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=ed0cef2a6de5856508104c440fe5e7e0 840w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-menu.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=fa500b6a01339a05c4bbe38ac5e1351f 1100w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-menu.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=d12ee3216da7cdf0d0848367000eca9d 1650w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-layer-menu.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=0fda2b17b272cfc1fea543ada124d7b6 2500w`})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Isolate`}),` hides every other layer so you can check one; click it again to show them all. A locked layer cannot be picked on the stage, which keeps a background from stealing clicks.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Composition`}),` sets `,_jsx(_components.strong,{children:`Blend`}),` (from `,_jsx(_components.strong,{children:`Normal`}),` to `,_jsx(_components.strong,{children:`Luminosity`}),`, the usual blend modes) and `,_jsx(_components.strong,{children:`Opacity`}),`. On a `,_jsx(_components.strong,{children:`Color adjustment`}),` layer the opacity control is `,_jsx(_components.strong,{children:`Intensity`}),`. `,_jsx(_components.strong,{children:`Transform`}),` takes exact `,_jsx(_components.strong,{children:`Position X (px)`}),`, `,_jsx(_components.strong,{children:`Position Y (px)`}),`, `,_jsx(_components.strong,{children:`Scale X`}),`, `,_jsx(_components.strong,{children:`Scale Y`}),`, and `,_jsx(_components.strong,{children:`Rotation`}),`, with `,_jsx(_components.strong,{children:`Flip horizontally`}),` and `,_jsx(_components.strong,{children:`Flip vertically`}),` under `,_jsx(_components.strong,{children:`Mirror`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`On the stage, drag a layer to move it and use the handles to resize and rotate. `,_jsx(_components.strong,{children:`Shift`}),` locks the axis while moving, keeps the angle on fixed steps while rotating, and frees the proportions on a corner handle. `,_jsx(_components.strong,{children:`Alt`}),` switches snapping off. `,_jsx(_components.strong,{children:`Ctrl`}),`+click picks the topmost layer even when another one covers it.`]}),`\n`,_jsxs(_components.p,{children:[`When you edit a `,_jsx(_components.strong,{children:`Normals`}),` texture and import a normal map made for OpenGL, turn on `,_jsx(_components.strong,{children:`Invert green (OpenGL → DirectX)`}),` under `,_jsx(_components.strong,{children:`Normal map`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`paint-with-the-brush`,children:`Paint with the brush`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Add a Brush layer and press B`,children:_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Brush (B)`}),` tool is available only while an unlocked `,_jsx(_components.strong,{children:`Brush`}),` layer is selected.`]})}),_jsx(Step,{title:`Set the stroke`,children:_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Brush settings`}),`. `,_jsx(_components.strong,{children:`Color`}),`, `,_jsx(_components.strong,{children:`Size (px)`}),`, `,_jsx(_components.strong,{children:`Hardness`}),`, and `,_jsx(_components.strong,{children:`Opacity`}),` shape the stroke. `,_jsx(_components.strong,{children:`Eraser`}),` removes paint from this layer only.`]})}),_jsxs(Step,{title:`Drag on the stage`,children:[_jsx(_components.p,{children:`Each stroke is one undo step.`}),_jsx(Frame,{caption:`A brush stroke on the Adder with the Brush settings popover open.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-brush.webp?fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=ce66b49ccf514933dd1e40fc3343062c`,alt:`Brush settings popover next to a stroke painted on the texture and the 3D car`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/textures/texturing-brush.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-brush.webp?w=280\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=1cd022a5224d99794f879cf54275b4d9 280w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-brush.webp?w=560\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=dd3ad0fc093d711699b8f1fb7f005f8e 560w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-brush.webp?w=840\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=d6b9ce6afae84225b75a816a8a57b538 840w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-brush.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=232452fa12ee05b3c742d59080b0bcb1 1100w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-brush.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=5aabf1b64a9b983a805b992c5d32c08e 1650w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-brush.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=8070a8ca15a8a4e05453ac829f29974c 2500w`})})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Strokes`}),` in the layer’s section counts the strokes, and `,_jsx(_components.strong,{children:`Clear`}),` removes them all.`]}),`\n`,_jsx(Heading,{level:`2`,id:`limit-a-layer-to-parts-of-the-model`,children:`Limit a layer to parts of the model`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.strong,{children:`Clip layer (M)`}),` to keep a layer on chosen geometry, such as painting the hood only.`]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Select the layer and click Clip layer (M)`,children:[_jsxs(_components.p,{children:[`The tool needs a selected layer and a model that uses the texture. Open `,_jsx(_components.strong,{children:`Clip mode`}),` to choose how you select.`]}),_jsx(Frame,{caption:`Clip mode with Component selected.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-mode.webp?fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=af149bc6b02fcfc89f927d96b69470cd`,alt:`Clip mode popover with Component, Triangle, and Lasso`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/textures/texturing-clip-mode.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-mode.webp?w=280\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=0527aeff75d2c0f5dad5ff00db47a312 280w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-mode.webp?w=560\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=07d8d9bc0b71bc6c7070cb0e16d007b3 560w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-mode.webp?w=840\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=0c73367af984ebf602769b9b58ebae60 840w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-mode.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=50266e0f3c9d7d72e792048d2cb2de66 1100w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-mode.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=a44566561efec8205543ecc41714efa6 1650w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-mode.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=268472b4e7c3f432f2e6fa36291db6ae 2500w`})})]}),_jsxs(Step,{title:`Pick geometry`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Component`}),` takes a whole part with all its UV islands. `,_jsx(_components.strong,{children:`Triangle`}),` (or `,_jsx(_components.strong,{children:`Quad`}),`, with `,_jsx(_components.strong,{children:`Mesh faces`}),` set to `,_jsx(_components.strong,{children:`Quads`}),`) picks faces by click or drag. On the 2D stage, `,_jsx(_components.strong,{children:`Ctrl`}),` adds components or faces and `,_jsx(_components.strong,{children:`Alt`}),` removes them; without modifiers, a picked component or face toggles its selection. With `,_jsx(_components.strong,{children:`Lasso`}),`, release while holding `,_jsx(_components.strong,{children:`Shift`}),` to add or `,_jsx(_components.strong,{children:`Alt`}),` to remove; release without either to replace the selection. `,_jsx(_components.strong,{children:`Ctrl+A`}),` selects every face using this texture.`]}),_jsxs(_components.p,{children:[`In 3D, hold `,_jsx(_components.strong,{children:`Shift`}),` and click or drag to pick geometry. Turn on `,_jsx(_components.strong,{children:`Mesh on model`}),` in `,_jsx(_components.strong,{children:`Viewer`}),` first.`]}),_jsxs(_components.p,{children:[`To see what you are picking on the 2D stage, set `,_jsx(_components.strong,{children:`Map mode`}),` to `,_jsx(_components.strong,{children:`Guide`}),` in `,_jsx(_components.strong,{children:`Viewer`}),`.`]})]}),_jsxs(Step,{title:`Tune the edge`,children:[_jsxs(_components.p,{children:[`The layer shows a scissors icon and a `,_jsx(_components.strong,{children:`Cutout · … triangle(s)`}),` section. `,_jsx(_components.strong,{children:`Bleed`}),` grows the cutout past its edge, which closes seams; a negative value shrinks it. `,_jsx(_components.strong,{children:`Feather`}),` softens the edge. `,_jsx(_components.strong,{children:`Invert`}),` applies the layer everywhere except the selection, for example the whole car except the hood. `,_jsx(_components.strong,{children:`Clear`}),` releases the layer to the whole texture.`]}),_jsx(Frame,{caption:`A layer clipped to one body part, with the UV guide and the selection on the 3D car.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-result.webp?fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=132169e74e2022d1ca486e5e6b30f629`,alt:`Clipped gradient layer with the UV guide, selection on the car, and the Cutout section`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/textures/texturing-clip-result.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-result.webp?w=280\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=decafd387aa7aaf1994b59d7465b3fdd 280w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-result.webp?w=560\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=d208b03574c882e6256fb67093be742e 560w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-result.webp?w=840\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=8218d441e450a4148c8d72a5a71c3617 840w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-result.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=25b06b4be1e52756926d8f6a720aad43 1100w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-result.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=0132d6aa14c0acc4021782e0fd60b9a7 1650w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-clip-result.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=ff12f996fa348ca0c456d6d937ba1d2c 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`read-the-uv-map-and-the-3d-preview`,children:`Read the UV map and the 3D preview`}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Viewer`}),` in the tools strip for the display controls.`]}),`\n`,_jsx(Frame,{caption:`The Viewer popover.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-viewer-popover.webp?fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=86ffebc9cd28154a73ade8a41cd06efb`,alt:`Viewer popover with 3D preview, Mesh on model, Selection on model, Map mode, and Mesh faces`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/textures/texturing-viewer-popover.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-viewer-popover.webp?w=280\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=87112402fe21c85ad57ae6622ebbfdae 280w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-viewer-popover.webp?w=560\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=1417886de4715c53e80b8bbfd33319bb 560w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-viewer-popover.webp?w=840\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=56ed6efdc8b5ebc2a6f4c77606867195 840w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-viewer-popover.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=08d91698431ed4f924090fc3b5af9c69 1100w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-viewer-popover.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=d88e0adc89ca98fe03e422533b68f064 1650w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-viewer-popover.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=2cab6766d76497a745b560f2157dce92 2500w`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Option`}),_jsx(_components.th,{children:`What it does`}),_jsx(_components.th,{children:`Default`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`3D preview`})}),_jsx(_components.td,{children:`Shows the model wearing your edit as you work. Turn it off to give the 2D stage the full width.`}),_jsx(_components.td,{children:`On`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Mesh on model`})}),_jsx(_components.td,{children:`Draws the wireframe of the parts that use this texture. Needed to click geometry in 3D.`}),_jsx(_components.td,{children:`On`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Selection on model`})}),_jsx(_components.td,{children:`Shows the clip selection on the model.`}),_jsx(_components.td,{children:`On`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Map mode`})}),_jsxs(_components.td,{children:[`Overlay on the 2D stage. `,_jsx(_components.strong,{children:`Guide`}),` fills the parts you can paint, `,_jsx(_components.strong,{children:`Outline`}),` draws their borders, and `,_jsx(_components.strong,{children:`Mesh`}),` draws the mesh. For ready-made guides, including liveries, plates, and the minimap, the choices are `,_jsx(_components.strong,{children:`Hidden`}),` and `,_jsx(_components.strong,{children:`Template`}),`.`]}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Mesh`}),` for model UVs; `,_jsx(_components.strong,{children:`Template`}),` for ready-made guides`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Mesh faces`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Quads`}),` or `,_jsx(_components.strong,{children:`Triangles`}),`, for the overlay and for face clipping.`]}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Quads`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Only faces in view`})}),_jsx(_components.td,{children:`Shows only faces facing the axis selected on the 3D orientation gizmo. Requires a selected axis and a visible UV map; unavailable with ready-made guides.`}),_jsx(_components.td,{children:`Off`})]})]})]}),`\n`,_jsx(_components.p,{children:`A warning strip under the 3D preview tells you when something affects what you see:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Message`}),_jsx(_components.th,{children:`What it means`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`This texture does not appear on the model. No 3D preview.`}),_jsx(_components.td,{children:`The model does not use this texture. The edit still exports.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`This texture repeats across the model: …`}),_jsx(_components.td,{children:`The cutout shares texels with almost all of the geometry, so paint shows up everywhere.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`This model’s UV reuses texels: the paint also shows on … triangle(s) outside the cutout…`}),_jsx(_components.td,{children:`Some faces share the same area of the texture. Painting there also paints them.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`The 3D preview does not show this edit. The saved file comes out correct.`}),_jsx(_components.td,{children:`Preview limitation only.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`reuse-your-graphics`,children:`Reuse your graphics`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Library`}),` tab keeps images you reuse across projects. Use the + button to copy images into your graphics library. `,_jsx(_components.strong,{children:`Reload the folder`}),` refreshes both your graphics and AI history. `,_jsx(_components.strong,{children:`Search`}),` filters graphics by file name and AI history by request text. Choose a thumbnail to add it as a layer; the project keeps its own copy, so removing it from the library does not change existing edits.`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`AI generated`}),` section holds every image the `,_jsx(_components.strong,{children:`AI`}),` tab returned for this texture, including the ones you did not use. Click one to put it over the whole texture. Reusing a past result costs no credits. See `,_jsx(_components.a,{href:`/projects/texturing/ai-generation`,children:`AI generation`}),`.`]}),`\n`,_jsx(Frame,{caption:`Library with your graphics and the AI history for this texture.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-library.webp?fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=b11a4c08ff8591d86315c81f79cbe0a9`,alt:`Library tab with My graphics and AI generated thumbnails`,\"data-og-width\":`600`,width:`600`,\"data-og-height\":`1240`,height:`1240`,\"data-path\":`images/textures/texturing-library.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-library.webp?w=280\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=abb31063483a420d3a2c7a16bd21e256 280w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-library.webp?w=560\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=9e679e9ca5e29b8e76d068b64bc8d4d6 560w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-library.webp?w=840\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=ef0da318be3fe893dc22695af217d0f5 840w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-library.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=5d32fb8af7e6783c92e988a700fa56f4 1100w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-library.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=2b0084d98b8b254a5f5fce70da9eb7f9 1650w, https://mintcdn.com/rageon/TCzaS11pSGz1CPPK/images/textures/texturing-library.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=TCzaS11pSGz1CPPK\u0026q=85\u0026s=c3e6c6da81a7fa56a28ed7ab01f8deff 2500w`})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Remove from library`}),` and `,_jsx(_components.strong,{children:`Remove from history`}),` ask for confirmation. `,_jsx(_components.strong,{children:`Delete`}),` permanently removes the library or history copy; existing project layers keep theirs. A deleted history image must be generated again if you have no other copy, which costs credits.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`shortcuts`,children:`Shortcuts`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Key`}),_jsx(_components.th,{children:`Action`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`V`}),` / `,_jsx(_components.strong,{children:`B`}),` / `,_jsx(_components.strong,{children:`M`})]}),_jsxs(_components.td,{children:[`Move and transform, `,_jsx(_components.strong,{children:`Brush (B)`}),`, `,_jsx(_components.strong,{children:`Clip layer (M)`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Esc`})}),_jsx(_components.td,{children:`Cancels a clip selection, then returns to move, then deselects.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Delete`}),` / `,_jsx(_components.strong,{children:`Backspace`})]}),_jsx(_components.td,{children:`Removes the selected unlocked layer.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Ctrl+D`})}),_jsx(_components.td,{children:`Duplicates the layer.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Ctrl+[`}),` / `,_jsx(_components.strong,{children:`Ctrl+]`})]}),_jsxs(_components.td,{children:[`Moves the layer down / up. Add `,_jsx(_components.strong,{children:`Shift`}),` for back / front.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Arrow keys`})}),_jsxs(_components.td,{children:[`Nudge the layer 1 px; with `,_jsx(_components.strong,{children:`Shift`}),`, 10 px.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Ctrl+Z`}),` / `,_jsx(_components.strong,{children:`Ctrl+Shift+Z`}),` or `,_jsx(_components.strong,{children:`Ctrl+Y`})]}),_jsx(_components.td,{children:`Undo / redo, across the whole project.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Ctrl+S`}),` / `,_jsx(_components.strong,{children:`Ctrl+E`})]}),_jsx(_components.td,{children:`Save / export to the last destination.`})]})]})]}),`\n`,_jsx(_components.p,{children:`Canvas shortcuts are ignored while you edit a field or a dialog is open. Locked layers cannot be moved, duplicated, reordered, or removed with the canvas shortcuts.`}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Choose a brush layer — or create one in Add layer`,id:`choose-a-brush-layer-or-create-one-in-add-layer`,children:_jsxs(_components.p,{children:[`The brush works on `,_jsx(_components.strong,{children:`Brush`}),` layers only. Add one, or select an existing one.`]})}),_jsx(Accordion,{title:`Choose a layer to clip it to a component`,id:`choose-a-layer-to-clip-it-to-a-component`,children:_jsxs(_components.p,{children:[`Select a layer first, then click `,_jsx(_components.strong,{children:`Clip layer (M)`}),`.`]})}),_jsx(Accordion,{title:`Clipping unavailable: the texture is not in the loaded model`,id:`clipping-unavailable-the-texture-is-not-in-the-loaded-model`,children:_jsx(_components.p,{children:`The model does not use this texture, so there is no geometry to pick. Choose a texture the model wears.`})}),_jsx(Accordion,{title:`The layer is locked`,id:`the-layer-is-locked`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Unlock`}),` in the layer menu, then try again.`]})}),_jsx(Accordion,{title:`Choose an editable texture in the panel below.`,id:`choose-an-editable-texture-in-the-panel-below`,children:_jsxs(_components.p,{children:[`The texture cannot be written, so layers are off. Pick another texture in `,_jsx(_components.strong,{children:`New edit`}),`.`]})}),_jsx(Accordion,{title:`Could not read the library: …`,id:`could-not-read-the-library`,children:_jsxs(_components.p,{children:[`The graphics folder could not be opened. Check that it exists and that Rageon can read it, then click `,_jsx(_components.strong,{children:`Reload the folder`}),`.`]})}),_jsx(Accordion,{title:`Could not copy to the library: …`,id:`could-not-copy-to-the-library`,children:_jsx(_components.p,{children:`The file could not be copied into the graphics folder. Check the file and the free space on the drive, then try again.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Layers and tools","icon":"layers","description":"Stack images, brush strokes, text, and gradients over a game texture, limit them to chosen parts of the model, and reuse your graphics.","href":"/projects/texturing/layers-and-tools"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Add a layer","slug":"add-a-layer","depth":2,"children":[{"title":"Gradient","slug":"gradient","depth":3,"children":[]},{"title":"Text","slug":"text","depth":3,"children":[]}]},{"title":"Arrange layers","slug":"arrange-layers","depth":2,"children":[]},{"title":"Paint with the brush","slug":"paint-with-the-brush","depth":2,"children":[]},{"title":"Limit a layer to parts of the model","slug":"limit-a-layer-to-parts-of-the-model","depth":2,"children":[]},{"title":"Read the UV map and the 3D preview","slug":"read-the-uv-map-and-the-3d-preview","depth":2,"children":[]},{"title":"Reuse your graphics","slug":"reuse-your-graphics","depth":2,"children":[]},{"title":"Shortcuts","slug":"shortcuts","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"rageon","siteName":"Rageon","title":"Layers and tools - Rageon","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/projects/texturing/layers-and-tools","matchLevel":0},"pt-BR":{"href":"/pt-BR/projects/texturing/layers-and-tools","matchLevel":1},"es":{"href":"/es/projects/texturing/layers-and-tools","matchLevel":1}}},"lastModified":"2026-10-22T22:26:50.608Z","originalFileLocation":"projects/texturing/layers-and-tools.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Stack images, brush strokes, text, and gradients over a game texture, limit them to chosen parts of the model, and reuse your graphics.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Rageon\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/rageon/ZtuCQ-reSINKWczI/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/rageon/ZtuCQ-reSINKWczI/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/rageon/ZtuCQ-reSINKWczI/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/rageon/ZtuCQ-reSINKWczI/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/rageon/ZtuCQ-reSINKWczI/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/rageon/ZtuCQ-reSINKWczI/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/rageon/ZtuCQ-reSINKWczI/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/rageon/ZtuCQ-reSINKWczI/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/rageon/ZtuCQ-reSINKWczI/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Layers and tools - Rageon\">\u003cmeta data-mint-head property=\"og:description\" content=\"Stack images, brush strokes, text, and gradients over a game texture, limit them to chosen parts of the model, and reuse your graphics.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Rageon\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.rageon.dev/projects/texturing/layers-and-tools\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://rageon.mintlify.app/_mintlify/api/og/v2?division=Texturing\u0026amp;title=Layers+and+tools\u0026amp;description=Stack+images%2C+brush+strokes%2C+text%2C+and+gradients+over+a+game+texture%2C+limit+them+to+chosen+parts+of+the+model%2C+and+reuse+your+graphics.\u0026amp;theme=dc798bdc6d01b550c8b95f0f\u0026amp;signature=da036d44e53a6fe931fca005db8fe387c69b31c2bb84078b0cce9336bc5f220e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Layers and tools - Rageon\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Stack images, brush strokes, text, and gradients over a game texture, limit them to chosen parts of the model, and reuse your graphics.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://rageon.mintlify.app/_mintlify/api/og/v2?division=Texturing\u0026amp;title=Layers+and+tools\u0026amp;description=Stack+images%2C+brush+strokes%2C+text%2C+and+gradients+over+a+game+texture%2C+limit+them+to+chosen+parts+of+the+model%2C+and+reuse+your+graphics.\u0026amp;theme=dc798bdc6d01b550c8b95f0f\u0026amp;signature=da036d44e53a6fe931fca005db8fe387c69b31c2bb84078b0cce9336bc5f220e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/rageon/ZtuCQ-reSINKWczI/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Rageon\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#f97316\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.rageon.dev/projects/texturing/layers-and-tools\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/projects/texturing/layers-and-tools.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.rageon.dev/projects/texturing/layers-and-tools\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.rageon.dev/pt-BR/projects/texturing/layers-and-tools\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.rageon.dev/es/projects/texturing/layers-and-tools\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.rageon.dev/projects/texturing/layers-and-tools\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.rageon.dev/#organization\",\"name\":\"Rageon\",\"url\":\"https://docs.rageon.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/rageon/NnSHzDe1phDyv79M/logo/mark.png?fit=max\u0026auto=format\u0026n=NnSHzDe1phDyv79M\u0026q=85\u0026s=e0ae0889d31e1576f579125f3ef6685e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.rageon.dev#website\",\"name\":\"Rageon\",\"url\":\"https://docs.rageon.dev\",\"publisher\":{\"@id\":\"https://docs.rageon.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.rageon.dev/projects/texturing/layers-and-tools#webpage\",\"url\":\"https://docs.rageon.dev/projects/texturing/layers-and-tools\",\"name\":\"Layers and tools\",\"description\":\"Stack images, brush strokes, text, and gradients over a game texture, limit them to chosen parts of the model, and reuse your graphics.\",\"dateModified\":\"2026-10-22T22:26:50.608Z\",\"isPartOf\":{\"@id\":\"https://docs.rageon.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.rageon.dev/projects/texturing/layers-and-tools#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.rageon.dev/projects/texturing/layers-and-tools#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Texturing\",\"item\":\"https://docs.rageon.dev/projects/texturing/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Layers and tools\",\"item\":\"https://docs.rageon.dev/projects/texturing/layers-and-tools\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.rageon.dev/projects/texturing/layers-and-tools#article\",\"headline\":\"Layers and tools\",\"name\":\"Layers and tools\",\"description\":\"Stack images, brush strokes, text, and gradients over a game texture, limit them to chosen parts of the model, and reuse your graphics.\",\"url\":\"https://docs.rageon.dev/projects/texturing/layers-and-tools\",\"mainEntityOfPage\":{\"@id\":\"https://docs.rageon.dev/projects/texturing/layers-and-tools#webpage\"},\"dateModified\":\"2026-10-22T22:26:50.608Z\",\"publisher\":{\"@id\":\"https://docs.rageon.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.rageon.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Rageon\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Rageon","nav":{"global":null,"languages":[{"language":"en","default":true,"tabs":[{"tab":"Getting started","icon":"rocket","pages":[{"title":"Getting started","href":"/start/introduction"}]},{"tab":"Assets","icon":"box","pages":[{"title":"Assets","href":"/assets/browse"}]},{"tab":"Viewer","icon":"eye","pages":[{"title":"Viewer","href":"/viewer/overview"}]},{"tab":"Capture","icon":"camera","pages":[{"title":"Capture","href":"/capture/overview"}]},{"tab":"Export","icon":"download","pages":[{"title":"Export","href":"/export/overview"}]},{"tab":"Map","icon":"map","pages":[{"title":"Map","href":"/map/library"}]},{"tab":"Projects","icon":"folder-kanban","groups":[{"group":"Projects","icon":"folder-kanban","pages":[{"title":"Projects","icon":"folder-kanban","href":"/projects/overview"},{"title":"Export as a resource","icon":"package","href":"/projects/export"},{"title":"Hot reload","icon":"zap","href":"/projects/hot-reload"}]},{"group":"Texturing","icon":"paintbrush","pages":[{"title":"Texturing","icon":"paintbrush","description":"Change textures, liveries, clothing, tattoos, weapon skins, and the minimap of game models inside a project.","href":"/projects/texturing/overview"},{"title":"Layers and tools","icon":"layers","href":"/projects/texturing/layers-and-tools"},{"title":"Model and global textures","icon":"image","description":"Repaint one texture of a vehicle, ped, weapon, clothing piece, or prop, or a texture in a shared dictionary, and choose how it reaches the game.","href":"/projects/texturing/model-textures"},{"title":"Liveries","icon":"car","href":"/projects/texturing/liveries"},{"title":"Clothing variants","icon":"shirt","href":"/projects/texturing/clothing-variants"},{"title":"Tattoos, patches, and face overlays","icon":"scan-face","href":"/projects/texturing/tattoos-and-overlays"},{"title":"Weapon skins","icon":"crosshair","href":"/projects/texturing/skins"},{"title":"Weapon tints","icon":"palette","href":"/projects/texturing/tints"},{"title":"License plates","icon":"rectangle-horizontal","href":"/projects/texturing/license-plates"},{"title":"AI generation","icon":"sparkles","href":"/projects/texturing/ai-generation"},{"title":"Minimap","icon":"map","href":"/projects/texturing/minimap"}]},{"group":"Structures","icon":"building-2","pages":[{"title":"Structures","icon":"building-2","href":"/projects/structures/overview"},{"title":"Your first interior","icon":"flag","href":"/projects/structures/first-interior"},{"title":"Create and import","icon":"folder-plus","href":"/projects/structures/create-and-import"},{"title":"Editor views","icon":"scan-eye","href":"/projects/structures/editor-views"},{"title":"Rooms","icon":"square-dashed","href":"/projects/structures/rooms"},{"title":"Portals and openings","icon":"door-open","href":"/projects/structures/portals-and-openings"},{"title":"Props in structures","icon":"armchair","href":"/projects/structures/props-in-structures"},{"title":"Geometry","icon":"box","href":"/projects/structures/geometry"},{"title":"Lights","icon":"lightbulb","href":"/projects/structures/lights"},{"title":"Water","icon":"waves","href":"/projects/structures/water"},{"title":"Textures","icon":"image","href":"/projects/structures/textures"},{"title":"Entity sets","icon":"toggle-right","href":"/projects/structures/entity-sets"},{"title":"Marks","icon":"ruler","href":"/projects/structures/marks"},{"title":"Flags","icon":"flag","href":"/projects/structures/flags"},{"title":"Checker","icon":"shield-check","href":"/projects/structures/checker"},{"title":"Export","icon":"package-open","href":"/projects/structures/export"}]},{"group":"Props","icon":"box","pages":[{"title":"Props","icon":"box","href":"/projects/props/overview"},{"title":"Your first prop","icon":"rocket","href":"/projects/props/first-prop"},{"title":"Prop editor","icon":"move-3d","href":"/projects/props/editor"},{"title":"Export props","icon":"package","href":"/projects/props/export"}]},{"group":"Emergency vehicles","icon":"siren","pages":[{"title":"Emergency vehicles","icon":"siren","href":"/projects/emergency-vehicles/overview"},{"title":"Colors, parts and extras","icon":"palette","href":"/projects/emergency-vehicles/appearance"},{"title":"Lightbars","icon":"lightbulb","href":"/projects/emergency-vehicles/lightbars"},{"title":"Sirens","icon":"audio-lines","href":"/projects/emergency-vehicles/sirens"},{"title":"Handling","icon":"gauge","href":"/projects/emergency-vehicles/handling"},{"title":"Checker","icon":"shield-check","href":"/projects/emergency-vehicles/checker"}]}]},{"tab":"Account and settings","icon":"user-cog","pages":[{"title":"Account and settings","href":"/account/overview"}]},{"tab":"Help","icon":"life-buoy","pages":[{"title":"Help","href":"/help/troubleshooting"}]}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/pt-BR/projects/texturing/layers-and-tools"}]},{"language":"es","pages":[{"title":"es","href":"/es/projects/texturing/layers-and-tools"}]}]},"title":"Layers and tools - Rageon","buildId":"dpl_5UDDZ9hnigTkoV7QtvQ39eUp84nu","deploymentId":"dpl_5UDDZ9hnigTkoV7QtvQ39eUp84nu","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-CUTvSGqu.js","DynamicMarkdown-BGu84FgU.js","zoom-image-lightbox-ChyC7Hte.js","PlusIcon-DXkY3IBj.js","lightbox-handle-r17bVUz3.js"]}