tsunamayo / Starship-EVO

Welcome to Starship EVO bug tracking repo !
117 stars 17 forks source link

[Suggestion] dynamic curved surfaces and advanced shape tools #4176

Closed AlienXtream closed 3 years ago

AlienXtream commented 3 years ago

Have had this idea for a while but forgot about it. Now that the voxel system has been removed however it is far more viable an option. basically, the player has an advanced tool to allow the creation of curved surfaces. an example of such a surface would either be a Bezier or NURBS surface (though other options may better)

https://en.wikipedia.org/wiki/B%C3%A9zier_surface https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline

another visual example of how this could work/look can be seen in the game "Main Assembly" https://youtu.be/jDgJZzIaJtk?t=179

similarly being able to make and edit the profile of cylindrical parts in a manner similar to "Kerbal Space Program"s custom fairings https://youtu.be/i_3KBCj1lXk?t=21

obviously the context of these tools are quite different to that of Starship EVO but the fundamental principles are still applicable (i.e the manipulation of a 3D object via vector based curves as opposed to static vertices).

the shapes themselves would not be saved as static meshes but rather the vector handles data would be saved and the shape generated when its loaded (then the shape would be cached in memory and only reconstructed if it were unloaded or edited, else it would be handled like any other mesh). you would be limited to a fixed number of points and size as well as a total number of these elements depending on how performance intensive they end up being.

these elements could be called something like "Sheet metal", "morphable surface" or "deformable plating". those would just be placeholder names until the community and yourself settle on a good name for them. the icon for them could also be the first animated icon, showing a square or triangle being "morphed" into a circle and back again.

another advantage of doing this would mean that the parameters of each surfaces resolution can be adjusted per user in the settings based off the size of the elements in question, though this would not really be required and more of a "i want to kill my computer drawing a 'perfect' circle" so it would be best kept as a "hidden" parameter or configuration in the settings file and not available in game.

im doubtful either of these will happen but i felt as though it was at least worth bringing these concepts and tools to your attention should you like them and want to have a go at it. :)

tsunamayo commented 3 years ago

@AlienXtream Hi, thats a very impressive tech! To be honest with you while it looks very cool I will never have the time to work on that, I have spent too much time on the build aspect of the game already (at the detriment of other aspect...). Cheers

AlienXtream commented 3 years ago

totally understandable. i had figured you probably wouldn't add it as it would probably need yet another rewrite of the build system. it would also not really fit the "lego esque" feeling that gives it its charm. may be something to keep in mind for other unrelated/future projects