《Make a Map Like RealLifeLore》可复刻教程

3 阅读18分钟

依据:视频画面 + 字幕逐段核对整理。 说明:凡是视频里能明确看到的控件名、图层名、数值,我都直接写出;凡是视频里没有明确显示、只能靠画面推断的地方,我会标注“未显示/推断”。


一、工程准备

1. 软件与插件

  • After Effects 2023(界面为 AE 2023 风格)
  • GEOlayers 3

2. 本案例核心目标

复刻一个 RealLifeLore 风格的导弹射程地图动画,主要包含:

  • 卫星地图底图
  • 朝鲜区域填充与描边
  • 导弹射程圆
  • 半径线
  • 4,600 KM 数字动画
  • 虚线外圈
  • 地图缩放动画

二、按时间轴整理的详细操作

00:00–02:52|新建地图工程 + 下载地理数据

步骤 1:新建地图 Mapcomp

  1. 打开 GEOlayers 3 面板。
  2. 点击 Create a new map comp
  3. 名称输入:
    • North Korea Missile Range
  4. 点击 Next
  5. 地图 profile 选择:
    • standard Bing aerial profile

步骤 2:下载地理数据

在 GEOlayers 的 geodata 搜索区:

  1. 搜索 North Korea
  2. Natural Earth Data 下下载:
    • 朝鲜国家边界
  3. 再搜索 Pyongyang
  4. 下载:
    • 平壤点位

步骤 3:快速定位

  • 在 Feature Browser 中双击刚下载的特征,快速跳转到对应地理位置。

00:57–02:36|导入参考图并锁定参考视图

步骤 4:导入参考图

作者先自己截了一张参考图,拖进地图合成中。

操作:

  1. 将参考图拖入 Mapcomp。
  2. 执行:
    • Transform > Fit to Comp
  3. 降低透明度(视频未显示精确值)。
  4. 手动对齐到与参考样片大致一致的地图范围。

步骤 5:保存“标尺绘制视图”

作者强调:

  • 一旦开始按比例绘制,不要随便改变缩放级别
  • 否则比例会乱。

所以先保存当前地图视图:

  1. 点击 GEOlayers 面板里的 Add Features to Browser(小加号)
  2. 选择:
    • Map Comp View
  3. 命名为:
    • Draw Scale Features Here
  4. 点击 Apply

以后如果误缩放:

  • 直接在 Feature Browser 里双击这个 Map Comp View,就能跳回当前这组缩放/方向设置。

步骤 6:设置参考图层

对参考图层执行:

  1. 重命名:
    • Reference(视频里后期也出现过全大写 REFERENCE
  2. 打开 3D Layer
  3. Parent Pick Whip 父级到:
    • North Korea Missile Range Mapcomp Anchor
  4. 将图层 Lock 锁定,避免误拖动。

02:36–05:45|用 GEOlayers Scale Bar 建立精确比例

步骤 7:生成比例尺

  1. 在 GEOlayers 面板点击:
    • Run Script File
  2. 选择:
    • Scale Bar
  3. 对齐位置选择:
    • Center

这会自动生成两个图层:

  • 一个 shape 图层
  • 一个 text 图层

步骤 8:放大比例尺文字并重命名

  1. 选中文本图层
  2. 打开 Character 面板
  3. 设置:
    • 文字颜色:白色
    • 字号:调大(此处视频未给出初始精确字号)
  4. 将两个比例尺图层都重命名为:
    • Mapscale

步骤 9:查看比例尺控制参数

选中 shape 版 Mapscale,打开 Effect Controls,可看到:

  • Size
  • Fixed Size
  • Miles

视频中在 03:43 左右清晰可见:

  • Size = 245.0, 10.0
  • 此时画面显示大约:
    • 900 km

作者会勾选/使用 Fixed Size 来读取更直接的像素对应关系。

步骤 10:把比例尺拉到导弹射程直径

视频思路:

  • 参考图上写的是 4,600 km
  • 这表示的是半径
  • 所以要画的圆,其直径应为:
    • 9,200 km

于是继续调 Mapscale 的 Size X 值。

视频中 05:45 左右清晰可见:

  • Size = 2610.2, 10.0
  • 屏幕文字显示:
    • 9200 km

这里真正有用的是 X 向像素长度 2610.2 px。 这个值后面会拿来做射程圆的直径。


05:45–07:40|绘制导弹射程圆(Missile Range)

步骤 11:创建新椭圆图层

  1. 关闭参考图显示(便于看清)
  2. 选择顶部 Shape Tool > Ellipse
  3. 设置:
    • Fill:打开,实色
    • Stroke:关闭
  4. 注意:
    • 绘制前不要选中任何其他图层,否则会画到已有 Shape 里
  5. 按住 Shift,双击 Ellipse Tool
    • 这样会生成一个正圆
    • 作者特别说明:不按 Shift 会按合成比例生成,容易变形

步骤 12:命名并设置尺寸

  1. 将图层重命名为:
    • Missile Range
  2. 展开:
    • Contents > Ellipse Path 1 > Size
  3. 将圆尺寸设置为:
    • 2610.2 × 2610.2 px

视频口头说“把从比例尺复制的 size 粘进来”, 但从画面逻辑看,真正用于射程圆的是 直径像素值 2610.2, 因为最终画出来的是正圆,而不是 2610.2 × 10 的扁椭圆。

步骤 13:降低圆透明度

  • T 打开 Opacity
  • 视频画面里在 06:48 左右能看到大约:
    • 47%

步骤 14:把圆精确绑定到平壤

  1. 选中 Missile Range
  2. 在 GEOlayers 里选中 Pyongyang
  3. 点击底部图钉按钮:
    • Pin Layer to Feature

然后会自动生成一套 GEOlayers 的定位控制参数。

步骤 15:关键绑定选项(必须)

作者反复强调这一步不能漏:

  • 打开 3D Layer
  • 勾选:
    • Scale with Map
    • Rotate with Map
  • Rotate along path 不勾

否则:

  • 地图缩放时圆不会跟着按真实比例变化
  • 做出来就没有测距意义

08:00–11:20|绘制半径线(Missile Range RADIUS)

步骤 16:打开标尺和参考线

为了精确画“从圆心到边缘”的半径线:

  1. 关闭地图显示/切到便于观察的状态
  2. 打开 Rulers
  3. 打开 Guides

步骤 17:设置参考线位置

作者操作逻辑是:

  • 直径 = 2610.2 px
  • 半径 = 2610.2 / 2 = 1305.1 px

具体做法:

  1. 右键参考线 → Edit Position
  2. 输入:
    • 2610.2/2
  3. 得到:
    • 1305.1
  4. 再拉一条参考线,位置设为:
    • 0

这样就得到一条从圆心到边缘的精确绘制基准。

步骤 18:用钢笔工具画直线

  1. 选择 Pen Tool
  2. 设置:
    • Fill:None
    • Stroke:白色
    • Stroke Width:5 px
  3. 按住 Shift 绘制,确保线保持水平/垂直
  4. 如果吸附不到参考线,去:
    • View > Snap to Guides
  5. 让端点分别吸附到两条参考线上

步骤 19:重命名与移动锚点

  1. 图层重命名:
    • Missile Range RADIUS
  2. Pan Behind Tool(锚点工具)
  3. 按住 Ctrl 拖锚点,让锚点吸附到线段的一端
    • 这一步是为了后面旋转动画从圆心转起来更自然

步骤 20:将半径线绑定到平壤

和圆一样:

  1. 选中半径线图层
  2. 选中 Pyongyang
  3. 点击 Pin Layer to Feature
  4. 再设置:
    • 3D 打开
    • Scale with Map 打开
    • Rotate with Map 打开

11:48–13:10|制作外圈虚线 + 朝鲜国家边界样式

A. 外圈虚线

步骤 21:复制射程圆制作外圈

  1. 选中 Missile Range
  2. Ctrl + D 复制
  3. 重命名:
    • border
    • 后面项目中也出现过类似命名:Missile Range (Pinned) BORDER

步骤 22:把复制圆改成虚线描边

展开:

  • Contents > Ellipse 1

设置:

  • Fill:关闭
  • Stroke:打开
  • Stroke Width:10
  • Line Cap:Round
  • 点击 Dashes 两次,生成:
    • Dash
    • Gap
  • 数值设置:
    • Dash = 50
    • Gap = 25
  • T 打开透明度:
    • Opacity = 80%

B. 朝鲜国家填充与描边

步骤 23:新建 GEOlayers 图层样式

  1. 打开 Layer Styles / Style Swatches
  2. 新建一个 style,命名:
    • country
  3. 颜色切成:
    • 红色(精确 RGB 未显示)
  4. 点击 Apply

步骤 24:绘制国家填充

  1. 在 GEOlayers 里选择 North Korea
  2. 点击 Draw Features
  3. 得到国家填充层

步骤 25:绘制国家边线

  1. 切换到描边样式
  2. 再次对 North Korea 执行 Draw Features
  3. 重命名两个图层:
    • North Korea fill
    • North Korea border

项目后期画面中出现的图层名通常是:

  • North Korea FILL
  • North Korea BORDER

13:12–15:03|制作距离文字与“North Korea”标签底板

A. 距离文本初版

步骤 26:建立距离文本

  1. 创建文本图层,输入:
    • 4,600
  2. 复制一份,输入:
    • kilometers
  3. 对齐方式:
    • kilometers左对齐
    • 数字层:右对齐
  4. 把两者拼到一起摆放

步骤 27:保存“其他元素绘制视图”

因为此时缩放视图和前面做比例尺时不一样了,作者又保存了一份 Map Comp View:

  1. GEOlayers 面板 → Add Features to Browser
  2. Map Comp View
  3. 命名:
    • draw other elements here

B. North Korea 标签

步骤 28:复制文本做国家名称

  1. 复制原文本层
  2. 段落设为:
    • Center
  3. 文本改为:
    • North Korea

步骤 29:绘制标签黑底

  1. Rectangle Tool
  2. 设置:
    • Fill:黑色
    • Stroke:关闭
  3. North Korea 文本上画一个黑底矩形
  4. 右键矩形:
    • Transform > Center Anchor Point in Layer Content
  5. 再拖动文字到矩形上方
  6. 按住 Ctrl 拖动,可吸附到居中位置
  7. 黑底图层命名:
    • Text Background
    • 项目后期画面里也出现过:Text BG
  8. 让黑底先父级到文字,后面再统一处理

15:03–20:20|动画阶段:地图缩放、圆生长、半径旋转

作者拆成 4 个主要动画:

  1. 地图缩放
  2. 射程圆从 0 缩放到最终大小
  3. 半径线做 360° 旋转揭示
  4. 距离文字在末尾计数出现

A. 地图缩放动画

步骤 30:给地图 comp 打关键帧

  1. 时间线移动到大约:
    • 3.5 秒~4 秒
  2. 这作为最终视图,先打关键帧
  3. 回到开头 0 秒
  4. 将地图缩放到更近的朝鲜区域

作者中途还提醒:

  • 如果你没把 Feature 存进 Favorite,关项目再打开后,Feature Browser 里的临时内容可能丢失。
  • 解决办法:
    • 重新搜索下载
    • 或导出为 GeoJSON
    • 或加入 Favorite Features

步骤 31:调地图关键帧曲线

  1. 打开 Graph Editor
  2. 使用 Speed Graph
  3. 给地图缩放关键帧做缓动,让运动更“有冲劲”

视频里没有给出具体 Influence 数值,只是手动调速度曲线。

B. 射程圆缩放动画

步骤 32:圆从 0 缩放到 100%

  1. 选中 Missile Range
  2. S 打开 Scale
  3. 在最终时刻打一个最终关键帧
  4. 开头设为:
    • 0%
  5. 前后关键帧做 Easy Ease
  6. 进 Graph Editor 微调

作者特别说明: 即便这个图层本身已有 GEOlayers 表达式,只要你直接给 Scale 打关键帧,也仍然能工作。

C. 半径线旋转揭示动画

步骤 33:把半径线用圆作遮罩

作者想要半径线只显示在圆内,并随着动画被“揭示”出来。

  1. 打开 Track Matte
  2. Missile Range RADIUS 的 Track Matte 指向:
    • Missile Range
  3. 注意:AE 自动作为遮罩后,原遮罩层可能会自动隐藏
  4. 需要手动把 Missile Range 再打开显示

步骤 34:做旋转

  1. 选中半径线图层
  2. R
  3. 动画目标:
    • Z Rotation 做一圈(360°)

作者口头的做法是:

  • 一端设 1x + 0°
  • 另一端设 0x + 0°
  • 看方向对不对,再决定是否反过来

然后:

  • 对关键帧做 Easy Ease
  • 再进 Speed Graph 手调节奏

20:20–24:20|数字计数动画(4,300 → 4,600)

A. 加 Slider Control

步骤 35:给数字文本加控制器

  1. 选中数字文本图层
  2. 打开 Effects & Presets
  3. 搜索:
    • Slider Control
  4. 拖到数字文本图层上
  5. 重命名该效果:
    • Counter Animation

步骤 36:用 Source Text 绑定 Slider

  1. 展开文本图层
  2. 找到:
    • Text > Source Text
  3. 使用 Source Text 的 Pick Whip 连接到:
    • effect("Counter Animation")("Slider")

此时文字会直接读取 Slider 数值。

B. 先做直接计数,再做“4,”前缀

步骤 37:第一版计数

作者先想到直接做:

  • 4300 → 4600

操作:

  1. Slider 开头打关键帧:
    • 4300
  2. 结束打关键帧:
    • 4600

步骤 38:改成“固定前缀 + 三位数变化”

因为千位“4”不变,所以作者优化为:

  • 让 Slider 只做:
    • 300 → 600
  • 然后在 Source Text 里手动加前缀:
    • "4,"

视频 23:55 的画面里能看出,Source Text 表达式大致为:

"4," + effect("Counter Animation")("Slider") + " KM"

于是最终变成:

  • 文字显示为 4,300 KM → 4,600 KM

步骤 39:给数字文字加透明度动画

  1. 选中数字文本图层
  2. T
  3. 做 Opacity 动画:
    • 开头 0
    • 结束 100
  4. 给关键帧做 Ease In / Easy Ease

C. 去小数点

步骤 40:对 Slider 加 Math.round

因为 Slider 默认会产生小数,作者这样处理:

  1. Counter Animation > Slider
  2. 按住 Alt 点击秒表
  3. 添加表达式:
Math.round(value)

这样数字会被取整,不再出现一堆小数位。

步骤 41:把数字层绑定到地图

  1. 将数字文本图层设为 3D
  2. 父级到:
    • Mapcomp Anchor

24:23–25:20|修正朝鲜边界与填充效果

A. 修正描边粗细随缩放失真

作者发现:

  • 之前朝鲜边界是在错误缩放级别下画的
  • Auto Stroke Width 没开
  • 结果一放大,线会越来越粗

步骤 42:重新让边线按地图缩放

  1. 重新选朝鲜边界特征
  2. 打开样式
  3. 打开 Auto Stroke Width
  4. 用相同样式重新替换/重绘一次边界

B. 修正国家填充混合模式

步骤 43:调整填充层混合模式与透明度

作者的口头操作是:

  1. 选中 North Korea FILL
  2. 试混合模式:
    • Add
    • Lighten
  3. 最终趋向:
    • Lighten
  4. Opacity 降到:
    • 50%

这样朝鲜区域既能压住卫星底图,又不会太死板。


25:21–27:23|让 North Korea 标签不跟地图一起怪异缩放

步骤 44:先解除错误关系

作者先把标签背景和文字的关系拆开,准备重新定位。

步骤 45:Pin,而不是 Parent

作者说明:

  • North Korea 标签,他更倾向于 Pin 到地图,而不是普通 Parent
  • 因为这样更容易单独控制标签缩放

但第一次 Pin 的效果不好,于是又取消,再重来。

步骤 46:重置标签锚点

问题原因是:

  • North Korea 文字层锚点在底部,不适合缩放/定位

处理:

  1. 选文字层
  2. 右键:
    • Transform > Center Anchor Point in Layer
    • 视频后面也有一次用的是 in Layer Content

步骤 47:标签与底板重新 Pin

  1. 选中:
    • North Korea
    • Text BG
  2. 重新 Pin 到地图

步骤 48:调标签缩放动画

作者做法:

  1. 到动画结尾位置看效果
  2. 选中 North KoreaText BG
  3. S
  4. 先缩小到合适位置
  5. 再在开头给一个略大的值

视频口头明确说:

  • 可能让它从 75 到 50

也就是:

  • 开头:75%
  • 结尾:50%

画面 26:42 左右也能看到 75.0 的 Scale 值。


26:45–28:55|统一字体,提升风格还原度

步骤 49:更换字体

作者认为字体是风格成立的重要原因,于是把现有文字改成接近参考片的字体。

Character 面板中输入字体名:

  • Long Beach

画面中能确认到的字体为:

  • LongBeachUSN
  • 字重:Regular

步骤 50:文字参数(能看到的部分)

27:55 附近画面里能看到:

  • 字体:LongBeachUSN
  • 字重:Regular
  • 字号:100 px
  • 填充颜色:白色

28:55 附近作者又说:

  • “Let’s make it like 125 maybe”

所以后期标签字号又被进一步加大到:

  • 125 px 左右

步骤 51:再次修正锚点

因为切字体后视觉中心变了:

  1. 右键文字层
  2. 执行:
    • Transform > Center Anchor Point in Layer Content

27:23–29:10|虚线外圈淡入

步骤 52:给虚线外圈做透明度动画

  1. 打开外圈虚线图层(Missile Range (Pinned) BORDER
  2. T
  3. 在末尾附近做:
    • 0 → 80
  4. 给末尾关键帧做 Easy Ease

这样虚线会在动画的最后一段淡入出现。


28:44–29:30|微调标签尺寸与补一个 Adjustment Layer

步骤 53:继续放大标签

作者再次说:

  • “Let’s make it like 125 maybe”

说明标签大小在这里又被继续抬高。

步骤 54:复制缩放动画到边框/文字相关层

作者提到:

  • 想让某些元素在动画过程中保持更一致的相对关系
  • 就把一个图层的 Scale 动画复制 到另一个图层上

步骤 55:加调整层做 Noisy Vignette

  1. 新建:
    • Adjustment Layer
  2. Effects & Presets 搜索并套用他自己的:
    • Noisy Vignette

这里作者没有展示具体参数,所以只能确认:

  • 他确实加了一个 Adjustment Layer
  • 套了名为 noisy vignette 的预设/风格
  • 然后把 vignette 调到画面中心并略微 tweek

29:30–31:07|修正数字抖动:把 KM 单独拆成一个文本层

作者发现:

  • 数字计数时,整串 4,300 KM → 4,600 KM 会左右跳
  • 原因是字符宽度变化导致文本框重排

步骤 56:先把数字层改为左对齐

  1. 选计数数字层
  2. 改为:
    • Left Align

这样数字本体会稳定很多。

步骤 57:把单位从表达式里删掉

原来 Source Text 里有:

"4," + effect("Counter Animation")("Slider") + " KM"

作者决定把后面的 " KM" 去掉。

于是数字层最终只保留:

"4," + effect("Counter Animation")("Slider")

步骤 58:新建独立的单位文本层

  1. 用文字工具单独创建一个新文本层
  2. 输入:
    • kilometer(口头这么说)
    • 但最终画面实际上用的是:KM
  3. 设置为:
    • Left Align

步骤 59:临时关闭 3D 便于吸附

作者的做法:

  1. 先把新的 KM关闭 3D
  2. 这样它更容易和数字层进行 2D 吸附对齐
  3. 对齐好位置以后
  4. 再把两个文字层都重新打开 3D

步骤 60:把 KM 层也连到地图锚点

  1. KM 图层父级到:
    • MapComp Anchor
  2. 把数字层的 Opacity 动画复制KM

视频最后的图层里可以看到:

  • 4,600
  • KM

已经是两个独立文字层。


三、视频中能明确确认的关键数值汇总

1. 地图/比例相关

  • Mapcomp 名称:North Korea Missile Range
  • Profile:standard Bing aerial profile
  • 射程半径文本:4,600 km
  • 射程直径:9,200 km
  • 比例尺中间阶段:
    • Size = 245.0, 10.0
    • 对应约 900 km
  • 比例尺最终阶段:
    • Size = 2610.2, 10.0
    • 对应 9200 km
  • 射程圆建议尺寸:
    • 2610.2 × 2610.2 px
  • 半径辅助线:
    • 2610.2 / 2 = 1305.1 px

2. 图层命名(视频中出现过)

  • Reference / REFERENCE
  • Mapscale
  • Missile Range
  • Missile Range (Pinned)
  • Missile Range RADIUS
  • Missile Range RADIUS (Pinned)
  • Missile Range (Pinned) BORDER
  • North Korea FILL
  • North Korea BORDER
  • North Korea
  • Text BG / Text Background
  • 4,600
  • KM
  • North Korea Missile Range Mapcomp Anchor

3. 描边/虚线参数

  • 半径线 Stroke:5 px
  • 外圈虚线 Stroke Width:10 px
  • Line Cap:Round
  • Dash:50
  • Gap:25
  • 外圈虚线 Opacity:80%

4. 文字参数

  • 距离文字内容:4,600
  • 单位文字最终:KM
  • 国家标签:North Korea
  • 字体:LongBeachUSN
  • 字重:Regular
  • 字号(中段能看到):100 px
  • 后期作者口头又提高到:125 px 左右
  • 颜色:白色

5. 混合模式/透明度

  • 国家填充 Blend Mode:
    • 试过 Add
    • 最终倾向 Lighten
  • 国家填充 Opacity:50%
  • 射程圆 Opacity:画面可见约 47%

6. 动画数值

  • 地图缩放总时长:约 3.5–4 秒
  • 射程圆 Scale:0% → 100%
  • 标签缩放:作者口头建议 75% → 50%
  • 数字计数:
    • 初版:4300 → 4600
    • 优化后 Slider:300 → 600
  • 外圈虚线淡入:0 → 80

四、表达式整理(可直接照着写)

1. 计数文字的 Source Text(中期版本)

"4," + effect("Counter Animation")("Slider") + " KM"

2. 为 Slider 去小数

Counter Animation > Slider 上 Alt+点击秒表后写:

Math.round(value)

3. 最终更稳的数字版本(推荐)

把单位拆出去以后,数字层 Source Text 改成:

"4," + effect("Counter Animation")("Slider")

然后另建一个独立文本层写 KM


五、复刻时最容易踩坑的点

  1. 没保存 Map Comp View

    • 一旦缩放错了,前面的比例会全部乱掉。
    • 至少保存两个视图:
      • Draw Scale Features Here
      • draw other elements here
  2. 没开 Scale with Map / Rotate with Map

    • 射程圆和半径线都会失真。
  3. 直接把 2610.2, 10.0 当成椭圆 Size 粘进去

    • 会变成扁椭圆。
    • 正确做法是把射程圆设为:
      • 2610.2 × 2610.2 px
  4. 国家边界 Auto Stroke Width 没开

    • 一缩放线宽就爆炸。
  5. 数字和单位写在同一个表达式里

    • 数字计数时文本会左右乱跳。
    • 最后最好拆成:
      • 数字层
      • 单位层(KM)
  6. 标签锚点不居中

    • Pin 完以后缩放、移动都会很怪。
    • 先做:
      • Transform > Center Anchor Point in Layer / Layer Content

六、最适合你直接照做的简化复刻顺序

  1. 新建 GEOlayers Mapcomp,命名 North Korea Missile Range
  2. 下载 North KoreaPyongyang
  3. 导入参考图,Fit to Comp,降透明度,保存 Draw Scale Features Here
  4. GEOlayers 运行 Scale Bar,居中生成比例尺
  5. 把比例尺拉到 9200 km,读取 X 像素值 2610.2
  6. 新建正圆,Size 设 2610.2 × 2610.2
  7. 圆 Pin 到 Pyongyang,开 3D + Scale with Map + Rotate with Map
  8. 用 Guides 画半径线,长度 1305.1 px
  9. 半径线 Pin 到 Pyongyang
  10. 复制圆做虚线边:10 px / Dash 50 / Gap 25 / Opacity 80
  11. 用 GEOlayers 画朝鲜填充和边界
  12. 4,600 数字层 + North Korea 标签层 + 黑底
  13. 地图做 4 秒左右缩放动画
  14. 圆做 0 → 100% 缩放动画
  15. 半径线做一圈 Z Rotation 动画,并用圆做 Track Matte
  16. 给数字层加 Slider Control,做 300 → 600 计数
  17. Source Text 写 "4," + effect("Counter Animation")("Slider")
  18. Slider 表达式写 Math.round(value)
  19. 单独建 KM 文本层,复制数字层 opacity 动画
  20. 字体统一换 LongBeachUSN
  21. 填充层设 Lighten,Opacity 50%
  22. 必要时加 Adjustment Layer + noisy vignette

这份教程已经能直接拿去照着做。