
ぷらずも
みなさんこんにちは!
ぷらずもです!

エレキベア
こんにちクマ~~

ぷらずも
今回は 当ブログのヘッダー画像をHoudiniで作り直してみた ので、その事例について紹介します。

エレキベア
ほぅ・・・
なんか逆に面倒そうクマがイラレとかじゃないのクマね

ぷらずも
シンプルな画像ではありますが、さくっと作ることが出来ました。
3Dのレンダリングだけじゃなく画像処理もHoudiniの得意分野なので、その辺りも踏まえて紹介しようと思います。

ぷらずも
なお使用したHoudiniのバージョンは以下になっています。
バージョンによっては処理が異なる場合もあるのでご了承ください。
✔ 使用バージョン
- Houdini
- Houdini Indie 21.0.512
旧ヘッダーの問題と最新化

ぷらずも
まずはなぜ作りなおしたのか?を踏まえて旧ヘッダーの状態について記載します。
旧ヘッダーについて

ぷらずも
旧ヘッダーについては、以前p5.jsで遊びつつ作ったアニメーションをそのまま適用し続けていました。

【ブログ改造計画】WordPressのヘッダアニメーションをp5.jsで実装する【WordPress】
2022-05-11

▲p5.jsで作成したアニメーションを適用していた

エレキベア
なつかしいクマね~~

ぷらずも
毎回ランダムに変わる面白い仕組みではあるのですが、これには大きな問題がありました。
それは以下の点です・・・。
✔ p5.jsアニメーションによる問題点
- 処理が重い
- 記事内画像読み込み後に再生されるのでラグがある
- ウィンドウサイズを変えたりしているとたまにバグる

エレキベア
クソみたいなヘッダークマね

ぷらずも
まあ重いことは分かっていたのですが、さすがに自分でも触っていてストレスが半端なかったのでこれを機に作り直してみることにしたわけです。
新たに作り直したヘッダー画像

ぷらずも
そんなわけで新たに作ったヘッダー画像が以下になります。
アニメーション部分はCSSに任せて、無難な画像表示にする ことにしました。

▲シンプルになり表示もスムーズになった
▲作成したヘッダー画像

ぷらずも
画像にするとはいえ ビルっぽい雰囲気と何かしらの技術的な背景は欲しかった ので、Houdiniでの作成にトライしてみることにしたというわけです。

エレキベア
まあ確かに適当な画像にしても面白味が無いクマからねぇ
Houdiniを使用した画像作成

ぷらずも
というわけでHoudiniでどのように作成したかについて紹介します。
まずHoudiniを使用した理由として、以下のような理由がありました。
✔ Houdiniを使用した理由
- バリエーション配置に適していてさくっと作れそう
- 3Dの奥行感を少し出したかった
- Copernicus連携などで面白い表現が出来るのではないかという期待

エレキベア
今回のビル配置の用途には使えそうクマね

ぷらずも
基本的にUnlitなのでCopernicusメインで作ってもよかったのですが、ライティングを入れるのも考えていたためSolarisでレンダリング しています。
全体のノード構成は以下のようになりました。

▲Solarisでレンダリングを行った

▲ビル、床のモデルをレンダリングしている

エレキベア
モデル配置してレンダリングするだけのシンプルな構成クマね

ぷらずも
SOPでモデル配置した後にLOPでライティングして、最後に後処理としてCOPを使用しています。
SOP:ベースモデルの作成・レイアウト
ビルの配置

ぷらずも
まずビル配置について、最終画像は2Dですが実際に 3Dのビルっぽいモデルを配置 しています。

▲実際に3Dのビルっぽいものを配置している

エレキベア
三段階で色付けして配置してるのクマね

ぷらずも
配置処理に関しては、Cube状のモデルを渡すことでランダムに変形して配置する処理 を作って使用しています。
一連の処理はsubnetwork化してパラメータで制御出来るようにしました。

▲ビル(Cube)の形状を作り、配置処理のsubnetworkに渡している

▲配置処理のパラメータ内容

▲配置処理のノード構造

エレキベア
この配置処理が肝になるのクマね

ぷらずも
処理内容はざっくりと以下のようになっています。
-
gridで範囲を作り、その中にscatterでポイントを散布する

-
scale、Pのアトリビュートをランダムに割り振る

-
attribfrompiecesでnameからpieceに分解した後、copytopointsする

-
はみ出た下半分の部分を削除する

-
手前、真ん中、奥でそれぞれ散布する


ぷらずも
これにてビル群の準備が出来ました!

エレキベア
もうほぼ終わったようなものクマね
床の作成

ぷらずも
そして今回は 床のグリッドもモデルとして作成してレンダリング しています。
処理は単純で、gridのEdgeをpolywireでメッシュ化して色を設定しているだけですね。

▲gridから線の部分をpolywireでメッシュ化して色を振る

▲少し縦長に作って奥行き感を出している

エレキベア
正方形じゃなくて縦長にしているのクマね
LOP:Unlitでライティング

ぷらずも
そして次にライティングしますが、これはUnlitマテリアルを設定してレンダリング するだけです。
Solarisにおけるレンダリング手順については、以下の記事にまとめていますので触ったことがない方はご参照ください。

【Houdini21.0】Solaris徹底入門:USD構成を意識した基本的な作業フローについてまとめる
2025-12-31
▲Solarisに関する記事

▲マテリアルをアサインしてカメラを設置する
-
Unlitマテリアルを3種類作成する

-
中身は全て同じでGeomColorを設定するのみ

-
-
MaterialLinkerでアサインする

▲出力された画像

エレキベア
レンダリングもシンプルクマね
COP:画像の後処理

ぷらずも
以上で画像はできましたが、そのままだと横長の画面ではみ出た時にぶつっと切れてしまうので、端にフェード処理を入れてみます。

▲横に長い画面だとぷっつり切れてしまうのでフェードを入れる
▲後処理後

エレキベア
まあタイルに出来なかったらそうするしかないクマね

ぷらずも
こちらはCopernicusを使用して手を加えています。
Alphaチャンネルに対してフェードを加える処理になっています。

▲ノード構造

▲アルファ適用部分をsdfshape(line)を加工して作成

▲元画像のアルファに被せる

エレキベア
非常にシンプルクマね
これで完成クマ〜〜〜〜
おまけ:画像設定とCSSアニメーション

ぷらずも
最後にアニメーション感が無くなるのも寂しかったので、背景にCSSアニメーションを入れてみました。
量にもよると思いますが、アニメーションはCSSがやはり軽いですね。

▲キラキラするようなアニメーションを背景に加えた

ぷらずも
これはAIにさくっと出してもらったものを改造しています。
CSS-in-JSを使用しているのでパラメータ周りも動的に生成してもよかったですが、面倒だったのでspanタグをベタ打ちで作成しています。
興味のある方は見てみてください。

エレキベア
アニメーション実装は面倒クマから、AIはありがたいクマね
おわりに

ぷらずも
というわけで今回はHoudiniを使ったヘッダー画像作成でした!
どうだったかな?

エレキベア
画像がシンプルクマからHoudiniでの処理もシンプルだったクマね
割となんでも出来ちゃうのがHoudiniのいいところクマね

ぷらずも
今回はあまり使わなかったけど、3D空間と連携して画像生成出来るという点もCopernicusの魅力なので、アイデア次第で面白い表現もいろいろ出来そうですね!

ぷらずも
それでは今日はこの辺で!
アデューーー!!

エレキベア
クマ〜〜〜〜
【Houdini21.0】3Dビル群っぽいブログヘッダー画像を作成する 〜完〜









