模型重展UV后绘制纹理

最近在考虑一个功能,对一个模型重新展开UV后,需要重新绘制一张新的UV纹理。

重展UV这里不提,有第三方库可以直接使用,只要能保留顶点对应的新旧UV即可用于绘制新的纹理。

实际绘制的时候,将新的UV坐标当作顶点,旧的UV坐标当作纹理坐标,绘制新的UVMap后,会出现明显的缝,好像学名叫texture bleeding ,渲染模型时,当像素采样到纹理边界时,会将纹理外的像素也进行采样,混合后导致颜色不一致,或出现缝,如下图:

知道问题产生原因后,通过搜索也没法可用的第三方库能直接在已经绘制的纹理基础上直接外扩几个像素,如blender里面的padding选项。实现思路也很明确,沿UVMap的边界向外扩散即可。

实际处理的时候,首先实验了直接用一个3x3的窗口对纹理进行模糊处理,然后再将精细的纹理贴回,相当于沿边界外扩,实际效果不好,还是会有明显的缝隙。

最后实验,通过提取UVMap中的非共享边,然后在绘制纹理的时候沿共享边向外挤出固定像素来减少缝隙,如下图:

实际生成的纹理效果好点,但是不知道正经做法是什么思路,还有向外扩时,相邻边的接边 怎么处理,像素值怎么取也不太清楚,有知道的友邻可以提点一下。

实际处理后,没有明显的缝隙,效果如下:

相关推荐
vortex58 小时前
从Conda到UV:Python项目依赖管理的现代演进
python·conda·uv
zoujiahui_20184 天前
Python 包与环境管理工具 uv
开发语言·python·uv
eagle_Annie4 天前
Python/torch/深度学习——Miniforge+uv环境安装
python·深度学习·uv
天天进步20155 天前
Pixelle-Video 源码解析 #4:快速启动流程:uv、Streamlit、ffmpeg 分别负责什么?
ffmpeg·uv
源码学社10 天前
DeerFlow Windows 本地运行教程(uv)
windows·uv·沙箱·deerflow·超级智能体·deerflow安装
闲猫11 天前
Python依赖管理:uv与pip混用避坑( pyproject.toml/uv.lock/requirements.txt )
uv
Luminbox紫创测控12 天前
太阳模拟器如何模拟真实太阳?积分球与氙灯光源技术解析
人工智能·测试工具·安全性测试·uv·测试标准
如何原谅奋力过但无声14 天前
现代化Python工具:uv、Ruff、Pyright、Rich(只讲重点版)
vscode·python·uv
10mAh14 天前
Python 环境彻底不乱:uv、pip、venv、Conda 怎么选?Windows 项目迁移与锁版本实战
python·pip·uv
二进制杯莫停17 天前
Pycharm直接使用uv管理项目
ide·pycharm·uv