Initial development version
This commit is contained in:
commit
4c321d2f14
8
123.py
Normal file
8
123.py
Normal file
@ -0,0 +1,8 @@
|
||||
# python2 hack
|
||||
import hou, os, sys
|
||||
sys.path.append(os.path.join(os.getenv('HOUDINI_USER_PREF_DIR'), 'scripts'))
|
||||
|
||||
from hhacks import rop_redshift, install_aliases
|
||||
rop_redshift()
|
||||
install_aliases()
|
||||
|
||||
8
456.py
Normal file
8
456.py
Normal file
@ -0,0 +1,8 @@
|
||||
# python2 hack
|
||||
import hou, os, sys
|
||||
sys.path.append(os.path.join(os.getenv('HOUDINI_USER_PREF_DIR'), 'scripts'))
|
||||
|
||||
from hhacks import install_aliases
|
||||
install_aliases()
|
||||
|
||||
hou.setSimulationEnabled(False)
|
||||
100
hhacks.py
Normal file
100
hhacks.py
Normal file
@ -0,0 +1,100 @@
|
||||
# Set of startup scripts for SideFX's Houdini
|
||||
|
||||
import hou
|
||||
|
||||
# def render_flipbook():
|
||||
|
||||
def install_aliases():
|
||||
aliases = [
|
||||
(3, "from hhacks import rop_redshift;rop_redshift()"),
|
||||
(4, "from hhacks import redshift_quick_anim;redshift_quick_anim()"),
|
||||
(5, "redshift_quick_anim()"),
|
||||
(6, "make_sim_cache()"),
|
||||
(9, "from hhacks import iprs; iprs()[0].killRender();iprs()[0].startRender()"),
|
||||
(10, "from hhacks import *; render((hou.selectedNodes() or rop_redshift())[0])"),
|
||||
(11, "from hhacks import save_n_render as fn; fn(inc=False)"),
|
||||
(12, "from hhacks import save_n_render as fn; fn(inc=True)"),
|
||||
]
|
||||
for fkey, hcmd in aliases:
|
||||
hou.hscript("alias F{} 'python -c \\'{}\\''".format(fkey, hcmd))
|
||||
|
||||
def rewind():
|
||||
frame = int(hou.frame())
|
||||
hou.setFrame(1)
|
||||
return frame
|
||||
|
||||
def make_sim_cache():
|
||||
ffwd = rewind()
|
||||
hou.node('/obj/smoke_output/make_cache').parm('execute').pressButton()
|
||||
hou.setFrame(ffwd)
|
||||
|
||||
def rop_redshift():
|
||||
out = hou.node('/out')
|
||||
rop = out.node('Redshift_ROP1')
|
||||
if not rop:
|
||||
rop = out.createNode('Redshift_ROP')
|
||||
rop.moveToGoodPosition()
|
||||
rop.parm("ProgressiveRenderingEnabled").set(True)
|
||||
rop.parm('PrimaryGIEngine').set('RS_GIENGINE_BRUTE_FORCE')
|
||||
rop.parm('SecondaryGIEngine').set('RS_GIENGINE_PHOTON_MAPPING')
|
||||
rop.parm('UnifiedMaxSamples').set('1024')
|
||||
ipr = out.node('Redshift_IPR1')
|
||||
if not ipr:
|
||||
ipr = out.createNode('Redshift_IPR')
|
||||
ipr.moveToGoodPosition()
|
||||
ipr.parm('linked_rop').set(rop.path())
|
||||
return rop, ipr
|
||||
|
||||
# Workaround for redshift rendering
|
||||
|
||||
def redshift_quick_anim(end_frame=hou.playbar.playbackRange()[1]):
|
||||
from time import sleep
|
||||
rop, ipr = rop_redshift()
|
||||
frame = int(hou.frame())
|
||||
hou.setFrame(1)
|
||||
hou.node('/obj/smoke_output/timeshift1').bypass(False)
|
||||
print('range', frame, int(end_frame)+1)
|
||||
for frame in range(frame, int(end_frame)+1):
|
||||
print('rendering frame:', frame)
|
||||
hou.node('/obj/smoke_output/timeshift1').parm('frame').setExpression('$F+{}-1'.format(frame))
|
||||
rop.parm('ProgressiveRenderingNumPasses').set(64)
|
||||
try:
|
||||
rop.render()
|
||||
except:
|
||||
pass
|
||||
sleep(40)
|
||||
hou.node('/obj/smoke_output/timeshift1').bypass(True)
|
||||
hou.setFrame(frame)
|
||||
|
||||
def redshift_still():
|
||||
redshift_quick_anim(end_frame=hou.frame())
|
||||
|
||||
def save_n_render(inc=False):
|
||||
if inc:
|
||||
hou.hipFile.saveAndIncrementFileName()
|
||||
else:
|
||||
hou.hipFile.save()
|
||||
if not hou.selectedNodes():
|
||||
print("no node selected")
|
||||
return 1
|
||||
if not isinstance(hou.selectedNodes()[0], hou.RopNode):
|
||||
print("no ROP node selected")
|
||||
return 1
|
||||
return render(hou.selectedNodes()[0])
|
||||
|
||||
def render(rop):
|
||||
x, y = [rop.parm(name) for name in 'executebackground', 'execute']
|
||||
render = x or y
|
||||
if not render:
|
||||
print("not a render node")
|
||||
return 1
|
||||
render.pressButton()
|
||||
return 0
|
||||
|
||||
def iprs():
|
||||
return [pane for pane in hou.ui.paneTabs() if isinstance(pane, hou.IPRViewer)]
|
||||
|
||||
def ipr_render():
|
||||
ipr = iprs()[0]
|
||||
ipr.killRender()
|
||||
ipr.startRender()
|
||||
Loading…
x
Reference in New Issue
Block a user