Jump to content

TorqueLab - Revamped Torque3D editor (under development)


Recommended Posts

  • Replies 91
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Thanks for the MeshRoad editor profile reference, I will have a look someday. For now, I'm trying to fix the quit crash that is happening since I moved to T3D 3.7... (More info: http://forums.torque3d.org/viewtopic.php?f=10&p=2289#p2289 )

I made some improvements to TorqueLab and have clean some files I kept during initial setup because I wasn't sure what they were. The tools base/ folder seem to contain some TGE relics... Once I figure my crash issue I would start working on a good demo which I will use to continue the development and I would share so anyone can have a try simply by getting the demo.

Link to comment
Share on other sites

hey Mud-H

just wanted to conratz you to the work you doing here, well done and thx for your efforts!

Thanks, that help me continuing to work on it instead of going back to work on my game. I really want to finish my work on TorqueLab because I have a past habit of not finishing my work...

Now I'm having a little issue which is annoying me when I try TorqueLab on the stock FullTemplate with no changes. The game crash on exit because of a GuiProfile error when onDeleteNotify happen. It crash when function:GuiControl::setControlProfile( GuiControlProfile *prof ) is called and I get the AssertFatal: AssertFatal( prof, "GuiControl::setControlProfile: invalid profile" );.

From what I understand onDeleteNotify is called on the GuiControls that are having the deleted profile set but should it happen when quitting the game? I will need to examine that deeper but I got enough with debugging my last error so I prefer to not worry about it for now. But maybe someone can provide me am explanation about why it's happening... Is there a way to disable the onDeleteNotify when the game is quitting?

Link to comment
Share on other sites

I made a new progress video about latest TorqueLab development. I have make a huge cleanup of the scripts and I have fix many issues to make it stable so I can start focusing on new features and real enhancements soon. I'm running out of time so I will let the video talk... I made it quickly just to share some of the latest progress but also the newly confirmed compatibility with UeberGame which will be use as a Demo for TorqueLab so anyone can give it a try with no effort...


(Sorry for not knowing where to click...)

Link to comment
Share on other sites

  • 2 weeks later...

A little update about TorqueLab development progress which have now entered the version 0.3 stage. There's no milestone plans really but I tought it deserved the promotion since it's getting quite stable and the major scripts cleanup is done. There's still some stuff to clean for sure but at least now I can start to work on little improvements and not worry about the system behind. In the last days, I have been working on Terrain Painter plugin enhancements since I'm experimenting with Terrain texturizing these days. I will make it short and you could watch the videos to have a better idea about the changes and improvements.

Here's a quick list of the improvements and changes:

Terrain Painter Layers Listing

  • Added parallax fields to the detailled view and created a new extended view which have a slider for parallax

  • Enhanced mixed view mode with auto collapsing unselected layers if set to ON and easy toggle between Detailled and Extended view


Terrain Automated Painter (a.k.a. Procedural Painter)

  • Changed the generation scripting so it handle the layer generation by step allowing to keep track of progress

  • Updated the paint layers steps pre-generation report which was still a tough experimental UI

  • Added simple copy/paste system to share values between layer steps.(Simple button which copy value from Painter clipboard or paste it into.

  • Added simple system to get the average height of the current paint brush. (ALT will store the average into Painter clipboard (Not the standard ClipBoard))

  • Added 4 clipboard memory variable. (CTRL + (1,2,3,4) will copy current brush avg. height and SHIFT + (1,2,3,4) will paste it in current field)(Weird but usefull in some case)


Terrain Material Manager

  • Fixed some issue which cause material to be overided with previous material

  • Reworked the Material Cloning system and use a Rollout in the material property area

  • Added system to detect if a Material is mapped to the TerrainMaterial diffuse, if so, it show the Material properties in an inspector inside a rollout so you can simply modify it without leaving the TerrainMaterial.

  • If no mapped material are found, you can create one for the active TerrainMaterial. The script will add the new material definition at start of the file containing the TerrainMaterial so it will always be loaded first.


Okay, that's it for the quick resumé... I made a quick video for each of those updates. (I'm still experimenting with PowerDirector video editor, so I put a lot of times in those videos, next will be more simple with less texts informations so I can save time...)

Terrain Painter Layers Listing Preview


Terrain Automated Painter Preview


Terrain Material Manager Preview


If you want to give it a try, the TorqueLab (development branch) Github repository have been updated and it should work for most setup. Integration have been simplified, simply delete the default tools folder and add the tools/ and tlab/ folder from TorqueLab repository.


Download TorqueLab Development branch ZIP

You still need to apply the few code changes else it will crash because of the GuiSwatchButtonCtrl gridBitmap issue. You can pull those changes into your code from there: https://github.com/NordikLab/Torque3D/tree/TorqueLab-3.7 .

Link to comment
Share on other sites

This looks really great Mud-H! Do you have any plans for PostFX settings or fog enhancements? I have a lot of trouble in those areas.

Thanks for your comment!

Yes, I do have plan for updating the PostFX manager. I might include it in the AmbientManager a bit like I did for

and it would also include a part to manage the fog in Mission. I'm not sure when I will work on those but they are quite high in my priority list.
Link to comment
Share on other sites

I have start to add Fog settings to the AmbientManager. I also updated the "SkySystem" that allow to simply switch between sky using ScatterSky and sky using Sun and SkyBox. You can also create a new SkySystem from the manager. This is rough Work In Progress, I will continue Wednesday and would post a new video here. For now, you can watch a quick video I made from today's work:

Link to comment
Share on other sites

Awesome stuff! I wonder what is different about the T3D fog system and the one the Cry Engine uses? That's kind of the look I'm trying to achieve but it seems that I can't quite get it. It must be a difference in the rendering engine?

I'm not really familliar with how FOG works on other engines but from what I remember when I was trying to get better FOG with T3D is that T3D system is quite basic and would need some enhancements to work like other modern FOG systems. Maybe someone else could define better how T3D FOG works and how it could be enhanced.

Link to comment
Share on other sites

Are you going to update the editor with the torque main line or are you going separately?

Are you going to create a simply plug and play tool to install this editor over the torque engine?

In my opinion the blue is a bit distracting. A dull color will be nice for the theme like close to black as in cryengine, or ps cc etc.

And for the fog i think there is some volumetric fog that is goind throw some optimization process.

Link to comment
Share on other sites

  • 4 weeks later...

It have been a while I haven't post updates. It's mostly because I have start to get back to my Torque projects and I adapt TorqueLab to them (while keep fixing bugs and issues).

Cannot wait to see it with PBR.

I might have a look at it soon but I haven't follow the progress about PBR feature much. Can you point me to latest ressource about PBR?


Are you going to update the editor with the torque main line or are you going separately?

Are you going to create a simply plug and play tool to install this editor over the torque engine?

I'm not sure what you mean. TorqueLab work as a stand alone T3D Game Editor and is not compatible with default T3D Editor. I'm planning to update it later so it can be run on side of default editor but for now, the default tools/ folder need to be removed.

The installation of TorqueLab is quite simple, delete tools/ folder, paste tools/ and tlab/ folder from the Git repository and you are almost ready to go... TorqueLab have few Source code changes requirement to prevent a crash issue (GuiSwatchButton have a bad coded mGridBitmap value which cause the engine to crash...), also there's some simple changes to provide extra features (Road/MeshRoad/River editor set/getSelectedNode for node manager, GlobalScale for ForestEditor brush tool, and more...). You can find all required informations on the GitHub page. (Some information might be out of date as now but in the following days I will review the informations and make sure everything is there).

In my opinion the blue is a bit distracting. A dull color will be nice for the theme like close to black as in cryengine, or ps cc etc.

I keep that in mind, I have start working on a styling system with a new more simple dark theme. I'm using CryEngine as reference for the new style already but it won't be a clone... (I want to avoid any color in it so the orangeish stuff will go).


Now, time for a little update of what have changed in TorqueLab. I won't give much details on everything now but I will try to make new preview videos soon to show the latest works.

So here some major updates I can think about:

  • The GuiEditor revamping have been starter

  • A new PostFxManager has been added

  • Ambient Manager has been updated and include a cloned PostFxManager

  • A new Vehicle Manager system has been add for my racing game development needs

  • Overall UI have been cleaned and a some unused profiles removed

  • Many bug fixes and general script enhancements


So here's a little preview of the revamping of the GuiEditor. It's mostly the default editor with a new skin for now but there's already a new feature which I found quite usefull: Field Duplicator. The Field Duplicator allow to select GuiControls fields from a list and then you can update the selected fields on the selected GuiControls by using a referenced GuiControl for the field values. EX: You can apply the profile of a selected reference GuiControl to all selected GuIControls at same time instead of having to select the profile for each GuiControl individually. It's quite usefull for profile, extent, horiz/vertSizing, docking...

You can see it in action in the new video I have published: (I suggest to watch it from youtube page because you can't make it fullscreen from here...



Now I will try to update the GitHub informations with appropriate instruction and files for the new TorqueLab v0.4 Alpha version. I will post a GitHub updated confirmation once everything is ready, until that, you should still be able to test it using the development branch but something might be missing...


Link to comment
Share on other sites

I have updated the GitHub page with up-to-date information. I have commit latest changes to master and development branches,you should always use the master for best stability but the development is also stable in general and might contains some experimental features,

If anyone give it a try, I'd like to know how it went with the installation. For those not very familiar with Git, I will add detailled informations about how to set TorqueLab to update simply using GIT during the week.

TorqueLab on GitHub

TorqueLab Installation Page

TorqueLab Source Code Changes

Link to comment
Share on other sites

  • 2 months later...

Wow! Already 2 months since last update. Time fly fast...

Don't worry, TorqueLab isn't dead and it have progressed during those 2 months. A lot of new features have been added but they are not polished and it need a major clean up to achieved a releasable status. For that reason, I decided to start focusing on a next v0.5 release and stop adding new stuff (I don't think I can just stop but I will try to slow down...).

First step is to clean up the UI and make it look uniform with a more basic dark theme. Today, I started working on a new theme inspired mostly by CryEngine Editors but also some others like Shiva, LevelEditor and more... Now that I'm in control of most of the editor scripts, I can start experiment with different layout. Today, I added a Left column in which I have put a Scene Objects tree and inspector (like the standard Scene Editor). My goal is to replace the Scene Editor with it and make it work with all plugins using filters to list appropriate objects. Also, my goal is to add a tab page which would serve as an asset browser allowing to drag n drop models in the scene and textures on Material Editor maps for the first phase. If it work, I guess I will find more uses...

I made a quick preview video of current status. It show few of the new features that have been added during the last 2 months, for the others, I need to fix the UI so they look better.

What's in the video?

  • Start of new Dark theme

  • Start of new layout with collapsable left column

  • Preset system for the Visibility layers

  • NavMesh Editor intergration

  • Automatic material texture map update if maps are found using predefined suffixes

  • New Scene Builder plugin to make it easier to add new TSStatic objects and prefabs

  • Force to grid features (Automatic on drag end or manually with a button for selected objects)


Ok enough for now, I will try to polish it so I can set a up-to-date release for those willing to try it. For now, there's no new release so to test what you see in the video, you need to wait a bit...

If you have any suggestions for TorqueLab, you are welcomed to share them with me and I will see what I can do.

Link to comment
Share on other sites

Some features look promising, especially the drag and drop function would be cool, but I'm really losing the overview of all those features.

Do you keep notes on what you changed and how it's intended to work? I don't expect a full detailed documentation, but you have to consider, that others may find it hard to get used to new features, new layouts and changes, so a basic guide would help a lot.

Link to comment
Share on other sites

Yeah, I fully understand but I have a time issue... As now, I have nothing documented, I started something a while back but never found the time to extend the document. My current priority is to make the editor stable and adapted to my projects needs. TorqueLab is now quite stable and it's why I decided to start moving forward to v0.5. (That doesn't mean much like that but It's a major step from my point of view). I will try to start documenting the new/changed features soon and also tell a bit about my future plans.

For now, I need to finish the scripts cleanup and make a uniform UI layout, after that I should be able to focus on a possible Public release with a basic guides to help the transition from the standard editors for those willing to take the risk :twisted:

It take a lot longer than anticipated, at start I tought it would have been done in 1 month or so... I'm really bad in estimating development time but TorqueLab is a lot more complex than what I had in mind at start.

And your feedback and suggestion are always welcomed. I started watching videos about CryEngine editors and it's giving me a lot of ideas for the future.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   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...