News | Forum | People | FAQ | Links | Search | Register | Log in
Microbrush 3 3D Modeler
Hello! :)

One of my hobby projects is a little 3D modeler/level editor for brush-based engines such as Quake or Source. I originally started working on it because I was really annoyed by how long it took to make basic brushwork in Valve's Hammer. Some inspiration for it stems from the Radiant series of level editors.

It requires Win7 or higher to run and renders its stuff with OpenGL 3.3. If your graphics driver is up to date, it should work. It's portable, so it just needs to be unzipped and can then be used from the target folder.

Project page: http://shrinker.seriouszone.com/projects/IterationX/Microbrush3/
After unzipping, run "First start and tasty fresh cookies!.bat" and follow the instructions. For a reference of the configured shortcuts, have a look at the config.cfg file.

Here I've recorded myself building some random stuff with it: https://www.youtube.com/watch?v=wjjB8MLjvJ4

This is a Twitter account to go with it: https://twitter.com/shrinker42

At the moment, the focus is almost exclusively on brush work. The editor can't process texture or entity information yet, so please don't resave an existing world with it unless you want to get rid of all textures and entities. :)

It supports loading and saving
- its own textual or binary formats
- Half-Life 1 .map files
- Half-Life 2 .vmf files
- Quake 3 .map files

Additionally, you can run an export in its textual format with computed data (such as polygons) included, or export the same data as a Wavefront .obj file.

Pretty much all the business logic in the editor is written down in plugin code that's compiled in the setup stage. To look under the hood, check out datasourcesplugins.
The grid supports being skewed/rotated or configured to display ellipses instead of parallel lines. The respective shader and also the shader used to color the brushes can be seen in datashaders.

Hope this is useful to some. :)

Edit: updated URL
First | Previous | Next | Last
Well That's Good News. 
I saw at least one person asking about an undo feature. 
I Hope It Won't Crash Like Mad. It Doesn't For Me. 
The new version (Microbrush-3-wip-2015-11-24.zip) with undo/redo support (ctrl+z, ctrl+y) is now available at http://shrinker.beyond-veils.de/projects/IterationX/Microbrush3/
Seems Stable ^_^ 
I gave it a quick 30 minute test installing it in WINE, making basic blocks and undo/redoing a lot.

Also updated my Steam post in your group with the updated URL, zip name and a few very basic notes for those maybe not as familiar with WINE. 
Wine 
I'm on holiday at the moment. I'll try again when i get home ^_^ 
 
Hm, the WINE guide should be independent of the zip name. It changes on every release. :)

I've fiddled with the shortcuts a little, so F10 brings up the horizontal version of the toolbar in future, and Ctrl+O brings up the load mb3txt/mb3dat dialog then. The remaining load/save/export dialogs are now bindable, too (all in the next version).

The next thing I'm working on now is listing the shortcuts in the help texts. That'd be good for learning the shortcuts, and it's on my todo list for ages already. 
Yeah I Agree 
I won't be doing it again since I added basic notes addressing name changes. ^_^

I did get it to crash for me once in another 30 minutes session I had with it. Didn't look to hard at the crash though since it was late. 
 
Oh!

Were you told by the editor that a plugin was unloaded, and then the editor continued to run, or was it a hard crash that made it stop entirely?

Did the crash occur during undo/redo or shortly after, or was it something entirely else?

Can you repro the crash? That'd be very valuable for me. :) 
It Was A Hard Crash 
I believe it was a Windows (WINE) program illegal operation or Unhandled exception crash followed by a memory dump. It was very late and didn't look into it further.

When I have time I'll try to make it crash again and keep the memory dump to show you. 
Oh And... 
I remember it happening after something other than undo/redo. I have some experience with Blender and Trenchbroom's GUI, but since I have little experience with your program I was trying different things along with messing with the gui trying to get a feel for it. It crashed in there somewhere. 
 
Hmpf. Yes, if you can, an explanation of which work steps cause that hard crash would be nice. I have no infrastructure in place to process memory dumps. :) 
 
No dice? 
 
Upcoming changes: The log becomes much more talkative.
http://shrinker.beyond-veils.de/temp15f/2015-12-06%20Mb3%20logging.png 
Finally 
xaGe, you might be M.I.A., but I've just fixed a crash when closing a world or the editor that was definitely related to the new undo/redo system. And it was nicely difficult to track down. Chances are high it was your crash too. Time for a new release. 
I Feel So Alone In My Thread 
Ctrl+F5 on http://shrinker.beyond-veils.de/projects/IterationX/Microbrush3/ to see the new version (2015-12-08).
Changes:
* Fixed an undo/redo-related crash when closing a world or the editor
* Added logging for the modeling tools - you now get live feedback on deltas, dimensions, counts, etc.
* Extended the help system (comes up when you press F1 while hovering over a window, then rightclick on something) to display relevant currently bound shortcuts (main menu and Mb3 tools)
* Deleting the selection set 1/2 is now properly undoable
* Help messages and error messages are now displayed in the log even if the respective plugin is deactivated in the log
* Modal tools are now canceled by nonmodal tools, too (e.g. making a box is canceled when deleting the selection)
* The main menu now has a button explaining the not so obvious window controls
* For better performance, the brush shader is now reused when a world is closed and then a new world created or opened
* Extended the FAQ a bit
* Bound opening a .mb3txt file to Ctrl+O (you can change that stuff in config.cfg)
* Bound opening the toolbar to F10 (horizontal) and Shift+F10 (vertical) 
YUP, Must Be It... 
"fixed a crash when closing a world"

I can duplicate the crash when closing worlds in WINE & Windows 10 pretty consistently, so most likely that was it.


MIA: Yeah I've been sick last few weeks.


I still haven't used Microbrush3 too much other than getting it to install/run in WINE. I do try each update you come up with to make sure its still working in WINE for those who need it. It's interesting and reminds me a bit of Trenchbroom. 
 
Planning for texture support now.
This is gonna be a very complex change.
:I 
Good Luck! 
 
Move 
My host, beyond-veils.de, will shut down soon.

I'm moving to http://shrinker.seriouszone.com/ 
Updated Thread ^^^^ 
 
 
Merci.

I've conceptualized how I could do textures from a technical point of view.

The current plan is for the editor's config to point at a texture folder filled with an index file and images. The index would map texture names to image file names. I don't intend to connect directly to pak files or wad files or anything, could think of a separate extraction process later on.

The geometry data that Microbrush "thinks" with will get named properties for the planes; Texturing will be realized using a named string property for the material name and a named UV property for the UV settings. I'm making it so that if needed, I could edit other plane properties using the same system later on, or even have different skins with different UV maps. And if it works out, I can add a named numeric property just the same to represent the lightmap of a brush face scale in Source, for instance.

I've already thought of some plugin API functions I'll need to build a surface inspector. I don't plan to introduce a concept of "selected brush faces", but rather opt to do raycasts in 3D to read and write material properties. This does not imply that any change to a texture or UV would need a manual click -- I can just repeat a raycast from plugin code, after all. But before I can really put effort into the usability of such a tool, I need to do my technology homework.

Oh, and I'm kinda leaning toward leaving what one would otherwise use caulk in Q3 and nodraw in HL2 for completely untextured. The conversion to the target map format could autotexture such "technical back faces", and maybe I could even make it possible to augment an exported .obj file with texture and UV information, and optionally discard untextured faces.
So many things that could be done... 
Playing With The Shader 
Playing With The Shader Turned Into Different Render Modes 
Figures I will need different ways of displaying things when I want to display textures, so I might as well add a few other things I thought of. I hope the black wireframe is good enough... because it's a fake wireframe mode done in the shader on the brush surfaces.

http://www.youtube.com/watch?v=rJRFM-SchYY 
Luckily These Icons Are Simple To Draw 
 
Adding a means to quickly arrange the views of a world in useful layouts.
https://pbs.twimg.com/media/CaiKBM7WAAAaaUd.jpg:orig 
 
... of course it became yet another toolbar!
https://pbs.twimg.com/media/Cas-CzaWAAAla3S.jpg:orig 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.