4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Houdini ApprenticeAdvent Calendar 2024

Day 23

物理法則を無視したビーダマンのワンシーンをHoudiniで作ってみた【メニーターゲット編】

Last updated at Posted at 2024-12-23

これはHoudini Advent Calender 2024 23日目の記事です。

はじめに

お目汚し失礼いたします。
昨年のアドベントカレンダーに参加した時の記事、
物理法則を無視したビーダマンのワンシーンをHoudiniで作ってみた
の別シーンを作ってみたので記録してこうと思います。
Houdini初心者の域を全く脱しておれませんので、間違いや非効率な点等ありましたらご指摘頂けますと大変ありがたいです。

漫画紹介

image.png
爆球連発!!スーパービーダマン5巻

今回も爆球連発スーパービーダマンのワンシーンを再現しようと思います。
この漫画(というかコロコロコミック全般?)は表現力がとても豊かで、物理法則を無視したような誇張表現に当時子供心を躍らせた記憶があるので、それをHoudiniで再現してみようという試みです。
この漫画のこの巻でやっていることはビーダマンというおもちゃでビー玉を撃ちだし、ターゲットを多く打ち抜いたチームが勝つというゲームです。
ターゲットというのはビーダマンシルエットの板のようなもので、ビー玉が当たれば得点となります。

image.png

タイトルにあるメニーターゲットというのは下記添付画像のようにたくさん並んでいるもので、1つを除いてダミー(ハリボテ)です。
image.png
今回はこのハリボテを、当てずっぽうや数撃ちゃ当たるの精神ではなく、パワーショット一発でハリボテを全て吹っ飛ばした主人公のパワフルショットを再現してみようと思います。
image.png

結果

Houdini 20.5.278使用
Karmaにてレンダリング

やったこと

ハリボテのモデリング

まずはハリボテをモデリングします。
シルエットの押し出しと、フレームに太ささえあればいいかなと思います。
gridやcircleを並べていき、symmetrizeし、edgegroup_to_curveでアウトラインを抽出。
あとは普通にpolybevelとpolyfillです。
image.pngimage.png

テクスチャの作成

ただの縞模様のテクスチャですが、せっかくなのでCopernicusを使ってみます。
SDFshapeとtransform,add,blend等を組み合わせて縞模様を作りました。
Borderとか、Substance Designerのstripesノードみたいなのがあるといいなと思ったのですが見つけられず。
tilepatternを上手く使えれば良かったんでしょうが、とりあえず使ってみたかっただけなのでヨシ。
image.png

ハリボテの配置

前のハリボテと被らないように、斜めに配置していきます。
色々なやり方があると思うのですが、簡単だったのでaddpointで2点用意して、それをcopyandtransformで複製しました。絶対もっと賢いやり方あるんですけど…
その後wrangleで1点だけランダムに削除し、copytopointで、ハリボテ配置しました。
そしてなんとなく原作に忠実な位置に本物のターゲットがくるようにseedをいじります。
書くまでもないのですが一応。

int randompt = int(rand(ch("seed")) * @numpt);
if (@ptnum == randompt) {
    removepoint(geoself(), @ptnum);
}

このwrangleノードを参照コピーし、VEXをユニークにし二行目の一部だけ書き換えます。
(@ptnum == randompt)
==が
(@ptnum != randompt)
!=になるだけ。
同じシード値で、一つだけVellumを設定してない本物のターゲットを配置しました。

image.png

Vellumの設定

Vellumの設定が肝になりそうなシーンですが、実の事を言いますとあまり自分で設定していません。
SideFXの粉砕と引裂
CGWORLDに連載されていた秋元先生のサンプルシーン
Houdini Cook Book
Vol. 100 Vellum Peeling

を参照したくらいです。
そのため、こちらの剥がれの表現はGroupCreateノードの範囲に入ることでactiveアトリビュートに数値を格納して吹き飛ばしに利用しているような使い方で実現しています。
image.png

振り返り

以上、ビーダマンのワンシーンでした。
まだまだ改善の余地ありますし、ただの作業記録なので誰かのナレッジにはあまりならなそうな点が書いている時点で既に申し訳ないです…もっと放射状に飛ばすべき。
とはいえアドカレのようなイベントの参加を決めてしまうと、無理にでもネタを捻りださないといけないのが良い刺激になり、ありがたいです。
次もあればこのシリーズで、シーンファイルが配布できるくらいには工夫したものを整理して出していきたいと思います。
ご覧いただきありがとうございました。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?