2
$\begingroup$

I have 4 models that has separate materials and each models already have UV coordinates.

I want to combine these models to using single material for better performance in games.

Current what I do is just import all models in single Blender file and change to use single material and remap the UV coordinates of each 4 models to take each takes 1/4 of texture space.

This actually works, however there are some lots of precision lost, also it took so much time to make texture each time.

Here's my workflow for this:

  1. Import all models in single Blender file
  2. Remove all materials and create new one and apply to all models
  3. Update UV coordinate of each model to take 1/4 spaces of texture space.
  4. To do that, first I scale down to .5(50%). If texture is 1K size, it should be 512x512.
  5. Move -256px of X and Y. But here's the problem, this is always incorrect position(I don't know why). Mostly I just move the whole uv coordinates to find better position.
  6. Repeat 4~5 until 4 models done.
  7. Save combined model and make new texture from 2d graphics program, such as photoshop.

Is there a shorten way to do this, or is there a better way to do this? It will be really appreciate it give me some advice.

$\endgroup$
0
$\begingroup$

I know there is an addon for that: TextureAtlas.

| improve this answer | |
$\endgroup$
0
$\begingroup$

There are a number of techniques you can use to improve the process.

  1. You can scale the UV maps about a cursor instead of doing your manual scaling->translation. You can set the position of the cursor manually via the sidebar.

  2. You can look into texture baking, which allows you to use 2 different UV maps, and write one to the other-- regardless of positioning.

  3. If texture baking, you can use automated packing tools to improve your texture resolution. Blender has built in packing in the ctrl-p operation. There are addons that promise better use of texture space.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.