You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UE5中如何基于TXT文件Hex色值为Torus分块Square材质上色?

实现步骤

这里以Blender为例,其他3D编辑器逻辑通用:

1. 处理色值文本文件

  • 读取txt文件中的Hex色值,清理空行和无效字符,整理成纯净的色值列表。
  • 统计色值总数count,计算正方形网格的边长:取sqrt(count)的整数部分size,如果size×size小于色值总数,可选择重复最后一个色值补全,或者截断多余色值,确保最终是size×size的正方色块布局。

2. 生成方格纹理

方法一:Python脚本自动生成(高效)

打开Blender的脚本编辑器,运行以下代码(替换文件路径):

import bpy
import math
from PIL import Image

# 读取色值文件
file_path = "你的色值文件路径.txt"
with open(file_path, 'r') as f:
    hex_colors = [line.strip() for line in f if line.strip().startswith('#')]

count = len(hex_colors)
size = int(math.sqrt(count))
# 补色到size×size的数量
while len(hex_colors) < size * size:
    hex_colors.append(hex_colors[-1])

# 创建纹理图像
img = Image.new('RGB', (size, size))
pixels = img.load()

for y in range(size):
    for x in range(size):
        hex_val = hex_colors[y * size + x]
        r = int(hex_val[1:3], 16)
        g = int(hex_val[3:5], 16)
        b = int(hex_val[5:7], 16)
        pixels[x, y] = (r, g, b)

# 保存并导入到Blender
img.save("torus_color_grid.png")
bpy.ops.image.open(filepath="torus_color_grid.png")

方法二:手动制作纹理

用PS、GIMP等图像工具创建size×size的画布,逐个方格填充对应Hex色值,导出为PNG格式即可。

3. 调整Torus的UV映射

  • 选中Torus进入编辑模式,按U键选择智能UV展开或立方体投影,将UV展开为规整的矩形区域。
  • 在UV编辑器中,把UV边界缩放到刚好贴合纹理的正方形范围,避免拉伸变形。

4. 创建并应用材质

  • 新建材质,进入节点编辑器,添加图像纹理节点并导入生成的方格纹理。
  • 将图像纹理节点的Color输出连接到Principled BSDF节点的Base Color输入。
  • 将材质赋予Torus,切换到材质预览模式即可看到分区上色效果。

注意事项

  • 若色值总数不是完全平方数,可根据需求选择补色、截断,或调整为矩形网格(如m×n,确保m×n接近色值总数)。
  • 若UV展开不规整,可手动拖动UV点,让每个UV方格对应纹理的一个色块,保证比例一致。

内容的提问来源于stack exchange,提问作者Kovalev Egor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 19:03:31