天体系统服务器,Space Engine创建天体和天体系统教程2:space engine文件夹和pak

这篇博客介绍了如何在SpaceEngine中管理目录对象,包括添加、更新和删除恒星、行星等天体。对象的识别基于名称和父体,更新时新数据会合并到旧数据中。删除对象使用Remove参数,且会影响所有目录文件。此外,SpaceEngine能记录目录错误到日志文件,通过调整日志级别可以检查和调试问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

3)添加、更新和删除目录对象

如果使用Space Engine 的sc脚本描述一个新对象,它将被添加到SE中。New object(新对象)意味着在为其编写脚本之前

它在SE中不存在。更准确地说,在SE中不存在相同类型(例如恒星)和相同名称的对象。如果同名类型的对象已经

存在于SE中,它将被更新或与您在脚本中提供的数据合并。合并的顺序(data文件夹的具有优先级)由sc文件或打包sc文件

的pak文件的修改日期定义。更新的文件具有更高的优先级,因此前一个文件中该对象脚本中的一些数据将被提供

的新数据所替代。如果前一个脚本没有一些特定的数据(例如planet mass),但是新脚本有,那么将使用新提供的数据。

行星物体(行星、卫星、小行星、彗星和多恒星系统中的恒星)的识别方法更为复杂。Space Engine允许有许多同名的

行星对象,但具有不同的父体(在参数ParentBody中指定)。例如,太阳系有两个天体的名字是“潘多拉”:土星的卫星

和小行星。它们有不同的父体,土星和太阳,所以它们在SE中是不同的物体。

在查找相同的对象时,spaceengine会扫描脚本中提供的所有可选名称。例如,可以用“Toliman/Bungula”来描述脚本

中的一个星,从而更新旧星“alf-cen/toliman/rigel-kentaurus/gliese 559”。spaceengine会在找到名称“toliman”

时检测到这是同一个对象。它将用脚本中提供的新数据更新旧星,包括星名:它将把新提供的名称“Bungula”添加到

备选名称列表中,因此它将成为"Alf Cen/Toliman/Bungula/Rigel Kentaurus/Gliese 559"。如前所述,对于行星对象,

必须指定父对象。只有当对象的名称和父对象名称相同时,space engine才会合并它们(可以使用父对象的任何其他名称)

可以取消旧脚本中的一些数据,例如,NoClouds true将禁用旧脚本中的Clouds{}标记。但是,如果为在旧脚本中没有正确的云的行星提供Clouds{ }标记,则将使用这些Clouds{ }标记

通过使用其他标记定义对象的类型,可以更改对象的类型。例如,如果旧脚本中有一个行星“Kek”定义为行星“Kek”,

可以创建了一个新脚本并将其定义为Moon“Kek”,那么它的类型将更改为Moon。更改类型只能在当前目录支持的类型

集中进行。这意味着你不能使用“Saturn”标签将一个名为“Saturn”的星系添加到行星目录中。它将被SE忽略,

因为标签星系在行星目录中是不允许的。以下是相应目录中允许的对象类型(标签)列表:

行星目录 catalogs/planets/*.sc: Star, Planet, Moon, DwarfPlanet, DwarfMoon, Asteroid, Comet, Barycenter

明星目录 catalogs/stars/*.sc: Star, StarBarycenter

星系目录 catalogs */catalogs/galaxies/*.sc: Galaxy, Quasar

星团目录 catalogs */catalogs/clusters/*.sc: Cluster

星云目录 catalogs/nebuale/*.sc: Nebula

可以从旧目录中删除(更准确地说,禁用)某个对象。将参数Remove与要删除的对象名称一起使用。

输入到Remove后面的""里面,输入""符号,注意大小写,需要在英文状态下,按shift+"键2次输入。

示范代码,Remove "Toliman"

它必须在任何标记之外使用。可以使用对象的任何替代名称。

星型目录还支持具有相同效果的RemoveStar参数(用于向后兼容性)。在行星目录中,

必须使用更复杂的结构,比如需要从太阳系删除土星,示范 代码:Remove "Saturn" { ParentBody "Sol" }。

这是因为SpaceEngine根据行星的名称和它的父类名称来识别行星。

在升级默认SE目录时,删除旧对象非常有用。例如,默认的恒星目录仍然有许多由两个单独的恒星

描述的双星。可以使用恒星目录中的Remove删除它们,并将重心描述添加到相同的恒星目录中。

然后制作一个行星目录,上面有两颗恒星,它们的轨道是正确的,质心是它们的母星。

注意:Remove参数影响所有目录文件,而与它们的修改日期无关。因此,如果使用一次,

就不可能再创建具有相同名称的相同类型的对象。它是0.980版本中的一个错误。

(4)检查目录中的错误

SpaceEngine可以将一些错误和警告输出到日志文件系统/se中。加载目录时进行日志记录。这对于捕获可能的

错误非常有用。启用日志记录有两种方法:全局日志记录和每个目录文件日志记录。全局日志级别由配置/主用,

全局日志记录级别由config / main-user.cfg文件中Log标记下的参数CatalogLogLevel(对于sc目录)

和CsvLogLevel(对于csv目录)控制。可能的值是:

0 - 不记录任何内容

1 - 记录错误和警告,使用main-user.cfg和sc文件中较小的日志级别,如果在那里定义的话

2 - 记录所有内容,使用main-user.cfg和sc文件中较小的日志级别,如果在那里定义的话

3 - 记录错误和警告,忽略所有sc文件中的日志级别

4 - 记录所有内容,忽略所有sc文件中的日志级别

最后两个用于覆盖所有sc文件中的日志级别设置(在CsvLogLevel参数中不可用)。它们用于全局搜索目录错误。

每个sc目录文件可以有自己的日志级别设置,由参数LogLevel指定,添加到全局空间的某处

(即标签Star,StarBarycenter等之外)。可能的值是:

0 - 不记录任何内容

1 - 仅记录错误和警告

2 - 记录所有内容

在处理目录时,建议在sc文件中指定LogLevel 2,在main-user.cfg中指定CatalogLogLevel 2,这样您就可以

在日志文件中获得有关星形解算器的所有信息(有关详细信息,请参阅创建星形)。如果只需要查看可能的错误,

请指定LogLevel 1.如果在目录的发行版中仍然可以看到某些错误或警告(例如,没有为星形提供RA / Dec数据,

星形解算器会在程序上生成它们) ,建议指定LogLevel 0,这样其他用户的日志文件就会清除与目录相关的错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值