Jump to content
  • entries
    945
  • comments
    5,899
  • views
    930,140

Brushing Up on CSG


Josh

2,500 views

 Share

I feel like I've resolved the design challenges I was facing in my last blog. A menu item is always checked, specifying what the current object is that will be created when the user clicks on a viewport. There are two types of objects that can be created, brushes and entities. Brushes are constructive solid geometry objects that can be sketched out to quickly design a building. Entities are created at a point in space, and include lights, sounds, and particle emitters. As I have described it, this is pretty much identical to the 3D World Studio workflow.

 

Models in the Asset Browser are another thing. This is where the Leadwerks3D editor is very different from 3D World Studio. Models can be dragged into the scene from the Asset Browser, in either the 3D or 2D viewports.

 

In the 3D viewport, we will have position/rotation/scale control similar to that found in Leadwerks Editor, the editor for Leadwerks Engine 2. We will improve this with a button to toggle between global and local space. Since 3D World Studio has no 3D editing mode, this can be implemented without interfering with our powerful classic CSG workflow.

 

blogentry-1-0-69728000-1331781983_thumb.jpg

 

I think the design I have laid out here will be simple enough to figure out without reading a manual, require the fewest number of mouse clicks possible, and most of all feel natural and fun to use, a quality that I think modern modeling applications have largely lost.

 Share

3 Comments


Recommended Comments

So i can drag a highpoly car model into the scene and build a simple version with CSG from it to be used as physics collider or AI obstacle ? - i currently have to convert my Le SDK models to a 3D world studio format or use a bbox to do that.

Link to comment

@fladrache, yes. :D

 

@rick, maybe. The problem is if a model is rotated, so that its axes don't align to the world axes (even if they are swapped), scaling the model would result in a sheared matrix. Our math routines continually enforce an orthogonal matrix, to ensure that floating point errors don't add up over time and start skewing your entities.

povmatr3.gif

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...