数年ぶりにMayaのパーティクルを触って、ほとんど記憶がなくなっていることに気が付きました。昔普通にやっていたことがどうやるんだっけ状態でした。ということで思い出したやつをメモっておきます。
パーティクルのインスタンスモデルをある1つの軸だけ回転させる
1. ParticleShape のアトリビュートエディタで RotationXyzPP (名前は適当)という vector 配列のPer Particleカスタムアトリビュート追加
2. Particles → Instancer のダイアログで Rotation に RotationXyzPP アトリビュート指定
3. Runtime Expression で下記のようにすると x 軸だけ回転できる
vector $rot = particleShape1.RotationXyzPP; particleShape1.RotationXyzPP = <<$rot.x + 10.0, 0.00, 0.0>>;
Instancer に複数のモデルを登録して表示する
1. ParticleShape のアトリビュートエディタで Index (名前は適当)という float 配列のPer Particleカスタムアトリビュート追加
2. Creation Expression で下記のように書いてパーティクル生成時にIndexがモデル数の中で適当に割り振られるようにする
Index = id % 4;
3. インスタンス化するモデルをすべて選んで、Particle → Instancer のダイアログ開く
4. Object ID のところに先ほど作った Index を指定してInstancerを作るとパーティクルそれぞれに複数のモデルが割り当てられる