top of page

簡単なプロシージャル電柱を作ってみよう

  • 執筆者の写真: Alidade
    Alidade
  • 2021年12月1日
  • 読了時間: 3分

investigator:Alidade



今日はHoudini Advent Calendar Apprentice 2021 Day 1stです

クリスマスまであと少しですね。


25手ぐらいで電線が伸び縮みする簡単な電柱を作ってみよう!

ree

全体的なネットワークはこの位で収まる単純な物になります。

ree


最近廃止されそうな事が書かれ始めた

bbox指定方法を今回は使いません。


今回は必要な機序があれば あとは設備を盛っていけば2点の間の距離を伸ばせる所を重視するのみとします。


小物にありがちな事かも知れませんが

ブロッキングの在り方次第で

電柱の高さを変えられたり

電線の数を変えられたりしながら


細い糸状のロープのような物が伸びたり

縮んだりする要望を応える事が出来るのを最優先にし、要所要所の

レイアウトバランスを考えるのには良いモックのような物を完成とします。


では作り始めましょう↓

















circleを一つ作りPolygonにしUniform Scale0.1ぐらいにします。

Divisions程度、後に増やせるので軽くしたい場合は4ぐらいで始めても良いと思います

ree

作ったCircleLinesweepで繋げます 高さは適当で良いので

線を分割する程度にします 面が裏返ってしまう事があるのでreversで繋ぎ

sweepで作られた筒の底辺をLineLengthからcopyTranceformSOPのY軸にペーストします(するとch("../line1/dist")という表示になります)

ree

次にgroupSOPを作りてっぺんのPointgroup指定して固定しておきます

ree


Lineを作り分割数に対して1/6指定をし 電線の部分の中心点をずらしておきます


LineLengthパラメータをcopyOriginにリファレンスを貼り付け その後-でPointsのパラメータを繋げ最後に/6と入力します

ree

copytopointsSOP同士を繋げたらpoint1blastし更にcopyして行く事にします

ree

blast指定でこうすれば短い部分のlinecopytopointする際に

要らない箇所を任意で消せるので

自分が好きな方に中心をずらした際に好きなポイントの位置を消せます

ree

今回の場合は生やすとモデルとして重複する箇所があるので削除するのは2とします




grouprangeで選択しておきたい頂点を作ります pointsとして選択項目を使用し

RangeFilterSelect of 2にします

ree

以下Blastを重ねて行きgroupにしたい頂点を絞って行きます

ree

(この項目は後から削除出来る電線の数を決められる実証ですのでblastSOPは無くても構いません)

ree

好きな頂点の数をgroupに入れられました

ree

wrangleSOPで先ほど決めたGroupの頂点に対し頂点にidを持たせます

@ptnumとはpointナンバーに対して一つずつIDを振って行くぞ という事です

ree

それが終わったら今度はpointを原点にaddします

ree

wrangleSOPと原点にaddしたポイントをcopytopointmergeして行きます

他のLineSOP同士をcopytopointした物同士も全てmergeして表示を集約させると

こんな表示になっているのではないでしょうか

ree


電柱同士の幅を決めるLineを作ります length30程度にしてありますが伸び縮みを優先するので適当な幅で良いです

ree

copytopointを先ほどmergeした物から繋げます すると電柱が増えました

ree


次にgroup00そのものはblastして電線同士を繋げるポイントを抽出します

ree

addSOPのタブをBygroupに指定し

group00にBy AttributeAttributeNameid同士として呼び出します

ree

それをresampleして真ん中に一つのポイントが作れるようにします

ree

grouprangeSOPで本の電線がある場合 中心の頂点達が選択できているでしょうか?

ree

それをTransformY軸を少し落とす形で曲げます

ree

resampleSOPで好きなだけ滑らかにします

ree


polywireSOPで太さをそれっぽくしましょう WireRadius0.02にしました

ree

図のように最後にcopytopointした所とmergeしたら

最後はnullで繋げて目印にしたら完了です。


電柱同士の幅を変えて電線の長さを変えたい時は紫色に着色されたLineSOPのLengthを変えてみて下さい 伸び縮みするだけで楽しみながらオブジェクトバランスが決められます

また触るSOPを変えても電柱さやが変わるので それも面白いですね

ree

以上です お疲れさまでした。

Comments


bottom of page