-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathLVAlias.shelf
364 lines (331 loc) · 86.6 KB
/
LVAlias.shelf
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
<!-- This file contains definitions of shelves, toolbars, and tools.
It should not be hand-edited when it is being used by the application.
Note, that two definitions of the same element are not allowed in
a single file. -->
<toolshelf name="LV_Aliases" label="LV Aliases">
<memberTool name="unshared edges"/>
<memberTool name="Pin Group"/>
<memberTool name="Remove FBX Attributes"/>
<memberTool name="Backdrop"/>
</toolshelf>
<tool name="unshared edges" label="Unshared Edges" icon="SOP_groupcreate">
<helpURL>operator:Sop/groupcreate</helpURL>
<toolMenuContext name="network">
<contextOpType>Sop/groupcreate</contextOpType>
<contextNetType>OBJ</contextNetType>
<contextNetType>SOP</contextNetType>
</toolMenuContext>
<toolSubmenu>LV</toolSubmenu>
<script scriptType="python"><![CDATA[
import sys
import toolutils
outputitem = None
inputindex = -1
inputitem = None
outputindex = -1
num_args = 1
h_extra_args = ''
pane = toolutils.activePane(kwargs)
if not isinstance(pane, hou.NetworkEditor):
pane = hou.ui.paneTabOfType(hou.paneTabType.NetworkEditor)
if pane is None:
hou.ui.displayMessage(
'Cannot create node: cannot find any network pane')
sys.exit(0)
else: # We're creating this tool from the TAB menu inside a network editor
pane_node = pane.pwd()
if "outputnodename" in kwargs and "inputindex" in kwargs:
outputitem = pane_node.item(kwargs["outputnodename"])
inputindex = kwargs["inputindex"]
h_extra_args += 'set arg4 = "' + kwargs["outputnodename"] + '"\n'
h_extra_args += 'set arg5 = "' + str(inputindex) + '"\n'
num_args = 6
if "inputnodename" in kwargs and "outputindex" in kwargs:
inputitem = pane_node.item(kwargs["inputnodename"])
outputindex = kwargs["outputindex"]
h_extra_args += 'set arg6 = "' + kwargs["inputnodename"] + '"\n'
h_extra_args += 'set arg9 = "' + str(outputindex) + '"\n'
num_args = 9
if "autoplace" in kwargs:
autoplace = kwargs["autoplace"]
else:
autoplace = False
# If shift-clicked we want to auto append to the current
# node
if "shiftclick" in kwargs and kwargs["shiftclick"]:
if inputitem is None:
inputitem = pane.currentNode()
outputindex = 0
if "nodepositionx" in kwargs and "nodepositiony" in kwargs:
try:
pos = [ float( kwargs["nodepositionx"] ),
float( kwargs["nodepositiony"] )]
except:
pos = None
else:
pos = None
if not autoplace and not pane.listMode():
if pos is not None:
pass
elif outputitem is None:
pos = pane.selectPosition(inputitem, outputindex, None, -1)
else:
pos = pane.selectPosition(inputitem, outputindex,
outputitem, inputindex)
if pos is not None:
if "node_bbox" in kwargs:
size = kwargs["node_bbox"]
pos[0] -= size[0] / 2
pos[1] -= size[1] / 2
else:
pos[0] -= 0.573625
pos[1] -= 0.220625
h_extra_args += 'set arg2 = "' + str(pos[0]) + '"\n'
h_extra_args += 'set arg3 = "' + str(pos[1]) + '"\n'
h_extra_args += 'set argc = "' + str(num_args) + '"\n'
pane_node = pane.pwd()
child_type = pane_node.childTypeCategory().nodeTypes()
if 'groupcreate' not in child_type:
hou.ui.displayMessage(
'Cannot create node: incompatible pane network type')
sys.exit(0)
# First clear the node selection
pane_node.setSelected(False, True)
h_path = pane_node.path()
h_preamble = 'set arg1 = "' + h_path + '"\n'
h_cmd = r'''
if ($argc < 2 || "$arg2" == "") then
set arg2 = 0
endif
if ($argc < 3 || "$arg3" == "") then
set arg3 = 0
endif
# Automatically generated script
# $arg1 - the path to add this node
# $arg2 - x position of the tile
# $arg3 - y position of the tile
# $arg4 - input node to wire to
# $arg5 - which input to wire to
# $arg6 - output node to wire to
# $arg7 - the type of this node
# $arg8 - the node is an indirect input
# $arg9 - index of output from $arg6
\set noalias = 1
set saved_path = `execute("oppwf")`
opcf $arg1
# Node $_obj_geo1_group2 (Sop/groupcreate)
set _obj_geo1_group2 = `run("opadd -e -n -v groupcreate group2")`
oplocate -x `$arg2 + 0` -y `$arg3 + 0` $_obj_geo1_group2
opparm -V 19.0.383 $_obj_geo1_group2 groupname ( unshared ) grouptype ( edge ) groupbase ( off ) groupedges ( on ) unshared ( on )
opset -d off -r off -h on -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_geo1_group2
opexprlanguage -s hscript $_obj_geo1_group2
opset -p on $_obj_geo1_group2
opcf $arg1
opwire -n $_obj_geo1_timeshift1 -0 $_obj_geo1_group2
set oidx = 0
if ($argc >= 9 && "$arg9" != "") then
set oidx = $arg9
endif
if ($argc >= 5 && "$arg4" != "") then
set output = $_obj_geo1_group2
opwire -n $output -$arg5 $arg4
endif
if ($argc >= 6 && "$arg6" != "") then
set input = $_obj_geo1_group2
if ($arg8) then
opwire -n -i $arg6 -0 $input
else
opwire -n -o $oidx $arg6 -0 $input
endif
endif
opcf $saved_path
'''
hou.hscript(h_preamble + h_extra_args + h_cmd)
]]></script>
</tool>
<tool name="Pin Group" label="Pin Group" icon="SOP_groupcreate">
<helpURL>operator:Sop/groupcreate</helpURL>
<toolMenuContext name="network">
<contextOpType>Sop/groupcreate</contextOpType>
<contextNetType>OBJ</contextNetType>
<contextNetType>SOP</contextNetType>
</toolMenuContext>
<toolSubmenu>LV</toolSubmenu>
<script scriptType="python"><![CDATA[]]></script>
</tool>
<tool name="Remove FBX Attributes" label="Remove FBX Attributes" icon="SOP_attribdelete">
<helpURL>operator:Sop/attribdelete</helpURL>
<toolMenuContext name="network">
<contextOpType>Sop/attribdelete</contextOpType>
<contextNetType>OBJ</contextNetType>
<contextNetType>SOP</contextNetType>
</toolMenuContext>
<toolSubmenu>LV Aliases</toolSubmenu>
<script scriptType="python"><![CDATA[]]></script>
</tool>
<tool name="Backdrop" label="Backdrop" icon="LOP_backgroundplate">
<helpURL>operator:Object/geo</helpURL>
<toolMenuContext name="network">
<contextNetType>OBJ</contextNetType>
</toolMenuContext>
<toolSubmenu>LV</toolSubmenu>
<script scriptType="python"><![CDATA[
import sys
import toolutils
outputitem = None
inputindex = -1
inputitem = None
outputindex = -1
num_args = 1
h_extra_args = ''
pane = toolutils.activePane(kwargs)
if not isinstance(pane, hou.NetworkEditor):
pane = hou.ui.paneTabOfType(hou.paneTabType.NetworkEditor)
if pane is None:
hou.ui.displayMessage(
'Cannot create node: cannot find any network pane')
sys.exit(0)
else: # We're creating this tool from the TAB menu inside a network editor
pane_node = pane.pwd()
if "outputnodename" in kwargs and "inputindex" in kwargs:
outputitem = pane_node.item(kwargs["outputnodename"])
inputindex = kwargs["inputindex"]
h_extra_args += 'set arg4 = "' + kwargs["outputnodename"] + '"\n'
h_extra_args += 'set arg5 = "' + str(inputindex) + '"\n'
num_args = 6
if "inputnodename" in kwargs and "outputindex" in kwargs:
inputitem = pane_node.item(kwargs["inputnodename"])
outputindex = kwargs["outputindex"]
h_extra_args += 'set arg6 = "' + kwargs["inputnodename"] + '"\n'
h_extra_args += 'set arg9 = "' + str(outputindex) + '"\n'
num_args = 9
if "autoplace" in kwargs:
autoplace = kwargs["autoplace"]
else:
autoplace = False
# If shift-clicked we want to auto append to the current
# node
if "shiftclick" in kwargs and kwargs["shiftclick"]:
if inputitem is None:
inputitem = pane.currentNode()
outputindex = 0
if "nodepositionx" in kwargs and "nodepositiony" in kwargs:
try:
pos = [ float( kwargs["nodepositionx"] ),
float( kwargs["nodepositiony"] )]
except:
pos = None
else:
pos = None
if not autoplace and not pane.listMode():
if pos is not None:
pass
elif outputitem is None:
pos = pane.selectPosition(inputitem, outputindex, None, -1)
else:
pos = pane.selectPosition(inputitem, outputindex,
outputitem, inputindex)
if pos is not None:
if "node_bbox" in kwargs:
size = kwargs["node_bbox"]
pos[0] -= size[0] / 2
pos[1] -= size[1] / 2
else:
pos[0] -= 0.573625
pos[1] -= 0.220625
h_extra_args += 'set arg2 = "' + str(pos[0]) + '"\n'
h_extra_args += 'set arg3 = "' + str(pos[1]) + '"\n'
h_extra_args += 'set argc = "' + str(num_args) + '"\n'
pane_node = pane.pwd()
child_type = pane_node.childTypeCategory().nodeTypes()
if 'geo' not in child_type:
hou.ui.displayMessage(
'Cannot create node: incompatible pane network type')
sys.exit(0)
# First clear the node selection
pane_node.setSelected(False, True)
h_path = pane_node.path()
h_preamble = 'set arg1 = "' + h_path + '"\n'
h_cmd = r'''
if ($argc < 2 || "$arg2" == "") then
set arg2 = 0
endif
if ($argc < 3 || "$arg3" == "") then
set arg3 = 0
endif
# Automatically generated script
# $arg1 - the path to add this node
# $arg2 - x position of the tile
# $arg3 - y position of the tile
# $arg4 - input node to wire to
# $arg5 - which input to wire to
# $arg6 - output node to wire to
# $arg7 - the type of this node
# $arg8 - the node is an indirect input
# $arg9 - index of output from $arg6
\set noalias = 1
set saved_path = `execute("oppwf")`
opcf $arg1
# Node $_obj_BG (Object/geo)
set _obj_BG = `run("opadd -e -n -v geo BG")`
oplocate -x `$arg2 + 0` -y `$arg3 + 0` $_obj_BG
opspareds ' group { name "stdswitcher4" label "Transform" grouptag { "sidefx::switcher" "stdswitcher" } parm { name "xOrd" baseparm label "Transform Order" joinnext export none } parm { name "rOrd" baseparm label "Rotate Order" nolabel export none } parm { name "t" baseparm label "Translate" export all } parm { name "r" baseparm label "Rotate" export all } parm { name "s" baseparm label "Scale" export none } parm { name "p" baseparm label "Pivot Translate" export none } parm { name "pr" baseparm label "Pivot Rotate" export none } parm { name "scale" baseparm label "Uniform Scale" export none } parm { name "pre_xform" baseparm label "Modify Pre-Transform" export none } parm { name "keeppos" baseparm label "Keep Position When Parenting" export none } parm { name "childcomp" baseparm label "Child Compensation" export none } parm { name "constraints_on" baseparm label "Enable Constraints" export none } parm { name "constraints_path" baseparm label "Constraints" export none } parm { name "lookatpath" baseparm label "Look At" invisible export none } parm { name "lookupobjpath" baseparm label "Look Up Object" invisible export none } parm { name "lookup" baseparm label "Look At Up Vector" invisible export none } parm { name "pathobjpath" baseparm label "Path Object" invisible export none } parm { name "roll" baseparm label "Roll" invisible export none } parm { name "pos" baseparm label "Position" invisible export none } parm { name "uparmtype" baseparm label "Parameterization" invisible export none } parm { name "pathorient" baseparm label "Orient Along Path" invisible export none } parm { name "up" baseparm label "Orient Up Vector" invisible export none } parm { name "bank" baseparm label "Auto-Bank factor" invisible export none } } group { name "stdswitcher4_1" label "Render" parm { name "shop_materialpath" baseparm label "Material" export none } parm { name "shop_materialopts" baseparm label "Options" invisible export none } parm { name "tdisplay" baseparm label "Display" joinnext export none } parm { name "display" baseparm label "Display" export none } parm { name "viewportlod" label "Display As" type ordinal default { "full" } help "Choose how the object\'s geometry should be rendered in the viewport" menu { "full" "Full Geometry" "points" "Point Cloud" "box" "Bounding Box" "centroid" "Centroid" "hidden" "Hidden" "subd" "Subdivision Surface / Curves" } parmtag { "spare_category" "Render" } } parm { name "vm_rendervisibility" label "Render Visibility" type string default { "*" } menureplace { "*" "Visible to all" "primary" "Visible only to primary rays" "primary|shadow" "Visible only to primary and shadow rays" "-primary" "Invisible to primary rays (Phantom)" "-diffuse" "Invisible to diffuse rays" "-diffuse&-reflect&-refract" "Invisible to secondary rays" "" "Invisible (Unrenderable)" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "rendervisibility" } parmtag { "spare_category" "Render" } } parm { name "vm_rendersubd" label "Render Polygons As Subdivision (Mantra)" type toggle default { "0" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "rendersubd" } parmtag { "spare_category" "Geometry" } } parm { name "vm_subdstyle" label "Subdivision Style" type string default { "mantra_catclark" } hidewhen "{ vm_rendersubd == 0 }" menu { "mantra_catclark" "Mantra Catmull-Clark" "osd_catclark" "OpenSubdiv Catmull-Clark" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "subdstyle" } parmtag { "spare_category" "Geometry" } } parm { name "vm_subdgroup" label "Subdivision Group" type string default { "" } hidewhen "{ vm_rendersubd == 0 }" parmtag { "mantra_class" "object" } parmtag { "mantra_name" "subdgroup" } parmtag { "spare_category" "Geometry" } } parm { name "vm_osd_quality" label "Open Subdiv Quality" type float default { "1" } hidewhen "{ vm_rendersubd == 0 vm_subdstyle != osd_catclark }" range { 0 10 } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "osd_quality" } parmtag { "spare_category" "Geometry" } } parm { name "vm_osd_vtxinterp" label "OSD Vtx Interp" type integer default { "2" } hidewhen "{ vm_rendersubd == 0 vm_subdstyle != osd_catclark }" menu { "0" "No vertex interpolation" "1" "Edges only" "2" "Edges and Corners" } range { 0 10 } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "osd_vtxinterp" } parmtag { "spare_category" "Geometry" } } parm { name "vm_osd_fvarinterp" label "OSD FVar Interp" type integer default { "4" } hidewhen "{ vm_rendersubd == 0 vm_subdstyle != osd_catclark }" menu { "0" "Smooth everywhere" "1" "Sharpen corners only" "2" "Sharpen edges and corners" "3" "Sharpen edges and propagated corners" "4" "Sharpen all boundaries" "5" "Bilinear interpolation" } range { 0 10 } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "osd_fvarinterp" } parmtag { "spare_category" "Geometry" } } group { name "folder0" label "Shading" parm { name "categories" label "Categories" type string default { "" } help "A list of tags which can be used to select the object" parmtag { "spare_category" "Shading" } } parm { name "reflectmask" label "Reflection Mask" type oplist default { "*" } help "Objects that will be reflected on this object." parmtag { "opexpand" "1" } parmtag { "opfilter" "!!OBJ/GEOMETRY!!" } parmtag { "oprelative" "/obj" } parmtag { "spare_category" "Shading" } } parm { name "refractmask" label "Refraction Mask" type oplist default { "*" } help "Objects that will be refracted on this object." parmtag { "opexpand" "1" } parmtag { "opfilter" "!!OBJ/GEOMETRY!!" } parmtag { "oprelative" "/obj" } parmtag { "spare_category" "Shading" } } parm { name "lightmask" label "Light Mask" type oplist default { "*" } help "Lights that illuminate this object." parmtag { "opexpand" "1" } parmtag { "opfilter" "!!OBJ/LIGHT!!" } parmtag { "oprelative" "/obj" } parmtag { "spare_category" "Shading" } } parm { name "lightcategories" label "Light Selection" type string default { "*" } parmtag { "spare_category" "Shading" } } parm { name "vm_lpetag" label "LPE Tag" type string default { "" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "lpetag" } parmtag { "spare_category" "Shading" } } parm { name "vm_volumefilter" label "Volume Filter" type string default { "box" } menu { "box" "Box Filter" "gaussian" "Gaussian" "bartlett" "Bartlett (triangle)" "catrom" "Catmull-Rom" "hanning" "Hanning" "blackman" "Blackman" "sinc" "Sinc (sharpening)" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "filter" } parmtag { "spare_category" "Shading" } } parm { name "vm_volumefilterwidth" label "Volume Filter Width" type float default { "1" } range { 0.001 5 } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "filterwidth" } parmtag { "spare_category" "Shading" } } parm { name "vm_matte" label "Matte shading" type toggle default { "0" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "matte" } parmtag { "spare_category" "Shading" } } parm { name "vm_rayshade" label "Raytrace Shading" type toggle default { "0" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "rayshade" } parmtag { "spare_category" "Shading" } } } group { name "folder0_1" label "Sampling" parm { name "geo_velocityblur" label "Geometry Velocity Blur" type ordinal default { "off" } disablewhen "{ allowmotionblur == 0 }" menu { "off" "No Velocity Blur" "on" "Velocity Blur" "accelblur" "Acceleration Blur" } } parm { name "geo_accelattribute" label "Acceleration Attribute" type string default { "accel" } hidewhen "{ geo_velocityblur != accelblur }" parmtag { "spare_category" "Sampling" } } } group { name "folder0_2" label "Dicing" parm { name "vm_shadingquality" label "Shading Quality" type float default { "1" } range { 0 10 } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "shadingquality" } parmtag { "spare_category" "Dicing" } } parm { name "vm_flatness" label "Dicing Flatness" type float default { "0.05" } range { 0 1 } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "flatness" } parmtag { "spare_category" "Dicing" } } parm { name "vm_raypredice" label "Ray Predicing" type integer default { "0" } menu { "0" "Disable Predicing" "1" "Full Predicing" "2" "Precompute Bounds" } range { 0 10 } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "raypredice" } parmtag { "spare_category" "Dicing" } } parm { name "vm_curvesurface" label "Shade Curves As Surfaces" type toggle default { "0" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "curvesurface" } parmtag { "spare_category" "Dicing" } } } group { name "folder0_3" label "Geometry" parm { name "vm_rmbackface" label "Backface Removal" type toggle default { "0" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "rmbackface" } parmtag { "spare_category" "Geometry" } } parm { name "shop_geometrypath" label "Procedural Shader" type oppath default { "" } parmtag { "opfilter" "!!SHOP/GEOMETRY!!" } parmtag { "oprelative" "." } parmtag { "spare_category" "Geometry" } } parm { name "vm_forcegeometry" label "Force Procedural Geometry Output" type toggle default { "1" } parmtag { "spare_category" "Geometry" } } parm { name "vm_rendersubdcurves" label "Render Polygon Curves As Subdivision (Mantra)" type toggle default { "0" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "rendersubdcurves" } parmtag { "spare_category" "Geometry" } } parm { name "vm_renderpoints" label "Render As Points (Mantra)" type integer default { "2" } menu { "0" "No Point Rendering" "1" "Render Only Points" "2" "Render Unconnected Points" } range { 0 10 } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "renderpoints" } parmtag { "spare_category" "Geometry" } } parm { name "vm_renderpointsas" label "Render Points As (Mantra)" type integer default { "0" } disablewhen "{ vm_renderpoints == 0 }" menu { "0" "Spheres" "1" "Circles" } range { 0 10 } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "renderpointsas" } parmtag { "spare_category" "Geometry" } } parm { name "vm_usenforpoints" label "Use N For Point Rendering" type toggle default { "0" } disablewhen "{ vm_renderpoints == 0 }" parmtag { "mantra_class" "object" } parmtag { "mantra_name" "usenforpoints" } parmtag { "spare_category" "Geometry" } } parm { name "vm_pointscale" label "Point Scale" type float default { "1" } disablewhen "{ vm_renderpoints == 0 }" range { 0! 10 } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "pointscale" } parmtag { "spare_category" "Geometry" } } parm { name "vm_pscalediameter" label "Treat Point Scale as Diameter Instead of Radius" type toggle default { "0" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "pscalediameter" } parmtag { "spare_category" "Geometry" } } parm { name "vm_metavolume" label "Metaballs as Volume" type toggle default { "0" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "metavolume" } parmtag { "spare_category" "Geometry" } } parm { name "vm_coving" label "Coving" type integer default { "1" } menu { "0" "Disable Coving" "1" "Coving for displacement/sub-d" "2" "Coving for all primitives" } range { 0 10 } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "coving" } parmtag { "spare_category" "Geometry" } } parm { name "vm_materialoverride" label "Material Override" type string default { "compact" } menu { "none" "Disabled" "full" "Evaluate for Each Primitve/Point" "compact" "Evaluate Once" } parmtag { "spare_category" "Geometry" } } parm { name "vm_overridedetail" label "Ignore Geometry Attribute Shaders" type toggle default { "0" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "overridedetail" } parmtag { "spare_category" "Geometry" } } parm { name "vm_procuseroottransform" label "Proc Use Root Transform" type toggle default { "1" } parmtag { "mantra_class" "object" } parmtag { "mantra_name" "procuseroottransform" } parmtag { "spare_category" "Geometry" } } } } group { name "stdswitcher4_2" label "Misc" parm { name "use_dcolor" baseparm label "Set Wireframe Color" export none } parm { name "dcolor" baseparm label "Wireframe Color" export none } parm { name "picking" baseparm label "Viewport Selecting Enabled" export none } parm { name "pickscript" baseparm label "Select Script" export none } parm { name "caching" baseparm label "Cache Object Transform" export none } parm { name "vport_shadeopen" baseparm label "Shade Open Curves In Viewport" export none } parm { name "vport_displayassubdiv" baseparm label "Display as Subdivision in Viewport" invisible export none } parm { name "vport_onionskin" baseparm label "Onion Skinning" export none } } group { name "stdswitcher4_3" label "Redshift OBJ" group { name "RS_objprop_switcher" label "Settings" parm { name "RS_objpro_first" label "RS_objpro_first" type integer invisible default { "0" } range { 0 10 } } group { name "RS_campropshapes_switcher" label "Render" parm { name "RS_objprop_ID" label "Object ID" type integer default { "0" } range { 0! 100 } } parm { name "RS_objprop_CryptoID" label "Cryptomatte ID" type string default { "" } } parm { name "RS_objprop_CryptoMatID_AllMat" label "Create Cryptomatte Material IDs From Not Available Materials" type toggle default { "1" } } parm { name "RS_objpro_sep00" label "RS_objpro_sep00" type separator default { "" } } parm { name "RS_objprop_ngons_enable" label "Tessellate NGons" type toggle default { "1" } } parm { name "RS_objprop_ngons_tessMode" label "Tessellation Mode" type ordinal default { "0" } disablewhen "{ RS_objprop_ngons_enable == 0 }" menu { "0" "To Quads" "1" "To Triangles" } } parm { name "RS_objprop_ngons_avoidDegen" label "Remove NGons degenerated polygons" type toggle default { "0" } disablewhen "{ RS_objprop_ngons_enable == 0 }" } parm { name "RS_objprop_normals_normalize" label "Normalize Transformed Normal Maps" type toggle default { "0" } } parm { name "RS_objpro_sep0a" label "RS_objpro_sep0a" type separator default { "" } } parm { name "RS_objprop_renderAsHair" label "Render Polygons as Hair" type toggle default { "0" } } parm { name "RS_objprop_defaultHairWidth" label "Default Hair Width" type float default { "0.01" } range { 0! 1 } } parm { name "RS_objprop_hairHalfThickness" label "Match Houdini/Mantra Hair Thickness" type toggle default { "0" } } parm { name "RS_objpro_sep0b" label "RS_objpro_sep0b" type separator default { "" } } parm { name "RS_objprop_mb_trans" label "Enable Transformations Motion Blur" type toggle default { "1" } } parm { name "RS_objprop_mb_def" label "Enable Mesh Deformations Motion Blur" type toggle default { "1" } } parm { name "RS_objprop_mb_points" label "Enable Instances/Particles Motion Blur" type toggle default { "1" } } parm { name "RS_objprop_mb_def_use_v" label "Mesh Deformations Blur From Velocity Attribute" type toggle default { "0" } } parm { name "RS_objprop_mb_v_attr" label "Velocity Point Attribute" type string default { "v" } } parm { name "RS_objprop_mb_deformSteps" label "Deform./Particles Steps" type ordinal default { "0" } menu { "-1" "Auto" "2" "2 steps" "3" "3 steps" "5" "5 steps" "9" "9 steps" "17" "17 steps" } } parm { name "RS_objprop_mb_fd_scale" label "Frame Duration Scale" type float default { "1" } range { 0 1 } } parm { name "RS_objprop_mb_offset" label "Shutter Center Offset" type float default { "0" } range { -1 1 } } parm { name "RS_objpro_sep0c" label "RS_objpro_sep0c" type separator default { "" } } parm { name "RS_objprop_renderSOPsubnets" label "Render the OBJ nodes inside OBJ/SOP subnets" type toggle default { "1" } } parm { name "RS_objprop_disableProc" label "Disable Redshift Procedurals" type toggle default { "0" } } } group { name "RS_campropshapes_switcher_1" label "Primitive Tessellation" parm { name "RS_objprop_tess_enable" label "Tessellate primitives" type toggle default { "0" } } parm { name "RS_objprop_tess_u" label "U subdivisions" type integer default { "1" } disablewhen "{ RS_objprop_tess_enable == 0 }" range { 0! 16! } } parm { name "RS_objprop_tess_v" label "V subdivisions" type integer default { "1" } disablewhen "{ RS_objprop_tess_enable == 0 }" range { 0! 16! } } parm { name "RS_objprop_tess_trim" label "Trimming subdivisions" type integer default { "1" } disablewhen "{ RS_objprop_tess_enable == 0 }" range { 0! 16! } } } group { name "RS_campropshapes_switcher_2" label "Instancing" parm { name "RS_objprop_inst_mode" label "Instancing Using" type ordinal default { "1" } menu { "insInstances" "Redshift Instances" "insPointClouds" "Redshift Point Clouds" } } parm { name "RS_objprop_inst_mb" label "Instances/Particles Motion Blur" type ordinal default { "1" } menu { "insMBVectors" "Compute sub-frame geometry (deformation)" "insMBFull" "Use point velocity attribute" } } parm { name "RS_objprop_inst_lightShader" label "Lights Instancing" type ordinal default { "1" } menu { "insLightsNotShared" "Attributes support using individual shaders" "insLightsShared" "Using a common shared shader" } } parm { name "RS_objprop_inst_universalIF" label "\'instancefile\' Mode" type ordinal default { "0" } menu { "0" "Instance Redshift Proxy Objects" "1" "Instance Houdini Compatible Objects" } } parm { name "RS_objprop_inst_ignorePivot" label "Ignore Pivot Point Attribute" type toggle default { "0" } } parm { name "RS_objprop_inst_fileOverride" label "Override \'instancefile\' Proxy Materials From Scene Materials" type toggle default { "0" } } parm { name "RS_objprop_inst_packed" label "Process \'instance\' and \'instancefile\' Attrs. Inside Packed Primitives" type toggle default { "0" } } parm { name "RS_objprop_inst_PackedPrimInstancing" label "Instance SOP Level Packed Primitives" type toggle default { "0" } } parm { name "RS_objprop_inst_subnetInstancing" label "Instance Subnets" type toggle default { "0" } } parm { name "RS_objprop_inst_abcAutoInstancing" label "Instance Procedural Packed Alembics" type toggle default { "1" } } } group { name "RS_campropshapes_switcher_3" label "Attributes" parm { name "RS_objprop_attr_auto" label "Enable Automatic Attributes Extraction" type toggle default { "1" } } parm { name "RS_objprop_attr_vertex" label "Vertex Attributes" type string default { "" } disablewhen "{ RS_objprop_attr_auto == 1 }" menutoggle { [ "result = [] " ] [ "geo = hou.pwd().renderNode().geometry() " ] [ "for attr in geo.vertexAttribs(): " ] [ " result.append(attr.name()) " ] [ " result.append(attr.name()) " ] [ "return result " ] language python } } parm { name "RS_objprop_attr_points" label "Point Attributes" type string default { "" } disablewhen "{ RS_objprop_attr_auto == 1 }" menutoggle { [ "result = [] " ] [ "geo = hou.pwd().renderNode().geometry() " ] [ "for attr in geo.pointAttribs(): " ] [ " result.append(attr.name()) " ] [ " result.append(attr.name()) " ] [ "return result " ] language python } } parm { name "RS_objprop_attr_primitives" label "Strand Attributes" type string default { "" } disablewhen "{ RS_objprop_attr_auto == 1 }" menutoggle { [ "result = [] " ] [ "geo = hou.pwd().renderNode().geometry() " ] [ "for attr in geo.primAttribs(): " ] [ " result.append(attr.name()) " ] [ " result.append(attr.name()) " ] [ "return result " ] language python } } parm { name "RS_objprop_attr_detail" label "Object Attributes" type string default { "" } disablewhen "{ RS_objprop_attr_auto == 1 }" menutoggle { [ "result = [] " ] [ "geo = hou.pwd().renderNode().geometry() " ] [ "for attr in geo.globalAttribs(): " ] [ " result.append(attr.name()) " ] [ " result.append(attr.name()) " ] [ "return result " ] language python } } parm { name "RS_objprop_attr_detail_sep" label "RS_objprop_attr_detail_sep" type separator default { "" } } parm { name "RS_objprop_pckattr_promotion" label "Enable Packed Geo Point Attributes Promotion" type toggle default { "1" } } parm { name "RS_objprop_pckattr_replace" label "Replace Attributes" type string default { "Cd" } disablewhen "{ RS_objprop_pckattr_promotion == 0 }" menutoggle { [ "result = [] " ] [ "geo = hou.pwd().renderNode().geometry() " ] [ "for attr in geo.pointAttribs(): " ] [ " result.append(attr.name()) " ] [ " result.append(attr.name()) " ] [ "return result " ] language python } } parm { name "RS_objprop_pckattr_mult" label "Mult. Attributes" type string default { "scale pscale" } disablewhen "{ RS_objprop_pckattr_promotion == 0 }" menutoggle { [ "result = [] " ] [ "geo = hou.pwd().renderNode().geometry() " ] [ "for attr in geo.pointAttribs(): " ] [ " result.append(attr.name()) " ] [ " result.append(attr.name()) " ] [ "return result " ] language python } } parm { name "RS_objprop_pckattr_add" label "Add Attributes" type string default { "v" } disablewhen "{ RS_objprop_pckattr_promotion == 0 }" menutoggle { [ "result = [] " ] [ "geo = hou.pwd().renderNode().geometry() " ] [ "for attr in geo.pointAttribs(): " ] [ " result.append(attr.name()) " ] [ " result.append(attr.name()) " ] [ "return result " ] language python } } } group { name "RS_campropshapes_switcher_4" label "Tracesets" parm { name "RS_objprop_tracesets_enabled" label "Enable Tracesets" type toggle default { "0" } } parm { name "RS_objprop_tracesets_reflection" label "Reflections Enabled For" type oplist default { "*" } disablewhen "{ RS_objprop_tracesets_enabled == 0 }" parmtag { "opfilter" "!!OBJ/GEOMETRY!!" } parmtag { "oprelative" "/obj" } } parm { name "RS_objprop_tracesets_refraction" label "Refractions Enabled For" type oplist default { "*" } disablewhen "{ RS_objprop_tracesets_enabled == 0 }" parmtag { "opfilter" "!!OBJ/GEOMETRY!!" } parmtag { "oprelative" "/obj" } } parm { name "RS_objprop_tracesets_sss" label "SSS Enabled For" type oplist invisible default { "*" } disablewhen "{ RS_objprop_tracesets_enabled == 0 }" parmtag { "opfilter" "!!OBJ/GEOMETRY!!" } parmtag { "oprelative" "/obj" } } } group { name "RS_campropshapes_switcher_5" label "IPR" parm { name "RS_objprop_ipr_forceMeshUpdate" label "IPR force the mesh updating of OBJ nodes inside subnets" type toggle default { "0" } } } } group { name "RS_objprop_switcher_1" label "Proxy" parm { name "RS_objpro_label5" label " " type label default { "" } } parm { name "RS_objprop_proxy_enable" label "Enable Proxy File" type toggle default { "0" } parmtag { "script_callback" "nodes = hou.pwd().children() \\nfor child in nodes: \\n if child.type().name() == \'redshift_proxySOP\': \\n child.cook(True) \\n" } parmtag { "script_callback_language" "python" } } parm { name "RS_objprop_proxy_file" label "Proxy Filename" type file default { "$HIP/filename.$F4.rs" } disablewhen "{ RS_objprop_proxy_enable == 0 }" parmtag { "script_callback" "nodes = hou.pwd().children() \\nfor child in nodes: \\n if child.type().name() == \'redshift_proxySOP\': \\n child.cook(True) \\n" } parmtag { "script_callback_language" "python" } } parm { name "RS_objpro_sep5a" label "RS_objpro_sep5a" type separator default { "" } } parm { name "RS_objprop_proxy_preview" label "Display Mode" type ordinal default { "1" } disablewhen "{ RS_objprop_proxy_enable == 0 }" menu { "proxyPrevNone" "None" "proxyPrevBB" "Bounding Box" "proxyPrevSolid" "Mesh" "proxyPrevPoints" "Points" } parmtag { "script_callback" "nodes = hou.pwd().children() \\nfor child in nodes: \\n if child.type().name() == \'redshift_proxySOP\': \\n child.cook(True) \\n" } parmtag { "script_callback_language" "python" } } parm { name "RS_objprop_proxy_prevPercent" label "Display Percentage" type float default { "1" } disablewhen "{ RS_objprop_proxy_enable == 0 } { RS_objprop_proxy_preview == proxyPrevNone } { RS_objprop_proxy_preview == proxyPrevBB }" range { 0! 1! } parmtag { "script_callback" "nodes = hou.pwd().children() \\nfor child in nodes: \\n if child.type().name() == \'redshift_proxySOP\': \\n child.cook(True) \\n" } parmtag { "script_callback_language" "python" } } parm { name "RS_objprop_proxy_prevLines" label "Display Lines" type toggle default { "1" } disablewhen "{ RS_objprop_proxy_enable == 0 } { RS_objprop_proxy_preview == proxyPrevNone } { RS_objprop_proxy_preview == proxyPrevBB }" parmtag { "script_callback" "nodes = hou.pwd().children() \\nfor child in nodes: \\n if child.type().name() == \'redshift_proxySOP\': \\n child.cook(True) \\n" } parmtag { "script_callback_language" "python" } } parm { name "RS_objprop_proxy_prevAnimated" label "Animated Preview" type toggle default { "0" } disablewhen "{ RS_objprop_proxy_enable == 0 } { RS_objprop_proxy_preview == proxyPrevNone }" parmtag { "script_callback" "nodes = hou.pwd().children() \\nfor child in nodes: \\n if child.type().name() == \'redshift_proxySOP\': \\n child.cook(True) \\n" } parmtag { "script_callback_language" "python" } } parm { name "RS_objpro_sep5b" label "RS_objpro_sep5b" type separator default { "" } } parm { name "RS_objprop_proxy_materials" label "Proxy Materials" type ordinal default { "0" } disablewhen "{ RS_objprop_proxy_enable == 0 }" menu { "proxyMatProxy" "From Proxy" "proxyMatObject" "From OBJ Node" "proxyMatOverride" "Full Override" "proxyMatOvrList" "List Override" "proxyMatOvrScene" "From Scene Materials" } } parm { name "RS_objprop_proxy_override" label "Full Override Material" type oppath default { "" } disablewhen "{ RS_objprop_proxy_enable == 0 } { RS_objprop_proxy_materials != proxyMatOverride }" parmtag { "opfilter" "!!VOP!!" } parmtag { "oprelative" "." } } multiparm { name "RS_objprop_proxy_overrideList" label "Material Override List" parm { name "RS_objprop_proxy_overrideListFrom_#" label "Replace Material" type string joinnext default { "" } disablewhen "{ RS_objprop_proxy_enable == 0 } { RS_objprop_proxy_materials != proxyMatOvrList }" menureplace { [ "set directory = `run(\\"pwd\\")` " ] [ "set command = `\\"Redshift_getProxyMaterials -n $directory \\"` " ] [ "set materials = `run($command)` " ] [ "echo $materials " ] } } parm { name "RS_objprop_proxy_overrideListTo_#" label "With" type oppath default { "" } disablewhen "{ RS_objprop_proxy_enable == 0 } { RS_objprop_proxy_materials != proxyMatOvrList }" parmtag { "opfilter" "!!VOP!!" } parmtag { "oprelative" "." } } } parm { name "RS_objpro_sep5c" label "RS_objpro_sep5c" type separator default { "" } } parm { name "RS_objprop_proxy_elements_mesh" label "Exclude Meshes" type string default { "" } menutoggle { [ "set directory = `run(\\"pwd\\")` " ] [ "set command = `\\"Redshift_getProxyElements -n $directory -t mesh\\"` " ] [ "set elements = `run($command)` " ] [ "echo $elements " ] } } parm { name "RS_objprop_proxy_elements_volume" label "Exclude Volumes" type string default { "" } menutoggle { [ "set directory = `run(\\"pwd\\")` " ] [ "set command = `\\"Redshift_getProxyElements -n $directory -t volume\\"` " ] [ "set elements = `run($command)` " ] [ "echo $elements " ] } } parm { name "RS_objprop_proxy_elements_light" label "Exclude Lights" type string default { "" } menutoggle { [ "set directory = `run(\\"pwd\\")` " ] [ "set command = `\\"Redshift_getProxyElements -n $directory -t light\\"` " ] [ "set elements = `run($command)` " ] [ "echo $elements " ] } } parm { name "RS_objprop_proxy_elements_proxy" label "Exclude Proxies" type string default { "" } menutoggle { [ "set directory = `run(\\"pwd\\")` " ] [ "set command = `\\"Redshift_getProxyElements -n $directory -t proxy\\"` " ] [ "set elements = `run($command)` " ] [ "echo $elements " ] } } parm { name "RS_objpro_sep5d" label "RS_objpro_sep5d" type separator default { "" } } parm { name "RS_objprop_proxy_ovrID" label "Override Object ID" type toggle default { "0" } } parm { name "RS_objprop_proxy_ovrVis" label "Override Visibility & Matte" type toggle default { "0" } } parm { name "RS_objprop_proxy_ovrTess" label "Override Tessellation & Displacement" type toggle default { "0" } } parm { name "RS_objprop_proxy_ovrTraceS" label "Override Tracesets" type toggle default { "0" } } parm { name "RS_objprop_proxy_ovrUserData" label "Override User Data" type toggle default { "0" } } } group { name "RS_objprop_switcher_2" label "Visibility" parm { name "RS_objpro_label1o" label " " type label default { "" } } parm { name "MESHFLAG_PRIMARYRAYVISIBLE" label "Primary Ray Visible" type toggle default { "1" } } parm { name "MESHFLAG_SECONDARYRAYVISIBLE" label "Seconday Ray Visible" type toggle default { "1" } } parm { name "RS_objpro_sep1a" label "RS_objpro_sep1a" type separator default { "" } } parm { name "MESHFLAG_SHADOWCASTER" label "Casts Shadows" type toggle default { "1" } } parm { name "MESHFLAG_SHADOWRECEIVER" label "Receives Shadows (not affect volumes)" type toggle default { "1" } } parm { name "MESHFLAG_NOSELFSHADOW" label "Self-Shadows" type toggle default { "1" } } parm { name "MESHFLAG_AOCASTER" label "Cast AO" type toggle default { "1" } } parm { name "RS_objpro_sep1b" label "RS_objpro_sep1b" type separator default { "" } } parm { name "MESHFLAG_REFLECTIONVISIBLE" label "Visible in Reflections" type toggle default { "1" } disablewhen "{ MESHFLAG_SECONDARYRAYVISIBLE == 0 }" } parm { name "MESHFLAG_REFRACTIONVISIBLE" label "Visible in Refractions" type toggle default { "1" } disablewhen "{ MESHFLAG_SECONDARYRAYVISIBLE == 0 }" } parm { name "MESHFLAG_REFLECTIONCASTER" label "Casts Reflections" type toggle default { "1" } disablewhen "{ MESHFLAG_SECONDARYRAYVISIBLE == 0 }" } parm { name "MESHFLAG_REFRACTIONCASTER" label "Casts Refractions" type toggle default { "1" } disablewhen "{ MESHFLAG_SECONDARYRAYVISIBLE == 0 }" } parm { name "RS_objpro_sep1c" label "RS_objpro_sep1c" type separator default { "" } } parm { name "MESHFLAG_FGVISIBLE" label "Visible to GI" type toggle default { "1" } disablewhen "{ MESHFLAG_SECONDARYRAYVISIBLE == 0 }" } parm { name "MESHFLAG_GIVISIBLE" label "Visible to GI Photons" type toggle invisible default { "1" } } parm { name "MESHFLAG_CAUSTICVISIBLE" label "Visible to Caustics Photons" type toggle default { "1" } disablewhen "{ MESHFLAG_SECONDARYRAYVISIBLE == 0 }" } parm { name "RS_objpro_sep1d" label "RS_objpro_sep1d" type separator default { "" } } parm { name "MESHFLAG_FGCASTER" label "Receives GI" type toggle default { "1" } disablewhen "{ MESHFLAG_SECONDARYRAYVISIBLE == 0 }" } parm { name "MESHFLAG_FORCEBRUTEFORCEGI" label "Force Brute-Force GI" type toggle default { "0" } disablewhen "{ MESHFLAG_SECONDARYRAYVISIBLE == 0 }" } parm { name "MESHFLAG_GICASTER" label "Casts GI Photons" type toggle invisible default { "1" } } parm { name "MESHFLAG_CAUSTICCASTER" label "Casts Caustics Photons" type toggle default { "0" } } parm { name "MESHFLAG_CAUSTICSRECEIVER" label "Receives Caustics Photons" type toggle default { "1" } } } group { name "RS_objprop_switcher_3" label "Tessellation / Displacement" parm { name "RS_objpro_label2" label " " type label default { "" } } parm { name "RS_objprop_rstess_enable" label "Enable Tessellation" type toggle default { "0" } } parm { name "RS_objprop_rstess_rule" label "Subdivision Rule" type ordinal default { "0" } disablewhen "{ RS_objprop_rstess_enable == 0 }" menu { "ccLoop" "Catmull-Clark + Loop" "ccOnly" "Catmull-Clark Only" } } parm { name "RS_objprop_rstess_ssadaptive" label "Screen Space Adaptive" type toggle default { "1" } disablewhen "{ RS_objprop_rstess_enable == 0 }" } parm { name "RS_objprop_rstess_smoothsub" label "Smooth subdivision" type toggle default { "1" } disablewhen "{ RS_objprop_rstess_enable == 0 }" } parm { name "RS_objprop_rstess_triQuads" label "Triangulate Quads" type toggle default { "0" } disablewhen "{ RS_objprop_rstess_enable == 0 }" } parm { name "RS_objprop_rstess_melenght" label "Minimum Edge Length" type float default { "4" } disablewhen "{ RS_objprop_rstess_enable == 0 }" range { 0! 32 } } parm { name "RS_objprop_rstess_maxsubd" label "Maximum Subdivisions" type integer default { "6" } disablewhen "{ RS_objprop_rstess_enable == 0 }" range { 0! 16 } } parm { name "RS_objprop_rstess_ooftf" label "Out of Frustum Tessellation Factor" type float default { "4" } disablewhen "{ RS_objprop_rstess_enable == 0 }" range { 0! 32 } } parm { name "RS_objprop_rstess_looft" label "Limit Out of Frust. Tessellation" type toggle default { "0" } disablewhen "{ RS_objprop_rstess_enable == 0 }" } parm { name "RS_objprop_rstess_looftSubd" label "Max Out of Frust. Subdivs" type integer default { "6" } disablewhen "{ RS_objprop_rstess_enable == 0 } { RS_objprop_rstess_looft == 0 }" range { 0! 16 } } parm { name "RS_objprop_rstess_smooth" label "Disable UV\'s Smoothing " type toggle default { "0" } disablewhen "{ RS_objprop_rstess_enable == 0 }" } parm { name "RS_objprop_rstess_smoothBound" label "Smooth UV Boundaries" type toggle default { "1" } disablewhen "{ RS_objprop_rstess_enable == 0 }" } parm { name "RS_objpro_sepTessellationDisplacement" label "RS_objpro_sepTessellationDisplacement" type separator default { "" } } parm { name "RS_objpro_label3" label " " type label default { "" } } parm { name "RS_objprop_displace_enable" label "Enable Displacement" type toggle default { "0" } } parm { name "RS_objprop_displace_max" label "Maximum Displacement" type log default { "1" } disablewhen "{ RS_objprop_displace_enable == 0 }" range { 0! 1000 } } parm { name "RS_objprop_displace_scale" label "Displacement Scale" type log default { "1" } disablewhen "{ RS_objprop_displace_enable == 0 }" range { 0! 1000 } } parm { name "RS_objprop_displace_autob" label "Enable Auto Bump Mapping" type toggle default { "1" } disablewhen "{ RS_objprop_displace_enable == 0 }" } } group { name "RS_objprop_switcher_4" label "Matte" parm { name "RS_objpro_label4" label " " type label default { "" } } parm { name "RS_objprop_matte_enable" label "Matte Enable" type toggle default { "0" } } parm { name "RS_objprop_matte_showbackg" label "Show Background" type toggle default { "1" } disablewhen "{ RS_objprop_matte_enable == 0 }" } parm { name "RS_objprop_matte_applysec" label "Apply to Secondary Rays" type toggle default { "0" } disablewhen "{ RS_objprop_matte_enable == 0 }" } parm { name "RS_objprop_matte_abyml" label "Affected By Matte Lights" type toggle default { "0" } disablewhen "{ RS_objprop_matte_enable == 0 }" } parm { name "RS_objprop_matte_includePM" label "Include In Puzzle-Mattes" type toggle default { "0" } disablewhen "{ RS_objprop_matte_enable == 0 }" } parm { name "RS_objprop_matte_alpha" label "Alpha" type float default { "1" } disablewhen "{ RS_objprop_matte_enable == 0 }" range { 0! 1! } } parm { name "RS_objprop_matte_reflscale" label "Reflection Scale" type float default { "0" } disablewhen "{ RS_objprop_matte_enable == 0 }" range { 0! 1! } } parm { name "RS_objprop_matte_refrscale" label "Refraction Scale" type float default { "0" } disablewhen "{ RS_objprop_matte_enable == 0 }" range { 0! 1! } } parm { name "RS_objprop_matte_diffscale" label "Diffuse Scale" type float default { "0" } disablewhen "{ RS_objprop_matte_enable == 0 }" range { 0! 1! } } parm { name "RS_objpro_sep4b" label "RS_objpro_sep4b" type separator default { "" } } parm { name "RS_objprop_matte_shadowenable" label "Shadow Enable" type toggle default { "0" } disablewhen "{ RS_objprop_matte_enable == 0 }" } parm { name "RS_objprop_matte_shadowsFromM" label "Receive Shadows From Mattes" type toggle default { "1" } disablewhen "{ RS_objprop_matte_enable == 0 } { RS_objprop_matte_shadowenable == 0 }" } parm { name "RS_objprop_matte_shadowalpha" label "Affect Alpha" type toggle default { "0" } disablewhen "{ RS_objprop_matte_enable == 0 } { RS_objprop_matte_shadowenable == 0 }" } parm { name "RS_objprop_matte_shadowcolor" label "Color" type color size 3 default { "0" "0" "0" } disablewhen "{ RS_objprop_matte_enable == 0 } { RS_objprop_matte_shadowenable == 0 }" range { 0 1 } } parm { name "RS_objprop_matte_shadowtrans" label "Transparency" type float default { "0" } disablewhen "{ RS_objprop_matte_enable == 0 } { RS_objprop_matte_shadowenable == 0 }" range { 0! 1! } } } group { name "RS_objprop_switcher_5" label "Strands" parm { name "RS_objpro_label6" label " " type label default { "" } } parm { name "RS_objprop_strands_enable" label "Render Object as Strands" type toggle default { "0" } } parm { name "RS_objprop_strands_type" label "Strand Type" type ordinal default { "4" } disablewhen "{ RS_objprop_strands_enable == 0 }" menu { "RS_STRAND_SHAPE_BOX" "Box" "RS_STRAND_SHAPE_CYLINDER" "Cylinder" "RS_STRAND_SHAPE_CAPSULE" "Capsule" "RS_STRAND_SHAPE_CONE" "Cone" "RS_STRAND_SHAPE_STRIP" "Strip" } } parm { name "RS_objprop_strands_maxSubd" label "Max. Tessellation Subdivisions" type integer default { "8" } disablewhen "{ RS_objprop_strands_enable == 0 }" range { 0! 16 } } parm { name "RS_objprop_strands_scale" label "Default Scale" type float default { "0.01" } disablewhen "{ RS_objprop_strands_enable == 0 }" range { 0! 2 } } parm { name "RS_objprop_strands_scaleMult" label "Global Scale Multiplier" type float default { "1" } disablewhen "{ RS_objprop_strands_enable == 0 }" range { 0! 10 } } parm { name "RS_objprop_strands_ignorePScale" label "Ignore the \'pscale\' Attribute" type toggle default { "0" } disablewhen "{ RS_objprop_strands_enable == 0 }" } parm { name "RS_objprop_strands_useCamera" label "Screen-space Adaptive Tesselaltion" type toggle default { "1" } disablewhen "{ RS_objprop_strands_enable == 0 }" } } group { name "RS_objprop_switcher_6" label "Particles" parm { name "RS_objpro_label10" label " " type label default { "" } } parm { name "RS_objprop_particles_enable" label "Render Object as Particles" type toggle default { "0" } } parm { name "RS_objprop_particles_ignoreScale" label "Ignore Scale Attributes" type toggle default { "0" } disablewhen "{ RS_objprop_particles_enable == 0 }" } parm { name "RS_objprop_particles_scale" label "Default Scale" type float default { "0.01" } disablewhen "{ RS_objprop_particles_enable == 0 } { RS_objprop_particles_ignoreScale == 0 }" range { 0! 2 } } parm { name "RS_objprop_particles_scaleMult" label "Global Scale Multiplier" type float default { "1" } disablewhen "{ RS_objprop_particles_enable == 0 }" range { 0! 10 } } } group { name "RS_objprop_switcher_7" label "Volume" parm { name "RS_objpro_label7" label " " type label default { "" } } parm { name "RS_objprop_volume_enable" label "Volume Enable" type toggle invisible default { "0" } } parm { name "RS_objprop_volume_type" label "Volume Type" type ordinal invisible default { "0" } menu { "vOpenVDB" "OpenVDB File" "vHoudiniVolume" "Volume/VDB Houdini Primitive" } } parm { name "RS_objprop_volume_filterN" label "Filter Negative Voxels" type toggle default { "1" } } parm { name "RS_objprop_volume_filterDeg" label "Filter Degenerate Voxels" type toggle default { "0" } } parm { name "RS_objprop_volume_filterDegThr" label "Degenerate Voxels Threshold" type float default { "10" } disablewhen "{ RS_objprop_volume_filterDeg == 0 }" range { 1! 100 } } parm { name "RS_objprop_volume_cleanBackg" label "Color Channels Clean Background" type toggle default { "1" } } parm { name "RS_objprop_volume_v" label "Use Velocity Grids" type toggle default { "0" } } parm { name "RS_objprop_volume_vx" label "Velocity X Grid" type string default { "vel.x" } disablewhen "{ RS_objprop_volume_v == 0 }" } parm { name "RS_objprop_volume_vy" label "Velocity Y Grid" type string default { "vel.y" } disablewhen "{ RS_objprop_volume_v == 0 }" } parm { name "RS_objprop_volume_vz" label "Velocity Z Grid" type string default { "vel.z" } disablewhen "{ RS_objprop_volume_v == 0 }" } parm { name "RS_objprop_volume_vs" label "Velocity Grid Scale" type float default { "1" } disablewhen "{ RS_objprop_volume_v == 0 }" range { 0! 1 } } parm { name "RS_objprop_volume_packedDisc" label "Render as Delayed Loaded OpenVDB Instances from Packed Disk Prims" type toggle default { "0" } } parm { name "RS_objpro_last" label "RS_objpro_last" type integer invisible default { "0" } range { 0 10 } } } } ' $_obj_BG
opparm $_obj_BG RS_objprop_proxy_overrideList ( 0 )
opset -S on $_obj_BG
chautoscope $_obj_BG +tx +ty +tz +rx +ry +rz +sx +sy +sz
opset -d on -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off -x off $_obj_BG
opexprlanguage -s hscript $_obj_BG
opuserdata -n '___Version___' -v '20.0.653' $_obj_BG
opcf $_obj_BG
# Node $_obj_BG_LV_Backdrop1 (LV::Sop/LV_Backdrop::1.0)
set _obj_BG_LV_Backdrop1 = `run("opadd -e -n -v LV::LV_Backdrop::1.0 LV_Backdrop1")`
oplocate -x `$arg2 + 2.1798467519181575` -y `$arg3 + -0.91844685421994898` $_obj_BG_LV_Backdrop1
opparm $_obj_BG_LV_Backdrop1 back ( on ) offset ( 0.854 ) divisions ( 10 )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_BG_LV_Backdrop1
opexprlanguage -s hscript $_obj_BG_LV_Backdrop1
opuserdata -n '___Version___' -v '' $_obj_BG_LV_Backdrop1
opuserdata -n '___toolcount___' -v '11' $_obj_BG_LV_Backdrop1
opuserdata -n '___toolid___' -v 'build_hda_help' $_obj_BG_LV_Backdrop1
# Node $_obj_BG_matchsize1 (Sop/matchsize)
set _obj_BG_matchsize1 = `run("opadd -e -n -v matchsize matchsize1")`
oplocate -x `$arg2 + 2.1798467519181575` -y `$arg3 + -1.918446866140878` $_obj_BG_matchsize1
opparm $_obj_BG_matchsize1 justify_y ( min )
opset -d on -r on -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_BG_matchsize1
opexprlanguage -s hscript $_obj_BG_matchsize1
opuserdata -n '___Version___' -v '' $_obj_BG_matchsize1
oporder -e LV_Backdrop1 matchsize1
opcf ..
opset -p on $_obj_BG
opcf $arg1
opcf $_obj_BG
opwire -n $_obj_BG_LV_Backdrop1 -0 $_obj_BG_matchsize1
opcf ..
set oidx = 0
if ($argc >= 9 && "$arg9" != "") then
set oidx = $arg9
endif
if ($argc >= 5 && "$arg4" != "") then
set output = $_obj_BG
opwire -n $output -$arg5 $arg4
endif
if ($argc >= 6 && "$arg6" != "") then
set input = $_obj_BG
if ($arg8) then
opwire -n -i $arg6 -0 $input
else
opwire -n -o $oidx $arg6 -0 $input
endif
endif
opcf $saved_path
'''
hou.hscript(h_preamble + h_extra_args + h_cmd)
]]></script>
<keywordList>
<keyword>cyc</keyword>
<keyword>infinity</keyword>
<keyword>backdrop</keyword>
</keywordList>
</tool>
</shelfDocument>