Celestia 中文文档 下载 App

CEL 脚本入门:让 Celestia 自动执行一串动作

什么是 CEL 脚本

CEL(Celestia Language)是 Celestia 内置的简单脚本语言。它不能写复杂的逻辑(没有循环、变量、条件判断),但在"顺序执行一串 Celestia 动作"这件事上非常好用:

Select { object "Earth" }
Follow { }
SetTime { Date "2024 04 08 18 30 00" }
Wait { Duration 2 }
Center { }

这六行脚本就是一个"2024 日全食启动画面":选中地球 → 跟随 → 跳到日全食时刻 → 等 2 秒 → 居中。

用 CEL 脚本做什么

CEL 脚本最适合三类场景:

1. 开机演示(start.cel)

每次启动 Celestia 自动运行的剧本。Celestia 自带的 start.cel 就在根目录,默认内容是一个简单的太阳系大环游。你可以编辑它改成自己的自定义启动画面。

2. 课堂教学

把每节课的 Celestia 画面预置成一个 .cel 文件。上课前双击就能直接跳到正确画面,不用每次手动搜天体、调时间、飞过去。

3. 宣传片头

CEL 可以连续跳转多个目标并控制时间和 FOV——配合截图工具可以自动生成一段镜头漫游视频。

CEL 语法基础

CEL 使用指令 + 花括号 + 参数的格式:

指令名 { 参数1 值1 参数2 值2 }

常用指令:

指令作用示例
Select选中目标天体Select { object "Jupiter" }
Follow切换到跟随模式Follow { }
Free回到自由模式Free { }
Center把目标居中Center { }
Goto飞向目标Goto { }
SetTime跳到指定日期SetTime { Date "2024 04 08 18 30 00" }
SetScene跳转时间 + 目标SetScene { ... }(综合)
Wait等待 N 秒Wait { Duration 3 }
SetFov切换 FOVSetFov { 60 }
Print屏幕上显示一行字Print { "日食开始!" }

运行 CEL 脚本

三种方式:

  1. 命令行:celestia --url myscript.cel(启动时直接运行)
  2. Celestia 内:Ctrl+E 打开数据文件编辑器,选择 .cel 文件
  3. 自动运行:把脚本内容写进 start.cel

CEL 脚本没有错误提示——写错了 Celestia 只是默默跳过。如果脚本不按预期执行,把每一行单独拿出来测试定位哪一行有问题。