On this page |
概要 ¶
ファイルの命名 ¶
通常では、ヘルプをアセットの Help タブに貼り付けるのが一番良くて便利な選択肢です。その方法でヘルプを取り扱うのであれば、このセクションを無視してください。
しかしながら、ヘルプをファイルとして維持したいのであれば、ヘルプサーバーがそのヘルプを見つけられるように正しい命名規則を守る必要があります。
-
HOUDINIPATH/help/nodes/dir/
にファイルを作成します。dirは、ノードタイプカテゴリの“省略”バージョンです(これらのディレクトリ名は古くからの習慣のお決まりです)。例:カテゴリ
ディレクトリ
Object
obj
SOP
sop
DOP
dop
COP
cop2
ROP
out
-
ディレクトリ内では、スコープされていないノードのファイル名パターンは以下の通りです:
[namespace--]name[-version].txt
例えば、ネームスペースもバージョンも持たない
bravo
SOPは以下のようになります:bravo.txt
com.corp
ネームスペースにbravo
SOPがある場合は、そのファイル名は以下のようになります:com.corp--bravo.txt
バージョン
2
のノードは以下のようになります:bravo--foo-2.txt
-
スコープされたノードに関しては、再帰ファイル名パターンは以下の通りです:
[scope@]filename.txt
再帰的なscope部分を構築するには、スラッシュ(例えば
Object/alfa
)をアンダースコアに置換します。例えば、スコープされたネームスペース付きのSOPノード
com.corp::Object/alfa::2.0::com.corp::bravo::3.0
に関しては、そのヘルプは以下のようになります:/nodes/sop/com.corp--Object_alfa-2.0@com.corp--bravo-3.0.txt
これにより、いくつもの再帰スコープを完全にコード化することができます。
Note
この命名規則はHoudini16で変更されました。残念ながら、以前の命名規則には大きな問題がありました。
-
扱うのに不便な中間ディレクトリを必要としました。
-
-
や--
で始まる名前を使用していました。これでは、UNIXシェルで扱うのが難しかったです。 -
スコープされたノードを扱いませんでした。
一般形式 ¶
一般的なwikiマークアップのリファレンスに関しては、Houdini wikiマークアップを参照してください。
= My Asset = #icon: path/to/icon """ノードの簡単な挙動の要約。""" == 概要 == ノードの目的とオペレーションの説明。 @inputs Label: 入力の目的。 @parameters Label: #id: internalname パラメータの説明。 Label: #id: internalname パラメータの説明。 @related * [Node:sop/copy]
詳しい説明 ¶
タイトル ¶
= タイトル =
これは、人が解読できるノードのラベルです。これを含めなかった場合、サーバーはHOMを使用してノードのラベルを取得します。
プロパティ ¶
#icon: path/to/icon.svg
#icon: path
このノードのアイコンのパス。アイコンには、ピクセル画像を指定することができます。または、
-
HOUDINIPATH/help
パスから画像を使用することができます。例えば、以下の場所に画像があれば:HOUDINIPATH/help/nodes/sop/common.svg
…以下のような
#icon
プロパティでそれを参照することができます:#icon: /nodes/sop/common.svg
-
opdef:.?name
をそこに使用することで、アセットのセクション内のアイコンファイルを参照することができます。例えば、アセットセクションに
Icon.svg
があれば、以下のように指定することでそれを参照することができます:#icon: opdef:.?Icon.svg
-
これが
DIR/name
の形式であれば、Houdiniの内部アイコンのどれかを参照します。例えば、SOP/copy
。
以下のプロパティでは、Houdiniがそのパスから自動的に推測をします。自身のドキュメント作成の目的で必要でない限りは、それらのプロパティを含める必要はありません。
#type: node
このページを、ノードのドキュメンとしてマークします。これを含めなかった場合、サーバーはそのページのパスからそれを推測します。
#context: ctx
ノードカテゴリ: obj
, sop
, dop
, cop2
, chop
, out
を示します。これを含めなかった場合、サーバーはそのページのパスからそれを推測します。
#namespace: ns
このノードがあるネームスペースを示します。これを含めなかった場合、サーバーはそのページのパスからそれを推測します。
#internal: name
このノードの内部名。これを含めなかった場合、サーバーはそのページのパスからそれを推測します。
#version: x.y
このノードのバージョン文字列。これを含めなかった場合、サーバーはそのページのパスからそれを推測します。
要約 ¶
"""ディスク上のファイルからジオメトリをインポートします。"""
タイトルの後の"""三重引用符"""
には短い要約の段落を含めることができます。
-
サーバーは、これをノードのツールチップに使用し、ヘルプ内のいくつかの箇所でそれを表示します。
-
この要約では、英語なら動詞から開始して、ユーザに対して行なう内容を記述してください。
-
“このノードがユーザが…”のような長ったらしい表現は避けてください。
-
要約は通常では1文、多くても2文にしてください。
ボディ ¶
ページのボディ、タイトルとセクションの間のテキストには、以下の質問に応えてください。
-
このオペレータは 何 をしますか?
-
私がそのオペレータを 何故 使用するのですか?それが私のシーンにどのように貢献することができますか?
-
それが 何処 がネットワークにフィットしますか?
入力セクション ¶
@inputs Edges: 押し出したいエッジを含んだジオメトリ。
ノードが入力を持っている場合、@inputs
を使って、入力について説明したセクションを始めます。各入力に対して:
-
入力のラベルの後にコロン(
:
)を書きます。 -
その下では、ユーザがその入力に接続すべき内容、任意かどうか、入力に対するノードの挙動などを記述した1個以上の段落をインデントします。
パラメータセクション ¶
@parameters Group: #id: group このノードが抽出するグループ名やポイント番号。 Distance: #id: dist 抽出したポイントを動かす距離。
@paramters
を使って、パラメータについて説明したセクションを始めます。
-
見出しを使うことでインターフェースのタブを表現することができます。例えば、“Basics”タブ内に2つのパラメータ、“Advanced”タブ内に2つのパラメータがある場合:
@parameters == Basics == Group: #id: group このノードが抽出するグループ名やポイント番号。 Distance: #id: dist 抽出したポイントを動かす距離。 == Advanced == Space: #id: xformspace ノードが距離の測定で使用するトランスフォーム空間。 Compression: #id: compresslvl 記録されたデータの圧縮度。レベルが高いほどディスク容量をあまり使用しませんが、読み込みに時間がかかります。
パラメータのツールチップ ¶
Houdiniは、パラメータインターフェースエディタでツールチップを明示的に設定していなかった場合に、パラメータの説明の第一段落を自動的に抽出して、それをパラメータのツールチップとして使用します。
重要: (上記で説明しているとおり)#id:
プロパティとパラメータの内部名を追加しなかった場合、Houdiniはそのパラメータのラベルを使ってパラメータのマッチングを試みます。とはいえ、#id:
プロパティをすべてのパラメータに追加する方が良いです。そうすることで、いくつかのパラメータのラベルが重複していても、それらのパラメータは適切にリンクされます。
関連項目セクション ¶
@related * [Node:sop/polyextrude] * [Node:sop/mynamespace--myasset] * [Node:sop/mynamespace--otherasset-2.0]
関連ページへのリンクのセクションを作成することができます。リンクに関する情報は、マークアップリファレンスを参照してください。
内容のリンクと共有 ¶
-
リンクの作成と画像や他のメディアを含める方法は、wikiマークアップリファレンスを参照してください。
-
ヘルプサーバーは、アセットセクションをノードのURLのサブURLとして扱います。例えば、あなたがのアセットが以下の場合だったとします:
/nodes/sop/mynamespace--myextrude
…以下のURLでアセット内のセクションにアクセスすることができます:
/nodes/sop/mynamespace--myextrude/section_name
例えば、セクション内に
MainImage.jpg
という画像ファイルがあれば、アセットのヘルプにそれを使用することができます:[Image:./MainImage.jpg]
Tip
セクション名に拡張子(例えば、
.jpg
)があるので、サーバーがそのファイルタイプを推測することができます。 -
別の方法としては、Houdiniの
opdef:
構文を使用することで、セクションを参照することができます。例:[Image:opdef:.?MainImage.jpg]
-
他のノードからテキストを“インクルード”することが役立つことが多いです。例えば、2つのノードが非常に似たインターフェースを持っていたり、あるノードのインターフェースが他のノードからプロモートしたパラメータを含んでいる場合です。
パラメータに
#id:
プロパティがある限り、それを他のページで含めることができます。例えば、あるアセットに以下のパラメータがあったとします:@parameters Group: #id: group 動かすグループまたはポイント番号。 Distance: #id: dist ポイントを動かす距離。
以下のように他のアセットのヘルプからこのパラメータを含めることができます:
@parameters :include otherasset#group: :include otherasset#dist:
-
パラメータを複製したりプロモートしても、ラベルや内部名が異なっていることがあります。Includeパス内で
#id
部分の後にスラッシュを追加することで、その 内容 だけを含めることができます:@parameters Point group: #id: ptgroup :include otherasset#group/:
スタイルTips ¶
冗長 ¶
パラメータのヘルプの初めには余計な長ったらしい説明を含めないでください:
Edge SOP
このパラメータは、ジオメトリノードのパスを設定します。
代わりに、 値 が何かを説明します:
Edge SOP
エッジを含んだジオメトリノードのパス。
パラメータのヘルプ ¶
以下のように途中段階でのパラメータのドキュメントを避けてください:
Rotation
回転を設定します。
Order of rotation
回転の順序を設定します。
パラメータがあなたにとっては簡単なものに見えたとしても、以下のように、あなたがインクルードするものには、(初心者にとっては)豊富な暗黙的知識になったり、(上級者にとっては)曖昧な説明に見えたりすることがよくあります:
-
受け入れ可能な値の範囲。
-
このパラメータを使用する理由や時期。
-
パラメータの有効化、無効化、上げ下げでパラメータが処理する内容。
-
このパラメータが処理 しない 事。
-
エッジ条件。
-
デフォルト。
-
単位。
例:
Rotation
テクスチャの回転角度(度)。プラスの数値は時計回りに、マイナスの数値は反時計回りに(テクスチャを基準に)回転します。Positionパラメータを使えば、モデル上のテクスチャの位置を変更することができます。 rotateTextureコマンドを使えば、ラジアンで回転を設定することができます。
Order of rotation
X,Y,Z軸を基準にオブジェクトを回転させる順番を制御します。移動、スケールとは違い、回転は、その回転軸の順番によって向きが完全に違ってきます。 通常の回転順はX, Y, Zです。アニメーションの状況によっては、その順番を変更した方が回転のアニメーションが簡単になることがあります。
-
パラメータの説明では、複数の段落を使用出来ることを覚えておいてください。
-
1番目の段落がパラメータのツールチップとして使用されることを覚えておいてください。
能動態 ¶
受動態を使用したり、第3者でユーザについて話をしないでください:
ユーザは...すべき このパラメータが設定される時は... ...を作成するには、Forceオペレーションが使われます このアトリビュートは、...の時に設定されます
代わりに、能動態を使って読者に直接話かけてください。アクションを 起こす人 を明確にするべきです:
あなたが...すべき あなたが...したい時にこのパラメータを設定してください Forceオペレーションは...を作成します このノードは、...の時にこのアトリビュートを設定します
オペレータが何かを許可またはそれを可能とするという風に話すのを避けてください。
このオペレータは、...を押し出すことを許可します これは...を押し出すことが可能です...
代わりに、具体的なアクションを実行することを記述してください。
ポリゴンを押し出します...
POV(見解) ¶
ノードがHoudiniで内部的に処理していることについてはドキュメントにしないようにしてください。代わりに、シーン内で ユーザが実行できる事 を記述してください。