0
0

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でファスナーを作ってみた

Posted at

はじめに

この記事は 「PY - PARTY TECH STUDIO Advent Calendar 2025」の17日目の記事です。

CGをやっていると、日常にあるものを見て
『これ、CGでどうやって作ろう…』
と考えてしまうのは、あるあるだと思います。

ということで今回は、
Houdiniでファスナーをプロシージャルに作ってみた という内容になります。

今回作ったもの

今回作ったものは、Houdiniでプロシージャルに作成したファスナーです。

  • レールに沿って歯が並ぶ構造
  • カーブ形状にも追従できる
  • パラメータ操作で「開く / 閉じる」が可能

リアルさを極限まで追求するというよりは、 仕組みとして気持ちのいいファスナーを目指しました。
zipper.gif

日常にあるものを分解してみる

日常にあるものをCGで作ろうとすると、 まず「よく見る」ことから始まります。
ファスナーを改めて観察してみます。

スライダー
ファスナーを開閉するときに、エレメントをかみ合わせる役目で、取っ手の部分。

エレメント
スライダーを動かしてかみ合わせる部分。

またファスナーの機能も、財布や鞄のファスナーのように両端が完全に離れないもの、スライダーが2つついているものなどたくさんあります。今回は前者の止製品と呼ばれるタイプのファスナーを作りました。

Houdiniでの作り方(ざっくり)

ノードネットワークはこのようになっております。
00.png

基本的な流れとしては、
ベースとなるカーブで開閉の具合や形状をコントロールし、それに対して各オブジェクトを沿わせる形になっています。

ベース部分

ベースとなるカーブをlineやcurveノード等で用意します。
curveuを利用して開閉の状態のためのアトリビュートを作ります。
そのアトリビュートをpscaleアトリビュートに利用することで、
その後に2点から構成されるlineをコピーし、そのlineのそれぞれの点をファスナーの左右部分として扱えるようにします。

01.png

02.png

エレメント部分

エレメントは交互にかみ合うような配置にする必要があります。
そのため、どちらか一方のlineの点を接線方向にずらす処理をしています。
ずらす処理の後、各pointにエレメントのオブジェクトをコピーしています。

03.png

スライダー部分

冒頭で作成したlineに沿うように、curveuの値を利用した点を用意し、その点にオブジェクトをコピーします。

04.png

あとはテープ部分をsweepノード等を利用して作成し、mergeして完成です!

05.png

まとめ

日常にあるものをCGで再現してみると、 普段は意識しない構造や名称を知るきっかけになったりと楽しいですね。
Advent Calendarイベントの自分の中での締めとして、 ファスナーを"締め"る制作ができてよかったです。

今年もいろいろ作りましたが、 来年もまた『これ、CGで作れそうだな』と思える日常を大事にしていきたいと思います。
ここまで読んでいただき、ありがとうございました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?