Leadwerks 3: Editor features and workflow enhancements

Published May 22, 2013
Advertisement
[color=rgb(0,0,0)][font=arial]This update to Leadwerks 3 brings the addition of lightmapping across curved surfaces with smooth groups. The image below is a set of lightmapped CSG brushes, not mesh lighting. You can read a detailed account of our implementation of this feature [/font][/color]here[color=rgb(0,0,0)][font=arial].[/font][/color]

blogentry-1-0-89405400-1369109633_thumb.jpg

[color=rgb(0,0,0)][font=arial]The project manager now includes an "Update" button, so you can easily update your project any time we modify files in the template folders. Although we tested with no problems, it is recommended you back up your project before using this feature. The editor will make a copy of any overwritten files, as an added precaution.[/font][/color]

blogentry-1-0-09492400-1369110424_thumb.jpg

[color=rgb(0,0,0)][font=arial]You've now got full control over all the features and settings in the Leadwerks editor, through the new Options dialog. This gives you control over various program behaviors and settings. You can toggle grid snapping, control the snap angle, and lots of other stuff.[/font][/color]

blogentry-1-0-37868400-1369107369_thumb.jpg

[color=rgb(0,0,0)][font=arial]As we use the editor more and hear about the community's experience, it allows us to refine our tools more. One of the more subtle but we made is in the properties editor. One of the annoyances I experienced was when setting a property like mass or position when an entire hierarchy of entities was selected. Obviously I didn't want to set the mass for every single bone in a character, but how to tell the editor that? I went through all the properties, and for ones that the user is unlikely to want set, I made the following rule: If the entity has a selected parent anywhere in the hierarchy, it gets ignored when properties are retrieved and applied. (Other things like color will still work uniformily.) Just try it, and you'll see. It speeds up editing dramatically.[/font][/color]

[color=rgb(0,0,0)][font=arial]In a similar vein, we finally solved the problem of "too many selection widgets", We only display the top-most control widget for each group of selected objects. Again, it's easier for you to just try it and see than for me to explain in detail. If we did our job right, you might not even notice because the editor will just do what you want without any thought.[/font][/color]

[color=rgb(0,0,0)][font=arial]You've also got control over the color scheme, and can use it to customize the look and feel of the 3D viewports and code editor.[/font][/color]

blogentry-1-0-22146600-1369107531_thumb.jpg

[color=rgb(0,0,0)][font=arial]On Windows we fixed an annoyance that triggered menu shortcuts when the user tried to copy and paste in text fields. This tended to happen in the properties editor. We're working to resolve the same issue in the Cocoa UI for Mac.[/font][/color]

[color=rgb(0,0,0)][font=arial]I'm a big fan of the 3ds max Max Script system, so in the output panel we've added a real-time Lua console:[/font][/color]
blogentry-1-0-00636400-1369180649_thumb.png

[color=rgb(0,0,0)][font=arial]You can type Lua commands in and interact with Leadwerks in real-time. Just for fun, try pasting in this line of code and see what happens:[/font][/color]
[color=rgb(0,0,136)]for[/color] i[color=rgb(102,102,0)]=[/color][color=rgb(0,102,102)]0[/color][color=rgb(102,102,0)],[/color][color=rgb(0,102,102)]10[/color] [color=rgb(0,0,136)]do[/color] a [color=rgb(102,102,0)]=[/color] Model[color=rgb(102,102,0)]:[/color]Box[color=rgb(102,102,0)]();[/color] a[color=rgb(102,102,0)]:[/color]SetColor[color=rgb(102,102,0)]([/color]math[color=rgb(102,102,0)].[/color]random[color=rgb(102,102,0)]([/color][color=rgb(0,102,102)]0[/color][color=rgb(102,102,0)],[/color][color=rgb(0,102,102)]1[/color][color=rgb(102,102,0)]),[/color]math[color=rgb(102,102,0)].[/color]random[color=rgb(102,102,0)]([/color][color=rgb(0,102,102)]0[/color][color=rgb(102,102,0)],[/color][color=rgb(0,102,102)]1[/color][color=rgb(102,102,0)]),[/color]math[color=rgb(102,102,0)].[/color]random[color=rgb(102,102,0)]([/color][color=rgb(0,102,102)]0[/color][color=rgb(102,102,0)],[/color][color=rgb(0,102,102)]1[/color][color=rgb(102,102,0)]));[/color] a[color=rgb(102,102,0)]:[/color]SetPosition[color=rgb(102,102,0)]([/color]i[color=rgb(102,102,0)]*[/color][color=rgb(0,102,102)]2[/color][color=rgb(102,102,0)],[/color][color=rgb(0,102,102)]0[/color][color=rgb(102,102,0)],[/color][color=rgb(0,102,102)]0[/color][color=rgb(102,102,0)]);[/color] [color=rgb(0,0,136)]end[/color]
[color=rgb(0,0,0)][font=arial]You can't create objects the editor will recognize (yet), but it's fun to play with and should give you an idea of where we're going with the editor.[/font][/color]

[color=rgb(0,0,0)][font=arial]This is an important update that includes new features and enhancements that improve usability and workflow. Thank you for your feedback. It's great to see all the activity that is taking place as people learn Leadwerks 3.[/font][/color]
4 likes 3 comments

Comments

Jason Z

I am quite impressed with your toolset. May I ask what technology you use for your editors / tools? I'm not in the market for purchasing an engine, but I would like to add some editor functionality to my own engine. I have some bindings to MFC, but it doesn't seem to scale very well (or at least I don't know how to make it scale up...).

May 24, 2013 01:45 PM
Josh Klint

We use MFC on Windows and Cocoa on Mac. It's difficult, but you end up with a windowed application that actually looks like it belongs on the operating system it's running on. I prefer this much more than home-made GUIs. The text editor uses Scintilla.

May 29, 2013 03:37 PM
Jason Z

Nice - thanks for the information!

May 30, 2013 10:40 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement