PDA

View Full Version : Maxscript Wishlist


Alex Morris
06-04-2003, 10:23 AM
Hi Guys,

I've only been scripting for a few months, but it has become apparent that there are some gaps in our beloved script!

Any suggestions on what Discreet should address with future releases?

My first two would be access to the viewport background display toggle and LOFTS[B]...................yes LOFTS:bounce:

Perhaps those non-disclosed Discreet testers out there can relay these ideas up the chain?

CTRL+X
06-05-2003, 12:42 AM
Script idea?.....a script that runs and allows one to use the same basic commands as in Autocad for creating entities.

or does this exist? I know MAX is capable of doing these things on its own,,,, but to have the same basic commands avalable at a command line would be nice.

Bobo
06-05-2003, 01:33 AM
Originally posted by Alex Morris
Hi Guys,

I've only been scripting for a few months, but it has become apparent that there are some gaps in our beloved script!

Any suggestions on what Discreet should address with future releases?

My first two would be access to the viewport background display toggle and LOFTS[B]...................yes LOFTS:bounce:



I assume you mean just toggling the BG per viewport instead of killing the whole beast?

As for the Lofts, unfortunately, the Loft code is one of the "original" parts of MAX since pre 1.0.
Adding MAXScript support for Loft creation would probably require redoing the whole feature in PBlock2 which I think is VERY unlikely to happen... (Never touch a running system).
I might be wrong though.

my 2 cents.

Bobo
06-05-2003, 01:36 AM
Originally posted by CTRL+X
Script idea?.....a script that runs and allows one to use the same basic commands as in Autocad for creating entities.

or does this exist? I know MAX is capable of doing these things on its own,,,, but to have the same basic commands avalable at a command line would be nice.


I think the thread is about Wishes for changes to the MAXScript Language itself, but since you asked, here is a first step in your direction:
http://www.scriptspot.com/bobo/darkmoon/cm/

CTRL+X
06-05-2003, 03:07 AM
Thanks BOBO,, story of my life....wrong place at the wrong time LOL


But hey thanks for the heads up on that script!!!!


Your scripts make MAX life alot better!!!!

Alex Morris
06-06-2003, 05:57 PM
OK here's another one........

The ability to create a sunlight system

Abraham
06-07-2003, 09:55 AM
My script dream ? :D A little script that could iterate through all the sub materials of a multi/sub material and see if the exact same texture is used more than once. If so, change the state of the texture from copy to instance from the first one :) Would make life so much easier when tryin' to edit the material :D

Ab

Alex Morris
06-09-2003, 10:12 AM
Hi Abraham,

try looking at blurscripts on www.scriptspot.com they have one that does that I think.

Abraham
06-09-2003, 01:47 PM
Thanks a lot Alex :) I checked, blur has a lot of scripts to manipulate materials, it doesn't seemt it does what I need but I will spend a little more time on them and will maybe find my "script dream" :)

Ab

Reality3D
06-11-2003, 12:47 AM
Originally posted by Abraham
My script dream ? :D A little script that could iterate through all the sub materials of a multi/sub material and see if the exact same texture is used more than once. If so, change the state of the texture from copy to instance from the first one :) Would make life so much easier when tryin' to edit the material :D

Ab

I was intrigued by this. Iterating through the submaterials and get the bitmap maps is easy with subanims. But, how do instancing ?(subanims have only read acces). Instancing should be something as easy as this
meditMaterials[2].diffuseMap = meditMaterials[1].diffuseMap
But instead of diffuseMap, the slot could be Specular,Opacity...anything and this is not a good way to go. Any tip,suggestion?
;)

erilaz
06-11-2003, 01:10 AM
My number 1 wishlist at the moment is:

1. COMPLETE character studio control.:hmm:

Guess that won't happen though.

LFShade
06-11-2003, 07:23 AM
Reality3D -
You might want to look into using getSubanimName() and building an executable string with the result, in order to access the subanim in a more flexible way. I'll mess around with it and see if I can come up with a working example.


RH

LFShade
06-11-2003, 08:01 AM
Okay, never mind. That returns terribly useless information. There's a better way, but I'm too tired right now to go into it. Maybe soon:surprised


RH

magicm
06-11-2003, 12:41 PM
Reality3D & LF,

I think the subanim searching is not even the hardest part..
btw; You need to call the .object property of the subanim. This gives you the actual node which (I think) you can get/set.

The hardest part is to check whether 2 maps are actually the same.. for example the #bitmap property. You can't compare bitmap values (will always return false). The same goes for the #coords property. This is not a value, but a collection of other properties.. So you need to compare all these "sub-properties"..

Another thing to keep in mind; you can't just compare values, because 1 of the properties might have a controller with a couple of keys in there. So you would need to check if they share the same kind of controller and you also must loop through each key to see if they also have the same values.

Maybe I missed something, but I'm affraid it won't be easy to script this..

Cyberdigitus
06-11-2003, 12:49 PM
hmm, a more clear and better structured maxscript reference? I don't really like the markup of it, and it would be nice if there would be an alphabetical index of functions.

more control for ui design would be cool too. i heard gmax uses flash, that would be cool in max

anyway i'm just starting to learn it, so i can't add much more.

i've also ran into stuff that can be accesed like the time tags, making everything accesible should be looked into. being able to loft through scripting seems interesting indeed

Reality3D
06-11-2003, 01:02 PM
Originally posted by magicm
Reality3D & LF,

I think the subanim searching is not even the hardest part..
btw; You need to call the .object property of the subanim. This gives you the actual node which (I think) you can get/set.


.object only have read access. If it had write acces you could simply write(for example)

meditMaterials[1][1][4].object ->Map #1:Bitmap
meditMaterials[2][1][4].object ->Map #2:Bitmap

classof meditMaterials[1][1][4].object ->BitmapTexture
classof meditMaterials[2][1][4].object ->BitmapTexture

If(meditMaterials[1][1][4].object.filename==meditMaterials[2][1][4].object.filename) then
(
meditMaterials[2][1][4].object=meditMaterials[1][1][4].object
)


The hardest part is to check whether 2 maps are actually the same.. for example the #bitmap property. You can't compare bitmap values (will always return false). The same goes for the #coords property. This is not a value, but a collection of other properties.. So you need to compare all these "sub-properties"..

Another thing to keep in mind; you can't just compare values, because 1 of the properties might have a controller with a couple of keys in there. So you would need to check if they share the same kind of controller and you also must loop through each key to see if they also have the same values.

Maybe I missed something, but I'm affraid it won't be easy to script this..

I don't understand what you are saying. You only have to compare the filename and you can get it from .object.objectproperties

The problem i have is that i cannot instance :) with subanims, only using named property accesses(and they are a LOT of possibilities here)

Reality3D
06-11-2003, 06:45 PM
I found a solution about the instancing problem. I expect to code it this night

Abraham
06-11-2003, 06:47 PM
Woooo, that's great, wasn't expectin' someone to find a solution :) I'm fully unable to code anythin' myself :( Many thanks for any hints :)

Ab

Reality3D
06-11-2003, 07:17 PM
I couldn't resist until this night, and it was easier than I expected, so here it is. It searchs for the filename, so if you have the same bitmap at

c:\tmp\tmp1.jpg
and
c:\3d\maps\tmp1.jpg

it will instance them

The key to the instance problem was to use .value property of subanim instead of .object
Something like this

map[i].value=map[j].value

Reality3D
06-11-2003, 07:20 PM
Ups

Abraham
06-11-2003, 07:24 PM
Many, many, many thanks Reality3D :D

Ab

Reality3D
06-11-2003, 11:47 PM
-- v 0.2
-- Fused global get_sub_mats and global get_bitmaps_from_mat to get_bitmap_maps. Redundancy deleted(so it's faster)

LFShade
06-12-2003, 12:08 AM
Thanks, R3D, that's fantastic! I have to admit I feel a bit as though you stole my thunder - your method is based on the same conclusion that I alluded to in my last post. Oh well, I guess that's the way it goes. If you snooze (literally!), you lose:D

Great work!

RH

AndersEgleus
06-28-2003, 11:45 PM
OK, back to the wishlist:

appliedToObject, goddamit! Some kind of method to be used in script controllers, scripted (modifier) plugins and custom attributes, yielding the object to which the script controller/ plugin script/ custom attribute is applied.

It's incredibly frustrating, e.g. if you apply a script controller to an object and you're unable to access that object unless you explicitly call it from within the controller script, either by its name or it's node ID.

The same goes for custom attributes. It's usually ok to use selection, because the object usually has to be selected for parameters to be changed, but what if it's not?

I've never scripted plugins, but I'm sure it could be useful there too.

hrobogo
07-16-2003, 08:04 AM
I would like..
convert selected quad polygon(s) to free area light (max5) ?

Stepunk
07-18-2003, 10:38 AM
Hi to everyone... :)

i'm looking for a script that makes a boolean union and have the capability to fillets (and maybe chamfer) the union edges of the boolean operation

it is possible?

if already exist a script (or a plugin) that makes this kind of job, please tell me where can i find it

Byez ;)

Aearon
07-18-2003, 06:04 PM
ok here's a good one i think:

i think we all know and love the solidify modifier. i find myself using it a lot lately, but i always have to convert my models to editable poly (sort of 'bake' them) and do some manual adjustments to get the final look.... all because of a missing feature

a lot of times i just want a single-sided plane-type model like clothes or the hull of a machine to have "thickness", but i don't need it to be double-sided all the way ... i just need a fold on the edges, a picture says more than a thousand words...

(what you see is the back-side of a quad patch)
http://www.kaistavginski.de/files/solidify_fold.gif

this would be a real timesaver, all i want is a script that sort of adds a 'fold' at the edge of a plane, with variable thickness and automatic, variable, chamfer :D

i'm doing this manual all the time now, losing the advantages of the modifier stack of course :shrug:

magicm
07-19-2003, 12:49 AM
I don't want to discourage people from posting here, but I just want to point out that the discreet support forum (located here (http://support.discreet.com/webboard/wbpx.dll/~3dsmax/login)) also has a "wish list" forum.. these wishes are more likely to be read by discreet tech people.

So don't stop posting here, I think it'd be good to compile a list of all these (and coming) wishes and send them over to discreet at once ;)

cheers,
Martijn

Joebount
07-20-2003, 07:59 PM
I got an ideathat a bunch of modellers around here would be happy to see (well, maybe just me, but ... :P) : a connect edge that take in account the highres-cage's curvature to place the vertex on the lowpoly-cage.

--> with a script like that, the curvature would be respected and we wouldn't have to retouch vertex by vertex to re-obtain a nice curvature where wanted.

I dunno if I'm clear ...
Look at the pic

Alex Morris
07-30-2003, 04:01 PM
how about access to the fillet values at vertex levels in splineshapes.

also access to the fillet value in the fillet/chamfer modifier

Joebount
08-06-2003, 04:28 PM
Well, I'm not in maxscript, I just give ideas ! :p

So if somebody zanna try to create this useful tool, all the max community (well, maybe just me) would be very happy ! :wavey:

CGTalk Moderation
01-15-2006, 08:00 AM
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.