十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

如何用 manim init 初始化 Manim 项目并快速插入新场景?

如何用 manim init 初始化 Manim 项目并快速插入新场景? 如何用 manim init 初始化 Manim 项目并快速插入新场景【免费下载链接】manimA community-maintained Python framework for creating mathematical animations.项目地址: https://gitcode.com/GitHub_Trending/man/manimManim 是社区维护的 Python 数学动画框架动画视频由代码中的Scene类生成。当你从零开始做动画项目时可以直接手写项目结构也可以用 Manim 自带的manim init命令一步生成项目骨架之后再用manim init scene往现有文件里插入新场景类省去手动建文件、写模板和导入语句的工作。本文的完整路径是确认 Manim 已安装 → 用manim init project生成项目 → 渲染默认场景验证环境 → 用manim init scene插入新场景并渲染。所有命令来自 quickstart 教程与 init 子命令实现适用于 Manim 的默认Cairo渲染流程。前提条件已按官方安装文档装好 Manim 并可正常运行。quickstart 明确提示开始前先完成 安装文档 中的步骤。如果你按推荐方式用uv安装 Manim需要先激活对应的虚拟环境见执行uv venv时打印的说明或者给每条manim命令加前缀uv run即uv run manim ...。manim init的完整子命令帮助可以直接在终端用manim init --help查看参数行为以 manim/cli/init/commands.py 为准。用 manim init project 初始化新项目在项目根目录下执行quickstart 给出的主路径命令manim init project my-project --defaultmy-project是新项目的文件夹名也是项目的根目录里面会存放 Manim 运行所需的所有文件以及项目产生的输出。--default等价于-d表示直接用默认设置创建项目不进入交互式提问。执行成功后终端会打印 copiedmanim.cfg和 copiedmain.py的提示。按 manim/utils/file_ops.py 中copy_template_files的实现项目目录里会生成两个文件manim.cfg从 manim/templates/template.cfg 复制而来再按默认值更新[CLI]段。--default模式下的默认配置定义在 init 命令的CFG_DEFAULTSframe_rate 30、background_color BLACK、background_opacity 1、分辨率 1080×1920。main.py由 manim/templates/Default.mtp 模板复制而来并在文件开头自动补上from manim import *。模板内容是示例场景类DefaultTemplate创建一个粉色圆再让一个旋转后的方形变换成圆。如果目标文件夹已经存在命令不会覆盖它而是提示Folder my-project exists. Please type another name换一个名字即可。可选分支交互式创建项目不带--default时命令会逐项提问先输入项目名不传参时会提示Project Name再选择模板可选模板名来自manim/templates/下的*.mtp文件默认Default然后依次提示frame_rate、background_color、background_opacity、分辨率选项来自 Manim 内置的QUALITIES常量默认 480p。每项都提供默认值直接回车即可接受最后显示完整配置并询问Do you want to continue?确认后才复制模板文件并写入manim.cfg。只想快速起步时用--default即可交互式创建适合需要一开始就定制帧率、分辨率或背景色的情况。渲染默认场景验证环境可用进入项目目录渲染main.py里的示例场景cd my-project manim -pql main.py DefaultTemplate场景名必须与文件中的类名一致main.py由 Default 模板生成类名是DefaultTemplate。quickstart 文档演示的等价流程是先把main.py编辑成CreateCircle示例然后运行manim -pql main.py CreateCircle命令格式相同只是场景名不同。成功条件quickstart 原文描述Manim 先输出渲染信息然后生成一个 MP4 文件系统默认媒体播放器会自动打开它你会看到一个粉色圆被画出的动画。如果看到的是错误信息、没有视频、或输出画面与预期动画不符说明 Manim 可能没有安装正确quickstart 建议转到 FAQ 排查最常见的问题。用 manim init scene 快速插入新场景manim init scene的调用形式SCENE为场景类名FILE为目标文件manim init scene SCENE_NAME FILE执行时先交互式提示选择模板template候选与manim init project相同默认Default然后把模板中DefaultTemplate的类名替换为你给定的SCENE_NAME再按 manim/cli/init/commands.py 中scene函数的逻辑处理目标文件FILE已存在把新场景追加到该文件末尾不修改文件其他内容也不添加导入语句文件应已有from manim import *。FILE不存在新建该文件并写入场景若文件名没有.py后缀会自动补上同时自动在文件开头插入from manim import *。省略FILE默认追加到当前目录下的main.py以追加模式打开因此需要在项目目录内执行且main.py已存在。按 quickstart 的示例在my-project目录下为scene.py插入SquareToCircle场景cd my-project manim init scene SquareToCircle scene.py然后渲染它manim -pql scene.py SquareToCircle预期效果同前输出渲染信息、生成 MP4 并自动播放画面是一个方形变换为粉色圆再淡出的动画。渲染失败的排查方式与上一节相同先看报错信息再查 FAQ。补充一点背景这些命令最早以manim new提供0.16.0 版本起功能迁移到了manim init见 0.16.0 变更日志同一版本的日志还记录了manim init scene SCENE_NAME filename.py的修复——指定文件名后不再要求工作目录中必须存在main.py。因此推荐写法都是显式带上目标文件名。常见限制与判断要点manim init project遇到已存在的目录会中止并提示换名不会合并或覆盖现有文件。插入场景只会替换模板中的类名场景代码本体就是对应.mtp模板的内容需要其他起点的场景如坐标轴类场景可以在模板选择时选Axes或MovingCamera。追加到已有文件时不检查导入语句如果目标文件没有from manim import *渲染会失败这属于文件本身问题而非 init 命令问题。用uv安装时忘记uv run前缀或忘记激活虚拟环境会导致命令找不到或导入失败这是文档点名的常见问题来源。下一步完成本项目的初始化和渲染验证后quickstart 教程给出了后续内容在scene.py中继续添加SquareAndCircle用next_to定位多个 Mobject和AnimatedSquareToCircle使用.animate语法等场景练习想理解 Manim 底层的输出与配置机制可以继续读 output_and_config 教程。【免费下载链接】manimA community-maintained Python framework for creating mathematical animations.项目地址: https://gitcode.com/GitHub_Trending/man/manim创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表