MaterialΒΆ
class Material
A Material, contains a Surface Shader, a Displacement Shader and a Line Shader
Hierarchy
class Material < class Shader < class HostNode < class Node < class SelectableNode
Children classes : class MaterialRef
Members
Methods:
| createref | (
|
Create a MaterialRef to a gmaterial file |
| getprimitives | ( ) | Get the list of primitives or subprimitives connected to this material. |
Inherited from class Shader
Methods:
| addnode | (
|
add a node into a shader by its filename |
| getinputsdef | ( ) | Get the definition of the shader inputs |
| getinputs | ( ) | List the node's inputs |
| inputs | ( ) | An iterator on node's inputs |
| getoutputs | ( ) | List the node's outputs |
| inputs | ( ) | An iterator on node's outputs |
| getoutput | (
|
Get the first shader output node of the given type in the shader. If no outputclass is given, looks for "ShaderNodeOutputLight" in a light shader, "ShaderNodeOutputCompo" in a compositing, or "ShaderNodeSurface" otherwise. |
Inherited from class HostNode
Plugs:
types.string | HostPath | RW | The data archive to read HostPlugs value when baked |
Methods:
| deleteinheritedattr | (
|
Delete an inherited attribute plug from the node |
| overrideinheritedattr | (
|
Override the attribute |
| setinheritedattr | (
|
Set the inheritance status of the attribute |
Inherited from class Node
Plugs:
string | Name | RW | The node name |
Methods:
| onpathchanged | ( ) | Called by the framework when the name of this node or of one of its parent is modified |
| eval | (
|
Called by the framework when plug (a node's plug) must be evaluated |
| isselected | ( ) | Tell if the node is selected |
| getparent | ( ) | Get the parent Node of this Node |
| isparent | (
|
Tells if this node is parent of the potential child |
| findparent | (
|
Find the first parent Node of this Node of a specific class |
| getpath | ( ) | Returns the node path as a string that can be reused with findchild |
| findchild | (
|
Find a child node or plug using a path |
| move | (
|
Move a node to a new parent |
| delete | ( ) | Delete a node |
| rename | (
|
Rename a node |
| getname | ( ) | Get the Node name in its parent |
| getchild | (
|
Get a child node by its name |
| isreference | ( ) | Tells if a node comes from a reference project |
| getreference | ( ) | Returns the reference node it is connected to |
| gettopreference | ( ) | Returns the top reference node it is connected to |
| belongstoreference | (
|
Tells if the node belongs to the reference, or a sub reference |
| loadfile | (
|
load a file content in this node. Possible options are: overrideclass to enforce a specific class for the root node. |
| referencefile | (
|
reference a file content in this node. |
| loadtemplate | (
|
load a template file |
| savefile | (
|
load a node to a file |
| getstringcopy | ( ) | Return a copy of the node and its content as a string to be pasted |
| setflags | ( ) | Set the node flags |
| ismoveable | ( ) | Tells if the node can be moved |
| pastestringcopy | (
|
Paste a string copy into this node |
| getreferences | (
[
|
Returns the references in the document sorted depth first. |
| iseditable | ( ) | Indicates if the node can be edited by the user in the UI |
| seteditable | (
|
Change the editable state of the node |
Inherited from class SelectableNode
Plugs:
boolean | Selected | R | True if the node is selected. Don't use this plug directly to select a node, use the Document's modifier select method. |
Documentation
Create a MaterialRef to a gmaterial file
Arguments:
parent The parent to create the MaterialRef inname The name of the MaterialReffilename The path to the referenced Material
Return:
MaterialRef The created reference
Get the list of primitives or subprimitives connected to this material.
Example :
-- show all connected primitive and subprimitives
local primitivesorsubs = MyMaterial:getprimitives ()
for primorsub, state in pairs (primitivesorsubs) do
print (MyMaterial:getpath () .. " --> " .. primorsub:getpath ())
end
Return:
result the connected primitives and subprimitives