Celestia Wiki
注册
无编辑摘要
标签可视化编辑
无编辑摘要
标签可视化编辑
第19行: 第19行:
   
 
* 打开您刚才在extras文件夹中创建的文件夹。例如“my star catalog”<br>在刚才的文件夹中,创建一个记事本,将扩展名改成".stc"。(如果没有成功,请到[http://zh.celestia.wikia.com/wiki/%E6%8F%92%E4%BB%B6%E6%95%99%E7%A8%8B#.E5.85.B6.E4.BB.96.E9.97.AE.E9.A2.98 其它问题]那里去看)
 
* 打开您刚才在extras文件夹中创建的文件夹。例如“my star catalog”<br>在刚才的文件夹中,创建一个记事本,将扩展名改成".stc"。(如果没有成功,请到[http://zh.celestia.wikia.com/wiki/%E6%8F%92%E4%BB%B6%E6%95%99%E7%A8%8B#.E5.85.B6.E4.BB.96.E9.97.AE.E9.A2.98 其它问题]那里去看)
* 如果还看不懂,可以看[[插件教程/STC详解|这里]]
 
   
 
=== 制作单星 ===
 
=== 制作单星 ===

2018年2月7日 (三) 09:03的版本

插件教程

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++Celestia Helper 编辑,这样会提高效率,也能写中文。

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:Easy"
{
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.celestiabaike.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 文件夹,但是要打包成一个插件的话,就要在 dsc 插件所在的文件夹下新建一个 models 文件夹(新建好的可以略过这步),再把3ds放进去。
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吧。
您也可以自己修改词条,来修改错误的部分。(禁止破坏)

我未看懂

如果您没有看懂?或者失败了?联系管理员或者看其它教程。
其它教程在:相关教程词条内。
或者做个实践吧!以下实践可以更了解哦!

联系

如果有插件问题,请在下方留言。
或者以下求助: