上海外国语大学 · 虹口校区 · 七版样张 Two Rounds  /  2026.09.10

七版
同一座校园

两轮做出来的七个版本。第一轮三版验证的是"能不能跑通";第二轮四版是深度调研之后重做的—— 换了官方色、换了真校徽、内容量翻了十几倍,并且加进了 3D。内容层与素材层七版共用,只有视觉语言不同。

一条值得先说的调研结论:拆了 18 所全球顶级大学官网(MIT / Stanford / Oxford / 剑桥 / 东大 / 北外…), 首页没有一所用 WebGL。所以 3D 是另一条路,不是更高级的路——D 版故意不上 3D,就是拿来跟 E、F 对照的。
第二轮 · 深度调研后重做 Round 2 — after deep research
D 版预览
Version D · 旗舰

与鲁迅先生为邻

Flagship / No 3D

上外的中文校名标准字取自《鲁迅日记》手稿集字,而鲁迅葬在校门外一路之隔。写下这所学校名字的人,就住在这条街上——松江校区没有这件事。全页 21625px、13 章,明暗交替,不用 3D。

GSAPLenisScrollTrigger数字滚动横向年表官方VI
打开 D 版 →
E 版预览
Version E · 3D

西索地图

three.js / Interactive Plan

把官方那张《虹口校区平面图》立起来。平面图贴地,建筑体块挤出,滚动驱动相机走五步;标出 3 号楼(唯一活到今天的老建筑)、三个校门、沙泾港故道。带俯视/平面切换。

three.js r128等轴测Raycaster滚动驱动相机WebGL降级
打开 E 版 →
F 版预览
Version F · 3D

五十四种语言

three.js / Particles

54 种 = 39 种现代语言 + 15 种"冷门绝学"。语言名浮在 3D 空间里,现代语言蓝白、绝学明黄,各带本族自称。全世界还在说苏美尔语的人,是零——一所大学在教一门没人再说的语言。

three.js r128粒子星空CanvasTexture 中文语种筛选
打开 F 版 →
G 版预览
Version G · 零依赖

往里走

Pure CSS 3D / No Library

不引任何库,断网双击就能开。CSS perspective 做弄堂纵深,mix-blend-mode 把 1907 年的北四川路和今天的街景叠印在一张图里。虹口一直在处理"外面的人",然后来了一所教全世界语言的大学。

零依赖CSS 3Danimation-timeline叠印popover 灯箱
打开 G 版 →
第一轮 · 最小闭环验证(不再改动) Round 1 — MVP, frozen
A 版预览
Version A

西索纸本

Editorial / Letterpress

米黄纸感 + 朱砂,宋体巨字压在幽灵年份上,照片统一转单色印刷调。最像一本校刊内页。

打开 A 版 →
B 版预览
Version B

暗房

Dark / Photo Album

暖黑 + 金,满屏校门压字开场,图片是主角。像高端建筑摄影集。

打开 B 版 →
C 版预览
Version C

多语种网格

Swiss Grid / Multilingual

暖白 + 朱砂,12 栏严格网格,十四国语言"欢迎"跑马灯,年表黑白棋盘格。信息密度最高。

打开 C 版 →
调研 · Research

10 路并行,223 条带来源的事实

上外校情 65 条、虹口校区专项 73 条、海外合作学院(海培)36 条、视觉识别 49 条,全部带可验证的来源链接,另有 66 条叙事钩子。全文在 _research/事实库全文.md(94KB)。

品牌 · Brand

官方 VI 真身已到手

从官网下到官方 VI 包,解出校徽、校标组合、校训、鲁迅集字校名的 AI 矢量并转成 SVG,在 assets2/brand/。官方色:上外蓝 #0062AC(Pantone 2945C)、明黄 #F8B62C;校徽实测取色 #0064A4。

素材 · Assets

128 张逐张看过,55 张入库

包括判出"这张是松江不是虹口""这张其实是纽约"。精选里有 4000×3000 南门正午全景、官方虹口校区平面图、1910 年虹口菜场明信片、1907 年北四川路手工上色片、1948 年上海市全图、1860 年代虹口滩涂老照片。

技术 · Stack

本机真机探针,不是估计

three.js r128 CDN ✓ · GSAP 3.12.5 + ScrollTrigger ✓ · WebGL 2.0 on ANGLE Metal / Apple M1 Pro 真实渲染 ✓ · maxTextureSize 16384 · animation-timeline: view() 原生支持 · View Transitions ✓。调研另收 87 个开源项目、72 条技法。

还没做 · Not Yet

四个新版还没过完审查

D/E/F/G 已落盘可看,但独立审查刚跑到一半就按要求停了。已知待修:D 版动效用双层 requestAnimationFrame 启动,在后台标签页打开会卡在数字 0 的初始态;数字应该在 HTML 里就写最终值,再由 JS 抹成 0 滚上去。

性质 · Disclaimer

非官方

个人练习性质的排版原型,不是上海外国语大学官方发布物,未获学校授权。官方 VI 包注明不得作商业用途;所有图片版权归原权利人所有,仅用于本地学习演示,不对外发布、不商用。