aslain.dev
0%
01 Hizmetler 02 Hakkımda 03 Projeler 04 Stack 05 Blog 06 İletişim
← Tüm makaleler Metin2

Metin2 Texture Editing and DDS Conversion Guide

Metin2 texture editing is the most direct way to give your server a unique look: from recoloring a single item to building a brand-new armor skin, everything comes down to preparing the DDS files the client reads correctly. In this guide I walk through the full pipeline step by step — extracting a texture from the pack files, editing it in an image editor, saving it as DDS with the right DXT compression, and repacking it back into the client.

Why are Metin2 textures in DDS format?

Because the Metin2 client runs on DirectX, it stores texture data in the GPU-friendly block-compressed format — namely DDS (DirectDraw Surface). This keeps textures compressed in memory and avoids an extra conversion step at draw time. In practice you'll meet three compression types:

  • DXT1 — for textures with no alpha (or only 1-bit on/off transparency). Smallest file size; opaque surfaces like ground, stone or wood.
  • DXT3 — for sharp, non-gradient transparency (for example hard-edged masks).
  • DXT5 — for soft, gradient alpha. Preferred for glass, effects, semi-transparent cloth and most item icons.

If a texture has smooth transparency gradients pick DXT5; if it has no alpha at all pick DXT1. Choosing the wrong format produces dirty pixels along the edges or needlessly large files.

The tools you need

Before you start, prepare this toolset:

  • A pack tool — to open and repack the client's .epk/.eix archives (a common tool such as EterNexus is used for this).
  • An image editor with a DDS plugin — the Intel/NVIDIA Texture Tools plugin for Photoshop, or as a free alternative GIMP's built-in DDS export.
  • texconv — the command-line tool from Microsoft's DirectXTex project; extremely handy for batch conversion and mipmap generation.

Important: back up the original pack files you'll work on. If you make a mistake while repacking, you'll want to restore the broken archive.

Extracting the texture from the pack files

In the Metin2 client textures don't sit in plain folders; they're compressed as .eix (index) and .epk (package) pairs. Open the pack tool, load the relevant archive (usually files in the pack/ folder), find the texture of the item you want to edit inside its folder tree, and export it. Item texture paths usually follow a logic like:

d:/ymir work/item/weapon/...
d:/ymir work/npc/...
icon/item/...

To find out which DDS belongs to which model you need to look at the model's definition file. Granny3D model files (.gr2) reference the texture names; if you can't pin down the right file, a practical trick is to apply a small change to the texture and observe in-game which item is affected.

Editing the texture

When you open the DDS in your editor, keep a few points in mind:

  • Keep dimensions a power of two. 64×64, 128×128, 256×256, 512×512 and so on. DXT compression works on 4×4 pixel blocks, so the edge lengths must be divisible by four. Odd dimensions throw an error on save.
  • Preserve the alpha channel. Transparency lives in a separate channel; while you repaint the color, be careful not to accidentally flatten the alpha. Check the channels in Photoshop, the layer mask/alpha channel in GIMP.
  • Stay faithful to the UV layout. The texture is painted according to the model's UV unwrap. If you shift patterns around, they'll look skewed on the model; test on the model in-game as often as you can.

For simple jobs like a color swap a hue/saturation adjustment layer is enough. If you're doing a more thorough repaint, always keep your work in a layered source file (.psd/.xcf) and treat the DDS purely as an export output.

Saving as DDS and generating mipmaps

Once editing is done, saving with the right compression and mipmap setting is critical. Mipmaps are pre-computed scaled-down copies of the texture; they prevent shimmer and performance issues when the character is far away. In the editor plugin, just pick the DXT type and tick the "Generate Mipmaps" box.

For batch or scripted conversion, texconv is far faster. To produce a soft-alpha texture as DXT5 with mipmaps:

texconv -f DXT5 -m 0 -o output\ skin.png

Here -f DXT5 sets the compression, -m 0 generates the full mipmap chain, and -o sets the output folder. For an opaque texture with no alpha use -f DXT1. Try to keep the resulting DDS at the same size and format as the file you pulled from the editor; the client may expect a specific format for certain textures.

Repacking into the client

Load the edited DDS back into the pack tool: open the relevant archive, replace the file under the exact same path and name as the original, then save/repack the archive. If the path or filename changes, the client can't find the texture and the item appears white/transparent. When testing after repacking:

  • Fully close and reopen the client (the texture may have been cached).
  • Check the item on the character, in the inventory, and at different distances.
  • If you see dirty pixels along the edges, revisit the compression type (you probably need DXT5 instead of DXT1).

Frequently Asked Questions

Can I use PNG and skip DDS?

No. The Metin2 client expects texture data in DDS's block-compressed format; you can do the editing in PNG, but you must convert to DDS to put it in the game. Use PNG only as an intermediate/source format.

The item looks white or transparent — why?

The two most common causes: the file was packed under the wrong path/name, or the alpha channel got corrupted. Compare the path letter for letter against the original, and make sure you saved a texture with alpha as DXT5 and one without as DXT1.

Why does the texture look broken/shimmering from a distance?

You most likely didn't generate mipmaps. Re-export the texture with a mipmap chain; with texconv the -m 0 parameter builds the full chain automatically.

Need custom item and armor skins for your server? I can handle the whole process from DDS editing to model-faithful UV painting — get in touch and let's talk about your project.

Bu kategorideki tüm yazılar →

Devamı için