Inheritance |
|
このオブジェクトを直接インスタンス化することはできません。代わりに、hou.shelves.newToolをコールしてください。
メソッド ¶
一般 ¶
destroy()
Houdiniセッションからこのツールを削除し、このツールを保存しているファイルからその定義を除去します。
setData(script='', language=hou.scriptLanguage.Python, icon='', help='', help_url='', network_categories=(), viewer_categories=(), cop_viewer_categories=(), network_op_type='', viewer_op_type='', locations=())
複数のオプションをset
メソッドで何回もコールすることなく一度に設定できる便利なメソッド。
オプションのキーワード引数に基づいて、色々なオプションを設定します。
# ツールを取得します。 t = shelves.tool("geometry_sphere") # ツールのアイコンとヘルプのURLを設定します。 t.setData(icon="SOP_sphere", help_url="tool:sphere")
ヘルプとアイコン ¶
setHelp(help)
ツールのヘルプテキストを設定します。 ユーザがこのツールのヘルプを要求した時に、Houdiniは、このテキストをwikiテキストとして解読し、それをヘルプビューアに表示します。 代わりにヘルプビューアがURLにアクセスさせるには、setHelpURLを使用します。
help()
→ str
ツールのヘルプテキストを返します。
setHelpURL(help_url)
ユーザがこのツールのヘルプを要求した時にヘルプビューアがアクセスするURLを設定します。
これが空っぽでない時、Hoduiniは、Tool.help()
の内容の解読と表示をせずに、このURLをヘルプビューアで開きます。
helpURL()
→ str
このツールのヘルプを指すURLを返します。
setIcon(icon)
このツールに対して新しいアイコン文字列を設定します。
この文字列には、SVGファイルまたはHoudiniで読み込める画像ファイルのファイルパスまたはURLを含めることができます。
opdef:
パスを使用すれば、アセット内のアイコンファイルを参照することができます。
icon()
→ str
ツールのアイコン文字列を返します。
keywords()
→ Sequence[str]
Returns the keywords associated with this tool. You can set the keywords for a tool using setKeywords()
.
Currently the keywords are not used by Houdini, but may be useful for scripted user/studio tools.
setKeywords(keywords: Sequence[str])
The argument is a list or tuple of strings representing the keywords for this tool. Be careful not to pass a string because Python will interpret it as a list of single-character keywords. Houdini makes no effort to avoid duplicate keywords.
These strings correspond to the Keywords field in the tool editing window. Internally, the keywords are stored as a list of strings. But if a user edits the Keyword field in the UI, Houdini splits the text at commas to get the keyword list. This means you can get strange results if you use this method to store keywords that contain commas. The commas will be preserved until the user edits the keywords in the UI, then any commas within keywords will be re-interpreted as separators, and the list of keywords will change.
スクリプト ¶
setScript(script)
ユーザがシェルフ内のツールをクリックした時に実行するスクリプトのテキストを設定します。 スクリプトで利用可能なグローバル変数と一般的なタスクのTipsに関する情報は、ツールスクリプトを記述する方法を参照してください。
script()
→ str
ユーザがツールをクリックした時に実行するスクリプトのテキストを返します。
setLanguage(language)
スクリプトに対して新しい言語を設定します。languageはhou.scriptLanguageモジュールの値です(通常はhou.scriptLanguage.Python
)。
t = shelves.tool("tool_1") t.setLanguage(hou.scriptLanguage.Hscript) t.setScript("message hello")
Note
HScriptよりもPythonでスクリプトを記述することを 強く 推奨します。
language()
→ hou.scriptLanguage列挙値
ツールスクリプトを記述した言語を意味した値を返します。
>>> t = shelves.tool("geometry_sphere") >>> t.language() == hou.scriptLanguage.Python True
カテゴリ化 ¶
setToolLocations(locations)
ツールを表示するUI内の場所を設定します。 例えば、ツールをネットワークペインのTABメニューに含め、ビューポートペインのTABメニューに含めないように設定することができます。
setToolMenuCategories(pane_type, categories)
ツールカテゴリを設定します。このカテゴリは、ツールの可視性を細かく制御するために使用します。 例えば、いくつかのツールでは“Mantra”や“RenderMan”をキーワードとして指定されており、指定したレンダラーがPreferencesペインでアクティブに設定されている場合にのみ、 それらのツールがTABメニューに表示されます。
setToolMenuOpType(pane_type, op_type)
このツールに関係したオペレータタイプを設定します。そのオペレータが作成可能な場合にのみ、そのツールがTABメニューに表示されます。 例えば、いくつかのオペレータタイプは、特定の親にのみスコープされるので、このタイプのノードを作成するツールは、その親の中でのみ意味を成します。
toolMenuCategories(pane_type)
→ tuple of hou.NodeTypeCategory
このツールで指定されたカテゴリを返します。
toolMenuLocations()
→ tuple of str
このツールが含まれたTABメニューのサブメニューを返します。
toolMenuOpType(pane_type)
→ str
このツールに関係したオペレータタイプを返します。
Methods from hou.ShelfElement ¶
setFilePath(file_path)
このオブジェクトの定義の保存先のパス文字列を設定します。
filePath()
→ str
このオブジェクトの定義を含んだファイルを返します。
fileLocation()
→ str
人が解読できる書式でファイルロケーションの表現を返します。 例えば、ディスクファイルだとファイルパスが返され、エレメントがHDAツールセクション内に格納されていればそのHDAに関する情報が返されます。
setName(name)
このオブジェクトの内部名を設定します。スクリプトでは、これを使ってオブジェクトを参照します。
この名前は、Houdiniノードの命名規則と同じです。 つまり、数字から始めてはいけません。名前に含めることができるのは、英数字とアンダースコアのみです。
例えば、Toolオブジェクト名がfoo
であれば、以下のコードによって、それを参照することができます:
footool = shelves.tool("foo")
name()
→ str
このオブジェクトの内部名を返します。
複数のオブジェクトに同じ名前を持たせることができます(例えば、2つの異なるアセットのどちらにも同じhammer
ツールを用意することができます)が、
Houdiniセッション内では、同時にどちらかしか有効になりません。
setLabel(label)
人が解読可能なオブジェクトのラベルを設定します。このラベルは、UIに表示されます。
label()
→ str
人が解読可能なオブジェクトのラベルを返します。
setReadOnly(on)
# ツールの参照を取得します。 t = hou.shelves.tool("geometry_sphere") # ツールを変更不可にします。 t.setReadOnly(True) # ツールを変更可能にします。 t.setReadOnly(False)
isReadOnly()
→ bool
エレメントが読み取り専用(編集不可)であれば、True
を返します。