Articles referring to downloads

Little bugfixing update:

  • fixed: crashes with "Animation Slider" dialog under Virtools 4.1
  • fixed: Canceling the "Add Group" dialog for the "Fast Cam Switcher" crashed Virtools

Thanks for Patrick (aka Hightree) and Antoine (aka Feranti) for reporting them!

I replaced the old file on the server with the new one. The readme and the directory should say "beta 2". Otherwise try a refreshing click on the download-link ( shift+click (?) in firefox ).

Dom's Interface Extensions for Virtools

Let me know if you have any troubbles with the download or the plugin itself. Btw. did you know that you can use the arrow keys in the "Fast Cam Switcher" to move up and down in the cam-list so you can switch between the listed cams really fast?

Well, as usual, this is a quite busy time for me therefore it took a bit longer but here we go:

Download Dom's Interface PlugIns for 3DVIA Virtools

The Zip file currently includes builds for 3.5, 4.0 and 4.1. So what's new beside some bug-fixes?

HTMLView has 3 new commands that allows to put text into the clipboard of windows. With Patrick (aka Hightree) we had, some years ago, the idea to somehow unify shader codes for that sharing and mixing would be easier. Maybe some of you remember suggestions we also put on the forum about having some kind of shader-fragments library built into the editor or having tools that convert a standard material to a shader (like 3ds max is able to do). We also suggested node-based shader authoring like one can now experience in ShaderFx, MentalMill or the Unreal Engine. Unfortunately I wasn't able to focus on shaders and only from time to time I deal with them. I have a little lib of shaders from past projects but nothing is unified. Mixing, reusing is not effective. Patrick recently referred to an article how one could split up things in separate files. I wasn't aware that HLSL function get inlined, so this approach is indeed interesting!
Anyways, having HLSL fragments ready to use might help too and now HTMLView can be used for this task. You can setup a special HTML page that contain your HLSL fragments. By clicking links you either set the complete clipboard text or you add text to the one of the clipboard. So, not only you can have a place for a code skelett but also mix fragments within a few clicks.

I have no idea if this is really works well – as setting up the HTML page takes some time etc – but it's there, you can give it a try! The commands are

SetClipboardText, AddClipboardText, ClearClipboard

Unfortunately you have to use \t and \n for indicating tabs and newlines inside your fragments. There is also a new button which opens a file named "HTMLViewShaders.html" from the Virtools root directory. You can use that as your code fragment repository. There is already a file for demo purpose but this isn't how you should do it. That page mainly contain one-liners and I don't think this is how to do it. Better would be to mix code blocks instead of one-liners.

Shader page button

Additional information about how to setup commands can be found in the HTMLView.html page. Briefly, here is how a simple link command can look like:

 dev://AddClipboardText#float4 MatDiffuse : DIFFUSE;\n

In case you are teaching or doing some kind of presentations, you can use these commands to have i.e. VSL code much quicker available for pasting. It takes less space on the page as the code is hidden behind a link and no longer needs to be displayed entirely or be in IFrames.

Code Fragments behind links

Yesterday I wrote a new little helper that I included in these builds, too. Fast Cam Switcher is actually doing something that was already possible via HTMLView and it's 'activateCam' commands. When I have to switch a lot between camera views, I really don't enjoy using that drop down list from the 3DLayout. With this new little floating dialog, you can assemble a little list of your favorite cameras quickly. By clicking on (and releasing) any of the names, the view is activated. This is much faster – it only saves a few clicks but I think it does matter. Each click matters! Hehehe …


Fast Cam Switcher

I am trying to catch events like RESET in order to check for deleted objects, but I noticed that it doesn't work very well, yet. So please be careful if you use any dynamic objects in any of my tools. In some cases there is a refresh button that helps.

Enjoy! 8)

Based on a personal need for beeing able to switch camera quickly within Dev 4.0, I finally compiled my interface plugin for it. It needed some file upgrades in regards to the Font management. I haven't tested it at all, so be careful with that and let me know how it works.

Download the zip with DLLs for 3.5 and 4.0

Maybe you want to know how I quickly switch cameras using that plugin? Ok download it, put the DLL in the interface subfolder of your Dev installation. Put the HTML file in the root folder of your Dev installation. Now start Dev and choose "HTML View" from the "Dom's" menu in the main menu bar. Checkout these images with notes in the titles that explain how to go on:

Open doms HTMLView from the main menu bar load the DEV HTML view and jump to the examples load a CMO for example using the button and then generate a HTML View you can check the source code to see how a button can activate a cam

For those that don't know about it: HTMLView embedds a webbrowser (IE) into DEV. It's extended by a new protocol that is intercepted when clicking on links. The protocol includes commands to load or merge CMOs, to activate cams, select nodes by name and some more. The link command to automatically create a webpage with buttons for each camera is CreateHTMLView using the parameter ListCams.

This plugin started as an interface experiment (HTML front ends to authoring apps) and actually became useful for me. Please be careful and don't browse the web with it unless you trust the sites. You use it at your own risk! 

I added a new Dialog to my Interface plugin for Virtools Dev 3.5. It allows to quickly delete all attributes from one or several categories. The standard attribute manager moves the attributes if you delete the category but does not delete them.

New dialog in DomsInterfaceExtensions PlugIn

In 4.0 you now have the possibility to delete all unused attributes, but I think Matthew said, that it doesn't consider attributes used in VSL scripts – what might be tricky to support. I don't know if this was changed for Virtools Dev 4.0 SP2, but 3.5 users have now better control anyways.

Download the plugin for 3.5  

 Enjoy ! 


p.s. here is a little chat log from the IRC channel, maybe it helps if you are unsure how it works:

[15:47] LeDom: ok, it takes less than 20 seconds to free you from 470 attributes
[15:47] LeDom: just did a test with one of our projects at work
[15:48] LeDom: a) install DLL
 b) start dev 3.5
 c) load CMO
 d) open main menu -> Dom's -> "Delete Attributes by Category"
[15:49] Vsaiwrk: nice.. thats a lot faster >:)
[15:49] LeDom: e) hit the button "select all"
 f) click on the categories from your project to deselect them
[15:49] LeDom: g) hit the "->" button
[15:49] LeDom: h) click DELETE button i) close the dialog
[15:50] LeDom: k) go to the attribute manager j) if it still shows all the attributes, close it again and reopen it
[15:50] Vsaiwrk: have to close and reopen the attribute manager if you already had it open still
[15:50] LeDom: (yeah f5 doesn't work here)
[15:51] LeDom: l) open "-No Category-" tree/section
[15:51] LeDom: j) select all the attributes in that section using shift
[15:51] LeDom: l) hit "del" key
[15:51] LeDom: m) done, enjoy, relax be happy
[15:51] LeDom: 😉
[15:52] Vsaiwrk: deleting the category deletes the attributes in that category also here.. you're saying it should put them under no category?
[15:53] LeDom: ?
[15:53] LeDom: no, but you may have some there by default
[15:53] LeDom: it does kill them all but no category is no category and therefore not touched
[15:53] LeDom: by my dialog
[15:53] LeDom: maybe i need to add a button for this too
[15:53] Vsaiwrk: gotcha

Last week typeRice asked if somebody knows a way to hide all 2D frames at once. I remembered that there is a 2d root object and suggested to get it and hierarchical-hide it. It worked! He then found out that you need to restore the state with hide, not show.

I now added some commands to my HTMLView Virtools interface plug-in, that allows to hide, show, and hierarchical hide objects by name and type. This way you can create your own GUI i.e. for quickly hiding specific entities.

The beta-1 version of the plug-in was released the 1st July 2006 and since then downloaded 96 times which doesn't sound much. It was the second release that featured a new font-setup GUI for interactive font-settings tweaking. Based on the feedback, Posy seems the most interesting element of the collection. Personally, I also use the time slider and the animation slider a lot. The HTMLView has a lot of potential but I only implemented a small subset of the ideas I have. In 2006 I used it to manage a presentation with it. It was at the FMX where my boss and I – together with our reseller – did a speech/demo/presentation about Virtools for game and shader development. I did a life demo of how shader development looks like when using Virtools DEV and then showed some shader examples from our projects and the online community. I was told that the people of the audience looked impressed. HTMLView helped me to quickly load the CMOs I wanted to demo and the HTML page also contained shader code fragments that i could copy/paste to make sure that the demonstration run smooth and quickly. I think Virtools teachers and trainers should take another closer look at this, if they don't use it yet. It might be a good support.


Download of the new version for Virtools DEV 3.5

Please provide me with feedback, thanks. 

If you are using Virtools 4.0, I am sorry to say that there is currently no plug-in available for that version. I hope Virtools finds an acceptable solution in regards to the new EULA and web-publishing for every side, soon. Maintenance was paid for upgrades, but the EULA change was a heavy downgrade.

Let me end with some pictures from the FMX 06

Me doing a demo of shader development with Virtools Mr. R. Wagner doing a demo of a game prototype Virtools DEV for game prototyping demo by Mr. R. Wagner One of many test rigs to record stereoscopic videos Modelling with haptic feedbacl

I finally uploaded the DLL with *some* bindings regarding CKObjectAnimation and CKKeyedAnimation. The DLL is probally compatible with 4.0 as, so far as I could see in the beta, it's still not bound by default. I don't know why as it's really not much work.

I prefixed the classes with CK like it's done in the SDK for that there ain't any conflicts when Virtools does these bindings finally, too. Then just delete the DLL and see which scripts do not compile anymore and adjust them.


(Cast, Get3dEntity, Set3dEntity, Shared, CreateMergedAnimation, GetMergeFactor, IsMerged, GetCurrentStep, GetLength, SetMergeFactor, SetLength, SetStep, HasMorphInfo)


(Cast, GetAnimationCount, Clear, GetAnimation, RemoveAnimation, AddAnimation)