Jump to content

TorqueLab - Revamped Torque3D editor (under development)


Recommended Posts

  • Replies 92
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Just make notes while you change or implement something, you don't need to write a full documentation, maybe someone else will help out with it, but people need to know where to start.

I totally agree and I will try to start keeping track of the changes. I will setup a new Wiki and start adding some informations about TorqueLab.

 

Just watched the vid, and wanted to say:<3
Wow, yeah, I'm sorry to say I hadn't really followed this thread before even though I saw it come up, but great work on this! Very impressed. Looking forward to using it.

Thanks for your comments, it's really appreciated and help me getting the motivation to make it available to others ASAP

Link to post
Share on other sites

No problem, really glad to see somebody taking on the GUI layer! In particular I really like your customizable toolbars, and the window docking, etc, these are things that I've wished Torque had FOREVER. If there aren't any major problems with it I see no reason not to switch right over and never look back. Thanks again for all the hard work!

Link to post
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.

 

This is my feedback. You have made the Torque 3D editor into a real beast :D The amount of work you have put into this must have been huge. All the many features and the design of the editor is a real damn done job :mrgreen:


I shall fir sure test it out soon.

Link to post
Share on other sites

Why isn't this the default editor already?


Great job man!


I have one suggestion:


Sketch tool; Be able to move vertexs independably, be able to control size and rotation numerically, be able to make it (or not) collide or be renderable, be able to move pivot point.

Link to post
Share on other sites
Why isn't this the default editor already?

As Duion said, it's not ready for public release. There's no documentations and I prefer to avoid spending time fixing the differents issues user found. I will try to set a new alpha release next week for those curious about it but the support would be limited...


Also, my goal isn't really to make it become the default T3D editor but to offer a good replacement. I will have nothing against making it default if I'm asked but I'm worried that my scripting style is not the same as default editor scripting. Anyway, once everything is cleaned I will be less worried so only god know for now...

 

Sketch tool; Be able to move vertexs independably, be able to control size and rotation numerically, be able to make it (or not) collide or be renderable, be able to move pivot point.

Well I had a quick look about how the current ConvexEditor(SketchTool) work and I don't think it's close of allowing something like that. I'm really not skilled enough in C++ and object manipulation to consider making a full featured sketch tool but if someone get something working, I will be pleased to include it.

Link to post
Share on other sites

Today, I have improved my initial "SideBar" File browser and universal Scene Objects Tree. As is it now, It's not really a new features, the File Browser work mostly like the SceneEditor "Meshes" creator tab and the Scene Objects Tree is a replacement of the Scene Editor Tree. Why making replacements? I wanted to have access to those features from other plugins without having to duplicate them individually. This make the default SceneEditor useless since the Scene tree also have it own inspector, I'm not fully decided about where I'm going with that, I'm thinking about making the new side inspector an universal inspector for all plugins. There's no need for each plugins to have their own inspector since they are never used at same time.

The only concern I have with that system for now, is that after all those years, it's weird to have the inspector and scene tree on the left. Later, I will define differents layout to choose from and I'd like to develop a good drag and dropping system for the different UI parts (Similar to 3ds Max, Substance designer and many other tools.

So I made a new video showing the progress made on the sidebar and it also show some general UI uniformization progress with a new more simple Dark theme.

ab_OoSAUdVg

As always, your feedbacks/suggestions are welcome! Also, I will try to get a new alpha release available for those willing to give it a try next Thursday.


Help requested:

I have try to make the meshes drag and drop to add the mesh into the scene at cursor position but I haven't been able to get good enough result. I tried using the EditTSControl::unproject(Point3F Screenposition) but I don't understand what's the depth (z) parameter for the screen position. I got no time really to search more about it but maybe someone can help me and tell me how to get a good world position from the cursor position. :)

Link to post
Share on other sites
we need a gui shader authoring solution

And what that do exactly? :) I haven't do anything about shaders yet but it's in my plan to examine what could be done. I find it hard as now to figure what shaders can be used and how to use them... There's the PostFX manager with few PostFX shaders options, I'm planning to update it and add some good PostFX shaders ressources like the outliner/silouhette shader I used for Boost!.

So can you explained better about what a gui shader authoring solution would do? Is it a GUI to deal with Shader authoring?if so, I still need some explanation to what Shader Authoring is... :oops:

Link to post
Share on other sites

I have just updated the repository to allow anyone to give a try to current TorqueLab version. Please keep in mind that it's still an early release and it's not fully optimized or bug free. My goal is to make the v0.5 version the first "serious" release with optimized scripts and clean UI. Also, there's no documentation for now but I started to work on something and I will make it available as soon as I fell it's a good enough. So for now, it's "use as it and at your risk.You shouldn't worry to much but I recommend making a backup of your levels (even if I never corrupted my level files with it).


The installation is very simple and does not required any changes in your script so if you want to try it and keep the default editors ready in case you need them, just rename the tools folder to something else and you would only need to delete the TorqueLab tlab and tools folder, then renaming the default editor folder to tools and your project will be back with the default editor.


Where to get the files?

GitHub TorqueLab page: https://github.com/NordikLab/TorqueLab

There's 3 branches: master, develop and live-dev. For now they are all the same but the master will always be the safer to use.

  • master -> Latest stable branch

  • develop -> Latest features untested

  • live-dev -> Current status of my working version (Not recommended since sometime I could make a commit of a bugged version so I can debug it

 

How I install it?

Visit: https://github.com/NordikLab/TorqueLab/wiki/Installation

To resume it:

Script side:

Get the files, delete the default editor tools/ folder, add the TorqueLab tlab/ and tools/ folder.

Source code changes:

You need to apply some minor code changes and recompile your project

  • Use the patch provided in root (TorqueLab_T3D_3_8_v1.diff(Same as .patch, could be renamed to .patch if it make you feel better)

-----------------------------------------------------------------------------------------------

If anyone try it, I'd like to know how it goes, maybe I have missed something. If you feel there's some information missing for the installation process, let me know and I will update it.

Again, it's not an "official" release, I have just make my current version available. There's some incomplete features and some issues that need to be fixed left in there, use at your own risk and backup your files to be safe... I will keep improving it and try to make a bug free master branch tomorrow.

Link to post
Share on other sites

I have packed a pre-compiled demo of TorqueLab for those who are just curious to try it but prefer to wait for an official release to add it into their projects.

 

Simply extract them anywhere and launch with TorqueLabDemo.exe. To use TorqueLab simply press F11 from in-game (Launch editor directly FullTemplate options not tested).


You will notice it take a while to load the first time, it's because by default TorqueLab scripts are loaded only the first time F11 is pressed, there's a other ways to load it and they will be listed in the incoming documentation. So don't panic if it's seem to freeze when launching the editor, it just loading the "un-optimized" scripts.

What take long is that some .gui files have generated data that were saved when I saved the .gui and most of them are irrevelant to the current loaded levels causing T3D to make useless checks. (Rough explanation) I have now added a presave check system that check for a presave method for the GUI torque is about to save and I add cleanup script in there but very few Gui have it implemented. Some (2) of the .gui included have more than 30 000 lines, I will make sure those are fixed in next release...

Link to post
Share on other sites
we need a gui shader authoring solution

And what that do exactly? :) I haven't do anything about shaders yet but it's in my plan to examine what could be done. I find it hard as now to figure what shaders can be used and how to use them... There's the PostFX manager with few PostFX shaders options, I'm planning to update it and add some good PostFX shaders ressources like the outliner/silouhette shader I used for Boost!.

So can you explained better about what a gui shader authoring solution would do? Is it a GUI to deal with Shader authoring?if so, I still need some explanation to what Shader Authoring is... :oops:

 

Shader authoring is basically just creating shaders, but what i mean would be to have simple shader tools like most engines do nowadays,


Shader tools are what i call simple shaders that do basic functions but can easily join together to create different effects like for example a downsample shader, just takes a value in to itself and downsamples the rendered scene and then outputs the downsample to be multiplied to the scene, a multiply shader multiplies the entire effects output to the scene u know what i mean?


Torque can already load shaders in a way that they happen in stages much like if you check out the hdr.cs file u see the output gets fed into the next shader each time until the last shader is called. A gui shader authoring tool would generate the cs file for you rather than having to type it out manually.

Link to post
Share on other sites
ill be honest i dont even think shader authoring would be the best description, shader authoring is already known as writing out the actual shader itself

Hmm, what you mean? Creating/Generating Custom Materials? (I haven't used those in a while but I guess they are still a thing...). If you are talking about a tool for writing .hlsl shader files, I don't think I will work on something like that. Maybe I could think about a HLSL manager in a later stage but won't be soon...

Link to post
Share on other sites

no i mean u would already have a range of hlsl files already made that do simple tasks, the gui element would then create the cs file that joins them together to create different results, for example the way blender works its materials in cycles. u have nodes that are actually shaders linked together to create different effects, something like that. Like the image shader is basically just a diffuse shader, spec is a specualr etc etc. can do the same for postfx shaders too

Link to post
Share on other sites
no i mean u would already have a range of hlsl files already made that do simple tasks, the gui element would then create the cs file that joins them together to create different results, for example the way blender works its materials in cycles. u have nodes that are actually shaders linked together to create different effects, something like that. Like the image shader is basically just a diffuse shader, spec is a specualr etc etc. can do the same for postfx shaders too

Ok, I think I understand what you mean and it's something I would look into once the base features are completed. I'm not very familliar with this area but I definitly want to make it easier to manage the shaders stuff. I'd like to build a node based UI for materials and shaders but I'm not sure if I will be able with my coding skills and limited time... :|

Link to post
Share on other sites

I'd made a passing mention of it in the 3.8 announcement blog as a goal for 3.9, but the plan is to start work on a node-based material/shader authoring interface and an updated shadergen.


I'd gotten started on the node-graph ui stuffs, most of the work is trying to figure out exactly how to design the new shadergen system to operate to generate everything. I've got some stuff I'm doing some prelim R&D on the subject for, and once I have something a provable, I'll be posting an update about it.


If you guys have any ideas or feedback on how you think it should operate, I'm completely all ears. If we can hammer out a general approach, it'd be easier to iterate the specifics of the implementation.

Link to post
Share on other sites
I'd made a passing mention of it in the 3.8 announcement blog as a goal for 3.9, but the plan is to start work on a node-based material/shader authoring interface and an updated shadergen.


I'd gotten started on the node-graph ui stuffs, most of the work is trying to figure out exactly how to design the new shadergen system to operate to generate everything. I've got some stuff I'm doing some prelim R&D on the subject for, and once I have something a provable, I'll be posting an update about it.


If you guys have any ideas or feedback on how you think it should operate, I'm completely all ears. If we can hammer out a general approach, it'd be easier to iterate the specifics of the implementation.

 

+1 million :D


Is shadergen just there to generate the procedural shaders? or is it just like an interfaces between shaders and the render code?

Link to post
Share on other sites

Shadergen just generates the procedural shaders.


The material classes are largely what act as the binding between the shaders and the classes to be rendered for the procedural shaders. Classes that utilize the common, pre-written shaders like the water classes just call to the shaders directly.

Link to post
Share on other sites
  • 2 weeks later...
I'd made a passing mention of it in the 3.8 announcement blog as a goal for 3.9, but the plan is to start work on a node-based material/shader authoring interface and an updated shadergen.

That sound good :) That will save me time to maybe get an official release someday....


Here's a new WIP video showing the SceneEditor special tools to handles TSStatic and Prefabs. Nothing there is final but I think it's a good start for those who want to work with prefab kit. I have start some work on a "Bunker Construction Kit" for a side project and the current TorqueLab progress is aimed toward easy construction kit management.


The new feature I like the most is the tiny button in the File Browser that make it navigate to the selected objects folder (TSStatic and Prefabs). It's also work with the material editor so you can quickly access the active model folder to get the textures files. The "Prefab creator tool" is also quite usefull but still need some enhancements, it make it easy to create a prefab for a specific object (EX: With a single 4x4 unit floor object, you can pack it as a 8x8 unit floor with 4 models and it will be store beside the 4x4 floor model (or anywhere..)).


I have also embed the drag cloning tool in the Tools section because that Popup get annoying when you only need it few times. Now if I could figure how to make a preview for the cloned objects, it would help getting the right amount of copies needed.


So here's the new video, I changed the production method a bit to faster video creation using YouTube annotations.

wmOaWBfcYVo


Also I have removed the "Universal Scene Objects Tree" from the side bar. I didn't like it and I don't need to add unneeded complications for now. My goal for now is to adapt TorqueLab to fit with my needs, later I would make it fit for anybody needs if requested... :roll:

Link to post
Share on other sites

For the first time, I started playing with the Zone, Portals and OcclusionVolume objects. They are very good tools to optimize a level with many objects but I found them quick difficult to manage using the editor scaling or the ConvexShapes conversion options so I started exploring alternate way to create them for my needs.

At first, I started working on a system that would take the selected objects bounds and convert them to an occluder shape but I then figured out that I could simply use the current WorldEditor selected area bounds so I could use anything in the levels to define the limits of the Occluder shape to be created. I really like the result and I think it help a lot to create Zone,Portals or OcclusionVolume that fit precisely the wanted area,


Here's a quick videos showing the initial implementation of the new system to create Occluders. Now, my plan is to work on a system that will make managing the levels Occluders easily from the SceneEditor. Instead of making extra plugins for such needs, I will work on a SceneEditor "sub-plugins" system that are adapted for specific needs.


The video is an early implementation and contains some issues that I have cut-out. Also, I notice a weird issue that make the top TSStatic of a occluded shape to not render until the level get reloaded...

JcNjML5pi08

It's my first experience using those Zone,Portals and OcclusionVolume from T3D so if any of you have suggestion for better usage please let me know.

Link to post
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.

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