Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeoStringAnim · 几何节点字符串动画控制器

一个基于 Blender 几何节点(Geometry Nodes) 的逐字符文字动画插件。选中一个文本物体,一键生成节点树,即可用滑块实时驱动「打字机 / 弹跳 / 波浪」等多种逐字符动画效果,无需手动搭节点。

GeoStringAnim 插件展示图

✨ 特性

  • 一键生成:选中文字物体(Text Object),点击 Generate 自动构建完整的几何节点树并挂载 Geometry Nodes 修改器。
  • 逐字符动画:利用 String to Curves 生成的 Curve Instance,按字符 Index 独立控制每个字符的入场时机。
  • 多种动画质感:线性 / 平滑缓动(Smoothstep)、过冲弹跳(Overshoot)、随机相位扰动。
  • 完整变换通道:每个字符的 位移(Position)、缩放(Scale)、旋转(Rotation)、透明度(Alpha)都可分别设置起止值。
  • 实时驱动:所有参数通过节点组输入同步,拖动滑块即可实时预览动画。
  • 跨版本兼容:节点类型对 Blender 4.x / 5.x 的命名差异做了自动降级适配(ShaderNodeMath ↔ FunctionNodeFloatMath 等)。

📦 安装

  1. 下载最新版插件压缩包:Releases 中的 stringextend-vX.X.X.zip。
  2. 打开 Blender:Edit → Preferences → Add-ons。
  3. 点击右上角 Install...,选择下载的 .zip 文件。
  4. 在列表中搜索 GeoStringAnim 并勾选启用。

需要 Blender 4.2 或更高版本。

🚀 快速上手

  1. 在场景中创建一个文字物体:Add → Text(Shift+A → Text)。
  2. 选中该文字物体,打开右侧边栏 N 面板 → GeoStringAnim 标签页。
  3. 点击 Generate GeoStringAnim Nodes 按钮生成节点。
  4. 拖动 Global Progress 滑块(0–100),即可看到文字逐字符播放动画。
  5. 修改文字内容后,点击面板底部的 Refresh Text / Sync Params 同步。

🎛️ 参数说明

面板中的参数会实时同步到节点组输入:

分组 参数 说明
基础 Global Progress 全局动画进度(0–100),驱动整段动画
范围与相位 Start / End Factor 单个字符入场起始 / 结束阈值(进度)
Phase 逐字符相位延迟(决定「打字机 / 波浪」节奏)
Random Phase 逐字符随机延迟扰动,制造随机入场效果
缓动 Smoothness 缓动平滑度(0 线性 / 1 标准 / >1 更柔滑)
Overshoot 过冲弹跳力度(0 无弹跳,>0 弹跳)
变换通道 Pos Start / End 字符位移起止值
Scale Start / End 字符缩放起止值
Rot Start / End 字符旋转起止值(欧拉角)
Alpha Start / End 字符透明度起止值

🧠 原理

  1. String to Curves 将字符串拆分为逐字符的 Curve Instance。
  2. 在 Instance 域 上用字符 Index(0..N-1)计算每个字符的独立入场时间: char_t = Progress - (Index × Phase + Random × RandomPhase)。
  3. 通过 Map Range 将 [Start, End] 重映射到 [0, 1] 并钳制。
  4. 可选 Smoothstep(t²(3-2t))平滑与 Overshoot(sin(t·π(1+over))·(1-t)·over)弹跳。
  5. 最终因子驱动每个实例的 Scale / Rotate / Translate Instances,并将 Alpha 写入实例属性 gsa_alpha。

生成的核心节点组名为 GSA_Core_Anim_v2,挂载到文字物体上的修改器名为 GeoStringAnim。

📁 仓库结构

GeoStringAnim/
├── stringextend/          # Blender 插件包(安装源)
│   └── __init__.py        # 插件全部逻辑
├── images/
│   └── screenshot.png     # 插件展示图
└── README.md

📄 许可

本项目采用 MIT License 开源。

About

Blender Geometry-Nodes per-character text animation addon (打字机/弹跳/波浪逐字符动画)

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages