Vim3d: Because 3d modeling software wasn't already hard enough to use.
Honestly if you want something in the spirit of vim for editing models, Blender already has a very confusing-but-efficient interface. (IE, pretty much everything is done via keyboard shortcuts that are optimized for using your left hand so you can keep your right hand on the mouse).
Not really comparable to Blender: Wings3D cannot animate. Part of Blender's draw (pardon the pun) is its physics engine and animation suite. I cannot say for certain, but I suspect Blender's Cycles Rendering Engine is vastly superior to Wings' renderer.
We were discussing 3d modellers, and in that area, Wings3D is excellent. It only does a small set of things, but it does them very, very well. You can then import those models and UV maps into blender easily.
I absolutely love wings3d. It's the only 3d modeling app I've been able to create really cool shit with. I just love the vertex, line, polygon, polyhedron operations. It really lets you just kinda sculpt stuff and perform mathematical transformations effortlessly.
Super stoked to see this on here (very surprised).
The main idea is to have scripting language and/or scripting interface hybrid with graphical modeling, animation, and even raytracing. Parameters can even be controlled by other parameters or channels making this super extensible, for example, controlling color or position of objects with the envelope of a music file. Objects are infinitely composable with groups, much like illustrator or photoshop, allowing you to do interesting transformations as well.
It's really useful because it becomes a sort of assembly language for working with files, textures, etc., and saving them as a scene file which aggregates all of this.
Could you share your ideas ? I'm thinking about 2d/3d 'modeling' on a keyboard centric user interface too; except for the part where analog input is the only sane way (even though I had some ideas about how to try this keyboard-only too).
Really cool, but reading the title I was hoping that someone hacked up a (console based) vim clone that allows you to have multiple popup/floating windows (that aren't "buffers")...
100% of this is already common place. i doubt any Maya pilot even has the tool bar on the screen.
im not even a frequent user and i only move stuff around with hjkl and qwe. not to mention the backtick (or space bar?) to open up the one liner prompt to revolve, extrude, etc...
> i doubt any Maya pilot even has the tool bar on the screen.
I don't know Maya nor 3D editoes but I can see how this can be irrelevant, as it would be like comparing your favorite IDE keyboard shortcuts with vim's command mode. vim's power is in its modal interface and command composability thanks to text objects, adjectives and verbs. Also, having views handled like vim's buffers+tabs+windows instead of fixed situations.
To sum it up, vim is not just a bunch of hjkl keybindings. If this tool enables such a grammar and vocabulary in command mode, along with top to bottom scriptability of the editor's behavior, then it's worthy of the vim moniker. Otherwise it's just a misleading name.
To me vim means 'text editor.' This is a really awesome command-driven 3d Modeller. It's great but is it really a vim clone?
It offers a big improvement over the GUI of 3d modellers. 3d modellers interfaces are way, way, way, too complex because they are trying to stuff wayyyyy too many parameters into standard UI controls (i've used mostly blender, but way back in the days of 3d studio, infini-d, and ray dream the interfaces were also very complex, to the point of having a very steep learning curve). It makes more sense and is much more expressive to interact with the modeller via commands
You are right about the vim clone being the wrong description. That was a mistake on my part. A vim-like command interface to creating 3D scenes is more appropriate.
If you like the concept of scripted 3D modelling check out OpenSCAD. Instead of entering commands you create a script that build your model for you, including the option to use variables, loops and conditions to adapt your model to certain parameters. I use this for creating customisable 3D printable models and it works great if you know the basics.
The concept of OpenSCAD is great, but I think it is in need of some modernization. The last time I modeled something with it I discovered how inconvenient it is to do things like create threaded bolts/nuts... it may just be my inexperience with it, but there don't seem to be straightforward ways of creating basic shapes like helixes.
But it would be great to have a concept where you create a model of a table by creating a cylinder, copy and translate it three times, add a flat cube, connect these 5 pieces, and name them table. Then you would have another (non-)primitive that you can instanciate and maybe have some parameters to change it.
Which is cool, and that's why I like SketchUp. But AFAIK you can't switch to 'text' mode in SketchUp where you can edit the history and rebuild the scene.
Given that e.g. Blender has modal editing and single key operations ('s' to enter scale mode, then 'x' to scale along that axis) I imagine more commands along the path of Vim/Ex would be beneficial for fast mouseless input. And of course macros and such.
Here's what I'd like to see: libvim. Vim has already been ported to iOS, so it's obviously embeddable. I'd like to have an instance of vim running inside my program, and to be able to scrape the tty/screen.
That way, if I want to make a fancy Oculus VR editor, or any other IDE experiment, I don't need to re-code basic editor functionality. Yes, I know about Scintilla.
I built vim3d for myself to use. I used to work for Side Effects Software as a 3D artist using Houdini (sidefx.com), which I then got deeper into programming, and vim was my text editor of choice.
I wanted to create something to enable me to build 3D content using a shell, but also having access to a graphical interface. When you use commands, you store the procedures or instructions for how to build something, so your work is more re-usable and stored as a scene file (plain text), vs. something like maya where you're graphically building and history gets deleted (in fact there is a delete history option in maya) and completely stored in binary or some very hard to read scene description language.
vim3d provides a simplified, very human-readable approach to its scene files that somewhat remind me of bash or assembly. And, as a programmer, you get the keyboard as your weapon of choice, with command history, undo/redo stack, and ability to save 3D scenes as programs that you can read back into the system to read or write later. Oh, here's another analogy: if vim3d is like vim, blender is like sublime text :)
Admittedly, much of vim3d's functionality (although not UI) was deeply inspired by sidefx.com's houdini if you are curious. Houdini is for the "engineers" of 3D designers in some perspective, whereas Maya is for the "non-technical" 3D designers.
I doubt it. Think of the difference between someone who's unfamiliar with vim, versus an expert. I'm the former, so it ends up feeling too meta. I.e. I'm thinking about how to enter commands to do my work, instead of just having the work flow with no perception of tooling between me and the work.
Consider that artists have already become experts at sketching, at visual design, etc. For them, a pen or stylus or 3d program doesn't feel like tooling, but give them an unfamiliar tool and it will totally get in the way of creative expression.
On the other hand, even designers who are adamantly non-technical and refuse to get into any code ala HTML/CSS often still learn keyboard shortcuts very deeply in programs like Photoshop / Illustrator / InDesign.
The question to me is whether Vim3D is actually bringing significant improvement over whatever shortcuts exist in current 3d modeling software.
Yup... I guess they call it "vim" because key bindings are inspired on vim, but this is just a prove that keyword rocks much harder than any other interface :-)
It probably depends on timezone. Friends posting here told me it's no use to post anything when US are asleep.
(edit : and btw, I've noted myself it's no use to post comments when I wake up from France, since it's already old news for US and they are asleep as well ;) )
I do find this one a cool way to show usage analysis of system, such as commands like top, free, mtop, etc. which are currently giving reports in terms of numbers.
Even though I am amazed by this, I am still not sure how usable this would be. don't get me wrong, its probably my lack of experience with 3d modeling in general.
But good to see a somewhat off the track use case for vim
Vim3d: Because 3d modeling software wasn't already hard enough to use.
Honestly if you want something in the spirit of vim for editing models, Blender already has a very confusing-but-efficient interface. (IE, pretty much everything is done via keyboard shortcuts that are optimized for using your left hand so you can keep your right hand on the mouse).