一、关于环境
请参考:pymeshlab遍历文件夹中模型、缩放并导出指定格式-CSDN博客
二、关于代码
本文所给出代码仅为参考,禁止转载和引用,仅供个人学习。 本文所给出的例子是https://download.csdn.net/download/weixin_42605076/89233917中的obj_000001.ply。
# pymeshlab需要导入,其一般被命名为ml
import pymeshlab as ml
# 本案例所使用的3D模型为压缩包中的obj_000001.ply,请将其与本脚本放置在同一文件夹内。
input_file = 'obj_000001.ply'
# 首先需要创建一个空的容器
mesh = ml.MeshSet()
# 然后,加载物体模型
mesh.load_new_mesh(input_file)
# 沿着椭圆赤道投影展开当前网格的几何图形。圆柱形投影轴以原点为中心,并沿垂直Y轴定向。
mesh.geometric_cylindrical_unwrapping(
startangle = 0, # 起始角度(度):展开过程的起始角度。
endangle = 360, # 结束角度(度):展开过程的结束角度。用于惩罚形状不好的人脸的质量阈值。该值在[0..1]范围内0接受任何类型的面(无惩罚),0.5惩罚质量<0.5的面,与它们的形状成比例
radius = 0, # 投影半径:如果不是零,则此参数指定用于投影的参考圆柱体的所需半径。更改此参数会影响生成网格的X水平缩放。如果为零(默认值),则选择网格与轴的平均距离。
)
# 保存
mesh.save_current_mesh(input_file.replace('.ply', '_c.ply'), save_vertex_normal = True, binary = False)