Yunus Balcioglu
animatrix_
About Me
Senior FX Technical Director @ Industrial Light & Magic | Feature film credits include The Lord of the Rings: The Rings of Power, Marvel's Eternals, Star Wars: The Rise of Skywalker, X-Men: Dark Phoenix, X-Men: Apocalypse, Aquaman, Alien: Covenant, Pirates of the Caribbean, Justice League and many m... more
Senior FX Technical Director @ Industrial Light & Magic | Feature film credits include The Lord of the Rings: The Rings of Power, Marvel's Eternals, Star Wars: The Rise of Skywalker, X-Men: Dark Phoenix, X-Men: Apocalypse, Aquaman, Alien: Covenant, Pirates of the Caribbean, Justice League and many more. less
専門知識
Technical Director
業界:
Film/TV
Houdini Engine
ADVANCED
プロシージャルワークフロー | Digital Assets | Mantra | Pyro FX | Fluids | 説明 | VEX | Python
INTERMEDIATE
Realtime FX
Availability
Not Specified
My Gallery
My Talks
Recent Forum Posts
Supercharged H20 extension (TouchDesigner Style) 2024年11月20日9:54
Xr_Bloodanimatrix_Xr_Bloodtpetrick 特佩特里克
Houdini has a script hook for external drag/drop, but currently only file path data is supported.
To use the script hook add a Python script named externaldragdrop.py to the Houdini script path, for example ~/houdini16.5/scripts/externaldragdrop.py. The script should define a function called dropAccept which takes a single parameter. Every time a drop event occurs on the main Houdini application it will call the dropAccept function with a list of file path(s) that were dropped onto Houdini. The function can return True to block the drop event from continuing on to Houdini, or False to indicate that Houdini should handle the drop event itself.
An example drop handler script that ignores .hip file drops and creates Font SOPs with the contents of the incoming files:import hou import os def dropAccept(file_list): if len(file_list) == 1 and os.path.splitext(file_list[0])[1] == ".hip": return False for filename in file_list: with open(filename) as f: contents = f.read() obj = hou.node("/obj") geo = obj.createNode("geo", "geo1", False, False) font = geo.createNode("font") font.parm("text").set(contents[:20]) return True
If the data in the drag/drop event contains arbitary text or binary data instead of file paths the script hook won't be invoked. This is something that would need to be fixed on our end - I can look into fixing that if necessary.
I saw a post on the forum where SideFX staff member tpetrick wrote.
Ok using that script, I get the drag and drop but it only seems to work on the 3d viewport. You manage to get it working using the regular network editor? I think this might require more to get it working for any network editor.
Yes, the Network Editor in the main panel supports this by default. You can modify it to drag and drop files into the Network Editor and print the file paths.
Now I have to press a shortcut to switch to the Network Editor in the main panel to drag and drop files, then switch back to the Supercharged Network Editor to work.
Oh ok I see where the confusion is. I was testing using another floating network editor. So it's not that it doesn't work on the overlay network editor, but that it doesn't work on floating panels, which the overlay network editor also is. So this has to be added by SideFX to work. That would be a good RFE.
Supercharged H20 extension (TouchDesigner Style) 2024年11月20日9:17
Xr_Bloodtpetrick 特佩特里克
Houdini has a script hook for external drag/drop, but currently only file path data is supported.
To use the script hook add a Python script named externaldragdrop.py to the Houdini script path, for example ~/houdini16.5/scripts/externaldragdrop.py. The script should define a function called dropAccept which takes a single parameter. Every time a drop event occurs on the main Houdini application it will call the dropAccept function with a list of file path(s) that were dropped onto Houdini. The function can return True to block the drop event from continuing on to Houdini, or False to indicate that Houdini should handle the drop event itself.
An example drop handler script that ignores .hip file drops and creates Font SOPs with the contents of the incoming files:import hou import os def dropAccept(file_list): if len(file_list) == 1 and os.path.splitext(file_list[0])[1] == ".hip": return False for filename in file_list: with open(filename) as f: contents = f.read() obj = hou.node("/obj") geo = obj.createNode("geo", "geo1", False, False) font = geo.createNode("font") font.parm("text").set(contents[:20]) return True
If the data in the drag/drop event contains arbitary text or binary data instead of file paths the script hook won't be invoked. This is something that would need to be fixed on our end - I can look into fixing that if necessary.
I saw a post on the forum where SideFX staff member tpetrick wrote.
Ok using that script, I get the drag and drop but it only seems to work on the 3d viewport. You manage to get it working using the regular network editor? I think this might require more to get it working for any network editor.
Supercharged H20 extension (TouchDesigner Style) 2024年11月20日6:42
Xr_Bloodanimatrix_Xr_BloodImage Not Found
Can the shortcut keys for shelftool also be modified in the hotkeys.csv file?
Those can be modified using the standard hotkey editor but the upcoming version allows you to do the same using the hotkeys.csv like so:sh:shelftoolname
which can call any existing shelf tool.
Thank you for your response; the functionality is very powerful. I would greatly appreciate it if you could let me know once the issue with the drag-and-drop feature for external events is resolved.
I tried drag and drop using the regular network editor but I don't see anything happen. Are you using some custom scripts?
I tried this script but that doesn't seem to do anything when I drag images onto the regular network editor:
https://www.sidefx.com/tutorials/houdini-script-drag-and-drop-file/ [www.sidefx.com]
There isn't anything that should prevent the overlay network editor to bypass drag and drop. I didn't disable it.