A modelling module into Godot ?

NeoDNeoD Posts: 142Member
edited April 2016 in General Chat
I will type lot of text so please be indulgent if you see some broken english sentences.  :-[<br /><br />I work mainly on a 2D project but I was a bit tired so in the last weekend I tried to begin a very simple 3D platformer just for fun. <br /><br />Naively, I wanted to learn Blender. When I learned Godot I never been lost, all is straightforward, with Blender I simply gave up. 3D projects aren't important for me. But it made me think about that.<br />I know Blender is a community work, it's free, fully featured. But why this U.I is incredibly messy ? <br />Blender forums seems to be filled with people who do not understand or don't want to hear about that.<br /><br />http://blenderartists.org/forum/showthread.php?379516-Blender-Fork-Bforartists-searches-for-volunteers<br /><br />The following are only the first thoughts after 2 hours of tutorials and modeling attempts.<br /><br />BlenderUI_zps4c4pu6yp.png<br /><br />1: This panel mixes scene settings, like antialiasing for instance, with the selected object settings. IMHO this is one of the reasons for its scary looking.<br /><br />2: These tools makes the object moving like a 2D object in a 3D world, never used this, but I'd rather the gizmo to move the object exactly how I expect. Maybe it could be useful sometimes but why it is so visible in the front of the U.I ?<br /><br />3: Why two sets of menus buttons? "render" menu is so different to "view" menu to be placed with "File" menu ? <br />What defines the location of a button menu ? The second "ramp" have an "Add" menu who seems redundant with the "Create" tab.<br /><br />4: This cursor defines the location of new objects, it was moved by left click in a mysterious position because like "2:" it moves like a 2D object, why they don't give it a gizmo ?<br /> In videos tutorials I don't see any person using this, why blender developers use the left click to use this cursor ?<br /><br /><br />Tutorials said Blender usability is very focused on keyboards shortcuts, I understand why...<br /><br /><br />For comparison you can check some Cinema4D tutorials on the web. <br />You can instantly understand how to find what you need to make everything you want.<br /><br />maxresdefault.jpg<br /><br />Please Godot never take the Blender U.I as a model ! Cinema4D is closer to Godot<br />in terms of U.I organization G:. Object stuff and scene stuff are well separated.<br /><br />But Godot have some features who can be a basis to become a basic modeling software.<br />I'm aware that the 3D part of Godot have better priorities. But after the 3.0 and the new renderer you can ask if modeling features could become a silver bullet for future Godot popularity. Free modeling software are very rare.<br />Godot has a 3D viewport, it can sets materials, it can set some primitives for the collision shapes (box, sphere, capsule...), it can create polygons for collision too.<br />It will needs to set 3D polygons, select faces or points, export .obj files... I suppose it will be a huge work but you will not need to develop a modeling software from scratch.<br /><br />

Comments

  • BinaryOrangeBinaryOrange Posts: 234Member
    Blender is indeed very hard to get to grips, it took me several months back before they did huge UI overhauls and then I had to start from scratch. It is a great tool once you can get it under your control!<br /><br />A 3D modeler would be very interesting inside of Godot. I've not yet seen that in a game engine, so if Godot could somehow manage to pull that off? The popularity would soar and it will be great fun to see what all people could do with it. I don't see it happening for a while though, as that can take quite a bit of programming!
  • Ace DragonAce Dragon Posts: 208Member
    To code a modeler in Godot (that is on the same level as Blender) would probably take years with the existing level of development resources (resources that are better suited for other projects such as the planned recode of the 3D renderer, more usability improvements, performance improvements, and a faster and tighter bridge between Blender and Godot). You should also not forget that making levels inside of Godot from scratch would assume having more than just modeling, but also having texturing and UVmapping tools as well. A number of Blender's tools are also actually quite complex in nature and would require a very experienced coder to duplicate.<br /><br />However, it's not stopping someone from at least attempting a basic level editing suite inside of Godot using gdscript (which would be done via the plugin system, and which it has all of the needed functions for).
  • toger5toger5 Posts: 39Member
    Sorry slightly offtopic:<br />I know the blenders interface might seem strange at the beginning. But in my opinion it is the best interface for such a "complex" (in terms of feature amount and power) program. There are sooo many projects you can do with this awesome piece of software that you need to provide a solution for everyone. From the game designer to those who want to edit videos... That everyone can make his workflow as good as possible there need to be MANY UI options. And this is what blender is so good at, adapting the workspace to your needs. As a consequence a lot of tools are redundant which may make the editor "messy" but still great to use. Btw. most controls aren't necassary if you know enough shortcuts so you will continue hiding all the tools over time and just shift+spacing (fullscreen) the 3D editor if you want to model something. (than blender might be the cleanest program ever, at least with that amount of tools...)<br />And another plus, the editor is really good to scale with plugins.<br /><br />Concerning your proposal:<br />An intefrated editor sounds like a good idea. The first time I read about it, I think that was in a git issue, I was amazed. But that wont become true, otherwise I would be really surprised (negatively).<br />The first reason is that this would need an insane amount of work:<br />to get a 3D modeller you need to have all the geometry inside the ram so that you can modify it with the CPU. As a consequence the current system of Godot couldn't be used because it is based on the GPU (as always in game engines). The Godot editor is based on the engine itself so It may is not possible to use it as a modeling program (okay not impossible but difficult.)<br />The other problem is that the 3D editor wouldn't get the quality of an editor that could be used as a main development tool. People who try to make a real project will always use 3ds or blender or maya... so the 3D modelling editor would be, more or the less, a gimic. A very expensive gimic. <br />Trust me if you spend some time with blender you will see how powerful the program is and how well the UI fits to that software, don't get me wrong the UI is not perfect but very useful. And when you get comfortable with the import process to Godot you will have a solution which is much better than a built in editor.<br /><br />I want to answer to your thoughts to defend blender ;)<br />1.<br />The panel has almost all the settings and properties in it you can imagine. As a consequence there is only one dock type for settings and you can open multiple ones for different settings at different locations which makes it extremely handy.<br />2.<br />I guess you can do anything you want without shortcuts in blender. This is why the buttons exist. They make the same than pressing: R,S,G (rotate,grab,scale). Because people realized that it is really efficient to use "multikey" shortcuts to move objects blenders translation tools are designed like that:<br />
      <br />[li]press R,S,G to define the sorf of translation[/li]<br />[li]press X,Y,Z to define the axis on which wou want to translate[/li]<br />[li]or press the same button as in step one again to get a special translation: G to slide vertices and edges, R to start the free rotation tool[/li]<br />[li]or press SHIFT+ X,Y,Z to to translate on any other axis than the selected one[/li]<br />[li]press SHIFT during the translation to make it more precise OR CTRL to activate snapping[/li]<br />
    <br />As an example press G than SHIFT + Z to move an object on the "floor layer", on all axis except the X axis.<br />Because this keyboard system is very fast (I never find myself using the arrow gizmo because that's much slower to use) And because they thought everything should be able to control mouse only they implemented these buttons. (Usually you press T and just ignore that panel)<br />3. <br />Those menus give you access to everything you can do inside one window. (usually you use shortcuts but until you know enough you can use these menus). They are located on the top or at the bottom of every window. (right click on the menu bar, than flip to top/ flip to bottom) If you really know every shortcut and use the pie menu you also can collide them. The top bar also is a window (the info window) which is sized to height=0 this is the reason why there is this top bar.<br />4.<br />I also don't understand the Left click thing. It is useful when you want to add Obj's at a surface. Because Left click moves the object to the 3D surface under the clicked position. Than you can add an obj at that position. (But this could be solved with Shortcut + Click too... so I don't know why they have such a rarely used function on such a useful button I add more objects than using left click  :( ...). But the curser itself is very useful. and there are enough methods to move him so you don't need a gizmo. Usually I use the curser by snapping (CTRL+ S in edit mode) to a specific face/vertex. Than I can add an Obj at that location. You also need it to move the origin point of objects SHIFT + CTRL +ALT + C than choose origin to 3D curser.<br /><br />Oh man this post got much to long. But I liked writing about blender so I didn't want to stop ;).<br />As a conclusion, I understand your attitude to blender and the wish to have a simple and powerful tool. But there are so many complex tools for 3D modeling that this will never exist (except there will be some incredible awesome VR modeling tool in the future which tools are as easy and intuitive to use as real clay).<br />I think you really should try getting better with blender because it is an good tool. And you can use it for so man tasks. All the work you put into fighting against the UI will be worth it ;). Because if Godot would implement an equally powerful 3D modeling editor it would be equally complex.<br /><br />I hope this post did't seemed too: "little kid is pissed because someone didn't like his toy..." :D<br />My main intention was to convince you not to give up.<br />Thank you for reading until here :)
  • quickmind2020quickmind2020 Posts: 27Member
    Well the idea sounds great but as described above... the code would be....hell....<br /><br />But... here is an idea that i have had before that might be useful...<br /><br />What if we created a "plug-in" to blender that ran godot in background and rendered the windows the blender ui.... with a built in model-exporter that would automatically export the changes to godot... <br />well i dont know about the model-exporter but i think that doing that way would be easier to do than putting blender into godot.
  • MegalomaniakMegalomaniak Posts: 1,001Admin
    Well, on the old forums a user named sheepandshepard was working on a level editing/basic modeling plugin:<br />
      <br />[li]
    post 1[/li]<br />[li]post 2[/li]<br />[li]post 3[/li]<br /><br />Kind of a shame the user hasn't registered on the new boards here.<br /><br />As for blenders UI, believe it-or-not back in the late 80's to early 90's that was actually a standard design of UI in the graphics industry, the Operating systems primarily used were Amiga and SGI's Irix(This one looked perhaps a little more 'modern', it's also from where blender shortcut-key standards came from[i.e. ctrl-w for write to disk as opposed to ctrl-s for save to disk, this was changed during the 2.5 rewrite however], and this is where 'openGL' is from, started out as SGI's IrisGL).<br /><br />Anyway's, blender has actually changed a lot over the years, here's blender v1.8(from the 90's):<br />9.jpg<br />Comparing that to blender now, it's like day and night.<br /><br />However yeah, sure, there's a lot that could still be improved about blenders interface. And improvements still continue to be made.<br /><br />If however blender really isn't your cup of tea so to speak, then hey, thers a whole myriad of different apps out there, find something you actually like. Plenty of them are also much more reasonably priced in comparison to what the prices used to be(40k a license, anybody?) and Houdini Indie at $200 is insane I tell you! That happens to be the most powerful 3D tool out there, btw. Highly technical, however.<br /><br />Personally, I don't find blender's interface perfect either, but I do find that every other app out there has an even worse one, so... :-X
  • MegalomaniakMegalomaniak Posts: 1,001Admin
    on 1461273612:
    <br />The first reason is that this would need an insane amount of work:<br />to get a 3D modeller you need to have all the geometry inside the ram so that you can modify it with the CPU. As a consequence the current system of Godot couldn't be used because it is based on the GPU (as always in game engines). <br />
    <br /><br />And what do you think the SurfaceTool does then? ;)<br /><br />You'll likely want to also use the MeshDataTool while at it.
  • NeoDNeoD Posts: 142Member
    I read your answers and what I noticed in these is the amount of work for a too little benefit.<br /><br />I can't evaluate the feasibility of such a module/plugin but I noticed that Godot can access all meshes datas to generate meshes and modify his geometry, as you can see in this plugin by TheHX. https://github.com/TheHX/add_primitives<br />A "set_vertex_uv" and uv2 methods are in the MeshDataTools class. <br /><br />A roadmap could be to add an edit mode: select vertices, faces, maybe segments with mouse, moving or deleting them, the ability to separate the mesh into surfaces to apply several materials, it seems these features already exists by coding.<br />The new features to create are, IMHO, mapping, extrusion, knife,  symmetry tools, as a first step, to made most of the modelling.<br /><br />@Toger5 Thanks for your advices. It will be useful when I'll be back on 3D modeling.
  • toger5toger5 Posts: 39Member
    I think I need to correct myself. I once heard that meshes are rendered much slower while modelling. Because all the verts need to be saved on the ram to get accessed fast because they change a lot during modelling and ram is handled by the cpu... That made sense for me so I didn't dig deeper. But now I read again and didn't found anything which proves that. So It might be wrong that a new "system" would be required. So I take this comment back... still it would be a lot of work I guess.<br />But I like the approach of sheepandshepard. may he will come back and give further updates.
  • MegalomaniakMegalomaniak Posts: 1,001Admin
    on 1462052923:
    <br />But I like the approach of sheepandshepard. may he will come back and give further updates.<br />
    <br />Yeah, that would be awesome! :)<br />Actually I think getting access even just to the WIP code would be cool.
  • GokudomaticGokudomatic Posts: 70Member
    on 1461273612:
    <br />Sorry slightly offtopic:<br />I know the blenders interface might seem strange at the beginning. But in my opinion it is the best interface for such a "complex" (in terms of feature amount and power) program. There are sooo many projects you can do with this awesome piece of software that you need to provide a solution for everyone. From the game designer to those who want to edit videos... That everyone can make his workflow as good as possible there need to be MANY UI options. And this is what blender is so good at, adapting the workspace to your needs. As a consequence a lot of tools are redundant which may make the editor "messy" but still great to use. Btw. most controls aren't necassary if you know enough shortcuts so you will continue hiding all the tools over time and just shift+spacing (fullscreen) the 3D editor if you want to model something. (than blender might be the cleanest program ever, at least with that amount of tools...)<br />And another plus, the editor is really good to scale with plugins.<br />
    <br />I agree. I was before used to softwares like milkshape3d and anim8or, but when I got used to blender, I found it much more flexible and efficient than the other ones. I even learned yesterday how to use blender as a VSE (making a cutscene for instance). That's not something I would be able to do in godot, nor I would see such feature. I think Godot should only focus on being a game engine and game editor. The closest thing to mesh editing I could imagine in godot would be a terrain editor.<br /><br />Plus, have you ever tried to run blender on a very small screen? It's the only 3d editor I've ever seen that's usable on literally any kind of resolution. You could use it on a smartphone if it had a keyboard ans mouse.
  • CalinouCalinou Posts: 193Admin Godot Developer
    See this GitHub issue about 3D modelling inside of the editor. I personally would like to see something like this, since it would make map creation easier than with Blender (and hopefully, a more straightforward process), but I acknowledge it's a lot of work.
Sign In or Register to comment.