ラベル vex の投稿を表示しています。 すべての投稿を表示
ラベル vex の投稿を表示しています。 すべての投稿を表示

2025-04-05

VEX no include

2025-04-19: 追記: #ifndef 等を(偽) math.h で使う方法 (#include guard) は他に悪影響を与えることが判明、削除しました。

例えば、VEX 用の foo.h というファイルを作り、この中に

float thrice (float a) {return a * 3;} /* 入力の3倍を返す */
という関数を作ったとする。この関数を Attribute Wrangle で使うには
  1. foo.h を ~/houdini20.5/vex/include/ に格納し、
  2. Attribute Wrangle では、
    #include "foo.h"
      
    @val = thrice (100.0);
    などとするが、
ここでは、自分で書いた関数をあたかもビルトイン関数のように、#include 無しで使う方法を紹介する。

2021-04-19

Quaternion

Houdini で Quaternion による回転操作のお助け
最終更新: 2025-05-09

2020-03-24

vexpression-backticks

Height Field を作成し、その出力に HeightField Wrangle を追加。VEXpression に

@mask = 1;     // A
とすれば、マスク全体が 1 に設定される。

VEXpression を ` (バックティック) を使って以下のように変更しても問題なく評価される。

@`"mask"` = 1;    // C

また chs で layername パラメータを作成、そのパラメータを mask と定義し、VEXpression を 以下のようにしても問題なく評価される。

@`chs("layername")` = 1;    // D

しかし以下のエクスプレッションでは、構文は正しくとも、マスクは期待通りに設定されない。

string layername = "mask";
@`layername` = 1;    // B

B が想定通りに評価されない理由を以下に説明する。

2020-01-07

64bit processing


ここでは、このマスタークラス (英語字幕付き)で紹介されている Houdini でのジオメトリの64ビット処理について日本語で補足説明する。