例題1 - 基本形状と集合演算


Polygon Crestは、フリー・オープンソースのポリゴンエディタですが、作者予算不足により、(2014年7月19日現在)いまだにメイン開発環境が2008 MacBook Proでやってます。もしも、1000円程度寄付しても良い、という方がいましたら、以下リンクより寄付をいただけると、大変感謝いたします。

← Vectorシェアレジで1000円寄付。なお、手数料と消費税は別にかかります。

なお、寄付いただいた金額は、開発環境のアップグレード、資料購入、YSFLIGHT.COMの維持、コンテンツ作成に使わせていただきます。よろしくお願いいたします。


ゴール

この例題では、以下のような立体を作ってみる。流れとしては(1)直方体を作る(2)円柱を作る(3)直方体と円柱の集合演算(4)接続部分を丸める、の4ステップ。

とりあえず、まずは直方体から

大体、三次元モデリングと言ったら、最初は直方体を作るとこからはじめる。やっぱりそれが一番簡単だから、まず手っ取り早く作るには、直方体が良いのだと思う。

直方体を作るには、まず「編集」→「作成」→「基本形状」を選ぶ。

直方体指定ができるようになるので、上の線をマウス左ボタンドラッグで、少し下に下げる。

=>

スペースキーを押して確定。

 

立方体ができたら次は円筒形

続いて、円筒形を作る。ただし、この円筒形は、作ってから直方体と集合演算したい。そのためには、別モデルとして作る必要があるから、まず「ファイル」→「新規作成」を選んで新しいモデルを作る

次に、直方体生成のときと同じく「編集」→「作成」→「基本形状」を選ぶ。そして、基本形状ダイアログから"円柱"を選ぶ。

次に"方向切り替え"ボタンで、円柱の向きを(視点を変更していない前提で)縦にする。

=>

このままだと、円柱の直径が直方体の大きさと同じで、丸める余地が無いので、円柱を少し細くする。まず、直方体領域指定ダイアログの「Center」と「Size」ボタンをクリック。次に、Centerに0 1 0、Sizeに6 10 6を指定する。(値の指定は、「Center」と「Size」をハイライトした後で。先に値をしていすると違う意味になってしまうから、そのときは、「Center」と「Size」ボタンをクリックしてから数値を入れなおす。)

「Set」ボタンをクリックすると、円柱の表示が細くなる。

スペースキーを押して確定。

集合演算

直方体と円柱ができた段階で、両方とも別のモデルになっている。これを、つなぎ合わせてひとつのモデルにするのが集合演算。集合演算には、種類があって、ふたつを合わせた立体にしたり、片方からもう片方を引き算したり、両方が重なり合う部分だけを抜き出したりできる。この例では、ふたつを合わせる(和を取る)集合演算を使う。

「集合演算」→「和」を選ぶ。

次に、直方体の稜線の一本をクリック。そして、計算が終わるまで待つ。(このへん並列処理を使って中断できるように書けばいいんだけど、まだそうなってない。)

注意としては、集合演算は、閉じた立体同士の計算であるということ。この例題では、基本形状を作ってそのまま集合演算したから、どちらも閉じた立体だった。ただし、例えば、直方体を作って、そのうちのポリゴン一枚を削除すると、そのモデルは既に閉じていない。そういうモデルの集合演算を実行すると、結果は不定になる。なるべくクラッシュしないように作ったつもりだけど、たまにクラッシュするかも。

なんちゃって丸め機能

最後に、円柱と直方体の間の接続を丸めて滑らかにする。この機能は、なんとなく丸まった形を作るものの、計算は正しくない。

ちなみに、僕の本業のメッシュ生成では、丸まった角(フィレット)が最大の敵のひとつだ。かなりラスボスに近いと言っていい。メッシュ生成の研究を博士論文のテーマとしてもらったその日から、フィレットとの戦いが始まったと言ってもいいぐらい、僕とフィレットとの戦いは長い。いつか銀河系を征服して、フィレットを禁止してやる。だけど、僕が銀河系を征服する日までは、こういったフィレットをうまいこと処理するアルゴリズムを考えるのも仕事のうちだから、そのための例題を作るには、やっぱり丸まったモデルが欲しいんで、この機能も追加した。

円柱と直方体の接続部分の稜線が、太い線で表示されている。これは、「拘束線」という要素で、輪郭線を作ったり、エクストルージョン(日本語でなんて言うんだか忘れた。アメリカ生活も16年にもなると。)の経路を指定したり、いろいろな用途に使うことができる。この例題では、丸める角の指定に使う。

まず、円柱と直方体の間の拘束線を選ぶ。メニューから「選択」→「ピック」→「拘束線」を選ぶ。なお、編集中、何度も拘束線を選んだり選択解除したりするので、Shift+Eで拘束線選択モードに切り替えることができて、Tキーで全選択を解除できる。

次に、円柱と直方体の間の拘束線をクリック。

次に、「編集」→「丸め」→「選択した頂点または拘束線沿い」を選ぶ。

丸めダイアログが開くので「確定」をクリック。

完成。

完成したモデルは、「ファイル」→「保存」または「名前をつけて保存」でファイルに保存できる。