Cat_Anchor 发表于 2025-1-23 22:32:54

代码铸成的星空

本帖最后由 Cat_Anchor 于 2025-1-24 11:01 编辑

我花了将近一天时间(昨天下午和今天下午)来用代码创造星空。

https://pic1.imgdb.cn/item/67923184d0e0a243d4f72f2a.jpg

在预计下周六发布的万象添补附加包的 0.0.7 版本中,我添加了“观星系统”。这个系统目前处于早期开发阶段,相关功能还未成型。不过可以确定的是,我们需要找到一个“观星望远镜”,这样就可以创建“星空球”了。

我们可以用黑色混凝土搭建一个房间,或者等到黑夜在高空中用玻璃铺个平台,获得接近全黑的环境。之后,使用观星望远镜就可以创建出一个“星空球”。各种各样的不同大小的星星就会在我们周围出现,看起来就像真实的夜空。

这时候,这个观星望远镜能观察到的星星就固定下来,即使退出重进也不会改变了。我们可以近距离观察星星,如果星空球消失,可以再次使用相同的观星望远镜,重新唤起星空球,位置不会改变。

https://pic1.imgdb.cn/item/67923147d0e0a243d4f72f1a.jpg

一共有 8 种不同形态的星星,它们的大小也不一样,旋转角度也不一样。大多数星星都是白色的,但如果仔细观察,我们就能发现一些蓝绿色的星星。这种星星总是聚集在一起出现,一个星空球上只有四五个斑块,每个斑块都是一个星座。

星座是随机生成的,它们之间的连线也是固定的。现在,每次使用观星望远镜,每个星座就会有一颗星星发出射线,这颗星星就是这个星座的“起始星”了,它是随机选择的。射线会一个一个地经过这个星座的所有星星,留下长长的拖尾,组成各种随机的图案。

现在,所有参数——星座半径、星座个数、星星个数、星空球半径等等都是固定的。以后可能会随机化这些参数,让每个星空球更独特。

现在,每使用一次观星望远镜就会显示所有星星(包括星座中的星星),并为每个星座绘制射线图案。以后我打算添加寻找星座的功能,只有我们注意到某一片星空中有很多相同颜色的星星的时候才会“解锁”这个星系,同时绘制星系射线图案。

https://pic1.imgdb.cn/item/6792511ad0e0a243d4f73909.jpg(我测试的时候发现的星座,我将它命名为“大 A 座”。这就是观星系统的有趣所在了——完全随机,星座的名称完全靠想象。)

Sakarwei 发表于 2025-1-23 23:06:44

生成星空,这让我想到了泰拉瑞亚某物品,好像是叫以太(或是微光?)天塔柱什么的

猫月 发表于 2025-1-27 11:16:32

会有观星之后在附近落下陨石的设定吗?
一颗明星从天堂中坠陨!.jpg

冰辰Xz 发表于 2025-1-27 16:48:26

看上去有点奇怪
页: [1]
查看完整版本: 代码铸成的星空