actionScript書きの日記

アラフォーFlashデベロッパのブログ。actionscriptやobjective-cを経て、現在はUnity、Spine、AfterEffectsがメイン。

Houdini学習その3 頂点ごとのアルファの指定

本記事のやり方でもUnityに持っていくと頂点ごとのアルファが反映されないことを確認しました。大変申し訳ありません。現在調査中です。

 

 

 

 

引き続き、「Unity ゲームエフェクト マスターガイド」Chapter6のメッシュ部分。

前項のやり方で立体を作成できたのだが、本のやり方だとどうしてもアルファが設定できずに作例がそれ以上進まなくなった。

本に掲載されているやり方だと

  • 「Curve」ノードで曲線を引く
  • この曲線を円に沿って配置して立体を作成する
  • 曲線のポイントに応じてアルファを指定して立体の上端と下端を透明にする

というやり方になるわけだが、曲線に設定したアルファがどうやっても立体に反映されない。曲線には反映されているのだが、Sweepノードを経由するとアルファが反映されない状態に戻ってしまう。

いろいろ考えたり試したりしたのだが、どうしても解決しなかったので、立体の作り方自体を変えることにした。

  • LineノードでY軸方向に直線を一本引く
  • このLineノードをSweepノードの左端に接続する。この直線に沿って指定した断面が配置されることになる
  • Sweepノードの「Surface Shape」を「Round Tube」に指定する。これでLineノードで引いた直線を軸とした円柱が生成される
  • 同じくSweepノード内の「Apply Scale Along Curve」にチェックを入れ、全体のサイズの変化を設定する。

この処理で立体を生成する形に切り替えた。

f:id:goodbyegirl1974:20200316224525p:plain

f:id:goodbyegirl1974:20200316224537p:plain

「Resampling」ノードの直後の「Convert」ノードがないとUnity上での表示がおかしくなった。こんな些細なことで40分ほど時間を取られてしまう。なんともまあ。