Addon Development Thread
|
|
DoctorOfSpace | Date: Wednesday, 24.10.2012, 20:57 | Message # 91 |
Galaxy Architect
Group: Global Moderators
Pirate
Messages: 3600
Status: Offline
| Looks good. That Death Star model looks like one I was porting, may I ask which model you used?
Intel Core i7-5820K 4.2GHz 6-Core Processor G.Skill Ripjaws V Series 32GB (4 x 8GB) DDR4-2400 Memory EVGA GTX 980 Ti SC 6GB
|
|
| |
Shnoog | Date: Thursday, 25.10.2012, 18:00 | Message # 92 |
Observer
Group: Newbies
Australia
Messages: 4
Status: Offline
| It was just a free model from http://gfx-3d-model.com
|
|
| |
Amwhere | Date: Friday, 26.10.2012, 04:46 | Message # 93 |
Astronaut
Group: Users
United States
Messages: 62
Status: Offline
| So, I've continued working on my system parser - it's much cleaner now. I've been having fun looking for habitable planets... and I haven't found any. Anyway, all the systems I've looked at so far are here: http://amwhre.comeze.com/ - maybe 0.97 could export out a nice html like these?
|
|
| |
SpaceEngineer | Date: Friday, 26.10.2012, 04:52 | Message # 94 |
Author of Space Engine
Group: Administrators
Russian Federation
Messages: 4800
Status: Offline
| Quote (Amwhere) Anyway, all the systems I've looked at so far are here: http://amwhre.comeze.com/ - maybe 0.97 could export out a nice html like these? Cool, this strongly reminds me StarGen. But how did you obtain atmospheric composition and other stuff that SE doesn't export?
|
|
| |
HarbingerDawn | Date: Friday, 26.10.2012, 05:08 | Message # 95 |
Cosmic Curator
Group: Administrators
United States
Messages: 8717
Status: Offline
| Quote (Amwhere) So, I've continued working on my system parser - it's much cleaner now. Very impressive, I love those html tables!
All forum users, please read this! My SE mods and addons Phenom II X6 1090T 3.2 GHz, 16 GB DDR3 RAM, GTX 970 3584 MB VRAM
|
|
| |
Amwhere | Date: Friday, 26.10.2012, 05:49 | Message # 96 |
Astronaut
Group: Users
United States
Messages: 62
Status: Offline
| Temperature - I actually simulate the system's orbits. For single star systems, temperatures matches up pretty much perfectly with SE. For multiple star systems, things don't match up. For the atmosphere, I tried to come up with something that would make reasonable output.
(I could send you the code, SE, although it's, like me, scatterbrained.)
Edit: Wow. I need to reread my posts before I post them! Any other questions?
Edited by Amwhere - Friday, 26.10.2012, 23:12 |
|
| |
Amwhere | Date: Sunday, 28.10.2012, 01:48 | Message # 97 |
Astronaut
Group: Users
United States
Messages: 62
Status: Offline
| Here's an example of the difference between my calculated temps and SEs. Take this system and planet: RS 8403-173-8-12031331-316 3 In SE, the planet ranges between 265 and 290K - which, if you think about it, doesn't make much sense. Both stars of the system combined output less energy than the Sun, and the planet is at about 1.4 AU... yet it is hotter than the Earth.
My calculation says it should be between 167 and 186 - http://amwhre.comeze.com/special....90.html
Not sure if it's me or SE.
|
|
| |
SpaceEngineer | Date: Sunday, 28.10.2012, 02:06 | Message # 98 |
Author of Space Engine
Group: Administrators
Russian Federation
Messages: 4800
Status: Offline
| The function used in SE to calculate average temperature on the planet (and temperature of its exosphere):
Code float TSolarSystem::CalcBodyTemperature(TSpaceBody &CBody, double time) { vec3d bodyPos = GetBodyBarycentricPos(&CBody, time); float Temperature = 0.0f; float TempExo = 0.0f;
for (int i=0; i<NSunsBarys; ++i) { TSpaceBody &CSun = Body[i]; if (CSun.Type != PT_SUN) continue; double sunDist = (GetBodyBarycentricPos(&CSun, time) - bodyPos).length() / km; double solAngRad = CSun.Surface.Radius / sunDist; if (solAngRad >= 1.0) solAngRad = 1.0; Temperature += CSun.StarData.GetTemperature() * sqrt(0.5 * asin(solAngRad)); TempExo += 1500.0f * pow(sqrt(CSun.StarData.GetLuminosityUV() / 0.072f) / float(sunDist*km/AU), 0.21f); }
// For slowly rotating planets //if (CBody.Surface.RotPeriod > 10.0f) Temperature *= 1.189207115f;
Temperature = Temperature * pow(1.0f - CBody.Albedo, 0.25f) + PlanetMinTemperature; if (CBody.Atmosphere.Greenhouse != NO_DATA) Temperature += CBody.Atmosphere.Greenhouse;
CBody.Atmosphere.TempExo = max2f(TempExo + PlanetMinTemperature, Temperature); CBody.Temperature = Temperature;
return CBody.Temperature; }
Cycle through all suns in the system. GetBodyBarycentricPos() fucntion returns barycentric coordinates of the body at any given time (in parsecs). CSun.StarData.GetTemperature() function returns tempearture of sun's photoshpere. CSun.StarData.GetLuminosityUV() function returns fraction of sun's radiation emitted in ultraviolet band (table and interpolation used). PlanetMinTemperature = 2.722 for now, in future it will depend on system's position in the galaxy. km = 3.240776488385780515715e-14 - constant to convert kilometers to parsecs. AU = 4.848136811095359935899e-6 - constant to convert AUs to parsecs.
|
|
| |
Amwhere | Date: Sunday, 28.10.2012, 02:29 | Message # 99 |
Astronaut
Group: Users
United States
Messages: 62
Status: Offline
| Hmmm. As I said, my code works fine for a one star system.
Code /*Calculates a Stars total output */ public static double getStarFlux(Star s) { double fluxM = Math.Pow(s.temperature, 4) * (Helper.sigma); //sigma = 5.6704E-008; double area = 4 * Math.PI * Math.Pow(s.radius * 1000, 2); return fluxM * area;
} /*Gets a stars output at a given distance */ public static double getStellarConstant(double starFlux, double distance) { double area = 4 * Math.PI * (distance * distance); return starFlux / area;
}
public static double getPlanetTemp(double starConstant, double abledo, double greenhouse) { double fluxAbsorbed = (starConstant / 4) * (1 - abledo);
return Math.Pow((fluxAbsorbed / Helper.sigma), .25) + greenhouse + Helper.CMB; //CMB = 2.725 }
As I said, if you want me to send you the whole thing, I will.
|
|
| |
SpaceEngineer | Date: Sunday, 28.10.2012, 04:28 | Message # 100 |
Author of Space Engine
Group: Administrators
Russian Federation
Messages: 4800
Status: Offline
| Quote (Amwhere) Hmmm. As I said, my code works fine for a one star system. So you need just make a cycle through all stars in the system.
Quote (Amwhere) As I said, if you want me to send you the whole thing, I will. Thanks, it's interesting to take a look, however I guess nothing complex there.
|
|
| |
Amwhere | Date: Sunday, 28.10.2012, 05:09 | Message # 101 |
Astronaut
Group: Users
United States
Messages: 62
Status: Offline
| Quote (SpaceEngineer) So you need just make a cycle through all stars in the system I do. I sent the code to the email on the contact page.
|
|
| |
DoctorOfSpace | Date: Tuesday, 06.11.2012, 04:43 | Message # 102 |
Galaxy Architect
Group: Global Moderators
Pirate
Messages: 3600
Status: Offline
| To fix the triangle problem in the Star Trek ships I removed BumpMap and DetailBumpMap. Not a big difference in how they look besides a bump but it smoothed them out and fixed the triangle issue.
Some images in different lighting
My favorite image
Intel Core i7-5820K 4.2GHz 6-Core Processor G.Skill Ripjaws V Series 32GB (4 x 8GB) DDR4-2400 Memory EVGA GTX 980 Ti SC 6GB
|
|
| |
Destructor1701 | Date: Thursday, 08.11.2012, 19:33 | Message # 103 |
Pioneer
Group: Users
Ireland
Messages: 533
Status: Offline
| Friggin' beautiful images!
I've been porting some BSG models in my spare time, and yeah, the bump mapping seems be the culprit... I wonder what's going on there...
Edited by Destructor1701 - Thursday, 08.11.2012, 19:34 |
|
| |
|
SpaceEngineer | Date: Saturday, 10.11.2012, 21:12 | Message # 105 |
Author of Space Engine
Group: Administrators
Russian Federation
Messages: 4800
Status: Offline
| BSG ships will feel themselves good in their native Cyrannus system
|
|
| |