更新日期:2026年10月16日
本文根据 X 用户 Sac 的《小王子》星际旅行 3D 游戏制作分享整理,重点保留可复用的工作流与提示词。原帖中的工具版本、浏览量和效果属于作者个人案例,不能直接当成平台普遍承诺。本文命令和脚本是可执行模板,未在本机完成 Tripo、Blender 或 Unity 的完整构建。

一张概念图,怎样变成可以走进去探索的 3D 场景?比较稳的做法不是让一个模型“一次生成整款游戏”,而是把任务拆成五个可验收的环节:产品需求、视觉参考、3D 资产、场景组装、交互打包。原帖作者采用 Fable 5.1 梳理 PRD,用图像模型生成多视角参考图,再用 Tripo 生成资产,Blender 负责清理和绑定,Unity 负责场景、交互与发布。

先把目标缩小成一个可玩的垂直切片

第一次实操不要从“完整开放世界”开始,先定义一个 3—5 分钟能走通的切片,例如:

  • 一个星球场景:地面、房屋、道路、三件可交互道具;

  • 一个角色:待机、行走、拾取三个动作;

  • 一个交互:靠近水壶后按键拾取,UI 显示任务完成;

  • 一个结束条件:角色走到出口,播放结算画面。

把需求写成结构化文本,后续每轮生成都使用同一份约束:

项目类型:第三人称探索游戏
场景范围:一座小型星球基地,包含室外平台、室内房间和观景台
视觉风格:低饱和绘本质感,暖黄色主光,蓝紫色天空
必须出现:角色、房屋、树、长椅、水壶、出口标记
交互:靠近水壶按 E 拾取;靠近出口显示完成提示
验收:从正面、侧面、俯视三个机位截图时,布局和比例保持一致

这一步的关键是“必须出现”和“验收方式”。它们会成为后面给图像模型、Blender Agent 和 Unity Agent 的共同上下文。

场景参考图要先做多视角

原帖的场景流程是先生成一张满意的主视图,再补俯视图、斜侧视图和局部细节。这样做比只给一张正面图更容易在 3D 中还原空间关系。

可复用提示词:

基于上传的场景参考图,生成一组用于3D游戏制作的多视角参考图:
1. 正面主视图,保持原有构图、色彩和物体数量;
2. 俯视图,清楚展示道路、建筑和交互区域的布局;
3. 斜侧视图,补充物体高度、前后层次和遮挡关系;
4. 三张图中的角色、道具、建筑位置保持一致;
5. 额外生成一张局部细节图,展示材质、边缘和可交互物体。

图片生成完成后,先人工检查三件事:同一个道具是否在不同视图中变形,比例是否变化,主光方向是否冲突。任何一项不稳定,都先修参考图,不要急着生成 3D 模型。

用资产清单决定什么交给 Tripo

把场景拆成两类:

  • 适合单独生成的资产:角色、家具、雕像、交通工具、带复杂轮廓的道具;

  • 适合在 Blender 或 Unity 搭建的部分:地面、墙体、台阶、碰撞体、简单柱子、重复植被和触发区域。

原帖作者在 Tripo 中选择了 H3.1 生成场景道具,并使用 Smart Mesh P2.0 处理人物。由于这些名称和可用模型会随 Tripo 账户、地区和版本变化,实操时以当前工作台显示的模型为准,不要把某个型号写成所有账号都能使用的固定能力。

Tripo 官方 API 文档确认,它支持文本或图片输入生成 3D 模型,并提供草模生成、草模精修、模型动画、风格化和格式转换等能力。浏览器工作流可以直接上传参考图;需要批量生成时,再切换到 API。每个资产建议单独命名,例如 prop_teapot_v01.glb,并保留输入图、提示词、导出格式和生成日期。

生成道具后,先在 Blender 做清理

Tripo 导出的模型进入游戏前,至少做四项检查:

  1. 统一尺寸和坐标轴,确认 1 个 Blender 单位对应项目中的实际尺度;

  2. 应用旋转和缩放,修正原点位置;

  3. 检查法线、孤立网格、非流形边和过高面数;

  4. 导出 Unity 能稳定读取的格式,并保留原始文件作为回滚版本。

Blender 官方文档支持通过命令行启动,并用 Python 脚本批处理。可以把清理动作固定成脚本:

# scripts/prepare_asset.py
import bpy
import sys

out_path = "//build/prop_clean.glb"

# 删除隐藏或孤立对象
for obj in list(bpy.data.objects):
    if obj.hide_get() and obj.type == "MESH":
        bpy.data.objects.remove(obj, do_unlink=True)

# 应用变换,并把原点放到几何中心
for obj in bpy.context.scene.objects:
    if obj.type == "MESH":
        bpy.context.view_layer.objects.active = obj
        obj.select_set(True)
        bpy.ops.object.transform_apply(location=False, rotation=True, scale=True)
        bpy.ops.object.origin_set(type="ORIGIN_GEOMETRY", center="BOUNDS")
        obj.select_set(False)

# 导出为 glTF/GLB,供 Unity 或其他引擎继续处理
bpy.ops.export_scene.gltf(
    filepath=out_path,
    export_format="GLB",
    export_apply=True,
)

命令行执行方式:

blender --background ./blend/asset_cleanup.blend \
  --python ./scripts/prepare_asset.py

脚本里的输出路径和删除规则要按项目修改。第一次运行先复制一份工程,确认没有误删集合或材质后,再接入批量处理。

在 Unity 里组装场景和交互

Unity 官方手册提供命令行启动和脚本执行入口。项目中可以保留一个固定目录结构:

project/
├── art/reference/       # 多视角参考图
├── art/generated/       # Tripo 原始导出
├── art/clean/           # Blender 清理后的 GLB/FBX
├── Assets/Scenes/       # Unity 场景
├── Assets/Scripts/      # 交互与构建脚本
└── build/               # 构建产物和日志

把 GLB/FBX 拖入 Assets/Art 后,先确认材质、碰撞体和缩放,再搭建场景。对于水壶拾取这类交互,先用一个简单的触发器验证逻辑:

using UnityEngine;

public class PickupTrigger : MonoBehaviour
{
    public GameObject target;
    public KeyCode key = KeyCode.E;

    private bool inside;

    void Update()
    {
        if (inside && Input.GetKeyDown(key))
        {
            target.SetActive(false);
            Debug.Log("pickup_ok");
        }
    }

    void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player")) inside = true;
    }

    void OnTriggerExit(Collider other)
    {
        if (other.CompareTag("Player")) inside = false;
    }
}

完成场景后,使用一个自定义构建方法做无界面打包。下面的 BuildScript.Build 是项目自己的静态方法,场景路径和目标平台必须替换成你的工程配置:

/Applications/Unity/Hub/Editor/<version>/Unity.app/Contents/MacOS/Unity \
  -batchmode -quit \
  -projectPath ./project \
  -executeMethod BuildScript.Build \
  -buildTarget StandaloneWindows64 \
  -logFile ./build/unity-build.log

Unity 文档只规定命令行和构建管线的调用方式,具体的 BuildScript、场景清单和平台参数由项目决定。先用编辑器运行,再用命令行构建,排错会更快。

角色制作:四视图、网格、绑定、动作

角色流程可以按下面顺序推进:

  1. 用图像模型生成正面、侧面、背面和 T-pose 四视图,固定服装、发型、颜色和道具;

  2. 在 Tripo 的多视图转 3D 功能中上传四视图,先检查白模网格;

  3. 网格合理后再生成纹理;如果局部形状错误,先做局部网格编辑;

  4. 在 Blender 中绑定骨骼并测试抬手、弯腿、转身;

  5. 从 Mixamo 按动作关键词下载 FBX,导入后检查骨骼映射;

  6. 复杂接触动作单独处理,例如角色提水壶时,用 IK 调整手臂、手指和道具位置。

角色绑定提示词:

使用当前角色模型完成自动绑骨和蒙皮。先让骨骼位置与肩、肘、腕、髋、膝、踝对齐,再测试抬手、弯腿、转身三个动作。逐项检查肩部塌陷、膝盖拉扯、衣物穿模和脚底滑动,发现问题后只修改对应权重或骨骼,不要改变角色比例。

复杂接触动作提示词:

参考提供的基础动作,保留下肢和躯干节奏,用IK调整手臂姿势,并同步修正手指握持和水壶位置。要求手掌与把手持续接触,抬起过程中不穿模、不脱手、不悬空。导出前分别检查起始帧、中间帧和结束帧。

Mixamo 页面适合用来搜索和下载动作,但下载后仍要做骨骼映射和动作回归。不要因为预览动作正常,就跳过 Unity 中的 Avatar、根骨骼和碰撞检查。

用多机位截图做“盲审回路”

AI Agent 最容易把场景做成“单视角好看、换角度就穿帮”。每完成一轮,就固定输出:

  • 正面、侧面、俯视三张场景截图;

  • 角色 T-pose、行走、交互三张动作截图;

  • Unity Console 日志;

  • 当前资产版本和变更说明。

再把截图和原始参考图一起交给独立审查 Agent,要求它只输出差异清单:

逐张比较参考图和当前截图,只列出可观察差异:
1. 物体缺失或新增;
2. 比例、位置、朝向变化;
3. 光照、材质和颜色偏差;
4. 角色动作中的穿模、脚滑、手部脱离;
5. 碰撞体、触发器或交互提示失效。
每条差异给出优先级和下一步修改建议,不要直接重写整个场景。

这样做的好处是每轮只解决少量问题,避免 Agent 为了修一个道具把整张地图重新摆一遍。

资产归档和团队协作

参考图、GLB/FBX、Blender 工程、Unity 项目和构建包最好分开管理。七牛云 Kodo 的对象存储文档支持上传、下载和私有空间访问控制,可以把原始参考图、导出资产、构建包和审查截图按版本归档;部署或协作节点再用短期凭证取回。Kodo 负责文件存储和权限控制,不能替代 Unity 构建机或 GPU 推理环境。

商业项目还要单独核查角色、图片、动作文件和第三方插件的授权范围。原帖中的《小王子》只是案例主题,不能直接推导出任何地区都可以无条件商用。

一次验收清单

  • 三个机位的场景布局一致;

  • 所有 Tripo 资产都有原始文件和清理后版本;

  • 模型面数、材质数量和贴图尺寸符合目标平台预算;

  • 角色通过 T-pose、行走和交互动作回归;

  • 触发器、拾取逻辑和退出条件能重复运行;

  • Unity 命令行构建成功,并保存日志;

  • 参考图、资产和构建包已按版本归档;

  • 商业使用前完成第三方素材授权核查。

本文没有把 X 帖子中的“近 300 万浏览”、特定模型名称或作者邀请码当成教程效果保证;真正可复用的是拆分任务、固定参考图、逐轮截图和按验收清单回归。

参考资料