更改纹理大小时是否必须重新映射 UV?
Do I have to remap UVs when changing size of texture?
我正在为我的游戏创建低多边形模型(我在搅拌机中创建它们),并且我正在使用调色板(每个像素上具有不同颜色的小纹理),我将 UV 映射到我想要的颜色上想。问题是我想在未来向调色板添加更多模型和更多颜色。如果我在纹理底部再添加一行颜色,这将如何工作? UV 会被拉伸还是只停留在同一个地方(如果它们被拉伸,我每次添加新颜色时都必须重新映射 UV)?
有一个我希望它如何工作的示例(箭头指向新行):
UV 不是到原点的绝对距离,假设你有一个 256x256 的纹理和 4 张图片,UV 贴图不是 0、64、128、192。
UV 已归一化,您首先有一个 4x4,因此所有值都是 0、0.25、0.5、0.75。所以如果你添加一行,那将不再正确放置。
您需要 0、0.2、0.4、0.6 和 0.8。
所以是的,你需要重新映射。
如果这些是 sprite,Unity 有一个 Sprite 编辑器,这使得它变得非常容易。
我正在为我的游戏创建低多边形模型(我在搅拌机中创建它们),并且我正在使用调色板(每个像素上具有不同颜色的小纹理),我将 UV 映射到我想要的颜色上想。问题是我想在未来向调色板添加更多模型和更多颜色。如果我在纹理底部再添加一行颜色,这将如何工作? UV 会被拉伸还是只停留在同一个地方(如果它们被拉伸,我每次添加新颜色时都必须重新映射 UV)?
有一个我希望它如何工作的示例(箭头指向新行):
UV 不是到原点的绝对距离,假设你有一个 256x256 的纹理和 4 张图片,UV 贴图不是 0、64、128、192。
UV 已归一化,您首先有一个 4x4,因此所有值都是 0、0.25、0.5、0.75。所以如果你添加一行,那将不再正确放置。
您需要 0、0.2、0.4、0.6 和 0.8。
所以是的,你需要重新映射。
如果这些是 sprite,Unity 有一个 Sprite 编辑器,这使得它变得非常容易。