Project VesselBuilder for Orbiter

Kyle

Armchair Astronaut
Addon Developer
Joined
Mar 17, 2008
Messages
3,912
Reaction score
339
Points
123
Website
orbithangar.com
Was inspired by Don's recent SAL idea for this. FH/IDA using VesselBuilder. Cheap, efficient method to get to NASA's LOP-G.
 

Attachments

  • 0047.jpg
    0047.jpg
    155.3 KB · Views: 42
  • 0048.jpg
    0048.jpg
    265.7 KB · Views: 37

crisbeta

Member
Joined
May 27, 2013
Messages
140
Reaction score
4
Points
18
Using ShuttlePB with default generated touchdown points => CTD (nothig relevant found in both logs Orbiter and VB).

After I defined correct touchdown points from sample ShuttlePB.cpp works ok. :)

Another recomandation:
- if it is possible, please keep the default order of the parameters (stiffness and damping are reversed)

Code:
typedef struct {
	VECTOR3 pos;      ///< collision point position (vessel frame)
	double stiffness; ///< suspension stiffness coefficient
	double damping;   ///< suspension damping coefficient
	double mu;        ///< isotropic/lateral friction coefficient
	double mu_lng;    ///< longitudinal friction coefficient (only used for first 3 points)
} TOUCHDOWNVTX;

Code:
TDP_1_0_POS = 0 -1.5 2
TDP_1_0_DAMPING = 1000
TDP_1_0_STIFFNESS = 20000
TDP_1_0_MU = 1.6
TDP_1_0_MULNG = 1

Excellent addon :thumbup:

---------- Post added at 10:05 PM ---------- Previous post was at 09:57 PM ----------

I'm trying to load a mesh called "DM_1capsule". Is this an invalid name ?
I don't think it's a problem with the mesh name.

I loaded dragon2\dragon2_capsule, but you can change the mesh:
Code:
ClassName = VesselBuilder1
Module = VesselBuilder1
 
;CONFIGURATION FILE FOR DM
 
NOEDITOR = FALSE
 
Mass = 1000
Size = 10
Inertia = 20 20 10
CrossSections = 20 20 20
GravityGradientDamping = 0
RotResistance = 0.01 0.01 0.01
 
;<-------------------------MESHES DEFINITIONS------------------------->
 
MESH_0_NAME = dragon2\dragon2_capsule
MESH_0_POS = 0 0 0
MESH_0_DIR = 0 0 1
MESH_0_ROT = 0 1 0
MESH_0_VIS = 1
 
 
;<-------------------------DOCKS DEFINITIONS------------------------->
 
 
;<-------------------------ATTACHMENTS DEFINITIONS------------------------->
 
 
;<-------------------------ANIMATIONS DEFINITIONS------------------------->
 
;<-------------------------PROPELLANT DEFINITIONS------------------------->
 
 
;<-------------------------EXHAUST TEXTURES DEFINITIONS------------------------->
 
 
;<-------------------------PARTICLES DEFINITIONS------------------------->
 
 
;<-------------------------THRUSTERS DEFINITIONS------------------------->
 
;<-------------------------THRUSTER GROUPS DEFINITIONS------------------------->
 
THGROUP_MAIN = FALSE
THGROUP_MAIN_THRUSTERS = -1
THGROUP_RETRO = FALSE
THGROUP_RETRO_THRUSTERS = -1
THGROUP_HOVER = FALSE
THGROUP_HOVER_THRUSTERS = -1
THGROUP_ATT_PITCHUP = FALSE
THGROUP_ATT_PITCHUP_THRUSTERS = -1
THGROUP_ATT_PITCHDOWN = FALSE
THGROUP_ATT_PITCHDOWN_THRUSTERS = -1
THGROUP_ATT_YAWLEFT = FALSE
THGROUP_ATT_YAWLEFT_THRUSTERS = -1
THGROUP_ATT_YAWRIGHT = FALSE
THGROUP_ATT_YAWRIGHT_THRUSTERS = -1
THGROUP_ATT_BANKLEFT = FALSE
THGROUP_ATT_BANKLEFT_THRUSTERS = -1
THGROUP_ATT_BANKRIGHT = FALSE
THGROUP_ATT_BANKRIGHT_THRUSTERS = -1
THGROUP_ATT_RIGHT = FALSE
THGROUP_ATT_RIGHT_THRUSTERS = -1
THGROUP_ATT_LEFT = FALSE
THGROUP_ATT_LEFT_THRUSTERS = -1
THGROUP_ATT_UP = FALSE
THGROUP_ATT_UP_THRUSTERS = -1
THGROUP_ATT_DOWN = FALSE
THGROUP_ATT_DOWN_THRUSTERS = -1
THGROUP_ATT_FORWARD = FALSE
THGROUP_ATT_FORWARD_THRUSTERS = -1
THGROUP_ATT_BACK = FALSE
THGROUP_ATT_BACK_THRUSTERS = -1
 
;<-------------------------TOUCHDOWNPOINTS DEFINITIONS------------------------->
 
TDP_SECONDSET_ENABLED = FALSE
TDP_CHANGEOVER_ANIM = -1
 
;<-------------------------AIRFOILS DEFINITIONS------------------------->
 
 
;<-------------------------CONTROL SURFACES DEFINITIONS------------------------->
 
 
;<-------------------------CAMERA DEFINITIONS------------------------->
 
 
;<-------------------------VIRTUAL COCKPIT DEFINITIONS------------------------->
 
VC_HUD = FALSE
 
;<-------------------------LIGHTS: BEACONS DEFINITIONS------------------------->
 
 
;<-------------------------LIGHTS: LIGHT EMITTERS DEFINITIONS------------------------->
 
 
;<-------------------------VARIABLE DRAG ITEMS DEFINITIONS------------------------->
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
I figured it out, I was incorrectly defining the default parameters of my vessel and getting a CTD as a result. Fixed now, works fine.

That's wonderful news. If you could anyway give me the values you were pluggin in it would be useful: I want to introduce safety checks where possible in the final version trying to avoid CTDs on startup, even if due to users mistakes.

I'm trying to load a mesh called "DM_1capsule". Is this an invalid name ?

Should work, I remember to have made a test with that mesh as well. If you can't find the correct procedure it is this one:
- open your vessel's control dialog
- go to meshes in the left tree menu
- click ADD MESH button in the window
- go to the newly added mesh definition in the left tree menu, click load mesh button in the main window, choose your file and click open, and that should be it.

Was inspired by Don's recent SAL idea for this. FH/IDA using VesselBuilder. Cheap, efficient method to get to NASA's LOP-G.

So that's the first picture of a vessel created with VB1! :cheers::cheers:

Using ShuttlePB with default generated touchdown points => CTD (nothig relevant found in both logs Orbiter and VB).

After I defined correct touchdown points from sample ShuttlePB.cpp works ok. :)

That's curious. Was it a tailsitter? I tested the default points quite accurately with te regular vessels, but just quickly with tail sitters, maybe there's something there.

Another recomandation:
- if it is possible, please keep the default order of the parameters (stiffness and damping are reversed)

oh yes, you're 200% right there! It was in my notes but I completely forgot!

Excellent addon :thumbup:

Thanks! :thumbup:
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,907
Reaction score
205
Points
138
Location
Cape
I had to add my own DM_1capsule.cfg in config/vessels. I wasn't being created. I don't think.
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,907
Reaction score
205
Points
138
Location
Cape
Was able to attach the trunk to the capsule. Still figuring out the attachment sequence.

Too much SC3 burned in my brain.

Can you attach payloads, that can be jettisoned, like SC3 ? Or do you need to attach them by attachment points ? e.g. chute doors, chutes and such
 

Attachments

  • DM_1 VB.jpg
    DM_1 VB.jpg
    221.3 KB · Views: 30

jacquesmomo

Addon Developer
Addon Developer
Joined
Jun 14, 2008
Messages
613
Reaction score
453
Points
78
Location
FRANCE
Website
francophone.dansteph.com
Hi Fred

Just a question (I had not yet time to test your VesselBuilder )
Is your module "TD_Pts_udater" included in this module ?
(I think yes)
Thank you for your answer.:tiphat:
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
Too much SC3 burned in my brain.

I honestly exptected this kind of issue: after many years with a system it takes a while to get familiar with something else.

Can you attach payloads, that can be jettisoned, like SC3 ? Or do you need to attach them by attachment points ? e.g. chute doors, chutes and such

There will be the possibility to have the same procedure as SC3 through the events section, I'm working on that right now. For the timebeing my advise to have payloads is to create a docking port on both payload and ship and dock them. In truth it is actually the best option also as far as physics and realism. To release the payload you have to press CTRL+D and choose the port. I will implement the J key soon that will be used to undock the "jettisonable" docks.
As a matter of fact if you look at the docks window there is an option which says "Jettisonable". That option means that the docking port will be deleted as soon as anything that is docked to it gets undocked. This is still a bit experimental but I believe that once users get used to it, it will become quite popular for payloads.

---------- Post added at 01:39 ---------- Previous post was at 01:31 ----------

Hi Fred

Just a question (I had not yet time to test your VesselBuilder )
Is your module "TD_Pts_udater" included in this module ?
(I think yes)
Thank you for your answer.:tiphat:
Hi jacques, with VB you can create whole new vessels, while the TD Pts Updater changed the points for existing vessels. So if you plan to create a whole new vessel with VB, it will help you with TD points. If you need to update the points on an existing vessel the no, you need to use the TD pts updater
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,907
Reaction score
205
Points
138
Location
Cape
One event you might consider. When a vessel with an extended docking ring, docks with another vessel. The docking ports disappear and become attachments instead, so the ring can be retracted and pull the other vessel along with it. This is what BrianJ does with the SAL docking ring. Quite ingenious.

Can you have ships docked to each other on the ground now ?
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
One event you might consider. When a vessel with an extended docking ring, docks with another vessel. The docking ports disappear and become attachments instead, so the ring can be retracted and pull the other vessel along with it. This is what BrianJ does with the SAL docking ring. Quite ingenious.

That s interesting, I ll give it a look.

Can you have ships docked to each other on the ground now ?
Oh yes
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
One event you might consider. When a vessel with an extended docking ring, docks with another vessel. The docking ports disappear and become attachments instead, so the ring can be retracted and pull the other vessel along with it. This is what BrianJ does with the SAL docking ring. Quite ingenious.
He found a temp solution for this issue: https://www.orbiter-forum.com/project.php?issueid=1204? :blink:



Can you have ships docked to each other on the ground now ?

Yes. This is one of the features of the new touchdown point system as demonstrated by this video:


 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
Fred, any way to set a base path to load mesh textures ?
Meshes can be loaded from any folder inside Orbiter but the texture paths are hard coded into the meshes. If we could set a base path on VB, it would make things simpler.

So that the user could extract the old addon to let's say Orbiter2016\nonworking\ and then have a VB vessel load all resources from there.
Thinking about old addons and the best way not to clutter Orbiter folder, while not changing the original meshes.
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
EDIT: I read wrongly your post, so now I'm changing my answer sorry!!!

As far as I know, no: textures are loaded by orbiter core, it's nothing that VB does about that. If you need you can setup a different orbiter installation setting in orbiter.cfg (or orbiter_ng.cfg) the texture path you prefer, but it's nothing that VB can do about it. :shrug:
 
Last edited:

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
Thanks for the answer ;)
We can always patch the meshes using windows .bat files... (search / replace), and/or move stuff around that way...

OK, another question :blush:
Will VB create a list of all the files used for a vessel ?
That would be useful to prevent missing files on addons !
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
Will VB create a list of all the files used for a vessel ?
That would be useful to prevent missing files on addons !

Ah that's a very good idea, I will implement that. I won't create a specific file for this, but the list will be posted in the log file. I'll see if I can put there also the list of mesh textures
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,707
Reaction score
2,683
Points
203
Location
Dallas, TX
Excellent. A couple of questions.
If I want to make a new vessel do I just copy the DG for example and rename it. And load it? and then make the changes?

On the animation is there a highlight the group?
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
A couple of questions.
If I want to make a new vessel do I just copy the DG for example and rename it. And load it? and then make the changes?

there should be a file called "VB_Template.cfg" . make a copy of that, rename it, open a new scenario that you like and spawn your vessel with the scenario editor. The vessel will be empty so you can open the dialog and start to add what you want.

On the animation is there a highlight the group?

There is, but it is not always working and I don t know why yet. Anyway the best option is always to use the D3D9 debug window or the meshdebug window that will let you get easily the groups you want.
 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
the list will be posted in the log file
That will work and textures are very welcome!

Just add a header to that Log section so that it can be easily readable by a parser in the future ;)
It's relatively easy to write something in Python (for example) that will then copy all the needed files to a folder.
But don't worry with this right now, it's something other people can do, as long as the Log is easy to work with.
 

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
in the meantime while I was working on events I added a small but I think very useful feature: a text reader simple window:

VB_TextReader.png


It is just to read, no writing or save or anything but it can read all text or readable files, so also cpp, ini or cfg for example. So instead of noting down on a piece of paper or anywhere the various references the user will be able for example to open a note file he prepared and copy paste data from there,or to check the cfg file, to check the logs, or whatever he wants directly in the sim.
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,907
Reaction score
205
Points
138
Location
Cape
That's huge !!!! Can you copy and paste ?

Plus you can learn to code also. :thumbup:
 

Buck Rogers

Major Spacecadet
Joined
Feb 26, 2013
Messages
358
Reaction score
277
Points
63
This looks very interesting! Curiously I just "discovered" the Multistage2015 developer mode; has proved to be be very useful.

A few remarks: A notepad was the first thing i missed (full screen, converting from spacecraft4): sorted.
I couldn't open a blank .cfg, but the DG.scn opened fine and could delete and change everything but there's something funny with the animations, I can delete all but one, if I delete them all I get a CTD on reload, it appears I can only load a .cfg if it has atleast one animation definition! I also noticed that when deleting, creating new ani components that the suggested title isn't reset, ie. comp.48... 49, data not being reset? Otherwise everything seems to be working great.
With some of the input fields eg. TD points one can delete and add sequentually new data lines, would it possible to edit and insert?
Something I think you tipped on in a previous post, events (very exciting!) will it be possible to make .cfg changes, so one can simulate, for example per key press, OMS engine change, aerodynamic changes (I think I need that for a SSTO), maybe even simple damage simulation!
Is it possible to to set the "G" key (without shift etc) and reverse repeat animation on repeated key press?

Looking forward to future developments
 
Top