open3d.geometry.TriangleMesh
类的 vertex_colors
属性是三角网格每个顶点的颜色。这个属性是一个 numpy
数组,其形状为 (n, 3)
,其中 n
是三角网格的顶点数量。每一行表示对应顶点的 RGB 颜色,取值范围在 [0, 1] 之间。
mesh.vertex_colors
无
numpy.ndarray
:形状为 (n, 3)
的三角网格顶点颜色数组,其中 n
是顶点数量。
以下示例代码展示了如何将顶点的颜色设置为红色:
import open3d as o3d
import numpy as np
# 创建一个 三角网格,每个顶点位置将被放置在半径为1的球面上
mesh = o3d.geometry.TriangleMesh.create_sphere(radius=1.0)
# 将所有顶点的颜色设置为红色
red = np.array([1.0, 0.0, 0.0])
mesh.vertex_colors = o3d.utility.Vector3dVector(np.tile(red, (mesh.vertices.shape[0], 1)))
o3d.visualization.draw_geometries([mesh]) # 显示网格
在 mesh.paint_uniform_color()
函数执行后,vertex_colors
属性将被弃用,并被均匀颜色覆盖。因此,如果想要自定义每个顶点的颜色,应该避免使用 paint_uniform_color()
函数。