View Full Version : Actions-scripts
ThirdEye 11-27-2002, 05:06 PM A friend that uses XSI and Maya told me that in Maya, XSI, Max you can record some actions, make a button, and you will have another tool. Is there something similar in C4D?
|
|
LucentDreams
11-27-2002, 06:33 PM
I know the way it works in XSI is just like making an actionscript in photoshop super fun and easy. I'm not sure about how its done in Maya or Max though.
As for C4D, you can write expression to do many things, but as for just doing some things to a cube and then make those functions into a button, no there isn't anything like that to my knowledge unfortunately.
Miyazaki
11-27-2002, 10:06 PM
I know how it works in Maya and it`s very simple. Just adding Button to the shelf and an actionstack(you can copy it out of the command line) to the button.
In Cinema you can make it with the user data-field and Xpresso, but possibilities are limited.
Just building the functionality(your actions) within Xpresso. Add the expression to a null-object.
You can use another expression to activate the action-expression via user data-field(click-box->boolean). Or implement this in the function itself.
It`s just an example, there are many other ways to realize it with Xpresso. As an alternative, C.O.F.F.E.E. can be used. Building a graphical user interface is possible with it, but it takes pain.
It`s easier an more flexible in Maya but perhaps Maxon implements such a feature in V9->Command line?!?!
H. Ikeda
11-28-2002, 01:10 PM
I don't know Maya well (but I know basic things about Maya), but in C4D, I'm sure coffee has some modeling commands and also in C++SDK. So something like action history including modeling can be made at least in the form of plugin, but it's not so easy though. I also hope maxon gives such a power to R9.:rolleyes:
ThirdEye
11-28-2002, 01:20 PM
My R9: n-gons, a ton of meshtools, nurbs, actionscript, refraction channel, HDRI, 3S, layered subdee, better S&H.
Miyazaki
11-28-2002, 04:16 PM
I agree with you ThirdEye_01.
And
- total control of all C4D-features in Xpresso(->bhodiNUT-shaders are not supported right now)
- better modeling and selection-tools(look at LW and perhaps real NURBS!?!)
To put the whole matter in a nutshell, C4d should implement the best things of all worlds(Maya,XSI,LW,3DMAX). But it takes time.
LucentDreams
11-28-2002, 08:10 PM
just curious whats wrong with the selection tools? There is one definitely lacking from R8 thats in XSI (uses a rendered picture with icons to restore selections) and that will change soone enough I bet.
Other than that I think R8's selections abilities are some of the best, and so many options.
Per-Anders
11-28-2002, 08:28 PM
i think the selection tools in c4d are good... but the workflow could be better. in lightwave to make a lasso selection just hit (on a mac at least) the apple key and click drag, very goo, the keyboard shortcuts for turning selections on and off are good too as well as the hide show commands, but those sorts of things are easy to deal with using hte command manager.
i think it's general workflow that can be improved.
sticky keys for plugins, and access to keyboard for the pluins (i.e. perhaps you have xgizmo plugin that you assign to the h key, so with sticky keys you hit h and you're into the plugin, then you can hit any otehr key which the plugin may use for it's own modifiers and finally either the h key again to get out of the plugin and back to move/scale/rotate, or perhap teh space bar... kinda like lightwave does only even more power to teh programmers of plugins. this would be great for thigns like edge extrudes wher eyou might want further keyboard modifiers to do specific effects but not want to have to make painful hand positions for the user.
another thing in workflow as i've said before is a combined move/scale/rotate tool. there's no need for all these three to be in seperate tools, in fact combining them would have a lot of benifits for every tool. look at teh maya bevel tool for this. you get the handles of all the tools on the object axis, then you can simply tap click on the handle type (they're fairly objvious as they're different styles) to select teh type of modification, then mm drag to change overall, or even dont tap and just click and drag on teh handle of choice. i would alos like to see the loop style rotate handles in c4d rather than the stick handles, much more intuitive.
then of course the viewport modifiers, it would be good if c4d would take on all of the controls at hand. everyone with this package i would imagine has a three button mouse or more now. this should be programmable, so that you can program a modifier key and one of the buttons to pan, zoom,dolly, rotate. again maya or lightwave have this down to a t.
then there's the tools themselves. we need to be able to set the default for each tool, for me lathes with 26 iso's isn't enough, i always change the number of iso's up to 36... why not allow us to change that permanently in a preference... or even better scripting. makes it easy to set up your own versions of tools. you want select activated by one button to select only visible elements, but another button to make a select tool which selects anything. the abiliity (and i guess this goes with the idea of sticky keys) of being able to set keys for each attribute modifier. so > can be assigned to up the number of isoparms and < to lower in the AM for sphere (if the sphere is selected), or P can be set to switch on or off the Select Visible Elemnts only option in the select tool) to set keys to everything. and the scripting control would allow of course for making of individual verisons of each tool (just copy and paste teh script that mde the specific object that you wanted... much more powerful than any library... a button library, you can assing keys to.... there's so many streamlining things that could be done that would really help the workflow no end in c4d.
hey if maxon want someone who's not afraid to call a spade a spade, and who's got a on of interface design and streamlining ideas then just call me.
Miyazaki
11-28-2002, 09:31 PM
I love the bandsaw/bandsawPro tool in Lightwave. It selects the adjoining polygons and subdivides them. And it offers a lot of parameters for selection and subdivision. In Cinema, there`re only the edge ring or loop selection. I miss similar tools for polygons.
No doubt that LW is actually better for modeling than Cinema, but perhaps it`s only my suggestion. Maxon should improve the modeling in Cinema. Priority no.1 for me.
The general workflow is great in my mind and one of cinemas merits.
astrofish
11-28-2002, 10:32 PM
The select-plus plugins at
http://homepage2.nifty.com/aquawave/e/index.html
round out the existing selection tools quite nicely.
I find the 'select belt polygons' one particularly handy.
Per-Anders
11-28-2002, 10:50 PM
they're good... but they're an extra click that you can do without... it owuld be good to have a tool or an option for "autocomplete" built into the selection tool.
then anotehr great thing would be for edge selection if it actually had an option to autoconvert, so you could select "from points" and it would select the points and then turn this into your edge selection in one quick manouvre, wih tollerant option too. it's just all rather disparate at teh moment and the number of clicks involved in swapping between different modes has now become prohibitive. which is a shame, because really edge selection in istelf is a pain, as you can't simply go around for instance the liip of an object and select in a sweeping gesture, but instead you ahve to select one edge at a time which is basically troublesome... what you want to do is to be able to simply to the sweeping selection in one quick movement (i.e. select points) hen let go of the button and it's instantly turned into edge selection (or whatever selection you want), in fact teh switch to ... buttons should be in the "active tool" dialog box with the selection tool, and as i said earlier everything should be able to have a keyboard shortcut in it...
then there's no circular selection tool... the select plus plugins are ok, but are an extra click and should have been integrated directly into the program (as it is it causes v8 to crash currently with certain elements of the plugin... poly-loop).
the selection tools also dont have soft selection or falloff based selection (check out lightwave for an amazing ammount of falloff control with selections/move/scale/rotate tools and in fact every tool in teh package) vertex based fallofs, vertex maps, texture maps, gradients, local radius etc... it's ery very powerful and allows incredible control.
ThirdEye
11-28-2002, 10:54 PM
@mdme_sadie: the 1,2,3 keys work perfectly in editor
@kaiskai: two fundamental things we don't have in editor:
1) the possibility to frame scene in all viewports at the same time
2) the possibility to visualize edges in editor ALWAYS and in ALL OBJECTS not only in edge mode or poly mode.
Per-Anders
11-28-2002, 11:12 PM
yeah i know the 1 2 3 keys but it's not convenient, ergonomically it's wrong, top of keyboard whilst mouse ise generally below, mice have three buttons now (very few have two only or one) one keyboard modifier such as alt and the mouse button of choice is much faster than the three keys. it's also a pain in terms of you can't use modifiers easily, apple + 1 for zoom/dolly which is just plain silly in terms of keyboard layout, also the keyboard only allows one stream. so either 1, 2 pr 3 aside from modifier keys, this means that two keys together lock unlike the mouse, which while minute delays does cause a general slowdown in workflow.
i guess all i can say is the 1 2 3 modifier key system sucks. alt+mousekey is easy and fast imo.
ThirdEye
11-28-2002, 11:13 PM
don't forget that a lot of mac users have one button mouses.
Per-Anders
11-28-2002, 11:18 PM
well then maybe more control to customise c4d's modifiers all the way through to the different mouse keys then. i'm a mac user and i jsut use a microsoft intellimouse explorer... all the mac users i know use either macally, logitec, or microsoft mice on their machines, i think the original mouse is a beauiful work of art, it should be hung on the wall, but that's all. a modern mouse is just so much better imo... and os x supports mice with more than one button directly without the need for third party software, so it's a mystery to me as to why apple still keep going with the one button mouse rather than having a nice three button with scroller wheel as standard. i'm sure they would design an absolute stunner if they did.
ThirdEye
11-28-2002, 11:23 PM
I agree!
dmthurman
11-29-2002, 02:49 AM
well since this topic has trailed off onto mice.. I'm wondering about the viability of spacemouse. i think that's the one that is supported by Cinema. I know that in the Rino user's group, there are some people that are very high on these types of devices. I was wondering if anyone was using one with Cinema..
While we are on the topic, I too find the way Cinema works with having to toggle the numerical keypad to move around, a pain, it's plain clumsy. Rhino is so simple, hold left key=rotate, hold right key=pan, scrollwheel=zoom. For modeling this workflow is great...
D.T.
astrofish
11-29-2002, 09:43 AM
I agree with this also.
Since navigating around your workspace is the thing that you do most often, it should be the easiest thing to do. This implies that it should be primarily controlled by the mouse, since you have an entire hand dedicated to the mouse.
To be honest, I don't know why 5 button mice haven't become standard - one finger permanently over each button.
Ok, the argument is probably that it's overly confusing for the average user who doesn't need that much control - but for the kind of stuff we do the more buttons the better!
imperator
11-29-2002, 11:38 AM
@mdme_sadie
you can convert selections instantly with this plugin:
http://www.the3ddesigner.de
->plugins->CTS-HELPER
Per-Anders
11-29-2002, 05:07 PM
PC only though :( thanks anyway Samir. Maybe someone with a mac and some coeding knowledge can recompile it for mac for you. Still a good plugin to have if you're working on a PC.
LucentDreams
11-29-2002, 06:09 PM
Yes the possibility to zooom in and out or frame an object or scene in all viewports seems to be an issue with a lot of people, I'm sure if I had it it I would like it to, but none of the apps I have used thoroughly had that ability or at least set to that default so I'm used to the way it is in C4D.
as for the shaded wireframe, that is an issue, some of the modeler like Bunk and I really want it and keep suggessting it. it won't be available anytime soon from maxon but I'm sure someone will make a plausible solution until maxon creates an actual display mode for that.
On the issue of mice the main reason I understand for the lack of mouse control is mainly because of Mac users and tablet users. Believe it or not there a quite a few people using tablets when in C4D. Suprised me at first because I had tried C4D with my tablet and couldn't stand it, but there are. For key commands and such I would also suggest that many of you checking the Belkin Speedpad, or Microsoft Strategic Commander game controls, they work with C4D and many other apps like photoshop, and allow you to program in somewhere between 40 to 96 controls. Captain 3D swears by his Strategic Commander, and I and another C4D user from Postforum love our Belkin controllers (partly because its hard to find the strategic commander offline especially in Canada)
Being a Nendo/Mirai user (I again have access to mirai at the school YAY) and having used XSI a fair bit now, trust me I know how great a program that utilizes all three buttons is, especially for navigation. I would really love to see the ability to at least program that in.
This is a pretty good clean discussion guys hopefully maxon looks at some of this and sees that while they have really improved the user interface and workflow in the program the editor itself has some issues still, personally another thing i would like to see is the ability to have text and such in the editor view as well
H. Ikeda
11-30-2002, 11:45 AM
Well, workflow is a subtle problem, because it sometimes depends on individuals. Also, simply imitating parts of other 3d applications is not necessarily good for c4d users. C4D has already its own scheme for workflow different from others. When workflow will be modified in a coming version of c4d, lots of thought and careful checks would be needed, e.g. what sorts of workflow c4d users prefer, what type of workflow is effective in c4d, what kinds of workflow we could select... :shrug:
astrofish
11-30-2002, 01:35 PM
I agree that suddenly changing the interface would just annoy everybody, but I don't see the harm in providing _additional_ options.
C4D is very customisable in terms of layout and shortcuts, but not at all in terms of basic scene navigation.
I think it would be a very good move to allow the user to at least be able to select between a set of different approaches for basic navigation, so that 3-button mouse based navigation was at least an option.
Per-Anders
11-30-2002, 04:48 PM
something i would love to see is tool grouping and splitting. there are so many ways it could work. for instance one thing could be for each tool to have a different coloured axis... this way thogh you wouldnt have to switch between tools all the time. it might also work by using a modifier key to swap between tools grouped. and tool splitting... well lik i suggested with teh scripts you could make different versions of the same tool, like the select tool... one that's got select visible only switched on, one with that switched off, one with set weights on, one with vertex map painting on.. why? because of workflow. You can assign different keyboard shortcuts to each version meaning that you don't have to make trips to the current tool dialog if you want to maximise screen real estate.
on a similar line automated settings on dialog based tools. again probably linked with scriptable interface ability. this way you can set a keyboard shortcut to for instance change points to poly's (the selection exchange tool seems a bit silly to me... i mean why does the user need to tell it what type of selection you've currently got? why not just "selection to points, to poly, to edge, to vertex map, to saved selection, to new object" no "froms".anyhow aside from that automatic selection would mean taht you could set a key which would always choose To Poly, and avoid bringing up the dialog box, a one button solution for any dialog... would have to work with plugins too, so the scripting would have to be robust.
i agree with kaiskai about the HUD type options (text in thw viewports, 2dgrphical elements in viewports etc). total interface control, and simplicity... i'd like to see coffee simplified or replaced... ok i know this owuld really annoy a lot of plugin programmers, but really it's so close to c++ that it wouldnt be too great a hastle to change it, or at least add some simplified more sensible version. maybe something based more around basic, or XML... XML would be ideal as it's very user friendly, there are lots of XML editors out there, and it's fairly clear what's going on. or even as i've said before something like Maya MEL... after all a programming langauge that can bring up an window with buttons in it with as simple a command set as the following (i might add running this straight as is does the trick in maya... there's no need to put it in any subroutine, function add id's or anything like that... this peice of code does all that's needed, and the code to get feedback from the interface is laughably simple too)
string $window=`window -title "My Window"`;
string $column=`columnLayout`;
button; button; button; button;
showWindow $window;
yup it displays a non modal window with four buttons in it... exciting huh? (ok i know it's not exciting, but it shows how easy it is in other packages scripting langauges, even a dolt like me can understand it!!!). i don't propose to try to find out how much effort it takes to make a non modal dialog wih four buttons in COFFEE.. i gave up after 10 days.
also to go with the scripting interface there should be a constantly tunning shell just like maya et al (if this were ever implemented). in fact just going and looking at teh way maya handles scripting would be a great idea. having to put coffee tags on an object before you can run a script inside of e package (unless you go to all teh trouble of getting a plugin id?!?!?!? and write a script then compile it and save it as a coffee plugin then reload all plugins... not a good programming workflow) is not good... better to have a constantly unnig shell... integrate teh scripting output with the input. i think that if the scripting in C4D gave the same degree of power that maya's does then most of the requests that people would make... welll either they would themselves work out how to write their own solution, or third parties would be able to solve, leaving maxon there to concentrate on the core app and cool things like bodypaint and the render engine, the modules, just like A|W do (Maya Fluids, Maya PaintFX, Maya Fur, Maya Cloth, maya Dynamics) imagine how kickass the modules could be if Maxon could totally focus on them, letting third parties do the boring "I want new axis tools", or "I want a hotbox"...
Anyhow that's my take on scripting and funky tool grouping and pulling spliting... there could be better ways still to go about it.
ThirdEye
11-30-2002, 04:54 PM
I completely agree with you
H. Ikeda
12-01-2002, 06:13 AM
I agree in that we'll be happy to have a new script system in c4d. COFFEE is not a script but a simplified programming language, in which almost all kinds of things for object-oriented programming are equipped except for deep inheritance from super class. COFFEE can generate not only expressions but even sophisticated plugins. Surely it's easy to use for people who have experience of programming, but at the same time it's difficult to learn for users who have no or little experience of programming (not scripting). To generate even a simple non-modal dialog with four buttons, COFFEE needs codes something like
var dlg;
class MyDialog extends MenuPlugin
{
public:
MyDialog(); // Constructor
GetID(); // Get Plugin ID
GetName(); // Get Plugin Name
GetHelp(); // Get Plugin Caption
Execute(doc); // Execute MenuPlugin
}
MyDialog::MyDialog() { super(); }
MyDialog::GetID() { return 1000001; }
MyDialog::GetName() { return "My Dialog"; }
MyDialog::GetHelp() { return "A Dialog"; }
MyDialog::Execute(doc)
{
if(!dlg->Open(TRUE, -1, -1)) return FALSE; // Show Dialog
return TRUE;
}
class MainDialog extends GeDialog
{
public:
MainDialog(); // Constructor
CreateLayout(); // Create Dialog Layout
}
MainDialog::MainDialog() { super(1000001); }
MainDialog::CreateLayout()
{
SetTitle("My Dialog"); // Title
// Buttons
AddGroupBeginV(1000, BFV_CENTER, 1, "", 0);
AddButton(1001, BFV_CENTER, 100, 10, "button1");
AddButton(1002, BFV_CENTER, 100, 10, "button2");
AddButton(1003, BFV_CENTER, 100, 10, "button3");
AddButton(1004, BFV_CENTER, 100, 10, "button4");
AddGroupEnd();
}
main()
{
// Create instances
dlg = new(MainDialog);
// Register MenuPlugin
Register(MyDialog);
}
(you'd need not read these all, simply these make what mdme_sadie said clearer.) So a new script scheme will have important role in making actions, windows etc. And using its history, we can do the same set of actions repeatedly. (Hum...we are returning back to the subject?:) )
AdamT
12-01-2002, 06:37 AM
Great discussion here. I hope everyone who reads this thread will go to Maxon's suggestion page and INSIST that they implement better mouse navigation. This has really become an issue for me in the last few weeks since I've been using a few helper apps with much better navigation. Whenever I switch back to Cinema I'm just floored that I have to use those tiny icons or keyboard shortcuts to rotate/pan the viewport.
Speaking of the Maxon suggestion form, I think we should all take Rick Barrett's comments seriously. While Maxon does monitor these boards, suggestions made directly on Maxon's site are *far* more influential than anything posted here.
P.S.: Hey Astrofish, how's that Axis plugin coming?
Per-Anders
12-01-2002, 06:41 AM
yeah... but to me the MEL script was consise and understandeable... and MEL is more powerful than COFFEE (you can write plugins with MEL too... in fact the whole of the Maya interface is made up with MEL, and there are thousands of plugins and melscripts available out there).
it just strikes me as... well COFFEE is so lcose to C++ without the power though... it has all the convolutions and getting users to jump through hoops (i mean declaring classes a necesity to do this? superclasses, subclasses etc... it's a bit archaic, surely it can take as said that these classes exist, and that certain functions exist.. rather than the programmer having to re-invent teh wheel every time they make a new script).
I have some programming background knowledge, javascript, a little c++ loads of basic stuff, extensive actionscript (which is more or less the same as javascript)... but COFFEE just seems impossible... i even got my head around Perl once upon a time, though i dont use that stuff anymore... if COFFEE had a decent debug it might be easier. but it just seems odd that to do something so simple as make a new non-modal window (is the example you gave a non-modal window or a modal dialog?)... 46 lines of code for maya's four. that's nearly an ellevenfold increase for something that really shouldnt be that hard.
i think that COFFEE should be kept or at least a parser for emulating COFFEE for older scripts... but it's jsut that as far as i can tell... not many people use COFFEE, out of the total user base of C4D users. pretty much everyone who has Maya uses MEL to some extent. and all those scripts and plugins that people really want in C4D (like that spinquads one i wanted for ages)... well, that sort fo thing would be easy to do in maya using MELscript... even for someone as impatient as me!
i just think it's really silly to have something in a program, well a scripting language in a program, and the sum total that the printed material taht comes witht hte package has to say about it is "This is one of the most powerful features of C4D". and you're left going "and? so how do i use it?" but it's jsut too complex for most.
astrofish
12-01-2002, 09:13 AM
Hi AdamT,
It's going slowly at the moment because most of my spare time is being taken by the CGTalk SFX Earthquake challenge (link in my sig)! The challenge finishes on the 8th, and then I'll be back on it...
The core is working properly, so you can make a selection, then hit the plugin, and the helper axis jumps to where you wanted it. I still need to finish off a few bits, and write a few extra small support things to round out the functionality, but basically it's working fine (although I have to use a fiddly workaround to persuade C4D to move the helper axis since you can't directly specify its position)!
The other issue is that I'm having to sort out compilers so that I can build for Mac.
spinPoly was Coffee, so it was no problem to support Macs, but for this one I need some of the stuff that's in the C++ interface but not in the Coffee interface.
This means I need to make different builds for Win, MacOS, and prefereably also OSX. This is a nuisance, and means I'm going to have to buy the Metrowerks compiler.
To be honest, I don't really understand what the point of the Coffee interface is. Coffee code looks much the same as C++ code, but it lacks access to a lot of important stuff. So, it's no good for non-programmers because it's too complex, and it's not complete enough for programmers in many cases.
I also intensely dislike the 'typeless' nature of Coffee. As a programmer, I strongly feel that typeless languages are a _bad_ thing.
All that a typeless language does is make it so that a load of errors that should be spotted at compile time don't actually get spotted until run time. Add to that a lack of certainty about what types you are really dealing with, and a non-existent debugger makes IMHO Coffee development _worse_ than C++.
Once I've got the ability to build for Mac targets, I'm going to develop primarily in C++, because it's a proper language.
I wouldn't be surprised if Coffee is quietly forgotten about, and non-programmers are encouraged to use 'Espresso' for scripting. I don't know what it's limits are, but so far it looks like a good approach for scripting for non-programmers.
H. Ikeda
12-01-2002, 11:14 AM
Hi,
mdme_sadie: that sample code is for a non-modal dialog. Since that's really executable, you can confirm it by pasting the code to a .cof file. And so it's a fair comparison, I think.
I also guess COFFEE is not used by many users, and most of users may hope it has simpler and clearer syntax without armor of object-oriented things. Or, a new scripting system.
astrofish: As a rare thing, I like the feature of single type in COFFEE, simply because I'm a lazy man. But definitely debugging is a problem in COFFEE, also IMHO, somewhat in XPresso.:rolleyes:
AdamT
12-01-2002, 04:03 PM
Hey Astro,
I see how your vfx project is taking up all your time! Very cool. But let's wrap it up and get back to that plugin. :cool:
CGTalk Moderation
01-13-2006, 10:00 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.