| On this page | 
ポイント上にコピーやインスタンスを作成するとき、Houdiniは各コピー/インスタンス毎にそのポイントから特定のアトリビュートを探します。
Attributes ¶
| 名前 | タイプ | 説明 | 
|---|---|---|
| 
                 | float4 (quaternion) | コピーの方向。 | 
| 
                 | float | 均等なスケール。 | 
| 
                 | float3 | 不均等なスケール。 | 
| 
                 | vector | 法線( | 
| 
                 | vector | コピーのUpベクトル( | 
| 
                 | vector | コピーのVelocity(モーションブラー。 | 
| 
                 | float4 (quaternion) | 回転の追加(上記の | 
| 
                 | vector | コピーの移動。 | 
| 
                 | vector | さらに | 
| 
                 | vector | コピーのローカルピボットポイント。 | 
| 
                 | 3×3 または 4×4 matrix | すべて( | 
| 
                 | string | マテリアルのパス。 ビューポートには対応していません。 | 
| 
                 | string | パラメータ名と値をマッピングしたシリアライズしたPython辞書。 ビューポートには対応していません。 | 
優先順位 ¶
- 
        
        pivotが存在すれば、それをコピー/インスタンスのローカルトランスフォーメーションとして使用します。
- 
        
        transformアトリビュートが存在する:- 
        
        これを3×3または4×4 matrixとして使用して、コピー/インスタンスをトランスフォームします。 
 
- 
        
        
- 
        
        transformアトリビュートが存在しない:- 
        
        orientアトリビュートが存在する:- 
        
        これ使ってコピー/インスタンスの向きを変えます。 
 
- 
        
        
- 
        
        orientアトリビュートが存在しない:- 
        
        +Z軸に Nアトリビュート、+Y軸にupアトリビュートを使ってコピー/インスタンスの向きを変えます。
- 
        
        Nアトリビュートが存在しない時、v(Velocity)を使います。
 
- 
        
        
- 
        
        rotアトリビュートが存在すると、上記の向きを変えた後に、さらに回転を適用します。
- 
        
        pscaleアトリビュートが存在すると、それを使ってコピー/インスタンスのスケールを変更します(scaleアトリビュートがあると、さらにその値で乗算されます)。
- 
        
        scaleアトリビュートが存在すると、それを使ってコピー/インスタンスのスケールを変更します(pscaleアトリビュートがあると、さらにその値で乗算されます)。
 
- 
        
        
- 
        
        transアトリビュートが存在すると、それとPを使ってコピー/インスタンスを移動します。
または、他の方法を以下に載せます:
Key:
X = pivot matrix (translate by -pivot)
O = orient matrix 
S = scale matrix (scale * pscale) 
L = alignment matrix (*) 
R = rot matrix 
T = trans matrix (trans + P) 
M = transform matrix
(*) alignment matrix (L)はN または vとupで定義します。
IF N exists AND up exists and isn't {0,0,0}: 
   L = mlookatup(N,0,up) 
ELSE IF N exists: 
   L = dihedral({0,0,1},N) 
ELSE IF v exists AND up exists and isn't {0,0,0}: 
   L = mlookatup(v,0,up) 
ELSE IF v exists: 
   L = dihedral({0,0,1},v) 
IF transform exists:
   Transform = X*M*T
ELSE IF orient exists:
   Transform = X*S*(O*R)*T
ELSE: 
   Transform = X*S*L*R*Tインスタンス化とモーションブラー ¶
Velocity Blur
シャッターオープン変換は上記の軸合わせと位置に基づいています。シャッタークローズ変換は、シャッターオープン変換とベクトルv/$FPS * shutter_speedを使います。Nとvアトリビュートがあれば、Nは合わせに使われ、vはブラーに使われます。 
Note
vは軸合わせと位置用に構築される変換とは無関係です。必要なものを回転、スケール、歪ませることができますが、v=(0,0,1)では、オブジェクトはZ方向にブラーします。
Transform Blur
Velocity Blurと同じですが、オブジェクトレベルのトランスフォームも考慮されます。
Deformation Blur
軸合わせと位置変換は、シャッターオープンとクローズ両方で構築されます。オブジェクトレベルのトランスフォームも考慮されます。このメソッドが一番的確です。
サンプル ¶
(各フレームの右下の画像は何のアトリビュートもつけていないインスタンスのジオメトリです)
    