見出し画像

Sci-Fi Panel / Corridor - Procedural Modeling Houdini

Hiroto nakayama 中山ひろと
twiter

はじめに

この作品は、Rebelway 'introduction to Houdini FX' で提出した Assignment を基に作りました。 



レンダリング Rendering 

全体 Overview

全体像

各部

Side Panel 
Top
Floor



プロシージャル モデリング  (サイドパネル)procedural modeling (side panel)


Seed 値 (入力)を変更して、異なるパネルが得られる様子 The input seed value change the output panel. 


Example 1
Example 2
Example 3
Example 4
Example 5



モデリングの流れ Overflow of modeling


  1. Grid に対して、ランダムなカーブを二本作る create two random curves match the input grid.


2. Grid を三分割する divide into three sections by the curves

3. 3つのパネル、カーブ、それぞれに対してモデリングをする create each sections

パネル 上 top
パネル 中 middle
パネル 下 botttom
カーブ (パイプ) curves

4, 全体

output



自作 HDA (5つ) I built five HDAs for this modeling

1.Vent generator

入力の Grid に対して、通気口の隙間を作る


Geometry Network
出力1
出力2
Boolean (Subtract) 後



2. Geometry slicer

入力の Geometry を、分割する


Geometry Network
出力1
出力2
出力3



3. Panel corner hole cut

入力の surface geometry に対して、角に穴を空ける


Geometry Network
出力1
出力2
出力3



4. Find a nice pt inside polygon

入力の surface geometry に対して、(およそ)最大半径の内接円の中心点を出力する
かつ、attribute として
 - f@dist = 内接円の直径
 - v@dir = 接点における tangent 
 - v@up = cross(v@dir, v@N)
を渡す. (v@N は、入力の geometry の持つ法線)

find a center point of the circle which has max radius inside the input polygon
And the output point will have some attributes:
 - f@dist = radius of the circle
 - v@dir = tangent vector of the contact point with the circle and the polygon
- v@up = cross(v@dir, normal of the polygon)


Geometry Network
出力1
出力2



5. Tile hexagon

六角形を並べる


Geometry Network
出力1
出力2

以上です。







この記事が気に入ったらサポートをしてみませんか?