View Full Version : Schematic Material Editor Progress
Bercon 01-01-2007, 03:38 PM I've decided to make a thread to follow progress of Schematic Material Editor for 3dsmax I'm working on. I'll post all new beta releases here along with progress reports. Feel free to comment and suggest improvements. You can also study sme code if you wish as all SME files are in .ms format and you can open them as any other maxscript.
To-do list:
- Shift+Drag = copy node
- Select multiple objects
- Possibility store SME somehow? Dropdown to switch different views?
- Float to Color node, perhaps Color.channel to float too.
- Rename hide to something more describing
- Resize node with show parameters (Optional!)
- Add Show sockets to RCMenu
- Some import map/mat addition to rcmenu
- Selected from MEDIT button
- Material from selection, material of 1. object in selection
Known bugs:
- Math nodes value is not shown when created, you need to refresh the node to see it
- Deleting material node connected to another material will crash
-- SME Beta Version 0.1.1 --
Download: http://www.niksula.cs.hut.fi/~jylilamm/Resources/SME_Beta_0_1_1.rar (http://www.niksula.cs.hut.fi/%7Ejylilamm/Resources/SME_Beta_0_1_1.rar)
- Fixed problems with Simbiont materials. Now they are fully supported. Probably fixed some other materials and maps too. Subtexmap count was calculated incorrectly on shader node creation.
- "Edit" doesn't appear on rightclick menu for float/color/math nodes any longer.
EDIT: - Also fixed macroscript, thx vansan
|
|
Bercon
01-02-2007, 10:26 AM
-- SME Beta Version 0.1.2 --
Download: http://www.niksula.cs.hut.fi/~jylilamm/Resources/SME_Beta_0_1_2.rar
Release info:
- Shortcuts to RCMenu to import materials/maps from different sources like scene, medit, selection NOTE: There are some problems with these because it seems after you've opened material browser dialog from material editor the maxscript function these use no longer works as it should.
- Math node values are now shown correctly
- Deleting material connected to material now works and doesn't crash
- Renamed "Hide" to "Discard", it simply removes targeted node from SME. If material/map exists somewhere else, its unaffected. If material/map doesn't exist anywhere it is effectivly deleted because there is no way to get access to it.
- Automaticly shortens long socket names (Replaces "Reflection" with "rfL." etc.)
- All sockets for node can now be viewed in three different ways. By selecting node, moving mouse over it or double clicking it.
- More maxlike icons, thanks to Mauricio Duarte
SuperRune
01-02-2007, 11:54 AM
Hi Jerry,
First of all - this is great stuff! A schematic editor has been sorely missed in 3ds max, and particularily now that most competing software has one (Maya, XSI, even Lightwave). I'm surprised to find this to be free. You should at least has some PayPal donation thing for this. If money can keep this in development, I'd be happy to pay some. A good thing such as this should not go away!
I've got a couple of feature suggestions to you, hope you don't mind :)
- Some smoother integration to the ME would be nice, like direct drag and drop of maps and materials.
- If ME integration can't be smoother, some kind of library inside SME would be neat. Like a bar on the top where you could save out different workspaces - that would be saved out to disk-
- Some workspace navigator would be nice (like in Photoshop or Fusion), but I reckon this is a job for Helium
- It would be neat being able to drag the ends to reconnect to another socket. Guess this is dependant of Helium as well?
- Locking of nodes would be nice, for example with a little key icon on the top corner. A locked icon should not expand when connecting or moving the mouse over it, and it just need to show a thumbnail and a name.
- Will there be other math nodes, like expressions and "time", "frame" etc?
- Any plans on supporting expression controllers? I have some materials that use expressions, but they error out when opening inside SME.
- How about some way of extracting color-nodes from an existing map/material. You could add a "Create Color Node" to the requester that say "Add Map" and "cancel" when you drag a connection from a color socket.
- Dark color nodes should have white text :)
- How about a simple double-click to open a node for editing in ME. It's quicker than menus and buttons.
That's all I had after two hours of playing with the thing. Again, thanks a lot for developing this - it's great finally having a schematic mat editor inside 3ds max!!
Cheers, Rune
Hi Rune,
The 'workspace navigator' is on my own wishlist for helium as well, hope to supply that sometime in the near future.
ttyl,
-Kees
Bercon
01-03-2007, 07:04 PM
Hi Rune, I'd like to have drag'n'drop support too but unfortunately it cannot be made with maxscript. I wonder if it'd be easy to add it to Helium? I took a fast look at maxsdk and I think it'd be possible using IDADWindow and DADMgr classes, the drop part would probably be easier but about dragging node from helium to medit/scene/etc, I dont know. What do you think kees?
Lockable nodes shouldn't be too hard to add and custom script/expression controller support is on my to-do list. I'll also add some math nodes like to convert floats to colors but I don't think I'll add more complex expressions. You can do these with custom script/expression controlelrs when they are supported.
You cannot change text color in current Helium so I can't do anything about color nodes. Converting map to color would be rather pointless. If some property in material/map support maps to controll stuff then they are already visible and you can connect maps to them.
I'll add some shortcut to editing material/map in medit. Ctrl+left click for example. Double-clicking is already used to view all sockets (if you've selected it from settings).
- Jerry
SuperRune
01-04-2007, 11:20 AM
Cool - I'm really looking forward to seeing how this ends up when it's finished. It's already great as it is, my suggestions are only - literally - suggestions :)
Converting map to color would be rather pointless. If some property in material/map support maps to controll stuff then they are already visible and you can connect maps to them.
Ah, I see that my english stumbled a bit on that one. It's not my first language, you see.
I didn't actually mean converting maps to colors, as that would not only be pointless, but also plain stupid. What I meant was the ability to drag out color nodes from materials or maps that has color slots. I don't know if SME remembers color nodes when you close the SME window (I don't have max in front of me, but I assume it doesn't do that), but being able to drag out color nodes from existing color slots could be a quick way or reusing your carefully chosen colors elsewhere in the material tree.
I don't know how other people work, but color instancing is one of the things I use the most. It's excellent for doing deep color adjustments across a material (example: using the same color in an RGB multiply on a diffuse map, and in the spec color slot and in color slots inside a reflection falloff map). That's why I consider Blur Studios' "solidColor" to be the single most handy freeware plugin available for 3ds max. Perhaps SME could detect the installation of solidColor and use that for its color instancing? That could be very nice.
Just a single word of philosophy from me :) After having used Maya and 3ds max side by side for a couple of years, there is one thing I have noticed: 3ds max have plenty of high level functionality - but a lot of key pushing and mouse clicking. Maya have very low level functionalty - but with very few operations on the mouse and keyboard for it's basic functions. So my ideal software must combine the best of those two worlds - I want a fairly high level functionality, but with the fewest hand operations that is possible. That's why I prefer context sensitive mouse-clicking, keyboard shortcuts, drag and drop, and easily accesible libraries and so on. My 3 cents (as usual)...
Rune :)
Bercon
01-04-2007, 05:13 PM
Okey, that clears it up. I'll add it to to-do list. Shouldn't be too hard. SME does "remember" colors because it uses color controllers instead of plain color values. One benifit of this is that the color is truly instanced so changing controllers value anywhere will change it for every material its assigned. The downside is that some materials require 4 point colors (RGBA) which aint compatable with normal colors (RGB), SME doens't support these yet and I'll have to look into how to convert normal colors into 4point.
The second downside is that max doesn't allow you to remove controllers from tracks which they've been assigned. So basicly if you assign color controller to diffuse of standard material you can NEVER remove that controller and return to the "controllerless color" mode, only way to get around this is remaking the material. I'll have to try if it'd be possible to do just this so each time user disconnects controller (color/float/math node) from material/map it would remake it, I'm not entirely sure it is possible.
I haven't used blurs solidColor but I undestand its simply a map? So it should work with SME just fine. I can't really use it to color instancing since its a map, not a color value or color controller.
MasterBercon,
You can't supply an 'undefined' to remove the controller?
If the plugin is properly written (not all in max are I have noticed) then this should remove the controller:
$.mat.diffuse_controller.controller = undefined
(sample code, I haven't tested it)
-Kees
Bercon
01-05-2007, 08:16 AM
Well it might work on something else, but not on materials or maps. You can try it yourself at maxscript listener
meditMaterials[1].diffuse.controller = bezier_color()
Controller:Bezier_Color
meditMaterials[1].diffuse.controller.value = (color 200 100 0)
(color 200 100 0)
meditMaterials[1].diffuse.controller = undefined
-- Type error: Assign needs controller, got: undefined
After following you can also go to curve editor and you'll see when selecting the controller (or diffuse channel to be exact) that the Delete Controller option is greyed out.
Here is a quote from 3ds max user reference:
"On the Track View Controllers menu, choose Delete Controller.
The controller is deleted.
Note: Most controllers cannot be deleted, only replaced. The Delete Controller menu item is available only if the controller track selected is an applicable type."
AlpineMan
01-05-2007, 10:10 PM
Let me know if you need any additional maxscript access to anything for your tool.
Chris J.
Bercon
01-06-2007, 12:13 PM
Heheh, well the first thing that comes to mind is a working mtlBrowser.browseFrom function, see here (the last reply): http://forums.cgsociety.org/showthread.php?t=446365
I don't supposed it'd be possible to add drag'n'drop any other way that adding it to Helium directly, like separete UI element or something? Of course I could add mapbutton and materialbutton to top toolbar next to float/color values, however I think it'd be much integrated drag'n'drop to schematic view would be a lot better sollution.
Bercon
01-07-2007, 09:55 AM
-- SME Beta Version 0.1.3 --
Download: http://www.niksula.cs.hut.fi/~jylilamm/Resources/SME_Beta_0_1_3.rar (http://www.niksula.cs.hut.fi/%7Ejylilamm/Resources/SME_Beta_0_1_3.rar)
Release info:
- Support for Arch & Design (mi) material
- Support for custom script/expression controllers
- Fixed bug which caused math nodes input sockets get hidden
Now SME fully support RGBA colors that A&D material uses, the default color values used in SME are RGB, however if you connect such color to A&D material its automaticly converted to RGBA. This conversion is completely invisbile to user and also works another way around. If you import A&D material with animated colors they will show up as RGBA colors, which you can connect to any other material requiring RGB colors.
Basicly it creates invisbile converter nodes so original controller is never affected.
Please let me now if there are any other maps or materials that use RGBA colors and I'll add support for them.
Pixero
01-07-2007, 01:03 PM
For all custom MR shaders I get:
--Runtime error: Couldn't find a previously defined paramblock in "shadername"
With this line marked : local type = (classOf (getProperty shd i)) (under // Returns materials/maps properties as array)
Why?
Bercon
01-07-2007, 01:47 PM
I just ran into same problem myself. I'll have to look into it but after initial tests I dont really know whats the problem. Some mental ray materials like "mental ray" and A&D work but SSS material for example dont. To make things even more complicated if you make Fast SSS material in medit and try to import it into sme it crashes, now if you ignore that error and attempt again it works! Looks like its another bug of max. Hopefully I can get around it somehow.
Bercon
01-07-2007, 02:06 PM
-- SME Beta Version 0.1.3b --
Download: http://www.niksula.cs.hut.fi/~jylilamm/Resources/SME_Beta_0_1_3b.rar
Release info:
- Fixed bug found with some mental ray materials which crashed SME
There is a bug with many mental ray materials which causes error, here is an expamle (type it in maxscript listener):
myMat = SSS_Fast_Material__mi()
getProperty myMat #theList
There is something wrong with properties #theList and #Shader_Version which both crash maxscript if you try to call them.
Pixero
01-07-2007, 03:08 PM
This last version seem to have fixed the errors I got.
I tried it with a bunch of different custom MR shaders.
Rockin
01-07-2007, 10:16 PM
Wow, can't wait to test out ver 0.1.3 !
Thank you very much for having included support for A&D; also expression controlers are a big +
Bercon
01-08-2007, 07:42 PM
Now I'm working on improving the way sme handles controllers. This includes few new math nodes to convert floats to colors, better support for custom controllers and perhaps possibitily to disconnect controller from material by totally remaking the material. Here is a screenshot of the new controller dialog, I decided it works better integrated to SME window than as a seperate window.
http://www.niksula.cs.hut.fi/%7Ejylilamm/graphics/SME_Beta_04.jpg
MrElmo
01-08-2007, 10:06 PM
how much is this production ready?
Rockin
01-08-2007, 11:27 PM
For me it works quite well!
Also, if you have to create a material that isn't supported by SME just go ahead and do it the old way (standard material editor).
Also, if there's a problem with SME, only it will crash, not the whole max. Worst case scenario is losing the material you're working on. (you could backup the material in the max material editor from time to time if you have worries it might crash; but again, it feels pretty stable to me)
Give it a try, but be warned: you won't go back:P
Pixero
01-09-2007, 07:57 PM
Would it be possible to connect to the separate RGB channels or XYZ vector channels directly on the node without a separate controller? Something like how it works in Maya.
Example shows: Facing ratio (float output) to Color (Red channel).
http://www.pixero.com/bilder/pics/connection.gif
SuperRune
01-10-2007, 08:36 AM
Pixero,
I'm not the guy making SME (obviously), but I think I can answer that question. Unless that is something you can do in 3ds max without the SME, I'm pretty sure that SME won't be able to add that feature for you. SME is mainly a workflow/interface feature, enabling you to do something 3ds max already does, but in a different, sometimes easier way. With that being said, a color value in 3ds max can have a XYZ controller attached to it, so there should be no technical issues in doing what you request :)
MrElmo,
I'd say this is pretty production ready already, although I find it slightly slower to work with than the standard material editor. The main issue for me is that you have to right click-edit each node in order to reach its attributes. As long as you keep the material editor side by side with SME it's pretty smooth. I hope there will be something that quickly lets you get a node inside the matedit. I suggested double-clicking in an earlier post, but it could even be done like in Maya, by having the currently selected node automatically appear in a matedit slot. Still it's great stuff, really smooth to use, and it's so great finally having this inside 3ds max!
Cheers,
Rune
Bercon
01-10-2007, 12:24 PM
Pixero, SME uses Bezier_Color controllers by default and Bezier_RGBA if A&D material already has one assigned and you cannot assign sub controllers to these two types. Only XYZ controllers use sub controllers to form the point3 value.
Now let me explain you how max works with colors. By default material has color value, which is not a controller but a simple color value. You cannot control this color in anyway, its one fixed color, it cannot be animated and it cannot be linked, these values are always unique and cannot be instanced.
Now if you wish to animate the color, you have to assign a color controller to it. It can be any point3 value (point4 with A&D). By default (if you use auto key etc) max assigns bezier_color controller to animate your color. This is the reason why I also chose bezier_color to control color values with SME. Because in SME colors can be wired around which means creating instances of the same color to different material we need to use controllers to do this. In short controllers can be instanced and animated, color values cannot.
So by default max uses only bezier_color controllers for colors and you cannot assign sub controllers to different channels of these. So you do need a seperate controller to do this. I'll probably use Point3_XYZ and Point4_XYZW to create these. Basicly these two controllers have 3 or 4 Bezier_Float controllers assigned to their channels by default.
SuperRune, you can already do that with SME. On the top toolbar first select the medit slot you wish to use (0 means currently selected slot, 1-24 are the corresponding medit slots) and press "Auto assign to Material Edit" button right next to the medit slot field.
I'll probably also add an option to override the slot setting if selected node is already present in Material Editor so it sets focus on it instead.
SuperRune
01-10-2007, 03:06 PM
SuperRune, you can already do that with SME. On the top toolbar first select the medit slot you wish to use (0 means currently selected slot, 1-24 are the corresponding medit slots) and press "Auto assign to Material Edit" button right next to the medit slot field.
I'll probably also add an option to override the slot setting if selected node is already present in Material Editor so it sets focus on it instead.
Oh, I didn't know that, excellent!! Then this is good enough to use in production I'd say. And the double-click wish I had is unnecessary as well! Maybe some auto-update button could be handy, if you're not thinking about that already? Also, is is possible to have a slight delay in the Matedit update, so that if you are just moving nodes, it won't refresh the Matedit allt the time? Just a thought, don't know how that would work in practice.
Cheers, Rune
Bercon
01-10-2007, 03:12 PM
Unfortunately its not coming because there is no way of telling when you change anything in material editor. The only way of seeing when material/map parameters change would be using "when parameters" construct and this triggers about 4 times everything you click something with your mouse inside 3dsmax for every material/map so its unusable.
If anybody has ideas how to monitor material/map changes then I'd love to implement it to SME.
dgsantana
01-10-2007, 04:07 PM
Hi MasterBercon, i really like your sme, i have been wanting to make one for some time but didn't had time, but after you post your script i grabed some courage and made a few modifications that are not ready for general use but take some ideas from shaderfx ui.
The basic modifcation is integration of material ui in the sme. Here are a few grabs i made.
http://www.4arq.net/stuff/sme1.jpg
This is a generic node that works with any map or material, but then we can write a better ui for any node like the next one.
http://www.4arq.net/stuff/sme2.jpg
Also there is a editor and better node creation for custom scripts like adding ins and out sockets.
Has soon has i have some time to clean the script a will send to MasterBeacon since he is the father of script.
Best regards,
Daniel Santana
4+Arquitectos, Lda
Pixero
01-10-2007, 04:40 PM
Pixero, SME uses Bezier_Color controllers by default and Bezier_RGBA if A&D material already has one assigned and you cannot assign sub controllers to these two types. Only XYZ controllers use sub controllers to form the point3 value.
Now let me explain you how max works with colors. By default material has color value, which is not a controller but a simple color value. You cannot control this color in anyway, its one fixed color, it cannot be animated and it cannot be linked, these values are always unique and cannot be instanced.
Now if you wish to animate the color, you have to assign a color controller to it. It can be any point3 value (point4 with A&D). By default (if you use auto key etc) max assigns bezier_color controller to animate your color. This is the reason why I also chose bezier_color to control color values with SME. Because in SME colors can be wired around which means creating instances of the same color to different material we need to use controllers to do this. In short controllers can be instanced and animated, color values cannot.
So by default max uses only bezier_color controllers for colors and you cannot assign sub controllers to different channels of these. So you do need a seperate controller to do this. I'll probably use Point3_XYZ and Point4_XYZW to create these. Basicly these two controllers have 3 or 4 Bezier_Float controllers assigned to their channels by default.
SuperRune, you can already do that with SME. On the top toolbar first select the medit slot you wish to use (0 means currently selected slot, 1-24 are the corresponding medit slots) and press "Auto assign to Material Edit" button right next to the medit slot field.
I'll probably also add an option to override the slot setting if selected node is already present in Material Editor so it sets focus on it instead.
Ok, thanks for the explanation. I guess its just the different way Max works compared to Maya where almost anything is wirable/animatable.
So far its looking good. But I'll probably nag you with more feature requests in the future...:thumbsup:
Bercon
01-11-2007, 02:05 PM
Firstly thx for all the feedback!
Pixero, Max does indeed work in a different way but I think the end result is very similar. Max just handles this stuff through controllers so every value you can add controller to is linkable and animatable because you can animate or instance (link, wire, whatever) the controller around. I think this is works very well.
dgsantana, looks pretty good. I also considered how to get all those options to SME in a sensible way, I went so far as to look into max SDK to see if it'd be possible that way. Unfortunately Maxs Material Editor is so closed system I dont think its possible to get original material/map UI's to SME. The only way around this is to make new UI as you've done.
However this means a lot of work and to get good looking UI you need to do it seperately for each material and map. This is why I chose to make as tight integration with original material editor as possible. Unfortunately this aint possible either without small quirks. As mentioned, its not possible to detect material and map changes done in material editor so updating material and map previews has to be done manually. With custom UIs integrated to SME like you've done this problem doesn't exist. Another problem with interagtion to medit is lack of drag'n'drop support. We'll see if kees can do and finds time to do something about this.
About adding better support for custom nodes its indeed in my to-do list and I'd be very intrested to see how you've handled it. The main problem I can think of is the way SME handles controllers. They are all stored to rootNode.controllers array (custom atribute to rootNode) so I can use weak referencing with math nodes which are script controllers. I need to use weak referencing for two reasons.
1. If I use direct reference in script controller to other controller (Float inputs math nodes take) this other node must be assigned somewhere in the scene, otherwise it results in error. Okey, lets store all our controllers to rootNode (global node which every max scene has). Works fine until we again try to make direct refence. 2. Since both controllers are stored to same atribute of rootNode max incorrectly detects this as dependancy loop and prohibits me making direct reference from script controller to the other controller. So instead I use weak reference.
I'd be delighted if I somehow could store all the controllers other way and use direct refencing, anybody has ideas how to accomplish this? Some ideas on this would be appriciated as it greatly effects on how I handle the improved support for all controllers.
And here is some status update on SME:
I've now completely redone controller dialog which is now integrated as part of SME window. (Its of course hidden by default and not a static part of the view)
Here is my to-do list, these are more like notes to myself than anything official. Bolded stuff is what I'm working at the moment.
- Shift+Drag to copy node
- Support selection of multiple nodes (atm you can only select one)
- Store SME with max scene (could this be as simple as storing smeOps to custom atribute of rootNode like with controllers?)
- Different SME views (dropdown menu to select etc.)
- When doing something to node take account the possibitily of changed material/maps
- Proper installer (executable)
- Freeze/Unfreeze nodes
- Look into remaking material on disconnecting controller from it
- Improved controller support
- Float to Color node, perhaps Color.channel to float too (Color_RGB and Color_RGBA controller support)
- Consider possibility of making custom nodes with some sort of editor
- Perhaps full support for all controllers, meaning you could change their values inside SME?
- Possibility to open curve editor from SME and edit controllers this way
- Names for math nodes (simple numbering like math node #1, #2 etc)
- Backwiring with original value (add this to backwiring menu)
As you can see its a pretty long list so there is still much to do, much more than I expected when I began writing SME last summer or even when I released the second public version. Don't expect any new release soon since I have to do some radical changes on how SME works with different type of controllers. However don't be afraid to do more feature requests, my goal is to make a production ready tool which actually makes making complex materials easier and not harder or even more complex :thumbsup:.
For those who've been asking about whether SME could be used in production or not, I'll say yes it can be used in production. SME shouldn't be able to crash max or corrupt your scene. The only mark it leaves to max scene is a custom atribute to rootNode where it stores all controllers used in SME. You don't need SME or Helium to open scene where SME is has been used, its completely compatable with Max without any plugins or scripts installed.
If you ran into problems with SME please report it here and I'll try to work some hotfix for it.
instinct-vfx
01-11-2007, 03:36 PM
Hi there,
first of all, great start and very nice job so far! Considering the UI, shouldnt it be possible to read all properties of a map/material in the scene and it's type and autocreate an UI ?
Regards,
Thorsten
dgsantana
01-11-2007, 03:54 PM
The first image i posted shows just that, a autogenerated ui, but them you can create a "better" ui if you feel like.
Best regards,
Daniel Santana
Bercon
01-11-2007, 05:18 PM
Like dgsantana said and did show in his first screenshot it is possible. The problem is that you'll get a long unorganized list of parameters. In order to organize them in a sensible manner you need to code UI specifically for each material and map.
ofer_z
01-13-2007, 12:47 AM
Pixero, SME uses Bezier_Color controllers by default and Bezier_RGBA if A&D material already has one assigned and you cannot assign sub controllers to these two types. Only XYZ controllers use sub controllers to form the point3 value.
Hi,
You could use color_RGB() controller, it gives you seperate R,G,B tracks for your color just like position_XYZ() does for position controllers.
cheers,
o
Kenzor
01-15-2007, 03:29 PM
What your doing looks very interesting and i'd love to help out ... just as soon as i get it working....
I placed the contents of the latest 'SME_Beta_0_1_3b.rar ' file in C:\3dsMax9\scripts\SME\
and the .mcr in C:\3dsMax9\ui\macroscripts\
when I try and run the script i get the following error
-- Error occurred during fileIn in <File:C:\3dsMax9\scripts\SME\smeDialog.ms>
-- Error occurred during fileIn in <File:C:\3dsMax9\scripts\SME\smeInit.ms>
-- Error occurred in execute(); filename: C:\3dsMax9\scripts\SME\smeDialog.ms; position: 3221
-- Frame:
-- called in anonymous codeblock
-- Frame:
>> MAXScript MacroScript Error Exception: -- Syntax error: at SchematicControl, expected <rollout control>
-- In line: on b <<
What am i doing wrong ?
thanks
Pixero
01-15-2007, 05:11 PM
Just to make sure...have you installed Helium?
http://www.lumonix.net/updates.html
Its needed for it to work.
Kenzor
01-15-2007, 05:43 PM
arg.. I didn't know about Helium ...
it seems to be working now
Thanks
demoniorojo
01-28-2007, 06:01 PM
any news of SME new version? It´s a great tool :thumbsup:
Bercon
02-01-2007, 10:12 AM
There will be a big update on how SME handdles controllers in a week or two...
demoniorojo
02-01-2007, 11:01 PM
:bounce: very good news!! u´re the best:buttrock:
tomeczek
02-08-2007, 06:37 AM
hello! I've 3ds max 8 and it doesn't work properly- sme open when I run sme ini script but I can't work with this. What should I do or is it wroten for max 8?
tomeczek
02-08-2007, 07:45 AM
sorry it works! I did some mystakes
Bercon
02-08-2007, 12:17 PM
-- SME Beta Version 0.1.4 --
Download: http://www.niksula.cs.hut.fi/~jylilamm/Resources/SME_Beta_0_1_4.rar
Release info:
- Arrange now only affects children (nodes connected to input sockets), previously it searched for root first.
- The way SME manages controllers is changed, they are no longer stored into rootNode or anywhere else in the scene except the materials and maps which use them.
- All controllers are now handled properly within SME, this includes support for Color_RGB(A) channels (See image)
- New option to hide everything related to controllers
WARNING!
I have tested this version very briefly so it might have very obvious bugs. Since I heavily altered the code recarding controllers it is very likely that there are some bugs when working with controllers. However, if you use "Display -> Hide Controllers" option it should work as before because it effectivly disables all functions related to controllers.
WARNING #2!
Scenes where Math nodes / controllers were used with previous versions of SME wont work.
New controller support:
http://www.niksula.cs.hut.fi/%7Ejylilamm/graphics/SME_Beta_05.jpg
stevecullum
02-08-2007, 12:57 PM
I use the SME at home and find its great, especially since I'm used to node based material editors. Thanks for your work on this great script!
However, I'm having a problem installing it at work. We were using MAX 8 and its fine there. But when I tried to add it to Max 9, it failed to run. I thought it could be the Helium framework, so I tried re-installing this for Max9, but now when I run Max I get a plugin error "
"DLL <heliumController.dlc> failed to initialize. Error code: 127 - the specified procedure could not be found."
Has anyone else seen this problem and know of a cure? - Its going to suck if I cant get SME going in Max 9!
Thanks for any help...
Zbuffer
02-08-2007, 02:48 PM
"DLL <heliumController.dlc> failed to initialize. Error code: 127 - the specified procedure could not be found."
Make shure you are using the Max9 version of helium.
Looks like you are trying to load the Max8 version in Max9
Bercon
02-08-2007, 02:51 PM
stevecullum, make sure you have the latest Helium 1.03 and the correct version. If I remember correctly you have to manually copy the correct DLX/C files to get it work with max9 32bit or 64bit, they are included with the Instal_Helium.zip in their own folders.
stevecullum
02-08-2007, 06:55 PM
This could indeed be the case!
I'll check it out - thanks.
mukks
02-16-2007, 05:47 PM
thanks for such a g8 script,,, ammazing. i love it..
thanks
Rockin
02-27-2007, 09:29 PM
I hope for you (and us!) that autodesk will hire you/buy your SME:deal:. It's great
metamesh
02-27-2007, 09:31 PM
that looks awesome! I just have 1 question... how do I run/install it?? :D thanks!!
Rockin
02-27-2007, 09:38 PM
Hi Alex,
on this older thread are the instructions: http://forums.cgsociety.org/showthread.php?f=6&t=440202&highlight=SME
metamesh
02-27-2007, 10:46 PM
thanks for that! It works! great! thanks guys!! :D
n-drew
03-05-2007, 05:04 PM
epheres last version was 0.1.4 too if im correct, so please dont let it die like ephere did.
Glacierise
03-23-2007, 08:51 AM
Great editor! Keep it up dude!
tryhard
04-11-2007, 06:56 AM
... yes, keep it up !!!
:thumbsup:
cester
04-21-2007, 03:42 AM
Are you still working on it?
Any news?
stilgarna
04-21-2007, 08:55 AM
Wow very interesting job...
I need to test it...
Great job dude...
Best Regards...
Bercon
04-21-2007, 09:06 AM
-- SME Beta Version 0.1.5b --
Download: http://www.niksula.cs.hut.fi/~jylilamm/Resources/SME_Beta_0_1_5b.rar
Release info:
- Backwiring with original value
- Improved look with new Helium 1.06 features
- Focused node is always drawn on top of others
- All 3ds max controllers supported inside SME
To-do list:
- Support selection of multiple nodes (atm you can only select one)
- Store SME with max scene (OPTIONAL) (NOTE: could this be as simple as storing smeOps which contains all SME information to custom atribute of rootNode like with controllers?)
- Support for multiple SME views, for different materials etc
- SME data is shouldn't be cleared each time SME opens
- When doing something to node take account the possibitily of changed material/maps
- Color.channel (or average = desaturated) to float node (scale 0.0 - 1.0, so its easy scale to it with math node to whateverer desided)
- Consider possibility of making custom (script controllers) nodes with some sort of editor
- Double click on wire to delete
- Shift+Drag to copy node
- Option to make all nodes children move when node is moved
- When draging wire, node under mouse should always be drawn on top
- MAP and MATERIAL buttons to top toolbar for drag'n'drop support (perhaps slightly clumsy but it should work)
- Add Delete to right-click menu (since its not possible to delete nodes when "Auto assign to Material Editor" toggle is on)
Under testing:
- Ability to open trackview from SME and edit controllers this way (doesn't look like its gonna work very well, only works for materials in MEDIT)
Sorry for so long wait. I've been busy writing forums for university project but now that they are done I'm gonna make SME updates more frequent. So next update will probably come out next week. I'll focus on the last 6 things mentioned on to-do list to improve SME usability.
This and future versions need new Helium version (Thx kees!). You can download it from here: http://www.lumonix.net/ (On the bottom "Download freeware here")
- Jerry
Rockin
04-21-2007, 10:03 AM
Good to hear from you again:)
I have a bug to report: I can't use the "Color with channels" with the A&D material (works fine with standard) - it gives me a maxscript error.
The to-do list sounds awesome :D
Bercon
04-21-2007, 10:22 AM
Yeah there are some problems with RGB><RGBA conversion checks. I'll fix it for next version. This bug should only occur with A&D mat since its the only one I know of that uses RGBA controllers instead of RGB. Thx for reporting it, I had totally missed it when redoing controller system :thumbsup:
metamesh
04-22-2007, 02:13 PM
awesome! Glad to see you back!
btw is there any difference in the interface and so? it looks like before to me..? i installed the las helium from the lumonix site and the new version of the SME, but it looks like before? just curious here
great job
Meta,
You should see titlebars for each node and subtle shadows around each node.
Also when you hover over a node that is below another, it should pop to the front.
And you should get white text on dark colored nodes.
(Not sure if SME uses dark enough colors to see this)
-Kees
Rockin
04-22-2007, 03:36 PM
Meta,
And you should get white text on dark colored nodes.
(Not sure if SME uses dark enough colors to see this)
yeah, you can see this in the "Color with channels" node:P
About the titlebars.. do they offer extra functionality/what is their purpose?
Also, whenever I create say a "Color" node, they disappear completly !?(it looks like it used to look with the old helium). If I want them to reappear all I have to do is create a new material :P
Bercon
04-22-2007, 08:24 PM
-- SME Beta Version 0.1.6 --
Download: http://www.niksula.cs.hut.fi/~jylilamm/Resources/SME_Beta_0_1_6.rar
Release info:
- Fixed bug with RGB><RGBA controller conversions, this fixes all problems with A&D material
- Fixed bug with backwiring floats/colors
- Shift+Drag to create new node of same type
- Its now possible to select multiple nodes (region select is also available)
- Delete added to right-click menu
- Update, Delete and Discard (RCMenu) now also affect selected nodes (so nodes affected are selection + node clicked)
- Option to make all nodes children move when node is moved (the new "Lock" button)
- Node under mouse is always drawn on top of others (Previously there were cases where this worked incorrectly or not at all)
Hey kees, yeah you can see the text color change with color nodes which take their color from controller they represent. Actually I just noticed this new feature myself. Nice addition kees :thumbsup:
Rockin, yeah there was a slight bug in 1.5 which made them disapear when you created a new color/float node. However it was fixed in 1.5b update, unfortunately you downloaded 1.5 just before I had updated it. Anyways, now 1.6 is also out which fixes all bugs I know of. Titlebars don't really add any functions, they just look nice.
The important update on Helium 1.06 was ability to bring one node on top of others and now SME 0.1.6 fully utilizes this. Helium also now offers seperators between sockets, however atm I can't use this in SME. I'll try to include new material/map definition files in next update where you could use these. Basicly you could organize the order of sockets (and choose not to show all of them) with these definition files and add seperators between them.
Rockin
04-22-2007, 10:19 PM
The Lock button and the multi-selection are great!
Also the map/material definition files which are to come are a sign of maturity/robustness, good thinking
One feature request: when I try to connect a node to something every material in the view "shows off", which at times gets things pretty clutered. I think it would be nicer if only the material you are hovering over while dragging the link displays it's slots.
Another improvement would be IMO that materials shouldn't expand only after say 400 milisecs (standard Windows's menu response time) after you hover above them. As they are right now they feel a bit too snappy:)
-----------------
A bug to report: sometimes when I click the top spinner for float values, it just continues going on and on. I'm not pressing it in any particular way, just the way I always do. But sometimes it does this weird thing.. but I can't give you the steps to reproduce it.
-----------------
Oh wait, I can: it happens only after I have just selected a float node..
-----------------
Ok, and another one: if I press Del to delete a connection and it deletes it, pressing Del again immediately after gives a maxscript error..
Any time soon I'll get rid of the old material editor button for ever:D
Bercon
04-23-2007, 07:46 AM
One feature request: when I try to connect a node to something every material in the view "shows off", which at times gets things pretty clutered. I think it would be nicer if only the material you are hovering over while dragging the link displays it's slots."
You get exactly this when you uncheck "Show available sockets when connecting" from settings.
Well the delay could be rather difficult to implement, but I'll see if its possible.
A bug to report: sometimes when I click the top spinner for float values, it just continues going on and on. I'm not pressing it in any particular way, just the way I always do. But sometimes it does this weird thing..
Yeah its REALLY annoying but I hadn't found out how to fix it until now. Basicly it happens every time you select node and then click on one of the spinners. However, if I use setFocus spinnerFloat then it doesn't happen. Anyway it'll be fixed in the next version.
Ok, and another one: if I press Del to delete a connection and it deletes it, pressing Del again immediately after gives a maxscript error..
Fixed in next version.
Thx for the bugs reports Rockin!
Rockin
04-23-2007, 10:46 AM
I totally forgot about those settings. Since I've set my materials to be doubleclicked, the need for the 400 ms is gone.
Is there anyway to change the color of the titlebars? I've changed the sme colors to better fit my dark ui, but now, because the titlebars appear with an inverse color, they make the text unreadable..
http://img183.imageshack.us/img183/2451/smexu6.th.jpg (http://img183.imageshack.us/my.php?image=smexu6.jpg)
and a bug:
If the Lock button is activated, weird things happen when you try to connect nodes and you have a node selected (children of the selected node move also with your mouse)
cheers & I hope my comments are useful, it's the least I can do:)
Bercon
04-23-2007, 02:38 PM
Yeah actually there lots of unexpected bugs with the new Lock feature, however they are all fixed in next version.
Atm Helium doesn't give any controll over titlebar colors so I'm afraid I can't do anything to them.
Currently I'm trying to implement the material definition files, however there are some problems with max standard materials. Many of them use different shading modes like Phong or Blinn and these different modes have different properties. Basicly they are totally different materials. This makes making definition files for them quite difficult.
Most 3rd party shaders also have different shading modes but they simply hide the properties they aint using, they are still there and you can access them through maxscript so it doesn't cause any problems.
Hi the titlebar color inverting was a bug in helium 1.08.
I fixed it in 1.09 on the website now.
Jerry,
Were do you plan to use 'setFocus spinnerFloat'.
Right after you click on a node?
Because that would prevent you from pressing 'delete' to remove a node.
It not only happens when you click on a node, it also happens if you click on a node, then pan the viewport and then click on the spinner.
I have seen this problem before and have not really found a solution.
I looked and looked in Helium and I cannot find anything I would do to cause this.
I'm now thinking it may be a bug in the spinner.
I don't think it properly grab mouse-message-control or whatever it requires.
If you find a work-around for the spinner issue, let me know.
Thanks,
-Kees
Bercon
04-23-2007, 08:57 PM
Yeah I hadn't thought of that. Well instead of using del button you could use rcmenu to delete nodes. How hard would it be to test if mouse is over SME or not and make an event when change occurs? This way you could set focus on something else than SME when you move mouse out. mouseMoved event can't really be used here.
One way would be setting up timer which would check every 10ms where mouse is but I think it would be rather bad for performance.
- Jerry
There is the mouseMove event in helium.
So when the mouse is moved, use:
mouse.screenPos
Compare that to something like
getDialogPos <rollout>
You may have to compensate the dialogPos with extra pixel if you have a menu bar etc (which you do in SME).
-Kees
Bercon
04-24-2007, 09:34 AM
But that only works if your mouse is over helium view. Its not called when mouse is not over helium so I can't use it in this case.
- Jerry
dgsantana
04-24-2007, 09:55 AM
Hi all,
Sorry to drop in but, may a MouseEnter, MouseLeave event would do the trick, most controls and windows have this events or can capture them.
Best regards,
Daniel
Bercon
04-24-2007, 12:56 PM
Maxscript however doesn't support such events for UI elements. If I would use dotnet controlls then it would certainly work. Its not possible to mix dotnet controlls with maxscript ones as far as I know.
So these events would have to be implemented in helium in order to me to use them.
- Jerry
I fixed the spinner issue in helium 1.10 (online now)
-Kees
ypuech
04-24-2007, 04:48 PM
Maxscript however doesn't support such events for UI elements. If I would use dotnet controlls then it would certainly work. Its not possible to mix dotnet controlls with maxscript ones as far as I know.
So these events would have to be implemented in helium in order to me to use them.
- Jerry
It's possible to mix MAXScripts controls and .Net controls using dotNetControl instruction in a rollout definition.
Bercon
04-24-2007, 06:20 PM
-- SME Beta Version 0.2.0 --
Download: http://www.niksula.cs.hut.fi/~jylilamm/Resources/SME_Beta_0_2_0b.rar
Release info:
- Fixed unexpected behavior of Lock button
- Delete now works even when "Auto assign to Material Editor" toggle is on
- Views
Views are still not finished, I'll be adding some way of to merge them and possibly having more than one view open at the time. Now with the view structure in place it should be fairly easy to save SME with max scene so you dont lose your views. These should come in next update.
Material/map definitions are on hold since I have to figure some way around the changing structure of some materials.
And thank you for fast fix kees!
metamesh
04-24-2007, 09:41 PM
hi guys
Bercon u are doing an awesome job! keep them coming! :D
I may have found a bug? when u create a raytrace material and then try to delete it u will get a maxscript error?
No wait, it happens with whatever material/map i create, if after creating it i try to delete it it will give a maxscript error...?
Rockin
04-25-2007, 10:07 PM
Hi
Alex, I have that problem too, but only if I create&delete it on a fresh start of the SME
some minor bugs:
1. trying to reset the zoom gives an error, but the zoom still works
2. when connecting a color node to most mr maps (example: miPhysical Sky, Glow(lume)) I get an error (I know, I was looking for it:P).
except these, the SME works great! (titlebars too:P)
Feature request: when connecting a float node or color node which hasn't been assigned to anything, make it have the standard value/color the material already has in that slot. Usually there are some good defaults for materials..
Oh and maybe copy/paste of colors/values..
Bercon
04-26-2007, 01:20 PM
-- SME Beta Version 0.2.1 --
Download: http://www.niksula.cs.hut.fi/~jylilamm/Resources/SME_Beta_0_2_1.rar (http://www.niksula.cs.hut.fi/%7Ejylilamm/Resources/SME_Beta_0_2_1.rar)
Release info:
-- Fixed reset zoom
-- Fixed node deletion
-- Fixed mental ray material/map support (color controllers)
-- Added copy/paste for Float/Color nodes (Ctrl+c, Ctrl+v)
If you paste with nodes selected they all get the value on clipboard and if there is none selected new node is created under mouse. If you want to copy materials or maps I suggest you use shift+drag.
Feature request: when connecting a float node or color node which hasn't been assigned to anything, make it have the standard value/color the material already has in that slot. Usually there are some good defaults for materials..
If you start draging from the socket (like color1, color2 or size in case of Noise map) and end it on empty area, a menu popups where you have the option of using orignal value to create new color/float node where it connects.
Thx for bugreports!
David1000
05-10-2007, 02:46 PM
How will i able to save a scheme?
After call SME and quit 3dmax after the next restart SME all the work is gone :(
Thanks and
Cheers David
David1000
05-10-2007, 03:02 PM
Hi,
I like the way SME works. But how can I save user made scheme of SME of my current loaded max file ? After restart all the work is gone :-(
Suggestions:
* Would it be possible to disable view the childs (yellow previews) ?
So that I see the main material only without wires.
* I like to have silders for the material overview.
SME is a great addition to the 24 material slots in 3dmax!
I very annoyed about the 24 slots in 3dmax only.
Looking forward to you nice work!
Cheers
David
Bercon
05-14-2007, 12:42 PM
I just had my last exams today (been busy) and I'll see if I can make some update on SME before the end of the week.
"* Would it be possible to disable view the childs (yellow previews) ?
So that I see the main material only without wires."
Seems like a good idea. It probably wont make it to the next update but I'll add it to my to-do list.
"* I like to have silders for the material overview."
I'm not sure what you mean by sliders?
"How will i able to save a scheme?
After call SME and quit 3dmax after the next restart SME all the work is gone :("
Yes, this is the main focus of the next update. Now that I've implemented different views (in the latest version) it is relativly easy to save them with max scenes. I'll probably come up with this feature before Friday.
The biggest problem I'm facing right now is the way how I should handdle multiple views. To be flexible, SME would need to be able to show nodes from more than one view and I'm still not sure what would be the best way to handdle this.
thorsten hartmann
05-14-2007, 12:47 PM
hi,
try Nodejoe http://www.nodejoe.com/index_en.php, that is what you want and it is much better as SME.
mfg
hot chip
that is what you want and it is much better as SME.
Do you have any constructive information why it would be so much better, or are you just here to hijack this thread?
Nodejoe seems nice at first glance, but it is missing a ton of things in workflow.
I.e. you can only wire map channels, not other values etc.
And Bercon's SME is free, which nodejoe won't be (afaik).
It is not very respectful to somebody who gives a way a tool for free and has obviously put a lot of work in it.
thorsten hartmann
05-14-2007, 04:22 PM
sorry,
but i write only my opinion! Why not?
The user Bercon want save the screen from the tree. Nodejoe can do that and that is what this user need. Second ist NodeJoe Beta for free. I like the SME and i have use this script before i find NodeJoe. Now i use only Nodejoe. Try it self and then can say your opinion.
mfg
hot chip
stilgarna
05-14-2007, 04:27 PM
Do you have any constructive information why it would be so much better, or are you just here to hijack this thread?
Nodejoe seems nice at first glance, but it is missing a ton of things in workflow.
I.e. you can only wire map channels, not other values etc.
And Bercon's SME is free, which nodejoe won't be (afaik).
It is not very respectful to somebody who gives a way a tool for free and has obviously put a lot of work in it.
I like NodJoe too but I agree with kees... and I think you should post your need instead of saying that nodJoe is better...
SME is free... It's priceless ;)
Best Regards.
Ruramuq
05-14-2007, 04:30 PM
Helium + SME feels good
I have some comments
· you cannot break wires sometimes, like bezier color(controllers related)
· if you try to wire two difusse colors, it should create a bezier_color controller automatically
· zoom about mouse point would be nice
· the names are duplicated and a litte confusing, groups would be nice,
· the script crashes when changing the color of a bezier_color
· and once the window is closed, the schematic view is lost
(perhaps saving them in a special helium controller inside global tracks? I dont know)
· you have to add materials one by one, this is time consuming
Thank you for sharing your work
P.D I've tried to install NodeJoe, already twice, and max crashes from the start. Right now I dont trust it for being comercial, even less for being unstable.
assuming that it is better is a subjetive opinion..
thorsten hartmann
05-14-2007, 04:39 PM
ok! only one example
YOU CAN SAVE THE TREE!
and that is very important.
and this....
a) Shader list
b) Parameterview in a seperat view
c) very good layout function
d) the max files works on other 3DSMAX versions without Nodejoe.
e) The BETA IS FOR FREE !
mfg
hot chip
Rockin
05-14-2007, 06:33 PM
Please thorsten hartmann (http://forums.cgsociety.org/member.php?u=116389), if you have something useful to say for Bercon's SME say it. If not please post in the thread started for nodejoe in the main max forum, or somewhere else. In case you've missed the title of this thread, it is called "Schematic Material Editor Progress (http://forums.cgsociety.org/showthread.php?p=4386853#post4386853)", and it should stay focused on that and not divagate to useless disputes.
I'm just saying this is the wrong thread you put your ideas in, don't get upset:)
P.S. Bercon, I can't wait for the next update :bounce:
maxplugins
05-14-2007, 07:00 PM
e) The BETA IS FOR FREE !
Yup, the Beta is free at the moment, but when it's finished it'll probably be commercial.
Dave
thorsten hartmann
05-14-2007, 07:11 PM
sorry for my statement here...
the sme script is very nice and helpful, no problem.... And i hope that ideas can you use from nodejoe and the nodejoe developer can learn from your nice script. What i want is only answer of the question from user here (save tree!). Sorry... and in the future is the sme for free and nodejoe for money.
sorry for my simple english, in german is my word that i write not so hard.
mfg
hot chip
David1000
05-15-2007, 01:13 AM
Seems like a good idea. It probably wont make it to the next update but I'll add it to my to-do list.
:thumbsup:
"* I like to have silders for the material overview."
I'm not sure what you mean by sliders?
I mean window scroll bars (sliders)
If you have about 10 Matrials in a row main-window, mousewheel zooming makes the previews very small. A scrollbar would be very handy.
http://img512.imageshack.us/img512/808/smeqt7.gif
Yes, this is the main focus of the next update. Now that I've implemented different views (in the latest version) it is relativly easy to save them with max scenes. I'll probably come up with this feature before Friday.
:thumbsup:
The biggest problem I'm facing right now is the way how I should handdle multiple views. To be flexible, SME would need to be able to show nodes from more than one view and I'm still not sure what would be the best way to handdle this.
Perhaps a view selector would be interesting.
1) Like the existing SLOT[0]
View[+][0][-]
or...
2) A new menu entry [MultiViews]
[Settings] [Display] [MultiViews] [HELP]
eg.
[MultiViews]
[View 1]
[View 2]
[View 3]
[View 4]
Bercon
05-16-2007, 09:38 PM
-- SME Beta Version 0.2.2 --
Download: http://www.niksula.cs.hut.fi/~jylilamm/Resources/SME_Beta_0_2_2.rar
Release info:
-- SME can be stored with max scene
-- SME doesn't reset when closed and reopened
Now your nicely laid out node trees wont go to waste. SME is stored on scripted custom attribute with max scenes which means that you can open these files even without SME just fine. However, if you feel like you don't want SME saved with scenes just uncheck "Store with scene" checkbox under settings (this way SME doesn't leave ANY trace on your max scenes).
"I mean window scroll bars (sliders)"
Unfortunately I can't implement sliders to SME since it would require them to be added on Helium.
"you cannot break wires sometimes, like bezier color(controllers related)"
This isn't a bug. Once you assign controllers to any material or map track (animate your diffuse color using Auto Key for example or wire color node in SME) they CANNOT be deleted. This is 3ds max limitation and I can't do anything about it.
"if you try to wire two difusse colors, it should create a bezier_color controller automatically"
AFAIK you can't wire two input slots in Helium. The easiest way is to backwire either diffuse (with orignal value) and then connect newly created color to another diffuse.
"zoom about mouse point would be nice"
I might be able to simulate this, I'm not sure since Helium doesn't really support it, but its not on top of my feature list for now.
"the names are duplicated and a litte confusing, groups would be nice"
You mean when using Shift+Drag to copy nodes? It shouldn't create duplicates since I use maxscript function to make the names unique. I'll see if I can find out whats the problem.
"the script crashes when changing the color of a bezier_color"
I managed to reproduce this only once. But after that it worked fine. Weird.
"you have to add materials one by one, this is time consuming"
Yeah, I'll probably add some way to import whole medit to SME. This would also require ability to hide node trees with only roots visible so it'll take some time to add it (otherwise SME would be too crowded).
Thx for support, bug reports and suggestions!
nice job on saving the schematic in the scene!
(I know that is usually one of the more painful things)
That should please some people :P
"AFAIK you can't wire two input slots in Helium. The easiest way is to backwire either diffuse (with orignal value) and then connect newly created color to another diffuse."
Helium allows you to wire in as many things into a socket as you want.
You probably disconnect the old connection in 'on connectionChanged'.
I would say that is a smart thing.
Allowing more then 1 node input can get very confusing on your end as the tools author.
But..if you are not to worried, then you can allow as many input connections as you want.
(Nothing in helium will break by allowing it)
Ruramuq
05-17-2007, 12:25 AM
I think that particular crash is because I wired a bezier_color to the slot meant for maps
I mean, it seams that SME is allowing this :
http://img.photobucket.com/albums/v360/Ruramuq/X-3DSMAX/SME_wrong_wire.png
both materials were wired as "material #28" shows, but:
› when SME window is closed and reopen, something weird happens as "material #26" shows.
-- Unknown property: "value" in false
-- Error occurred in colorpickerColor.changed(); filename: C:\3dsMax9\scripts\SME\smeDialog.ms; position: 11331
colorCont.value = smeOps.convertColor newVal rgba:true
-- Frame:
-- colorCont: false
-- nodeID: 6
-- newVal: (color 129 155 241)
>> MAXScript Rollout Handler Exception: -- Unknown property: "value" in false <<
cester
05-17-2007, 12:34 AM
Is this plugin all write in maxscript?
Can't when it is finish be traslate in sdk( it will be faster )?
Ruramuq
05-17-2007, 12:38 AM
"the names are duplicated and a litte confusing, groups would be nice"
You mean when using Shift+Drag to copy nodes? It shouldn't create duplicates since I use maxscript function to make the names unique. I'll see if I can find out whats the problem.
I meant the names like "diffuse_color" and "diffuse color" are a bit confussing, but I think it's a matter of getting used to it.
now that SME is saved with the scene itself, it's so comfortable to start using SME more and more. thank you.
Ruramuq
05-17-2007, 12:45 AM
Is this plugin all write in maxscript?
Can't when it is finish be traslate in sdk( it will be faster )?
it uses Helium, a plugin made by 'kees', a maxscript extension, that I think it allows schematic nodes
Bercon
05-17-2007, 06:59 AM
cester, only way to use Helium is through maxscript, things are a lot harder to do in SDK and SME is entirely written in maxscript. So the short answer is no, it wont be translated into C++, there is already a plugin that does it and its NodeJoe.
Ruramuq, I still didn't manage to properly crash SME with those bezier colors, I guess I just have to keep trying. That error report is nice but unfortunately I would need steps to reproduce it in order to fix it. You simply can't wire color to map slot so that can't be the problem.
I'm aware of the problem in screenshot. Its because StandardMaterial has many aliases for same parameters. So Diffuse and Diffuse_Color are pointers to exactly same thing. I'm going to fix it with material specific defintion files once I get them working.
kees, yeah you can already do that in SME. I understood he meant dragging wire from input slot to another input slot and creating a new node to connect both of these input slots.
Thx your replies!
Is this plugin all write in maxscript?
Can't when it is finish be traslate in sdk( it will be faster )?
Well that is an interesting comment.
I'm not familiar with SME or NodeJoe in-depth (have not used them in production is what that means) but in my basic test, SME-Helium combo draws more nodes faster then NodeJoe, which claims to be entirely c++ and therefor claims on their website that it is more effecient and faster then a 'fancy script'. I assume they are pocking fun at SME-Helium.
Panning a view with 100 nodes in SME-Helium was faster (significantly) then adding a 100 nodes in NodeJoe.
Both are betas so it seems fair to compare them that way.
So I think your statement that everything done 100% in c++ is always faster appears not to be true.
The drawing of nodes and wires in SME-Helium is done in c++ and in my tests a few hundred nodes is no problem at all (Number of in/out sockets does significantly impact such a test so I usually pick an average of 6 sockets per node)
Simple operations like setting a color or doing a few things when a connection is made or updating a material with some settings is really super fast to do in maxscript because it only requires a few commands to be sent.
You are not going to notice much of a difference if you do this via maxscript or via c++ and so I think SME will be fine for speed.
Are there any things you noticed to be slow in SME? you can always bring them up and I am sure there is something that can be done about it if it is actually SME causing it and not just max.
Bercon
05-18-2007, 11:59 AM
Only thing that would become faster is the auto arrange function in SME since its fairly complex. However, if there is anything else that seems too slow please inform me and I'll see what I can do.
Anyway, here is a screenshot of next versions new channel node. It allows you to seperate color channels to floats: http://www.niksula.cs.hut.fi/~jylilamm/graphics/SME_Beta_0_2_3.jpg
I'll also make it possible to transfer nodes between views. I think the best way of doing this is transfering selected nodes. Oh and merging two views together will also be there.
Material definition files (fixed standardmaterial etc.) probably wont make it to the next release which hopefully comes out before monday.
cester
05-19-2007, 10:43 AM
No, I don't think The Mat Editor is slow, I only think it could be faster. I ask abaut the difference between sdk and Maxscript , and Bobo answer to me:
LinK (http://forums.cgsociety.org/showthread.php?p=4327507#post4327507)
Bercon
05-20-2007, 09:22 AM
-- SME Beta Version 0.2.3 --
Download: http://www.niksula.cs.hut.fi/~jylilamm/Resources/SME_Beta_0_2_3.rar
Note: Delete existing SME folder (if you have one) before extracting this into your script folder, otherwise you might get error when starting SME and it wont load properly.
[/url]
Release info:
- Channel nodes
- Added Merge for views
- Added ability to transfer nodes between views
- Material/Map definitions system (Man this was harder than I though)
- Definitions for Raytrace and Standard materials (No more duplicates in Standardmaterial!)
- Dialog position and size are not reseted when closing and reopening SME
- Views list now displays which view is currently open
- Fixed shift/ctrl getting stuck when released outside schematic view
- Fixed crash which occured when changing views
- Fixed crash with color nodes when changing their color (The one Ruramuq reported)
- Fixed focus problems
Screenshots:
Channel nodes - http://www.niksula.cs.hut.fi/~jylilamm/graphics/SME_Beta_0_2_3.jpg (http://www.niksula.cs.hut.fi/%7Ejylilamm/Resources/SME_Beta_0_2_2.rar)
Raytrace material - [url]http://www.niksula.cs.hut.fi/~jylilamm/graphics/SME_Beta_0_2_3a.jpg
Standard material - http://www.niksula.cs.hut.fi/~jylilamm/graphics/SME_Beta_0_2_3b.jpg
Well now its finally starting to take shape. Next thing I have to do is update the node updating system. After that its gonna be few more node arrange features, ability to import lots of materials from Medit and hide/unhide nodes. Hopefully I get the first "final" version out by the end of next week. For that I'll probably try to get some help files done too explaining all the stuff in SME.
metamesh
05-20-2007, 12:45 PM
awesome man!
Rockin
05-20-2007, 04:01 PM
I guess this is really the end for the old material editor button up there, and the M shortcut also:)
Bercon
05-23-2007, 06:45 PM
-- SME Beta Version 0.2.4 --
Download: http://www.niksula.cs.hut.fi/~jylilamm/Resources/SME_Beta_0_2_4.rar
Release info:
- Ability to change Math/Channel nodes type (Add, Subtract etc.)
- Import dialog for Material Editor
- Remade toolbar
- Color settings
- Horizontal/Vertical align
- Ability to Hide/Unhide nodes
- Material Editor slot is now saved with settings
- When browsing views, it now lists materials/maps inside selected view
- Improved right-click menu (Add Selected to import medit selection to SME etc.)
- Improved performance
- Lots of bugs fixed
Screenshot of the new UI:
http://www.niksula.cs.hut.fi/~jylilamm/graphics/SME_Beta_0_2_4d.jpg
Okey, its about to be finished. My to-do list is empty, if you can think of something to add please let me know.
Now I'll start making help files and tutorials to explain all its features. After this I'm going to release the final version.
cester
05-24-2007, 03:43 AM
Very good work!:)
demoniorojo
05-24-2007, 11:32 AM
Hi Bercon...good ME,but for me max crash if I load the p_megatk shader for MR inside the SME...
Bercon
05-24-2007, 01:50 PM
Thanks for reporting it demoniorojo. I'll see that it gets fixed before final release.
Manual for SME can be found at http://www.niksula.hut.fi/~jylilamm/help/ however its still in progress and lots of stuff is missing. I'll compile CHM (like max's user refenrece etc.) of it for final release.
I'll probably get first final release ready on next weekend. It will feature some new hotkeys and icon for openSME macroscript.
Bercon
05-25-2007, 03:49 PM
It seems there is some bug in max and doing "getPropNames p_megatk" crashes it. Well this map has 196 sub maps... If you'd add float and colors to that you'd have node with ~600 sockets which would be pretty useless. Anyway, it aint nice for it to crash and easy fix for this problem is creating new text file to 3dsmax/Scripts/SME/Definitions/ folder. It should be named "p_MegaTK.txt" and inside it you should type "#()", it will prevent max from crashing.
The fix will be included in next version.
demoniorojo
05-25-2007, 04:23 PM
thank you! Bercon :) I use very often mega_tk,the bug correction is...:thumbsup:
Bercon
05-26-2007, 07:45 PM
Final 1.0 version of SME has been released so there is no point continuing this thread. Thank you for all support and beta testing!
You can suggest new features and report bugs at the new thread: http://forums.cgsociety.org/showthread.php?p=4413439
CGTalk Moderation
05-26-2007, 07:45 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
vBulletin v3.0.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.