Forgot your password?   Click here   •   No account yet?   Please Register    •   Or login using  
JA ログイン
SideFX Homepage
  • 製品
    • What's New in 19.5
      • 概要
      • Solaris
      • Karma
      • Character FX
      • Pyro FX
      • FLIP Fluids
    • Houdini
      • 概要
      • FX 機能
      • CORE 機能
      • Solaris
      • PDG
    • Houdini Engine
      • 概要
      • Engine プラグイン
      • バッチ処理
    • Houdini Indie
    • 比較
    • SideFX Labs
    • Partners
  • 業界
    • Film & TV
    • ゲーム開発
    • モーショングラフィクス
    • Virtual Reality
  • コミュニティ
    • フォーラム
    • ニュース
    • カスタマ ストーリー
    • Gallery
    • Contests & Jams
    • Houdini HIVE Events
    • イベントカレンダー
    • User Groups
  • 学習
    • Start Here
    • My Learning
    • ラーニングパス
    • チュートリアル
    • Tech Demos
    • Houdini 講演
    • 学校紹介
    • 教育プログラム
      • 概要
      • 学生
      • 講師
      • 管理者
  • サポート
    • Customer Support
    • ヘルプデスク FAQ
    • Houdini システム環境
    • ドキュメント
    • Changelog / Journal
    • Report a Bug/RFE
  • Get
    • 購入
    • Download
    • Content Library
    • お問い合わせ
 
Advanced Search
Forums 検索
Found 54 posts.

Search results Show results as topic list.

PDG/TOPs » Cook a single work item via Python

User Avatar
blented
55 posts
Offline
 2022年8月14日 12:48:07
Quite a bit of digging to make this happen, figured I'd leave the answer here for posterity per usual

First, you'll need to use a python scheduler instead of the regular local scheduler to cook things.

The defaults are all fine, just add these lines right after the imports in the scheduling tab.
# auto-succeed if this isn't the work item we're meant to be cooking
if os.environ['PDG_ACTIVE_WORK_ITEM'] != str(work_item.id):
    return pdg.scheduleResult.CookSucceeded

This will make PDG skip any work items that aren't meant to be cooking. Without this, you'll end up re-cooking all the upstream items on the farm, even if they've already been cooked by prior dependent jobs.

Be sure to update the default scheduler on your topnet.

Next, to actually cook a single work item, you'll want this bit of code. The comments explain it further but essentially graphContext.cookItems was the only function I could find that actually took individual items to cook, so we use that alongside setting PDG_ACTIVE_WORK_ITEM on the environment such that everything else auto-succeeds.

import hou
import os


def cookWorkItem(node, index, block=True):
	# generate static work items for this node, which will
	# generate parents as needed
	# likely that this only really works with static work items
	node.generateStaticWorkItems(block)

	# info about the work item we're cooking
	pdgNode = node.getPDGNode()
	context = pdgNode.context
	workItem = pdgNode.workItems[index]

	print('cooking:', workItem.id)

	# set the active work item as an environment variable
	os.environ['PDG_ACTIVE_WORK_ITEM'] = str(workItem.id)

	# use the context to cook this work item
	# our custom onSchedule function in the python schedule
	# will skip anything that's not this PDG_ACTIVE_WORK_ITEM
	return context.cookItems(
		block, 
		[workItem.id],
		pdgNode.name)

All of this lets us run PDG jobs on the farm similar to how ROPs jobs would run, but with all the great features that come w/ PDG.
See full post 

Solaris » how do multishot setup

User Avatar
blented
55 posts
Offline
 2022年8月10日 10:12:22
There's a nice section in the 18.5 launch keynote that talks about how to set up multi shot with context options:

https://youtu.be/zMrvCWy85xM?t=3425 [youtu.be]
See full post 

PDG/TOPs » Cook a single work item via Python

User Avatar
blented
55 posts
Offline
 2022年8月10日 10:05:52
Is there a way via Python to cook only a single work item on a node in a PDG graph? I'm working on improving how PDG is handled on the farm and struggling to find the appropriate method.

TopNode [www.sidefx.com] only has cookWorkItems() which doesn't take an index.
See full post 

Technical Discussion » No module named sidefx_stroke or kinefx.stateutils

User Avatar
blented
55 posts
Offline
 2022年7月17日 16:25:41
Worth noting, on a fresh install w/ no tools we're still seeing this on 19.5

The above fix works, modified for python 3.9 as such:
PYTHONPATH = $PYTHONPATH;$HFS/packages/kinefx/python3.9libs;$HFS/houdini/viewer_states;$HFS/packages/kinefx/viewer_states

But we're getting a new error which we're still trying to track down:

Error running event handler:
Traceback (most recent call last):
  File "labs::Lop/karma::2.0, ViewerStateModule", line 18, in <module>
  File "C:\Program Files\Side Effects Software\Houdini 19.5.303.9\python39\lib\site-packages-forced\shiboken2\files.dir\shibokensupport\__feature__.py", line 142, in _import
    return original_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'ParseExrMetadata'

Error running event handler:
Traceback (most recent call last):
  File "labs::Lop/karma::2.0, opdef:/labs::Lop/karma::2.0?ViewerStateInstall", line 1, in <module>
  File "C:\PROGRA~1/SIDEEF~1/HOUDIN~1.9/houdini/python3.9libs\viewerstate\utils.py", line 948, in register_pystate_embedded
    raise ViewerStateException("createViewerStateTemplate not found in {}".format(node_type.sourcePath()))
viewerstate.utils.ViewerStateException: createViewerStateTemplate not found in oplib:/labs::Lop/karma::2.0?labs::Lop/karma::2.0
See full post 

Solaris » Solaris default hair thickness in viewport

User Avatar
blented
55 posts
Offline
 2022年4月10日 09:49:47
Thanks Tomas! Hiding under wireframe, so obvious 🤦‍♂️

The # of questions I come across here where you're the one answering is truly incredible.

Screenshot for others who may find this thread, also random crowd person cheering appropriately :P
See full post 

Solaris » Solaris default hair thickness in viewport

User Avatar
blented
55 posts
Offline
 2022年4月9日 23:44:04
In Houdini 19, BasisCurves are shaded as ribbon geometry as opposed to lines.

Couple of questions:
- is there any way to disable this? In most cases we'd prefer the previous shading behavior.
- is there any way to set the default ribbon width (currently seems to be 1m)? .001 would probably be a better default.
- is there a fast way to set widths for all points? Or make it a constant instead of a per point array?


We have tons of hairstyles published without width, as it's set later procedurally, but we can no longer view them in the viewport as they either crash Houdini or look like a ball of thick ribbons.

It's impractically slow to add widths in a sopModify just to view the hairstyles.

In the attached image, left is Solaris viewport, right is what we'd like them to look like.

Thanks for any help you can provide!
See full post 

Technical Discussion » No module named sidefx_stroke or kinefx.stateutils

User Avatar
blented
55 posts
Offline
 2021年11月22日 10:29:59
Thanks for checking, we'll look through our env more and try to figure out what's causing the hang-up.
See full post 

Technical Discussion » Adding to Layout Asset Gallery from Python

User Avatar
blented
55 posts
Offline
 2021年11月22日 10:27:44
Thanks for the help!

I can confirm that the following code adds the asset as expected:
hou.qt.AssetGallery.addAsset('toy', 'c:/test/toy/toy.usd', 'c:/test/toy/thumbnail.png')

Is the source for this module somewhere? The arguments don't line up with this function signature from $HFS/houdini/python2.7libs/husd/assetutils.py at all, and all 3 arguments are required:
def addAsset(asset_file_or_dir_path, 
        thumbnail_file_path = None, asset_name = None):
    """ Adds a USD asset to the asset gallery, given the
        asset file or directory, and optionally the thumbnail file and 
        asset name.

        If thumbnail file is not provided or does not exist in a
        given asset directory, it is automatically generated, 
        so that the asset gallery entry always has an icon.

        If asset name is not provided, it is deduced from the file/dir name.
    """

Regardless happy to have it working
See full post 

Technical Discussion » Adding to Layout Asset Gallery from Python

User Avatar
blented
55 posts
Offline
 2021年11月22日 01:47:18
I'm looking to add to the layout asset gallery via python. I've found:
$HFS/houdini/python2.7libs/husd/assetutils.py

which contains:
def addAsset(asset_file_or_dir_path, thumbnail_file_path=None, asset_name=None)

However regardless of how I run it I never get an asset added. The code I'm running:
import husd.assetutils as au
au.AssetGallery.addAsset('c:/test/toy/toy.usd')

Furthermore, when querying the database directly via sqlite3 to see if everything's working, I get this error after attempting to add an asset via python:
sqlite3.OperationalError: Could not decode to UTF-8 column 'thumbnail' with text ' ╪ α'

Is there a guide on how this should work? Any pointers would definitely be appreciated!
See full post 

Technical Discussion » No module named sidefx_stroke or kinefx.stateutils

User Avatar
blented
55 posts
Offline
 2021年11月20日 10:05:33
On a fresh Houdini 19 install we were getting

ImportError: No module named sidefx_stroke
and
ImportError: No module named kinefx.stateutils

To fix this we had to add the following to our houdini.env
PYTHONPATH = $PYTHONPATH;$HFS/packages/kinefx/python2.7libs;$HFS/houdini/viewer_states;$HFS/packages/kinefx/viewer_states

Curious if this is expected behavior? Leaving it here in hopes that it helps anyone else experiencing the same issue.
Edited by blented - 2021年11月20日 10:06:15
See full post 

Houdini Lounge » Tumbling in Houdini

User Avatar
blented
55 posts
Offline
 2021年2月19日 21:21:45
The shift Z trick is great, works in LOPs as well, but doesn't work in the render view.

Anyone have a fix for that? Testing w/ Renderman specifically if that helps.. ideally we'd be able to tumble around while IPR-ing
See full post 

Technical Discussion » HDA with primary input + secondary inputs

User Avatar
blented
55 posts
Offline
 2020年9月12日 21:29:09
Yeah the UI / UX of it isn't great w/out the first input separated. We've been treating that as our “B” pipe from a Nuke comp sense and it's been working well for assembling larger scenes. Without it separated it's a pain to connect a different input to #1, you also can't have it be empty and just use it as a “group” node which graft currently lets you do.
See full post 

Technical Discussion » HDA with primary input + secondary inputs

User Avatar
blented
55 posts
Offline
 2020年9月12日 17:06:21
Yeah, we'd just need a checkbox under basic that specified “split out first input” or something, then as Tomas said you can get it to “look” like a multi-input by just setting max inputs to like 50+.

Our aim is to put an expression in the graft node to control the numbering of duplicates, with additional options to “group” incoming prims. None of that really works though if you can't split out the first input.
See full post 

Solaris » Viewer State: Set Solaris viewport selection via Python

User Avatar
blented
55 posts
Offline
 2020年7月31日 18:05:14
One minor issue, when I set the viewport selection via python, if I press Alt to tumble the selection highlighting disappears. If I mouse out of the viewport then back over the selection will come back. Bug? Seems to work w/ the default selection tools just not pythonically.
See full post 

Solaris » Viewer State: Set Solaris viewport selection via Python

User Avatar
blented
55 posts
Offline
 2020年7月31日 11:33:17
Awesome, thanks for the quick reply.

Here's a link to the docs page:
https://www.sidefx.com/docs/houdini/hom/hou/SceneViewer.html [www.sidefx.com]

Inside a viewer state it's as easy as:
self.sceneViewer.setCurrentSceneGraphSelection(['/scene/toy_001'])


The selection highlight updates and also doesn't trigger an undo which is great for my use case
See full post 

Solaris » Viewer State: Set Solaris viewport selection via Python

User Avatar
blented
55 posts
Offline
 2020年7月30日 01:09:25
I'm not sure if this is the right section to post this in, but I'm looking to set ‘selection highlight’ or ‘selected objects’ via Python for a viewer state.

First question, is this possible? Most of the selection methods I found in the docs took Geometry as an argument, I didn't come across anything that dealt with LOPs / stages.

If it's not possible, is there another viewer state method for ‘coloring’ or ‘overlaying’ geometry that I could use instead?

Thanks for any direction you can provide, even if it's vague
See full post 

Solaris » for those who want to export usd from Maya 2020. AD version

User Avatar
blented
55 posts
Offline
 2020年5月26日 14:06:31
You still need to use the Pixar USD plugin for Maya if you want support for Renderman materials, they don't work with the Autodesk build yet which seems pretty silly. VRay to my knowledge doesn't support USD so I'm not surprised their materials don't export.
See full post 

Solaris » pxrvolume inside solaris

User Avatar
blented
55 posts
Offline
 2020年5月11日 14:13:13
Here's an example file, working as expected in 18.0.425, Renderman 23.2

PxrVolume in a material library, auto fill, assign to the box
See full post 

Solaris » Ghosting Solaris scene from inside SOP Modify / Instancer

User Avatar
blented
55 posts
Offline
 2020年5月8日 21:12:00
At 10:35 in the Houdini 18 launch video it seems like Scott switches on ‘Show All Objects’ and sees outside the instancer to the Solaris scene in the viewport. I've been unable to reproduce this from an Instancer / SOP Modify / any other SOP-node, but would LOVE to be able to. Seeing the Solaris scene when you're modifying geometry in SOPs is pretty crucial.

Hopefully I'm just missing something obvious? Link to the presentation: https://youtu.be/Aql6SIOIyXs?t=634 [youtu.be]
See full post 

Solaris » Command Line Rendering

User Avatar
blented
55 posts
Offline
 2020年4月9日 16:25:33
Thanks Mark, the –checkpoint option at least lets you know it's still rendering but doesn't give much of a sense of progress without manually opening the output_part.exr images. BTW, any way to control the naming on those? Ideally we'd just want them writing to output.exr. Hopefully they can do an update on the Renderman side to push out render stats.
See full post 
  • 最初
  • 1
  • 2
  • 3
  • 最後
  • Quick Links
Search links
Show recent posts
Show unanswered posts
製品
  • Houdini
  • Houdini Engine
  • Houdini Indie
学習
  • ラーニングパス
  • チュートリアル
  • Houdini 講演
  • 学校紹介
  • 教育プログラム
サポート
  • Customer Support
  • ヘルプデスク FAQ
  • ドキュメント
  • Report a Bug/RFE
  • Sales Inquiry
LEGAL
  • Terms of Use (英語)
  • Privacy Policy (英語)
  • License Agreement (英語)
  • Accessibility (英語)
  • Responsible Disclosure Program
COMPANY
  • SideFX社について
  • Press
  • T-Shirt Store
  • Careers
  • Internships
  • お問い合わせ
Copyright © SideFX 2023. All Rights Reserved.

使用言語