Set desktop on startup. Geocache node creation.
This commit is contained in:
parent
ec30d1f85b
commit
b36ed29763
16
123.py
16
123.py
@ -1,8 +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()
|
||||
|
||||
# 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, set_desktop
|
||||
rop_redshift()
|
||||
install_aliases()
|
||||
set_desktop()
|
||||
|
||||
84
hhacks.py
84
hhacks.py
@ -2,14 +2,11 @@
|
||||
|
||||
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()"),
|
||||
(4, "from hhacks import redshift_quick_anim as _; _()"),
|
||||
(5, 'from hhacks import install_desktop as _; _()'),
|
||||
(6, 'from hhacks import make_geo_cache as _; _()'),
|
||||
(7, "from hhacks import iprs; iprs()[0].killRender();iprs()[0].startRender()"),
|
||||
(8, 'from hhacks import *; rop,_=rop_redshift(); rop.parm("trange").set(1); render(rop)'),
|
||||
(9, 'from hhacks import *; rop,_=rop_redshift(); rop.parm("trange").set(0); render(rop)'),
|
||||
@ -21,15 +18,16 @@ def install_aliases():
|
||||
hou.hscript("alias F{} 'python -c \\'{}\\''".format(fkey, hcmd))
|
||||
|
||||
def rewind():
|
||||
"""
|
||||
# rewind and return to current frame
|
||||
ffwd = rewind()
|
||||
...
|
||||
hou.setFrame(ffwd)
|
||||
"""
|
||||
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')
|
||||
@ -43,6 +41,7 @@ def rop_redshift():
|
||||
rop.parm('PrimaryGIEngine').set('RS_GIENGINE_BRUTE_FORCE')
|
||||
rop.parm('SecondaryGIEngine').set('RS_GIENGINE_PHOTON_MAPPING')
|
||||
rop.parm('UnifiedMaxSamples').set('1024')
|
||||
rop.parm('RS_iprUpdateMeshDeform').set(True)
|
||||
ipr = out.node('Redshift_IPR1')
|
||||
if not ipr:
|
||||
ipr = out.createNode('Redshift_IPR')
|
||||
@ -103,3 +102,66 @@ def ipr_render():
|
||||
ipr = iprs()[0]
|
||||
ipr.killRender()
|
||||
ipr.startRender()
|
||||
|
||||
def install_desktop(pane_name="Network"):
|
||||
panels = [p for p in hou.ui.floatingPanels() if p.name()==pane_name]
|
||||
if not panels:
|
||||
panel = hou.ui.curDesktop().createFloatingPanel(hou.paneTabType.NetworkEditor, size=(1920,1080))
|
||||
panel.setName(pane_name)
|
||||
panel.attachToDesktop(True)
|
||||
|
||||
def set_desktop():
|
||||
desktops = {d.name(): d for d in hou.ui.desktops()}
|
||||
if '2x2' in desktops:
|
||||
desktops['2x2'].setAsCurrent()
|
||||
|
||||
|
||||
def make_output_sop(geo, connect_to='', name=''):
|
||||
sop = geo.createNode('null', '_'.join(s for s in ['OUT', name] if s))
|
||||
if connect_to:
|
||||
sop.setInput(0, connect_to)
|
||||
if connect_to.isDisplayFlagSet():
|
||||
sop.setDisplayFlag(True)
|
||||
if connect_to.isRenderFlagSet():
|
||||
sop.setRenderFlag(True)
|
||||
sop.moveToGoodPosition()
|
||||
return sop
|
||||
|
||||
|
||||
# from hhacks import make_geo_cache as _; _()
|
||||
def make_geo_cache(name=''):
|
||||
"""
|
||||
Create /out geometry cache. Save hip. Render in background.
|
||||
"""
|
||||
|
||||
# Path from selection or active view and connection
|
||||
if hou.selectedNodes() and hou.selectedNodes()[-1].parent().type().name() == 'geo':
|
||||
connect_to = hou.selectedNodes()[-1]
|
||||
geo = connect_to.parent()
|
||||
name = geo.path().split('/')[-1]
|
||||
else:
|
||||
connect_to = None
|
||||
geo = hou.ui.paneTabOfType(hou.paneTabType.NetworkEditor).pwd()
|
||||
|
||||
# OUT_RENDER
|
||||
sop = make_output_sop(geo, connect_to, 'RENDER')
|
||||
|
||||
# SOP
|
||||
out = hou.node('/out').createNode('geometry', '{}_cache'.format(name))
|
||||
out.moveToGoodPosition()
|
||||
out.parm('trange').set(1)
|
||||
out.parm('soppath').set(sop.path())
|
||||
|
||||
# Create import nodes
|
||||
look = hou.node('/obj').createNode('geo', '{}_render'.format(name))
|
||||
in_file = look.createNode('file', 'IN_{}'.format(name))
|
||||
out_render = make_output_sop(look, connect_to=in_file)
|
||||
for node in [look, in_file, out_render]:
|
||||
node.moveToGoodPosition()
|
||||
|
||||
print(in_file)
|
||||
print(dir(in_file))
|
||||
in_file.parm('file').set(out.parm('sopoutput'))
|
||||
|
||||
hou.hipFile.save()
|
||||
out.parm('executebackground').pressButton()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user