[Closed] SpreadSheet Editor reborn?
Quite often I end up having multiple objects, lights, materials whatever that I need to edit simulatenously, like all lights having shadow on. Usually I just write a script like “for i in lights do i.on = true” etc. However sometimes it be nice to have more control and actually see in what the values are before editing them.
Bobo wrote ideal tool for this: http://www.scriptspot.com/bobo/darkmoon/sse/
Which is unfortunately based on activex, so it won’t work in newer versions. So I’m now considering making such tool with dotnet.
So I’m asking what kind of features would be useful in such tool and would you even find such a tool useful?
To an extent, the 3ds Max 2008/2009 Scene Explorer fits this role. My major complaints with Scene Explorer are only partially resolvable with a custom script that would use the same type of control for display.
But in short… the interface is clunky (greatly due to the fact that you work with “true” and “false” strings instead of getting a checkbox), adding properties in non-existant without scripting it yourself (picking available properties on (a) selected object(s) would be much nicer), adding property columns is quite awful (scroll through a long list, get click-cramps in your finger), and the maxscript interface to it is scary and wasteful (a function for every single property, get and (if applicable) set? hurrr.)
And unless I’m missing something, the world root node is the only root node it can have. I would have thought that you could display selection sets, selected hierarchies, etc. as root-level nodes with their own branchings out… but alas.
There’s definitely room for improvement – a lot of which could be allieved in a custom script – but things like the UI display are likely to require a custom (.NET) control entirely.
Scene Explorer -is- a nice start, though.
Scene Explorer is pretty far from what I’m looking for. As you can see from the Bobo’s SSE it displays editable values for everything, sure you can add that to Scene Explorer IF you know what properties you want there, thats not always the case with 3rd objects, lights, mats etc. And Scene Explorer doesn’t even support materials. It doesn’t allow you to filter objects based on their class (omni, spot, ies), only superclass (lights, cameras).
Scene Explorer looks like half-assed attempt to do something similar and failing miserably.
To be able to edit objects properties in 3ds Max, I think the most interesting control from .NET is the PropertyGrid. It allows to edit an object properties, showing them vertically. So to be able to edit multiple objects properties, they need to be displayed horizontally. The ultimate user control would be a mix between a ListView and a PropertyGrid.
PropertyGrid control is based on the powerful reflection mechanism. SceneExplorer is heavily based on .NET… but not using the most interesting parts of this framework. Using reflection in Max would need accessing ParameterBlock in .NET and creating managed types to be able to reflect them in .NET.
Hi,
I ported this to DotNet for my personal use, if interested, i can post it (if bobo is OK with that, of course.
I definitely would be interested. I tried a similar thing in Helium but the coding got a bit beyond me. The idea was to map material properties inserting functions such as “=” etc into the flow between 2 property lists. Visually this was much easier to deal with than a spreadsheet but I guess you could get the same functionality (provided you have a lot of screen real estate).
Is this useful for anyone?
So I’m asking what kind of features would be useful in such tool and would you even find such a tool useful?
To be able to select objects using wildcards or regular expressions.