Notifications
Clear all

[Closed] Scripted materials: shellac

 egz

I’m currently working on a few scripted material wrappers, but have run into a slight problem. I’m new to maxscript so I might be overlooking something simple, but I have not been able to create a scripted Shellac material, and control the submaterials.

Is there anyone out there that have done/know how to do this and could point me in the right direction? Any help would be appreciated.

6 Replies

Hi
The syntax for shell materials is as follow:

b=box()
b.material= shell_material()
b.material.originalMaterial = standardmaterial diffusecolor:(color 0 255 0)
b.material.bakedMaterial = standardmaterial diffusecolor:(color 0 0 255)

you may look at bakersfield (on scriptspot.com), its a render to texture remake with shellac fonctions. It may help you

 egz

thanks, I’ll take a look at that.

not sure if I can use the shell material for what I want to do, but maybe bakerfield can tach me something.

sorry, little confusion from myself…

b=box()
b.material= shellac()
b.material.shellacMtl1 = standardmaterial diffusecolor:(color 0 255 0)
b.material.shellacMtl2 = standardmaterial diffusecolor:(color 0 0 255)

should be better for what you want to do

 egz

well, I got a little further. Thanks so far!!

now what I am having trouble with is using something other than a standard material as the shellac materials. How would I do that?

this is what I have so far:

– start script –

plugin material egzShellac
name:“egzShellac”
classID:#(0x3bf38d95, 0x6a9fae5a)
extends:shellac replaceUI:true version:0.6
(
parameters main rollout:params
(
col type:#color default: (color 255 0 0) ui:col
on col set val do delegate.shellacMtl1.diffuse = val
)

rollout params “Shellac Parameters”
(
colorpicker col “base color: ” align:#center
)

on create do
(
delegate.shellacColorBlend = 100

delegate.shellacMtl1.diffuse = (color 255 0 0)
delegate.shellacMtl1.specular = white
delegate.shellacMtl1.specularLevel = 10
delegate.shellacMtl1.glossiness = 10

delegate.shellacMtl2.diffuse = black
delegate.shellacMtl2.specular = white
delegate.shellacMtl2.specularLevel = 300
delegate.shellacMtl2.glossiness = 70
)
)

– end script –

I think that an easy way to change the material type would be to add a “materialbutton” command allowing you to browse for a new material

 egz

What I want to do is to put a VRay material in each of the shellac slots, hardcode most of the parameters, and create a UI for the few parameters that should be possible to change.

So I don’t want the user to be able to switch material type.
If I can only figure out how to not use the standard material in the above situation I’d be all set.

I’ve only been scripting for a few days, so I’m sorry if I’m asking for obvious stuff here. I appreciate your help.