Game Engine Forum - Grit

Grit Map Editor
Page 5 of 5

Author:  HeadClot [ Fri Jun 05, 2015 11:54 pm ]
Post subject:  Re: Grit Level Editor

Just thought I would share this - But why not Fabric engine as a basis for the level editor?

It is cross-platform (Windows, MacOSX, and Linux) and Cross DCC (Maya, Max, Modo, etc.). I think It would be rather useful and it is free last I checked. Just apply for a license or two.

I personally would look into it. :)

Here is a White paper on it. ... abric1.pdf


As for buildings - I think that "visual editors" should be looked into for rapidly making the world.

UE4 Example

AC:Unity Building placing tool - Skip to 5m36s


Foliage placement - I personally think procedural foliage placement would be awesome in grit.

Destruction - Look into Alembic support for Grit. This might be the best and most performance saving thing for the engine.

UI - It would be awesome to have some form of visual UI tool similar to that of Unreal Motion Graphics. (UMG)

Author:  Augusto Moura [ Sat Jun 06, 2015 3:26 am ]
Post subject:  Re: Grit Level Editor

These building tools aren't so hard to implement, just needs a spline and then place objects around it, but of course there is some calculus on it, taking into consideration building sizes, spline node angle and so on. But it is just an additional tool for object placement, anyone can do it if the editor allow 3d splines editing (also useful for a lot of other things that uses paths)

The UI idea is pretty cool, in some way is easy to implement (something like Torque3d HUD editor), just the animation part would be a little bit hard to design and implement (maybe not :P)

Author:  Augusto Moura [ Sat Jul 11, 2015 6:30 am ]
Post subject:  Re: Grit Level Editor

Just for not overlooking ideas and to share with people outside of the IRC, here are some random ideas:

* DaBeast^ gave the idea to build a brush tool
* I did something to add objects to the map on surfaces, useful to place vegetation on terrains, but isn't finished, also i need to build more GUI classes
* Paint terrain would be cool to do inside the editor, but is not that easy
* An object editor that you right click on the object class and select Edit, inside Content Browser, it hide the editor interface create an object on the scene, hide the sky and set a color to the background, center the camera around the object so you can rotate around, and create a window where you can preview animation, reload resources and more. (useful when creating new content)
* I need to build an interface to the debug mode (I would have to do it a long time, but i don't know why i didn't :P), so you can select debug weapons and configure them and more

sorry if i forgot something

Author:  Augusto Moura [ Sat Jul 11, 2015 10:07 am ]
Post subject:  Re: Grit Level Editor

I was implementing Recast/Detour wrapper for Grit, and sometime i found a little problem with the current editor map format and how Grit works

The navmesh needs to be loaded in some specific cases, when is close to the camera (the player), when an enemy that you are pursuing is running away (when is not so far away, otherwise you just need path nodes), and when you enter
inside a building for example. Also some navmeshes are needed to populate the world with NPCs, so different areas need the navmesh loaded and running and others don't.

In order to get it fully working, i thought that first i need to finish some other things first..

The editor is not following Grit biggest advantage from other open source/free game engines, being an open world game engine.

So, these there is a list of considerations:

* The current map editor map is just a list of few data and a list of 'object "objectpath+name" (pos) {}' and it almost work as a simple small map struct.

* Talking with Brian, he said something about sLOD, a kind of LOD, that comprise a lot of different objects in the map, that in some distance, are replaced by a big lowpoly
mesh that represent all of them.

* I was thinking about a good way to use objects on the scene without loading them when unecessary, e.g:

You have a big map, with a lot of houses, buildings, different areas, that contains small objects inside them. In Grit, right now, in some way you can just add these objects as you wish, because they
are not loaded when are not too close to the camera, so i think that it's just a little data on the memory to store its position and LOD distance and nothin more...
But, think about this: if you have a house, with a lot of objects inside of it, that you dont need to see if you don't trigger anything, for example entering inside of it, so, why keep checking they
distance from the camera if you don't need do it?

My idea is to use a hierarchy, you create a house inside the editor, and then you add some objects to the scene and then parent them to the house, just dragging the object on a object list window,
and when you add some object and select the house as a parent a property appears on the house property window, that you can configure when the child objects needs to be loaded (using a trigger (you define on trigger properties), or when the camera is in an specific distance from the house)
It is also useful when editting inside the editor, so you can drag the house and it move all the childs at once.

* My proposal for the editor map is, keep the current "Grit Level" just renaming it to "Grit Map" and keeping it for small maps, and create a new one called "World", that may be used for huge maps for open world games. The "world" is divided by blocks, where inside the editor you can select what block you want to edit, edit it with all other blocks streaming or just the current block.

How it works while playing/editing
* Would be cool to export blocks from a 3d modeler, in the new format, so you just need to make adjusts and finish the block inside the editor.

* I want to add some custom properties to be added to the object, e.g. adding an object property that set a custom colour on different instances on the map.

Some ideas gathered, so..:

The new structure would be something like this: (please read all the comments)

Main map file:

Block file:

these are just ideas, so..

please give your opinions/suggestions

Thank You :)

Author:  Augusto Moura [ Sun Jul 26, 2015 2:07 am ]
Post subject:  Re: Grit Level Editor

I'm redoing a lot of things in the editor, i will commit all of them at once

Author:  Augusto Moura [ Fri Aug 14, 2015 4:08 am ]
Post subject:  Re: Grit Level Editor

This is not a stable update, not even useful, but:

* GUI:
- The editor now works with tabs, so you can develop your own tool and add it to the editor pretty easily.
- More easy to build interfaces
- Moved GUI stuff to /common/gui

* Content browser:
- Now you can drag and drop the object to the scene.
- You can drop the icon inside the window to cancel.
- If you drag out of the window it puts the object on the top of a superficie, and you can move it until you get the proper position.
- Right Click on the object icon and select edit object to "edit" it. (for now it is only visualization)

* W.I.P. Navigation Editor (last icon on left toolbar):
- Will be used to set and build and test navigation meshes

* Some "better" icons

* Config:
- Added a checkbox to load a default map on editor startup (disabled by default)

* Editing:
- You can hold shift and click to select multiple objects (for now just translate works properly)
- "widget_manager.grid_size" a w.i.p. snap to grid

* Other:
- Open/save file dialog can be used for other purposes

AND THE BEST.....: :Aw:

* A lot of bugs and disabled stuff :facepalm:

Author:  Augusto Moura [ Wed Feb 17, 2016 1:49 am ]
Post subject:  Re: Grit Map Editor

I'm sure I already see this before, but didn't realized it can be used for a road tool and so on: ... /wiki/Home

Author:  Spark [ Fri Feb 19, 2016 3:55 pm ]
Post subject:  Re: Grit Map Editor

It's difficult to decide what should be done in the modeller and what should be done in the engine.

Some obvious guidelines though:

In the modeller:
* If it's something modellers already do very well e.g. working with polygon geometry, uv mapping, painting vertexes, lining up objects vertex-perfect, skeletal skinning / animation, etc.

In the engine:
* If it can only be done with feedback from the real renderer with all of its lighting, HDR post effects, Lua scripting, and so on. Good examples: env cycle, env cube baking, HUD work, tuning vehicles, height map texture blending, lights placement, etc.
* If it needs to be done within the streaming model, i.e. you need the full map loaded for some reason.
* If it's so specialist that modellers do not support it. We don't want to have to add it to every modeller, but we could add it to the engine. Good examples: Modifying meshes for good shadows. Specialized tangent generation.

There is a 3rd category which is an offline tool. Currently we have GritXMLConverter which is OgreXMLConverter with a few tweaks. However it could be extended. It could also be integrated into the engine, if we don't worry about start-up times for the tool (or fix that somehow).

I'm not sure whether roads fit into the former category.

Author:  Augusto Moura [ Sat Feb 20, 2016 12:03 am ]
Post subject:  Re: Grit Map Editor

Would be great to have a converter for fbx for example, drag and drop it into the editor and it converts to .mesh, so we don't need any tool or plugin for 3ds max or Blender, and also you can use Maya or any other program that supports fbx

About the road tool, i think that it's useful only on the editor, because you can move objects in the scene and edit the road in realtime, just adjusting nodes, that is boring using a 3d modeler. But of course, that is for a distant future, unless someone else does it before (it's not so easy even that it uses Ogre, it needs some collision tweaks to work properly on Grit [i'm not really interested on this feature :P ])

Author:  Spark [ Sat Feb 20, 2016 4:50 pm ]
Post subject:  Re: Grit Map Editor

Ideally people would be working on the modellers and making them really good for things like roads, in a way that would be useful for all game engines. I'm not sure if that's actually happening, but that is what *should* be happening.

Author:  Augusto Moura [ Sat Nov 19, 2016 5:59 pm ]
Post subject:  Re: Grit Map Editor

A hack for selecting meshes: ... engl-hack/

This idea render objects using its ID as colour, and then we take the pixel colour from framebuffer on mouse cursor position and convert it back to an ID, this should work for animated meshes and can also work with fully transparent textures fragments

I think in this case it is way easier and more effective than other complex approaches

But same problem as the lens flare occlusion..

Page 5 of 5 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group