forked from eldiren/lolumi_houdini_production_scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ai_shader_balls.py
58 lines (42 loc) · 1.83 KB
/
ai_shader_balls.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import hou
# creates two shader balls at the origin with a size of 14 cm, one has a 50% grey materials and the other has a mirror chrome
shaderBallsNode = hou.node('/obj').createNode('geo', 'shader_balls')
shaderBallsNode.children()[0].destroy() # file node
cBall = shaderBallsNode.createNode('sphere', 'chrome_ball')
cBall.parmTuple('rad').set((.14,.14,.14))
gBall = shaderBallsNode.createNode('sphere', 'grey_ball')
gBall.parmTuple('rad').set((.14,.14,.14))
merge = shaderBallsNode.createNode('merge')
xform = shaderBallsNode.createNode('xform')
xform.parm('tx').set(-.19)
xform.setFirstInput(cBall)
matassign = shaderBallsNode.createNode('material')
matassign.parm('shop_materialpath1').set('../materials/chrome_arn_mat')
matassign.setFirstInput(xform)
merge.setFirstInput(matassign)
xform = shaderBallsNode.createNode('xform')
xform.parm('tx').set(.19)
xform.setFirstInput(gBall)
matassign = shaderBallsNode.createNode('material')
matassign.parm('shop_materialpath1').set('../materials/grey_arn_mat')
matassign.setFirstInput(xform)
merge.setNextInput(matassign)
merge.setDisplayFlag(True)
merge.setRenderFlag(True)
matNode = shaderBallsNode.createNode('shopnet', 'materials')
cmat = matNode.createNode('arnold_vopnet', 'chrome_arn_mat')
sshader = cmat.createNode('arnold::standard_surface')
sshader.parm('base').set(0)
sshader.parm('specular').set(1)
sshader.parm('specular_roughness').set(0)
cmat.children()[0].setFirstInput(sshader)
cmat.layoutChildren()
gmat = matNode.createNode('arnold_vopnet', 'grey_arn_mat')
sshader = gmat.createNode('arnold::standard_surface')
sshader.parm('base').set(1)
sshader.parmTuple('base_color').set((.5,.5,.5))
sshader.parm('specular').set(0)
gmat.children()[0].setFirstInput(sshader)
gmat.layoutChildren()
matNode.layoutChildren()
shaderBallsNode.layoutChildren()