View Full Version : Blender 2.40 plugin challenge
FreakyDude 12-27-2005, 09:00 PM Well well, blender 2.40 is out. Nice, downed it took a look at it, still eager to try this one out some more.
Then it hit me. Still no drag'n'drop weld? AKA target weld? (or i just haven't found it because it's hidden under another name)
Most of the basic modeling tools are here (which are all the modelling tools I use for 90% of the time anyways, advanced are nice like max's polyboost for instance, but i would hardly use these advanced methods.)
Now after reading about the megabool thread. I got this idea:
"How about a challenge for the python programmers out there, to create some new plugins."
Just some features some of us like to use, that are currently not available in blender, or don't work the way some of us may want them to work in blender.
Now here's my little wish list:
- Target weld (drag and drop, like in max)
(optional)
- small planes on the transformation widgets ( instead of shift dragging z axis to lock the Zaxis for moving in XY space, drag a smaller xy plane which is about 25% the lenght and width of the widgets axes. Xaxis 100%, XY plane inbetween x and y axis 25by25%, Yaxis)
- rotation widget and scale widget (these are justvisual gadgets, but I think they are common too)
- an option to switch off which widgets to use or not use.
(a guy can dream optional)
working export/import plugins for various game engines/ formats.
like unrealengine .ukx/.usx/.u
halflife
quake3/doom3
battlefield2
working BSP import/export for unreal
and HL2/doom3 (yes i know unreal has a different way to use bsp, they cutout of one giant solid space rather that add in a massive void, the idea is still the same though)
Is there an engine which runs on the ds/psp, is open source and can use blender for it's editing/content creation?
Obviously the game thingies are way to far fetched.
But i don't think the target weld one is
does anyone have any other ideas?
Your thoughts on this people!!
|
|
kattkieru
12-27-2005, 10:07 PM
Then it hit me. Still no drag'n'drop weld? AKA target weld?
You mean, I drag a vert onto another and it snaps into place? Maya's got that too. I like that feature. Never found the like in Blender, although I'm sure someone'll suggest the whole "Select Vert->Move cursor to vert->select other vert->snap selection to cursor" thing. (Which is more complex than the snapping.)
- rotation widget and scale widget (these are justvisual gadgets, but I think they are common too)
Control-Alt-G, Control-Alt-S, Control-Alt-R for Move, Scale, and Rotate, respectively. Or change them through the buttons in the 3D window, at the bottom.
- an option to switch off which widgets to use or not use.
In the window there's this little icon next to widget changer icons is an icon to turn widget display on and off.
(a guy can dream optional)
working export/import plugins for various game engines/ formats.
like unrealengine .ukx/.usx/.u
halflife
quake3/doom3
battlefield2
Done a net search yet? Some of those things exist already, or could be faked through other exports and command-line tools. There are a lot of free tools out there that could act as a medium between blender and those game engines (not sure about battlefield).
working BSP import/export for unreal
and HL2/doom3 (yes i know unreal has a different way to use bsp, they cutout of one giant solid space rather that add in a massive void, the idea is still the same though)
Prolly will never happen. IIRC, even the original map exporters for doom3 export to geometry, which is then processed by a BSP generator. And HL2 runs totally off of a free version of XSI, so nobody's bothered to do too much in the way of exports because you can download the tools the team used for free.
Or you could try your hand at python. ;)
Apollux
12-28-2005, 12:37 AM
Just to get at kattkieru nerves:
Select vertex
Snap Cursor to Selection
Select other Vertex
Merge at cursor
Now for real, that is a tool we really need. But it cannīt be automatic because it would cause a lot of accidents. I think that they should add a "Merge at Active Selection" choice for the Merge menu.
So it would be like:
Select vertex
Select second vertex
Merge at Selection
:thumbsup:
LetterRip
12-28-2005, 11:19 AM
there is a script - drag merge - it hasn't been updated to use with 2.40 though, I'll see about getting it updated and bundled with next release
small planes on the transformation widgets - you can use a modifer key to accomplish the same, I think it was considered but I think Ton decided against.
rotation widget and scale widget [...] [QUOTE] as already mentioned there are hotkeys and buttons, or use the menu popup to switch (CTRL-SPACE).
[QUOTE] working export/import plugins for various game engines/ formats.
like unrealengine .ukx/.usx/.u
halflife
quake3/doom3
battlefield2
working BSP import/export for unreal
and HL2/doom3 (yes i know unreal has a different way to use bsp, they cutout of one giant solid space rather that add in a massive void, the idea is still the same though)
Is there an engine which runs on the ds/psp, is open source and can use blender for it's editing/content creation?
We have the collada, direct x, and a quake 3 exporter/importer bundled, as well as 3ds max, lwo, and obj.
Most of the importers and exporters you requested can be found here (although not complete - ie most don't import/export animation)
http://67.22.114.230:8080/programming/blender/index.html
and others are scattered across the net.
LetterRip
kattkieru
12-28-2005, 12:35 PM
Just to get at kattkieru nerves:
Select vertex
Snap Cursor to Selection
Select other Vertex
Merge at cursor
Hehe, dude you rock.
FreakyDude
12-28-2005, 12:40 PM
at kattkierru
1. yes I mean that kind of welding
2. thanks for the shortcuts, forgot them after not playing around in 2.37 for some time.
However, this was not what i ment.
the rotation widget is just what i ment, but the other ones (scale and move/grab) have this:
all axis of the widget are also connected by a small plane which let's you do a manipulation on two axes at the same time. Sparing the use of a shortcut key.
3. thank you, didn't know that
4. yes i had done a net search and found a number of exporters, but they also listed bugs/incomplete or outdated. I was more interested in an unreal import/export and HL2 and battlefield2 import/export than quake3/doom3. I knew the later existed, but i thought they weren't finished and discontinued..... silly me.
at appolux
why couldn't it be automatic? you have it in a number of other packages where it is automatic and if you make a mistake, just undo it. This is also where some of the nicer plugins have neet options. weld a loop, saves you to have to weld all the vertex after another, or weld edges ring/loops etc.
and if you don't like automatic, max has 2 kinds of target weld:
- the universal which lets you weld any vertex to any other vertex.
- the one that oly let's you weld a vertex to another vertex in the same face(which is . . what you do most of the time, so it's safer)
The safe one is in editpoly and the universal one is in editmesh object/modifier in max
Then there is the option to have backface cull select on or off, which disables accidental welding to points that you have at the other side of whatever object you are working on.
Me, I like the unviversal most, but it would be very cool if we could choose for an safe or universal one:
space>edit>vertices>target weld> safe weld/universal weld
at tom musgrove
yes i heard of the dragmerge script. in fact, i tried it in some older version of blender. 2.36 or 35, can't recall. It didn't work exactly as i expected.
I want to have this option in
space>edit>vertices>target weld> safe weld/universal weld or
space>edit>target weld> safe weld/universal weld
I want this to start weld mode, and i want it to end when i press a certain button (rmb or lmb or whatever to exit) rmb might work best, since canceling a weld is the same as undoing one. might as well use regular undo for that.
well thank you for your input so far. I was also wondering if anyone else had some obvious feature which is so easily overlooked.
But yeah to me the target weld is the main thing i want in blender.
Apollux
12-28-2005, 04:03 PM
The problem with having and automatic weld is that unavoidably youīll end welding together vertex that werenīt supposed to be together.
Blender already have On/Off Backface cull selection toggle, but that isnīt the holy grail... try working the inside of an ear on a CG Head, at any given moment you are seeing vertex that belong to the ear, but depending on your viewport you could be seeing vertex that are part of the skull.
Having it only working on vertex that are already on the same face.. that is pretty much useless. If they are on the same face it is because you already connected them with an edge.. so you are not saving that much work load.
Loop Welding.. that would be trully nice !
What I propose is, instead of comming on with a whole new function, to take advange of the tools aready built in.
It would work like this (with the mesh in edit mode):
1. Select a vertex and start to drag it.
2. Take it to the proximity of another vertex (proximity as seen on the screen viewing plane).. donīt click the LMB still (so you are still in drag mode)
3. After a user selectable ammount of time has passed and the select vertex is still in the proximity of the other vertex, the mouse cursor changes it shape... into a question mark, a glue container, a magnet, etc, etc.
4a. If the user clicks now on the LMB, the vertex you were already moving gets snaped to the position of the vertex it was in the proximity with.. they are still 2 vertex, but on the same 3D space.
4b. If the user moves selected vertex away from the proximity of the vertex the cursor goes back to it's former state and you can keep dragging your vertex as usual.
5. Business as usual, no confimation dialogs!
6. After you are done welding, just select all and do a Remove Doubles !
With that workflow and a small time frame selected on the user preferences, you could weld the entire mesh in a breeze, without needing any hotkeys.. just by using your mouse and the translation widget (or G Key, if you are old school like me).
Since Blender would let you know when it is about to do an automatic snap, you can decide on the fly what to do without the need of any confimation dialog.
Blender already have a per-vertex proximity setting (used precisely for the Remove Doubles command).. GUI wise it would be a matter of letting the user select how many miliseconds to wait for the cursor to change into welding mode.
FreakyDude
12-28-2005, 05:19 PM
well thank you for the alternative method, didn't know about that.
there is a problem, well not really a problem but something i find a little akward to use:
the weld i'm talking about just looks at what vertex the cursor is over, then snaps and welds to that vertex on mouserelease.
The weld you're suggesting is a way to snap them into place, then welding or as blender calls it, merge it.
That's allready 2 steps instead of one.
Furthermore, you have to move the vertex into close position in actuall 3D space (not the 2D computerscreen), which could make you have to move the camera several times or go into the properties (n key) to move the vertex to a close position.
you can select the amount of time you have to wait for it, but in the end you still have to wait, right? Plus suppose you have to continuously move either close to or weld. you'd have to change the amount of time the cusror changes shape everytime.
I knew about the backface selection toggle, and it isn't the holy grail because things can still be just visible and wrongly selected. In your ear case, why not seperate the ear from the skull till you are done with it? with or without backfacing.
Or even seperate parts from the ear so you can keep working on a given area without worrying to screw up something you did earlier?
the fact that something could be welded wrongly because the place is crawling with vertex is imho a little a weak excuse. that can happen and is bound to happen with any kind of editing you do in a crowded area. from selecting/grabbing/scaling/rotating to whatever action.
the option to weld vertex on the same face isn't usefull either. suppose you want to optimise or quickly remove some vertex that you didn't need after all. suppose you tesselated som stuff then want to weld some vertex away.
The way you suggest this is that i create vertex and then connect them to create a face, so it isn't nessecary to remove vertex from that.
That is a way of modeling, continually adding faces, it's a way you see many professionals do I suppose. But blender isn't only for professionals
But there is also a way of box modeling which is take a cube, cut it, tesselate it and shape this to the end result. adding /removing faces or edges or vertex in the process.
In such a case both welds can be very handy. And they are to me. I used them a lot back then in max, and I've seen some people that like me are waiting for this to appear in blender.
3Dmax also has a feature which isn't the same, but similar to remove doubles: weld. select what you need to weld and if they are in close enough proximity(which is selectable) these things (edge/vertex etc) weld together. If they are in the same location, the location stays the same.
I used that to check if I had some rogue vertex somewhere. But ussually the lighting allready gives that away. Plus if you model "clean" you most probably won't have any doubles. the only time i'dd use that (in max) is to weld two mirrored objects together.
I like your approach, and the idea to use the tools that are allready provided, but in this case, these tools don't do what I want to achieve. They do something similar, but from my point of view cost a lot more time and/or is just more akward than a drag'n'drop.
Whether or not these target welds are usefull is completely a matter of personal taste and manner of workflow. Workflow's can be argued, personal taste can't. Well it wouldn't be a usefull conversation anyway...:D
Apollux
12-28-2005, 06:09 PM
@ FreakyDude
What I posted is a suggestion for a possible workflow. Currently there isn' t anything like that implemented in Blender... it is just an idea about how I would like it.
I used a 2 step approach, but it is in fact a 1 step aproach. The "Remove Doubles" takes care of all the merges at the same time. Consider it a final "commit changes" kind of command. Anyways, I see that for small operations it becomes an unnecesary step. The Double removal could happen instantly and the user could just UNDO if the result isn' t what he wanted.
When I talked about getting a vertex into the proximity of other vertex in screen space it obviously implies that when you do so in screen space, Blender uses that info and snap them "for real" in 3D space. So you don' t have to change camera or view.
About the only welding vertex that are already on the same face, we both agree that it would be counterproductive. That' s what I said on the previous post.
About the wait time: If you set it to let's say 1/4 of a second, that should be enough to let Blender decide between a purposely approach or a vertex just passing over another vertex while in transit to it' s final destination.
Bottom line is: A "welding mode" rather than a "welding command", so I can keep welding vertext without been constantly hitting hotkeys nor dismising confirmation popups.
LetterRip
12-28-2005, 06:20 PM
In your ear case, why not seperate the ear from the skull till you are done with it? with or without backfacing.
You can hide the rest of the mesh (select the ear, select inverse, HKEY alt-HKEY to reveal), is that what you want to do? Or you can do frustrum culling?
weld. select what you need to weld and if they are in close enough proximity(which is selectable) these things (edge/vertex etc) weld together. If they are in the same location, the location stays the same.
Could you explain how that differs from remove doubles that sounds exactly the same as far as I can tell.
LetterRip
FreakyDude
12-28-2005, 07:46 PM
hey tom, I was lucky enough to see the post before it was edited :cool:
to hide the mesh, that's nice to know, thank you.
It's not what i want to do, it was to illustrate something:
statement: universal welding is useless because you might weld the wrong vertex.
-my reply: well if you have a lot of vertex things can get messy, with any kind of modeling. I would detach the part I am working on so I won't accidently alter something I've allready finished.
I don't think it does differ. I used rem doubles a while back, I believe you also had to select what vertex to run rem doubles on. Same as with the normal weld option in max.
I brought this up to show that I hardly use weld/rem double, whereas i use target weld(any form) quite often.
I tried the last version of dragmerge I could find. > 04
the only new script i have is merge vertex to nearest. It works like this:
drag a vertex close to another one. select the script from the script menu, the moved vertex merges to the one it was moved close to.
What I like to see is this:
select the script target weld(target merge) from the script menu (or from space>edit>vertices>target merge,
get the options universal or safe merge,
drag with rmb, click lmb on a vertex to confirm the weld, while still being in target merge mode. If I need to exit, i click lmb button once again.
Or another way to end the "merge mode" but not having to keep selecting the script to merge a moved vertex.
to appolux:
we both agree with your bottom line, a welding mode, our ideas on the implementation are just different.
and yes, sorry i overlooked the screenspace point.
I was a little confused with when you move something in blender in screen space it uses the screen as it, let's say XY axis, but normally it doesn't move it in it's Z(let's call it depth) axis right? so on the screen it could look close to a vertex, but when you rotate the view it is still far away from the vertex you wanted to move it to.
Ehm, that was better known as 3D space, my bad. I forgot that the cursor does use the screenspace for a moment and you first snap the cursor, then merge at cursor. (well i heard that combo so often that i didn't think about it anymore, it wasn't what i was looking for so i didn't think about it anymore)
About the only welding vertex that are already on the same face, we both agree that it would be counterproductive.
I disagree with this being counterproductive. I find this an extremely usefull feature.
I DO agree with the bottomline. a welding mode. I like it to be on a one at a time vertex level.
CGTalk Moderation
12-28-2005, 07:46 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
vBulletin v3.0.5, Copyright ©2000-2013, Jelsoft Enterprises Ltd.