覆盖文生 3D、图生 3D、多视图、批量生成,以及重拓扑、绑定、动画、智能分割、 纹理、PBR、智能 UV、部件补全、格式导出与下载。 代码组织:一个功能一个模块(tripo/features/),入口薄壳 tripocli.py。
37 lines
1.5 KiB
Python
37 lines
1.5 KiB
Python
"""重拓扑 — remesh an existing project into clean quad/tri topology.
|
||
|
||
tripocli remesh -p <project_id> --face-limit 10000 --wait -o lowpoly.glb
|
||
|
||
Verified body: ``bake``, ``face_limit``, ``model_version`` ("default"), ``quad``,
|
||
``smart_poly`` and ``part_name_list`` holding ``tripo_node_<operator_id>``.
|
||
"""
|
||
|
||
from . import _common
|
||
|
||
NAME = "remesh"
|
||
HELP = "重拓扑:将模型重制为干净的四边形/三角面网格"
|
||
|
||
|
||
def add_arguments(parser):
|
||
_common.add_op_options(parser)
|
||
parser.add_argument("--face-limit", type=int, default=10000, help="目标面数(默认 10000)")
|
||
parser.add_argument("--tri", action="store_true", help="输出三角面(默认四边面)")
|
||
parser.add_argument("--no-bake", action="store_true", help="不烘焙原贴图")
|
||
parser.add_argument("--part", action="append", help="只处理指定部件节点名,可重复;默认整个模型")
|
||
|
||
|
||
def run(ctx):
|
||
args = ctx.args
|
||
parts = args.part or _common.node_part_name(ctx.client, args.project)
|
||
body = {
|
||
"project_id": args.project,
|
||
"face_limit": args.face_limit,
|
||
"quad": not args.tri,
|
||
"smart_poly": False,
|
||
"bake": not args.no_bake,
|
||
"model_version": _common.project_version(ctx.client, args.project, args.model) or "default",
|
||
"part_name_list": parts,
|
||
}
|
||
data = ctx.client.get_data("POST", "/v2/studio/operation/remesh", body=body)
|
||
return _common.run_operator(ctx, data, output=args.output, wait=args.wait, label="重拓扑")
|