银河产品展示

那天晚上,我试着用C4D做了一条银河系旋臂

说出来你可能不信,我对宇宙的兴趣,是从一次软件崩溃开始的。

那天晚上大概十一点多,我泡了杯已经凉掉的茶,想着随便用C4D捏个地球玩玩,结果不知道哪根筋搭错了,突然就想:要不,试着做一条银河系的旋臂? 就是这个念头,让我在接下来的六个小时里彻底忘了睡觉这件事。

先别急着打开软件,咱们聊聊银河系到底长什么样

说实话,在动手之前,我对银河系的印象基本停留在小时候看的那种科普插图——一个发光的圆盘,中间鼓起来,几条旋臂像风扇叶片一样规规矩矩地转着,后来查了一堆资料才发现,真实的银河系比想象中野多了。

银河系是一个棒旋星系,注意这个“棒”字,它不是说整个星系像根棍子,而是中心有一个棒状结构,大约2.7万光年长,由密集的恒星组成,旋臂不是从中心直接甩出来的,而是从这个棒的两端延伸出去,目前天文学界比较公认的模型是四条主要旋臂——矩尺座旋臂、英仙座旋臂、人马座旋臂、南十字座旋臂,太阳系就窝在人马座旋臂内侧一个叫猎户座支臂的小分支上,位置相当郊区。

然后我盯着那些天文台拍摄的旋涡星系照片看了很久,比如M51、M101这种正面朝我们的星系,你会发现一个有意思的事:旋臂根本不是平滑的弧线,它们更像被揉乱的羊毛,有分叉、有断裂、有星星点点散落出去的气体和尘埃,这个细节,后来成了我建模时最头疼也最过瘾的部分。

C4D里的宇宙,得从一片漆黑开始

打开Cinema 4D,默认场景永远是那个灰蓝色的背景和地面的网格,我先干的第一件事就是把地面删了,把背景色改成纯黑,这一步看起来简单,但特别有仪式感——就像你收拾干净桌面准备好好画一幅画。

做银河系这种尺度的东西,比例感是个大问题,真实的银河系直径大约10万到18万光年,厚度在中心区域大约1万光年,到太阳系这个位置大概只有1000光年左右,你不能按真实比例做,那样的话太阳系所在的区域薄得几乎看不见,所以我采用了天文学可视化常用的手法:纵向适度夸张,让盘面结构更可读

第一步:搭建基础盘面

我用了两个扁平的圆盘来区分结构,底层是一个直径较大、厚度稍厚的暗物质晕暗示层,用的是半透明的深色材质,折射率调得很低,让它若隐若现,上面叠加一个薄盘,用于承载主要的恒星和尘埃分布。

这里有个小经验:不要用一个完美光滑的圆柱体,银河系的盘面是微微翘曲的,就像一张被轻轻拧过的黑胶唱片,我用了一个变形器,给盘面加了非常轻微的弯曲,幅度很小,但渲染出来会有一丝微妙的真实感——因为宇宙里的东西很少有完美的几何对称。

第二步:旋臂,这才是真正的考验

做旋臂我试了大概四种方法,最后选了一条比较笨但效果最好的路。用粒子发射器加湍流场

逻辑是这样的:我先画了四条基本的螺旋曲线作为路径,让粒子沿着这些路径发射,如果粒子老老实实沿路径走,出来的效果会很假,像塑料玩具,所以我在场景里加了三个不同尺度的湍流场——一个大的模拟星系尺度的扰动,一个中型的制造旋臂边缘的弥散感,一个小尺度的负责把局部粒子打散,形成那种绒毛状的星团质感。

粒子数量我设到了大约200万,这个数听着挺多,但相比银河系真实恒星数量简直就是开玩笑,不过视觉上已经足够了——关键在于粒子大小的分布,我用了随机分布,大部分粒子极小,充当背景星场,少量中等大小的充当亮星,极少数大粒子充当疏散星团,这样在渲染时,远处看是柔和的光雾,近处拉近能看到颗粒感,层次就出来了。

那天晚上,我试着用C4D做了一条银河系旋臂

下面是粒子参数的一个大概设置,供参考:

参数项 设定值 作用
粒子总数 2,000,000 形成星场基础密度
出生速率 50,000/帧 快速填充场景
寿命 整个时间轴 保持静态星场
湍流场强度 15% / 8% / 3% 大/中/小三级扰动
粒子尺寸范围 02 – 1.8 模拟不同视星等

第三步:尘埃带,银河系不能没有的那些暗纹

如果你看过任何一张银河系侧面照片,就会发现在明亮的盘面中间,有一条深色的尘埃带横贯而过,这是我们银河系里星际尘埃遮挡星光造成的效果,在C4D里,要实现这个效果,体积建模是好朋友。

我创建了一组薄片状的体积,沿盘面中平面分布,材质用的是吸收加散射的组合,吸收系数设得比较高,让光线穿过去的时候被明显衰减,散射给一点暖色倾向,模拟尘埃粒径较小的米氏散射特征,这些体积块不是均匀分布的,我用噪声贴图控制了它们的密度,有的地方厚,有的地方薄,有的地方干脆是断裂的——就像真实银河系里那些斑驳的暗云。

在《银河系天文学》(Binney & Merrifield)那本书里提到过,银河系尘埃主要集中在银道面上下不到200光年的薄层内,而且分布极不均匀,我把这个细节做进去之后,渲染出来的侧面图一下子就有了那种被一刀切开的感觉,中间一条黑线,上下是温暖的光带。

打光和渲染:宇宙里可没有主光源

这个场景的灯光设置很特别,宇宙空间里没有一个吊灯照着你,所有的“光”都来自于场景内的粒子本身,所以我把绝大多数粒子都赋予了自发光材质,颜色从蓝白到暖黄渐变,中心核球区域的粒子色温更高,偏白偏暖,旋臂上的年轻恒星偏蓝白——这符合天文学上的观测事实,旋臂是恒星形成的活跃区,大质量年轻恒星多,光谱偏蓝。

另外我还加了一个很微弱的环境光,只起到不让暗面完全死黑的作用,渲染器用了Redshift,开了全局光照之后,粒子之间会有轻微的光线弹射,整个星系看起来像是被自己的星光微微照亮,那种深邃通透的感觉一下子就出来了。

有一点让我特别意外:渲染到一半的时候,我放大画面看旋臂边缘,那里粒子稀疏但又不完全消失,形成了一种雾状的光晕,那个效果正好对应了天文学里说的星系晕——那些被潮汐力扯出去、或者在星系形成早期就被抛射到外围的恒星,稀稀拉拉地包裹着整个银河系,这部分我根本没刻意做,纯属粒子系统自然溢出的效果,但最后成了整张图里我最喜欢的部分。

那天晚上,我试着用C4D做了一条银河系旋臂

航天视角的代入:旅行者号”回望银河系

做到这儿,模型本身已经挺像样了,但我总觉得少了点什么,后来明白了——缺少一个观看的视角,你让银河系孤零零地悬浮在画面中央,它就像一个精致的模型,但如果你把摄像机放在一个类似探测器飘在深空的位置,让它微微倾斜,画面边缘带一点飞行器的局部轮廓虚影,那种人类一小步的感觉瞬间就有了。

我没有真的建模整艘探测器,只是在镜头边缘放了一个模糊的金属结构剪影,暗示这是某个想象中的深空探测器正在回望我们的家园星系,这个视角参考了旅行者1号在1990年拍摄那张著名的“暗淡蓝点”照片时的心态——卡尔·萨根那段话我到现在都能背个大概:“再看看那个光点吧,那是这里,那是家园,那是我们。”

当我把摄像机调到类似的角度,银河系在画面中占据主体,边缘露出一小截人造物体的轮廓,渲染出来的图让我自己在屏幕前愣了好一会儿,不是因为技术多牛,而是那个视角突然让整件事有了情感分量。

航天和宇宙建模,说到底不是单纯的技术活,你在软件里拉曲线、调参数的时候,心里其实一直在想:我们真的住在这么个地方吗? 那些粒子,每一个都可能代表一颗恒星,而其中一颗不起眼的小黄矮星边上,有一颗行星上有人正在熬夜做C4D。

一些小遗憾,但挺好的

这个场景我后来陆续改了三四版,球状星团没来得及好好做,只是用几团高密度粒子敷衍了一下,中心核球的结构也偏简单,真正的银心区域有复杂的恒星棒、气体环,还有一个四百万倍太阳质量的超大质量黑洞人马座A*——它在模型里是完全看不见的,但不加总觉得少了灵魂,后来我在核球中心放了一个极小的、不发光的黑体球,渲染出来当然什么都看不到,但它就在那儿,像一个只有自己知道的彩蛋。

还有旋臂的数量和形态,我按四条主旋臂做的,但实际上天文学界对旋臂的具体数量和走向还有争论,有的研究认为可能只有两条主旋臂加上很多分支,我没再纠结,毕竟连天文学家自己都在吵,我一个搞设计的就不掺和了。

茶早凉透了,窗外天都快亮了,渲染进度条走完的那一刻,画面铺满屏幕——一条斜斜的、带着暖金色和冷蓝色交织的银河系,边缘隐约可见探测器的一角,背景是纯粹的、无边的黑。

我靠在椅子上看了很久,然后默默点了保存。

关键词: