FANDOM


插件教程

Celestia是一款不错的天文软件,也可以用来娱乐,但是我们想要制作自己的恒星,行星,其它天体,这就叫Celestia插件,那么我们如何制作插件呢?请看下面的介绍。

开始 编辑

  1. 找到Celestia的根目录,并且找到extras文件夹并进入。
  2. 创建一个文件夹,随便取名字。
  3. 在您刚才创建的文件夹里,创建一个记事本,随便取名字,然后在文件下面加上“.”,再加上您想做的插件类型。

插件类型有三种:

stc = 恒星、双星、聚星和黑洞等(全名:Star Catalog 译为"星表")

ssc = 行星、卫星、小行星、彗星、人造天体(全名:Solar System Catalog 译为"太阳系目录")

dsc = 星云、星系、星团等深空天体(全名:Deep Space Catalog 翻译"深空天体目录")

  1. 创建一个textures文件夹,在里面再添加"hires","lores","medres"这三个文件夹用于放置纹理。
  2. hires是高分辨率纹理,lores是低分辨率纹理,medres是中等分辨率纹理。
  3. 创建一个models文件夹,用于放置模型的。
  4. Celestia中可支持的模型文件:3ds、cmod和cms。
  5. 不支持max、obj、skp等文件。(3dmax、SketchUp的文件)

那么,本教程会引导您一步一步往下制作恒星、行星、深空天体。(stc / ssc / dsc)

制作插件时,建议使用Notepad++编辑,这样会提高效率。

stc插件制作 编辑

stc的全称:Star Catalog,翻译:星表

  • 注意:stc只能支持恒星,双星,聚星,黑洞!
  • 打开您刚才在extras文件夹中创建的文件夹。例如“my star catalog”
  • 在刚才的文件夹中,创建一个记事本,将扩展名改成".stc"。(如果没有成功,请到其它问题那里去看)

制作单星 编辑

"R136a1" # 名字自己定制,前面可加HIP编号,数字太大会变成TYC编号。

{

RA 84.676625 # 赤经,算法参考下面(以天球一圈为360度)

Dec -69.1008083 # 赤纬,算法参考下面(赤道为0度,北极为90,南极为-90)

Distance 163000 # 距离,单位是光年

#AbsMag -8.09 # 绝对星等,为距离恒星32.6光年时的视星等,表示恒星的亮度,太阳为4.83,数值越小天体越亮

AppMag 12.23 # 视星等 (视星等和绝对星等只能二选一)

SpectralType "WN5" # 光谱类型,详细规则见下面(例如:B4Ia0,M2Ia,G0Ib,F5II,K0III,B8IV,M6V)

Texture "ostar.jpg" # 恒星贴图,此代码可省略,Celestia会自动从cfg里指定的贴图使用。

Radius 24360000 # 半径,单位千米,此代码可省略,Celestia会自动估算。

SemiAxes [ 1 0.95 1 ] # 恒星形状,[ 长 高 宽 ],可控制恒星的形状(这里是椭球体),若为正常的球体此代码可省略。

RotationPeriod 425 # 自转周期,单位是小时,此代码可省略,Celestia会自动估算。

}

  • 赤经的算法:例如 5h 38m 42.39s 就是 (5*3600+38*60+42.39)/3600*15=84.676625
  • 赤纬的算法同上:例如 −69° 06′ 02.91″ 就是(-69*3600+6*60+2.91)/3600=-68.89919167
  • 恒星光谱类型一般是由分类+数字+后缀组成
  • 分类依照温度高低排序主要有O,B,A,F,G,K,M(口诀:Oh be a fine girl kiss me!),另外还有褐矮星的L,T,沃尔夫拉叶星分WN,WC,碳星有C,R,S,N,白矮星DA,DB,DQ,DZ,中子星为Q,黑洞为X 。
  • 后缀有Ia0代表特超巨星,Ia代表较亮的超巨星,Ib代表较暗的超巨星,II代表亮巨星,III代表巨星,IV代表次巨星,V代表主序星,VI代表次矮星。
  • 赤经赤纬是表示恒星在天球上的位置,不可乱填写。
  • 恒星光谱不可乱填写。
  • 绝对星等和视星等只能二选一,不能全部填写。
  • 半径不能乱填。(超过极限就会无法运行插件)

简化恒星数据 编辑

  • 恒星数据是可以简化的,是可以完整运行的。

"The Simple Star"

{

RA 32.4

Dec 27.6

Distance 124

SpectralType "B3V"

AppMag 1.7

}

  • 没有半径,系统会按照信息估半径。
  • 这样的方法还可以减少代码编写的字节。

缺点:不可达到自己要求的效果。

增加HIP编号 编辑

  • 恒星其实可以增加HIP编号。
  • 如果是已有恒星的HIP编号,则将更新该恒星的数据。

在恒星、双星代码,名字前增加数字就可以出现HIP编号了。

例如:

135622 "Test Star"

{

RA 42

Dec -6

Distance 263

SpectralType "B2V"

AppMag 2.6

}

  • 警告:HIP编号只能适用于恒星,多星,不能适用于行星,星系,其它天体

增加TYC编号 编辑

注意!TYC编号不能和HIP编号一起用!

规则:

TYC aaaa-bbbbb-c
cbbbbbaaaa

第一行是TYC代码,第二行是在Celestia插件里的写法。(如果有空位请用0占位,比如说“TYC 1111-2222-1”的“2222”要变成“02222”)

例如大犬座CX:

1016916541 "CX CMa"

{

RA 110.504123333333

Dec 25.8766422222222

Distance 6613.4

AbsMag -0.82

SpectralType "B5V"

Radius 2262000

RotationPeriod 25

}

双星 编辑

  • 双星的代码比较复杂。

Barycenter "The Test Binary" # 恒星质心,名字随便填写。

{

RA 42 # 赤经,跟刚才恒星的赤经的编写规则一样。

Dec -6 # 赤纬,跟刚才恒星的赤纬的编写规则一样。

Distance 263 # 距离,单位是光年。

}

"The Test Star A"

{

OrbitBarycenter "The Test Binary" # 绕行的恒星系统质心名称。

SpectralType "F2V" # 恒星光谱。(详见制作单星那一行)

Texture "fstar.*" # 恒星贴图,删除会自动识别。

AbsMag 2.8 # 绝对星等。

#AppMag 2.8 视星等,只能二选一。

Radius 136522 # 半径,单位是千米。

EllipticalOrbit # 轨道数据。

{

Period 0.04 # 环绕周期,单位是年。

SemiMajorAxis 0.01 # 轨道半径,天文单位。(1天文单位是地球到太阳的距离)

Eccentricity 0.0 # 轨道离心率,0为圆形,越靠近1越椭圆,这里是圆形。(是1就会变成射线)

Inclination 65.0 # 轨道倾角,调整轨道的角度。

AscendingNode 45.0 # 轨道进动

ArgOfPericenter 0 # 恒星相对位置,与另一颗伴星的差异必须是180度。

}

#Obliquity 65.0 # 配合轨道倾角,这样子恒星才会是正的转,这里不需要。

#EquatorAscendingNode 45.0 # 配合轨道进动,这样子恒星才会是正的转,这里不需要。

RotationPeriod 465 # 自转周期,单位是小时。

}

  • 不止可以创建两颗恒星,可以无限创建。
  • 恒星质心必须有!否则双星代码就会失效。

更新恒星属性 编辑

39429 "Naos" # 只需要在前面加入想要更新的恒星之HIP编号就好,不想要HIP编号把前面的数字删掉。

{

RA 110.74302 # 需要赤经。

Dec -25.76755 # 需要赤纬。

Distance 13840.3989 # 需要距离。

AppMag 5.5 # 视星等。

Texture "M-early.jpg" # 贴图。

SpectralType "M4Ia0" # 光谱类型,不可以乱填写。

Radius 1449000000 # 半径,单位是千米。

}

ssc插件制作 编辑

ssc = Solar System Catalog,翻译“太阳系目录”

  • 行星可能难度较大,请慢慢观看。

一般天体编辑

"Planet" "The Test Star" # 行星的名字,环绕的恒星。

#"Moon" "The Test Star/Planet" #如果是卫星,就用卫星的名字,环绕的恒星/环绕的行星

{

Class "planet" # 天体的定义:planet行星,moon卫星,dwarfplanet矮行星,minormoon小卫星,asteroid小行星, comet彗星,spacecraft太空船,可以不填写,Celestia会自动判断这一项数据。(更多信息详见Class 参数词条内。)

Texture "planet.*" # 行星贴图,贴图依分辨率放进hires,medres,lores。关于贴图的制作请参考其它的页面。

NightTexture "planet-night.*" # 夜光贴图,比如城市的灯光、熔岩的光、极光、或其它。

BumpMap "planet-bump.*" # 凹凸贴图,凹凸效果不如Normal命令好,但易于制作。

BumpHeight 5.0 # 凹凸贴图深度,数值越大越深。

#NormalMap "planet-normal.*" # 法线贴图,让行星凹凸部分更加立体。(凹凸和法线贴图只能选一种使用)

SpecularTexture "planet-spec.*" # 反光贴图,有海洋或冰的行星需要

SpecularColor [ 0.35 0.5 0.55 ] # 反光颜色,红绿蓝,这里是浅蓝

SpecularPower 15.0 # 反光强度

#Mesh "asteroid.cms" # 模型,后面不可缩写为.*

#OrbitColor [ 0 0 1 ] # 设置轨道颜色,这里不需要!

#Orientation [ -90 1 0 0 ] # 轴,X,Y,Z。有模型的时候才有必要添加此命令。

Radius 6500 # 行星半径,单位是千米。(Radius 和 SemiAxes 只能择一使用)

#SemiAxes [ 275 258 238 ] # 长高宽,单位千米,用于非球状的小天体或是被潮汐拉扯的卫星。 

Oblateness 0.004 # 行星扁率,数值越大越扁(气态行星需要使用)

Color [ 0.7 0.7 1.0 ] # 行星颜色,红绿蓝,当距离行星很远到看起来像个星点时的颜色

#BlendTexture true # 让Color着色行星贴图(一般用不到)

#HazeColor [ 0.6 0.75 1 ] # 行星表面的雾,红绿蓝(只有在“OpenGL顶点格式/nVidia combiner”渲染通道里才会显示)

#HazeDensity 0.35 # 雾的浓度。

#Emissive true # 让天体全是亮的,没有阴影

#Clickable false # 让行星不可被点击选中

#Visible false # 让行星不可被看见

InfoURL "http://zh.celestia.wikia.com" # 链接,可以右键行星进入网页

EllipticalOrbit # 轨道数据。

{

#Epoch  2457000.5 # 历元,单位是儒略日,表示下列轨道参数的参考时刻(科幻插件一般用不到)

Period 0.655 # 轨道周期,单位是年。(如果是卫星,单位用天)

SemiMajorAxis 0.8 # 轨道半径,单位是天文单位。(1天文单位是地球到太阳的距离)(如果是卫星,单位用千米)

Eccentricity 0.07 # 轨道偏心率(0为正圆,1为抛物线,数值越大轨道越椭圆)

Inclination 6.2 # 轨道倾角

AscendingNode 180 # 升交点经度

ArgOfPericenter 100 # 近心点幅角

MeanAnomaly 265 # 平近点角

#MeanLongitude 265 # MeanAnomaly 和 MeanLongitude 只能择一使用

#LongOfPericenter 48 # ArgOfPericenter 和 LongOfPericenter 只能择一使用

}

Atmosphere # 大气层数据。

{

Height 300 # 大气层高度,单位是千米。

#Lower [ 0.7 0.6 0.3 ] # 低层大气颜色,红绿蓝(在OpenGL 2.0 渲染通道不显示,可以不使用)

#Upper [ 0.5 0.45 0.3 ] # 高层大气颜色,红绿蓝(在OpenGL 2.0 渲染通道不显示,可以不使用)

#Sky [ 0.3 0.2 0.2 ] # 天空颜色,红绿蓝(在OpenGL 2.0 渲染通道不显示,可以不使用)

#Sunset [ 1.0 0.6 0.2 ] # 落日天空颜色,红绿蓝(在OpenGL 2.0 渲染通道不显示,可以不使用)

CloudHeight 8 # 云层高度,单位是千米。

CloudSpeed 65 # 云层速度,单位是千米/小时。

CloudMap "planet-clouds.*" # 云层贴图。

CloudShadowDepth 1.0 # 云层阴影 (一般只有类地球行星需要用这个代码)

Mie 0.001 # 米氏散射。

MieAsymmetry -0.25 # 背光散射率,数值越低背光散射越亮。

Rayleigh [ 0.001 0.0025 0.006 ] # 里氏大气散射,红绿蓝,这里是蓝色。

MieScaleHeight 15 # 里氏大气散射,程度。

#Absorption [ 0.0057 0.004 0.001 ] # 里氏大气层消光,红绿蓝,数值越高吸收的颜色越多,这里是吸收大量的红,绿,所以剩下蓝。(RGB怎么用详见“带有大气层的行星”)

}

Rings # 行星环数据。

{

Inner   8000 # 环内侧边缘的轨道半径

Outer   15000 # 环外侧边缘的轨道半径

Texture "planet-rings.*" # 环贴图

}

UniformRotation # 行星自转数据。(如果不写自转周期代码,将视为被潮汐锁定)

{

Period 22 # 自转周期,单位是小时。

Inclination 19 # 自转轴倾角.

}

Albedo 0.35 # 行星反照率,0为完全吸收,1为完全反射,会影响行星亮度和温度

}

  • Celestia软件中,是不支持另一种方式的RGB,必须经过一个换算,RGB除以255才能得到正确的数据。
  • RGB的全称是“Red Green Blue”,翻译为“红绿蓝”。

问:为什么要除以255呢?

答:因为RGB(红绿蓝)的最高值在Celestia是1,而原来的RGB值的最高值是255,这就是除以255的原因。

  • 没有必要的命令可以自己要求删除。
  • 大气参数,轨道参数比较复杂,这里无法三言两语就说明清楚,还需要自己多多探索
  • 轨道周期单位行星用年,卫星用天;轨道半径单位行星用天文单位,卫星用千米

位置 编辑

  • 用来标记行星上的东西,比如城市、火山还有其它等等。

Location "Aban" "Sol/Mars" (位置名称)

{

LongLat [ 111 15.9 0 ] # 所在地点,经度,纬度,距离星球表面的距离。(按照维基百科上的经纬度填写就可以) 

Size 4.20 # 大小,千米。

Importance 20.59 # 重要性。

Type "AA” # 地点类型。

}

地点类型 编辑

  • 这里接着上面的位置代码,Type命令。

Type "AA” # 地点类型

"AA" = 陨石坑

"CH" = 混沌地形

"CM" = 裂缝

"CR" = 冕状物

"FO" = 凹槽

"LF" = 着陆点

"ME" = 海

"MO" = 山

"PL" = 盆地

"RE" = 区域

"RT" = 网状物

"RU" = 断崖

"TA" = 高地

"VA" = 峡谷

"XX" = 其它

  • 可以不按照规定来填写,但是准确填写为了能准确被搜寻。

可切换纹理 编辑

  • 此命令可以让行星、卫星、小行星、彗星可以拥有纹理切换。

AltSurface "limit of knowledge" "Sol/Mercury" # 名称,自己随便定制,绑定的天体。

{

Texture "mercurya.*" # 在您自己创建的textures文件夹里。

OverlayTexture "mercury-lok-mask.png" # 覆层遮罩。

}

更新行星属性 编辑

Modify "Io" "Sol/Jupiter" # 更新的物体,绑定的天体。(这个只能适用于行星)

{

SemiAxes [ 1830 1818.7 1815.3 ] # 物体的长、高、宽,单位千米。

CustomRotation "iau-io" # 自定义自转,可以删除。

}

  • 行星代码中,是stc、ssc、dsc等三个代码中最难的一个代码,如果制作失败了不要灰心!

dsc插件制作 编辑

dsc = Deep Space Catalog,翻译“深空天体目录”

星系 编辑

Galaxy "My Test Galaxy" # 名字自己定制

{

Type "Irr" # 星系类型,详见下方:

CustomTemplate "Milky Way.png" # 自定义星系模式,主目录在models里。(自己在Celestia的根目录下的“models”文件夹创建图片,或者在插件的目录下建立“models”文件夹)

RA 1.4 #(赤经,不需要×15)(详见恒星制作)

Dec 1.6 #(详见恒星制作)

Distance 56253 # 距离,单位是光年

Radius 5622 # 半径,单位是光年

AbsMag -17.2 # 绝对星等

#AppMag 6.2 # 视星等,一样是二选一,不能同时用。

Axis [ 0.4372 -0.7548 -0.4891 ] # 轴,X,Y,Z。(可以用编辑模式调整)

Angle 97.3 # 角度 (可以用编辑模式调整)

InfoURL "http://www.seds.org/messier/more/mw.html" # 资讯网址

}

  • 注:不填写Type命令,会自动识别为Irr。
  • 星系形状类型
  • Irr 不规则
  • E0 ~ E6 (E0是圆形 E6是椭圆形)
  • S0 透镜星系
  • Sa Sb Sc 螺旋星系
  • SBa SBb SBc 棒旋星系
  • 注:不可自己乱填写星系类型

星云 编辑

Nebula "My Test Nebula" # 名字自己定制。

{

Mesh "my nebula.3ds" # 模型,在models文件夹中。(不是Celestia根目录的models)

RA 3.5 # 赤经,(详见恒星制作)

Dec -6.3 # 赤纬,(详见恒星制作)

Distance 233 # 距离,单位光年。

Radius 145 # 半径,单位光年。

Axis [ 0.1 0.4 0.6 ] # 轴,X Y Z。(可以用编辑模式调整)

Angle 330 # 角度。(可以用编辑模式调整)

}

星团 编辑

有疏散星团,球状星团的分类。

疏散星团 编辑

OpenCluster "My Largest" # 名字自己定制。

{

RA 6.3 # 赤经,(详见恒星制作)

Dec -2 # 赤纬,(详见恒星制作)

Distance 37363 # 距离,单位是光年。

Radius 18.7 # 单位光年。

}

  • 注:疏散星团创建成功没有效果。

球状星团 编辑

Globular "That Test" # 名字自己定制。

{

RA 6.3 # 赤经,(详见恒星制作)

Dec -2 # 赤纬,(详见恒星制作)

Distance 37363 # 距离,单位是光年。

Radius 184.4 # 半径,单位光年

CoreRadius 0.83 # 核半径,单位角分

KingConcentration 1.59 # 密集度

AbsMag -7.2 (同样可以使用恒星的绝对星等和视星等)

}

  • dsc里的赤经就是等于stc的赤经除以15,赤纬则相同。

其它问题 编辑

A:扩展名改成了stc / ssc / dsc还是不能用怎么办?

  • Q:这是扩展名没有显示,它本来就是记事本文档,例如“my beautiful star.stc.txt”
  • 进入控制面板,再进入“文件夹选项”。
  • 进入文件夹选项之后,再进入“查看”。
  • 下面会有一个选项,“隐藏已知文件类型的扩展名”取消打钩,之后就可以看到扩展名了。(图下)
    Sasssdddsf3222221
  • 如有问题,请通知管理员修改。

A:自己制作的插件不运行怎么办?

  • 检查一下代码是否填写错误。
  • 是否误删了。

提示:文件名最后面的“.”的后面就是文件的扩展名。

小知识 编辑

在插件添加Clickable false命令就可以让天体不可点击。

贴图的文件扩展名可以缩写,例如.jpg变成.*,但模型扩展名则不可缩写。

如果在插件中填写"#"就可以让此命令失效,"#"命令用于注释。

有特殊光谱:D:白矮星 Q:中子星 X:黑洞

  • 缺点:黑洞没有吸积盘,引力效果。中子星同样没有引力效果。

InfoURL对所有插件都能起效果。

在天体名字代码中间添加":"就可以让天体有多个名字可以被搜索。

有些命令删除是可以运行的。

UniformRotation删除了会判断为是潮汐锁定。

利用光传播距离功能可以推测此物体是多少光年距离。(原版测不出来)

剩下的技巧,心得还是得自己研究!欢迎吧友来提出建议哦!\(∩_∩)/

其它 编辑

想要学习更好的技术,请到Celestia吧,进入精品贴查看别人制作的插件,下载,可以修改数据来学习插件知识。

下方有Celestia吧的链接,点击即可进入Celestia吧。

您也可以自己修改词条,来修改错误的部分。(禁止破坏)

我未看懂 编辑

如果您没有看懂?或者失败了?联系管理员或者看其它教程。

其它教程在:相关教程词条内。

或者做个实践吧!以下实践可以更了解哦!

联系 编辑

如果有插件问题,请在下方留言。

或者以下求助:

您使用了广告屏蔽软件!


Wikia通过广告运营为用户提供免费的服务。我们对用户通过嵌入广告屏蔽软件访问网站进行了使用调整。

如果您使用了广告屏蔽软件,将无法使用我们的服务。请您移除广告屏蔽软件,以确保页面正常加载。

查看其他FANDOM

随机维基