mcpField
L
layer-3d

layer-3d

github.com/layerai创意与媒体73.7k 次安装4 周前更新
代码仓库

关于 layer-3d

layer-3d 是 Layer 的技能,介绍分阶段生成和完善 3D 素材的工作流。它面向需要从文本或概念图开始,并继续进行网格优化、重新贴图、绑定或动画制作的创作者;每个阶段都使用前一步的输出。

主要功能

  1. 01根据文本或图像生成网格
  2. 02重新网格化以调整拓扑和面数
  3. 03为现有网格重新贴图
  4. 04为网格生成骨架和权重
  5. 05为已绑定网格制作动画

适用场景

  1. 01根据概念图创建 3D 网格
  2. 02为目标用途降低网格复杂度
  3. 03为现有网格应用新表面
  4. 04绑定中性姿势网格并制作动画

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/layerai/skills --skill layer-3d

安装后在 Claude Code 中输入/layer-3d确认已加载。

详细介绍

Layer 3D 生成

概述

在 Layer 中进行 3D 生成是一系列独立用例,而不是一次调用。先生成网格,再根据交付需求对其进行重新网格化、重新纹理化、绑定骨架或制作动画。每个阶段都有自己的 filter.use_case 和独立运行,并将上一阶段输出的 file_id 作为输入。

阶段filter.use_case输入
根据描述生成网格text_to_3dprompt
根据概念图生成网格image_to_3dinit_image 或 reference_image
优化拓扑、减少面数remeshinit_mesh
为现有网格创建新表面retextureinit_mesh,通常还包括 texture_image
骨架和权重riginit_mesh
为绑定骨架的网格添加动作animate已绑定骨架的 init_mesh

layer 技能中介绍了运行流程和费用确认关卡。如果此处提到的其他技能不在你可用的技能中,请让用户安装该技能(npx skills add layerai/skills --skill <name>);如果需要无人值守地继续,请根据工具架构定义操作,并指出缺失之处。

从图像开始

只要设计已经确定或可以确定,image_to_3d 通常是更好的选择。生成的网格会沿用参考图像的轮廓和表面细节,因此先用 layer-image 确认静帧只需花费一次低成本的图像运行,就能减少昂贵的 3D 运行所需的大部分迭代。

参考图像应清晰展示主体:置于纯色背景上、光线均匀,并采用能体现深度的四分之三视角。戏剧化且阴影浓重的主视觉插画不如普通的近似正交视图适合作为参考,因为模型会将阴影识别为几何形状。

如果尚无任何素材,且形状足够简单或通用,可以通过描述表达,那么适合使用 text_to_3d。

说明网格的用途

引擎目标会影响请求,因此应明确说明,不要直接接受默认值:

  • 拓扑:如果资产后续要进行雕刻、变形或细分,请使用 quad_mesh。对于按原样交付的静态道具,三角形也可以。
  • 预算:使用符合目标平台的 face_limit。桌面端的主角道具和移动端的背景道具要求不同,而且之后重新网格化还需要再运行一次。
  • 表面:如果资产将用于受光照影响的场景,请使用 pbr_materials 和 include_textures。不使用它们时,得到的只有几何体和平面表面,在引擎中看起来会像是出了问题。

这些选项是否适用,应以各模型的推理架构定义为准,因此在编写运行请求前,请先阅读 get_base_model。

描述几何形状

3D 提示词应侧重结构描述,而非氛围。光照、情绪和相机参数属于图像提示词,在这里不起作用,因为网格不包含光照信息。

描述形状:整体轮廓、比例、部件的连接方式、表面材质和细节程度。“矮胖的陶土炊锅,宽圆的锅身、短而外翻的锅颈、肩部有两个小环形把手,手工拉坯的表面留有清晰的凸纹”描述的是网格。“美丽的古代陶锅,戏剧化的灯光”描述的是照片,生成结果会很普通。

对称形状和封闭形状通常都能可靠生成。细长的突出部分、链条、布料和头发是生成网格容易失败的部分,因此应计划单独建模,或接受它们与主体融合为一体。

骨架绑定和动画

rig 会生成骨架和权重,要求网格处于中立的张臂静止姿势。在动态动作姿势下生成的网格很难正确绑定骨架,因此应先生成静止姿势,再制作动作动画。

animate 需要已绑定骨架的网格,因此这两项运行必须按顺序进行。如果模型提供了命名动作预设,使用这些预设通常比用文字描述动作更可靠。

示例

“将这个已批准的道具概念转化为可用于游戏的移动端网格。”

  1. 该概念来自此前的图像生成任务,并且已带有 file_id。
  2. 调用 list_base_models,设置 filter.use_case: "image_to_3d",并设置 filter.capabilities: {textures: true}(这是由布尔值组成的对象,而不是名称列表)。 选择第一个结果,然后调用 get_base_model 查看它接受的字段。
  3. 调用 estimate_forge_price,将该概念作为 image_to_3d 输入,开启 pbr_materials 和 include_textures,静态道具关闭 quad_mesh,并将 face_limit 设为符合移动端需求的值。3D 任务成本较高,因此预计费用会超过 20 CUs,请在继续前征求确认。
  4. 执行任务,并按 poll_interval_seconds 轮询。
  5. 在衔接下一步之前检查结果。如果剪影正确但面数过高,下一步应对输出的 file_id 执行 remesh,而不是重新生成。

常见错误

  • 已有概念图或可以先低成本生成概念图时,仍使用 text_to_3d。
  • 将戏剧化、阴影浓重的关键美术图像用作 3D 参考。
  • 为网格编写图像提示词(光照、氛围、相机)。
  • 未指定拓扑、预算和材质,随后又花费一次费用执行重网格。
  • 对以动作姿势生成的网格进行绑定。
  • 实际缺陷可通过 remesh 或 retexture 修复时,却从头重新生成。
  • 期待生成的网格能够生成链条、带子或头发等干净的细长几何体。

评论

支持 Markdown