第五回
本日のtoeファイル ← ダウンロードしておいてください
SOP
SOP (Surface OPerator)
では、3Dのモデルデータを扱うことができます。
SOPは今までやってきたオペレーターの中でも一番おもしろくて一番奥の深い部分です。
/project1/sop_samples
の中に、今まで僕が実際に作ってきたシーンがあります。
今の状態だと何が何やら… という感じかもしれませんが、今日から3-4回の授業の内容で何をやっているか理解できるようになればと思っています
Geometry Viewer と オペレーターフラグ
/project1/sop_basic
を参照
SOPを扱う時は Geometry Viewer
を表示しておくと、シーンの内容がプレビューできてとても便利です。
Geometry Viewerを表示するには、ペインを分割して、ペインのタイプを変更する、という手順をとります
- ネットワークエディタの右上の、アウトラインの下矢印ボタンをクリックするとドロップダウンが出てくるので、そこで
Split Left/Right
を選択します - 新しくできたネットワークビューの左上の、下向きの三角ボタンをクリックするとドロップダウンが出てくるので、そこで
Geometry Viewer
を選択します
↑ の手順で、Geometry Viewerとネットワークエディタが左右に並んで表示されたと思います。
ですが、Geometry Viewerを表示しただけだと、ビューワー内には何も表示されません。表示させるには各オペレーターの Display
フラグを設定します
Display
フラグは、SOPオペレーターの右下にある青い丸のボタンをクリックすることで設定できます。
フラグをONにするとSOPの内容が Geometry Viewer に表示されます。また、複数のSOPオペレーターをONにすることもできます。
Geometry Viewerでの操作
- マウス右クリック: メニューの表示
- マウス左ドラッグ: 回転
- マウス中ドラッグ: ズーム
- マウス右ドラッグ: 平行移動
- wキー: ワイアフレーム表示の切り替え
- hキー: ビューをデフォルト状態に戻す
右クリックで表示されるメニューにも色々な機能があります
Geometry Viewer と Network Editorのリンク
デフォルトの状態だとネットワークエディタで階層を移動してもGeometry Viewerの内容が更新されないので結構不便です。ビューのリンク
機能を使って、ネットワークエディタと他のペインの階層をリンクさせましょう
いい感じの設定ができたら名前をつけてレイアウトを保存できます。よく使うレイアウトは保存してすぐに切り替えられるようにしておくと便利です
SOPのプリミティブ
SOPには、オペレータ自身で簡単なジオメトリを生成するものがあります。
/project1/sop_primitive
を参照
SOPのタイプ
/project1/sop_type
を参照
SOPのプリミティブによっては、同じ形ではあるけど違う属性(タイプ)に設定できるものがあります
例えば、Sphere SOP
は Primitive Type
にいくつかの設定があります
- Primitive: 球としての属性のみを持つジオメトリを作る (謎。あまり使わない)
- Polygon: 三角形のポリゴンで、分割の数を指定したジオメトリを作る
- Mesh: 四角形のポリゴンで、垂直方向、水平方向に分割したジオメトリを作る
- NURBS, Bezierもあまり使わないので省略
基本的には Polygon
か Mesh
を使います。他のものを選択しているとハマりやすいので注意
また、Circle SOP
には Arc Type
で面を貼られた丸にするか、アウトラインだけの丸にするかを選択するパラメタもあります。
面にするか線にするかの設定は、Primitive SOP
の Face/Hull
> Close U
を Unroll
にすることでも行えますし、そちらのほうが汎用的に使えるのでオススメです
SOPの操作
/project1/sop_effector
を参照
SOPには、組み合わせて使うオペレーターが色々あります
組み合わせのアイデア次第で色々なジオメトリを作ることができます。
詳しくはネットワークをいじりながら説明
実際に使ってみよう
では、SOPを使って簡単なモデルを作ってみましょう (15分)
リファレンス画像 ↓
作例:
できた人は、 /project1/oden
と自分で作ったものを見比べてみてください
宿題
Circle SOP
を使って、Geometry Viewer上で回転させた時におもしろい形 を作ってきてください
/project1/homework_example
にいくつか作例があります