Tail-landers
Posted: Thu Mar 20, 2014 9:28 pm
by DraQ
So far all the ships in Pioneer are belly-landers, just like all the ships in Frontier before. The thing is... it isn't a very sensible configuration, especially when VTOL isn't just an option but the way all starts and landings have to work (you don't have any runways in Pioneer and wheeled landing gear isn't exactly the norm either). In almost every other game it would be purely cosmetic issue, but not here.Currently the ships in Pioneer lift off using additional set of thrusters, but given their modest thrust compared to Frontier (and the fact that it is actual thrust rather than set acceleration, meaning laden ship is significantly more sluggish) they may already experience problems when taking off or landing on massive planets - and do mind that the heaviest ships currently available are still classed as medium in their respective categories - the problem is likely to become worse as the number of available ships increases, all because for some reason they have to use dinky belly thrusters instead of aiming the big ones at the ground.Some of the existing ships also look really awkward in belly-lander configuration - I'm speaking of Mola Mola, first and foremost - it would look much better as tail lander as it looks just plain wrong standing on stubby landing gear protruding out of its rounded belly. The question is what can and should be done about that?1. Nothing at all. Self explanatory, everything stays belly lander, current style stylistic continuity with Frontier is maintained, the gameplay and internal logic problems remain.2. Everything should be tail lander. Pros include sensibility of such configuration and simplicity of one solution fits all approach. Cons include messy modification of existing models (landing gear), and the fact that some ships may look weird in such configuration (still not weirder than a space shuttle before launch) - do note that they may still fly belly down, they would only turn tail down for landing and remain so shortly after take off.3. Some ships should remain belly-landers depending on size or whether they already have models. Combination of advantages of 1&2, with added disadvantage of requiring extra code for handling the differences.4. Main thrust vectoring. Would require movable thrusters and may be difficult to implement sensibly for some ships, may also require modification of existing models, but hopefully without affecting their aesthetics as much as converting them to tail-landers. Would obviously require quite a bit of extra code.5. Some combination of 4 and one of previous options. Thoughts?
RE: Tail-landers
Posted: Fri Mar 21, 2014 1:36 pm
by Vuzz
Somes olds ships from the pioneer before A31 have now a landing tail system in Genesia : I don't know if its been easy to convert to SGM system but here is the solution i've found : i put that here if that can help ( its in in lua ,of course , because Genesia is under LMR) define_model('stardust', { info = { scale = 1.5, bounding_radius = 50, tags = {'ship'}, },static = function(lod) end,dynamic =function(lod) if get_animation_position('WHEEL_STATE') ~= 0 then call_model('stardust1',v(0,0,0),v(1,0,0),v(0,0,1),1)else call_model('stardust1',v(0,0,0),v(1,0,0),v(0,1,0),1)end end}) I've simply apply a 90° rotation along the vertcal axis when the landing gear was "on"
RE: Tail-landers
Posted: Fri Mar 21, 2014 4:45 pm
by Vuzz
its not a trick , i think you have never try genesia , this ship take of in vertical position with the main trusther main thruster and land also with main .everybody who's play genesia can confirm that for alls rockets models ships in Genesia Note when in lua i call a sub model in a define pos i call this one with all his caracters . i put here the entire lua of this stardust for info: define_model('sd_wing', {info = {lod_pixels = {.1,20,50,0},bounding_radius = 10,materials = {'steel', 'w_glow'},}, static = function(lod)if lod == 1 thenload_obj('sd_wing_coll.obj', matrix.rotate(.5*math.pi,v(-1,0,0)))end if lod > 1 thenset_material('steel', .55,.65,.7,1,1.2,1.4,1.7,30)set_material('w_glow', 0,0,0,1,0,0,0,0,.7,1.5,2.5) use_material('steel')texture('sd_1.png')load_obj('sd_wing_1.obj', matrix.rotate(.5*math.pi,v(-1,0,0))) texture('sd_2.png')load_obj('sd_wing_2.obj', matrix.rotate(.5*math.pi,v(-1,0,0))) texture('sd_3.png')load_obj('sd_wing_3.obj', matrix.rotate(.5*math.pi,v(-1,0,0))) texture('sd_glow.png')use_material('w_glow')load_obj('sd_w_glow.obj', matrix.rotate(.5*math.pi,v(-1,0,0)))endend}) define_model('stardust1', {info = { lod_pixels = {.1,20,100,0},bounding_radius = 33,materials = {'steel', 'scoop', 'e_glow', 'win', 'thrusters'}, }, static = function(lod)if lod == 1 thenload_obj('sd_body_coll.obj', matrix.rotate(.5*math.pi,v(-1,0,0)))end if lod > 1 thenset_material('steel', .55,.65,.7,1,1.2,1.4,1.7,30)set_material('scoop', .2,.25,.3,1,.16,.3,.36,30)set_material('win', 0,0,0,1,1,1.5,2,100)set_material('thrusters', 0,0,0,0,0,0,0,1) use_material('steel') texture('sd_2.png')load_obj('sd_com_2.obj', matrix.rotate(.5*math.pi,v(-1,0,0)))load_obj('sd_body_2.obj', matrix.rotate(.5*math.pi,v(-1,0,0))) texture('sd_3.png')load_obj('sd_body_3.obj', matrix.rotate(.5*math.pi,v(-1,0,0))) texture('sd_1.png')load_obj('sd_com_1.obj', matrix.rotate(.5*math.pi,v(-1,0,0)))load_obj('sd_body_1.obj', matrix.rotate(.5*math.pi,v(-1,0,0))) use_material('scoop')load_obj('sd_scoop.obj', matrix.rotate(.5*math.pi,v(-1,0,0))) texture('sd_glow.png')use_material('e_glow')load_obj('sd_e_glow.obj', matrix.rotate(.5*math.pi,v(-1,0,0))) use_material('win')texture(nil)load_obj('sd_win.obj', matrix.rotate(.5*math.pi,v(-1,0,0)))endcall_model('sd_wing',v(0,0,0),v(1,0,0),v(0,1,0),1)call_model('sd_wing',v(0,0,0),v(-1,0,0),v(-1.666,-1,0),1)call_model('sd_wing',v(0,0,0),v(-1,0,0),v(1.666,-1,0),1) use_material('thrusters')if lod > 1 thenlocal B_T1 = v(0,16.517,13)local B_T2 = v(14.164,-8.498,13)thruster(B_T1,v(0,0,1),20, true)xref_thruster(B_T2,v(0,0,1),20, true)endend,dynamic = function(lod)set_material('e_glow', lerp_materials(get_time('SECONDS')*.2, {0,0,0,1,0,0,0,0,3,2,.7},{0,0,0,1,0,0,0,0,2,1.5,.7}))end}) define_model('stardust', { info = { scale = 1.5, bounding_radius = 50, tags = {'ship'}, },static = function(lod) end,dynamic =function(lod) if get_animation_position('WHEEL_STATE') ~= 0 then call_model('stardust1',v(0,0,0),v(1,0,0),v(0,0,1),1)else call_model('stardust1',v(0,0,0),v(1,0,0),v(0,1,0),1)end end}) But maybe have you forget that in LMR the define model is not a visual effect ? There are none so blind as those who will not see هناك لا شيء أعمى ØØªÙ‰ أولئك الذين لن ترى Not a matter for me afterall , the LmR ships can land or take off in any positions ^^. I've just post that to help, but if you think it's a trick , ok .