2010/03/27

サブディビジョンサーフェイス

このふたつの円柱の違いってわかりますか?
わからないでしょ。わからないように正確に作ってますので・・・。
実は、左は円柱にエッジベベルをかけて丸めたものに、スムージングの処理としてエッジを追加したもの。要するにポリゴンモデリングの基本の基本です。
それに対して右は6角柱にエッジベベルをかけて、エッジを追加したもの。
エッジウエイトは使っていない、普通のSDSです。
メッシュ画像はこんな感じになります。
ついでに12角柱も並べてみました。

SDSは、曲面が多い有機的なオブジェクトのモデリングでは威力を発揮しますが、工業製品などの無機質なオブジェクトではあまり使われないようですね。
理由は数値的に正確ではないからということのようです。
簡単に言うと、丸っこくなってしまうので、正確にモデリングできないと言うことでしょう。
いやいや、やろうと思えばこれらの画像のようにポリゴンと同じ形状をSDSで再現することも可能ですよ。
ちなみにポリゴンのサイズに対して計算をして同じサイズのSDSの形状を作成しているのがミソです。

そんなわけで、私はSDSをホントよく使います。

3 件のコメント:

  1. いつも拝見させて頂いております。
    少しマヌケな質問かも知れませんが、SDSを適用すると頂点の数が少ない物ほど痩せると思うのですが、この例の場合、SDS後のサイズを全て同じにする為に、6角柱・12角柱・多角柱の半径をあらかじめ変えてあるのでしょうか?
    これがミソの部分なのでしょうか?

    返信削除
  2. M130さん、こんにちは。
    一旦、ポリゴンと同じ半径の6角形や12角形の多角形を作成し、スケールで拡大しています。
    同じ拡大率で、どんな半径のサイズでも合います。
    当然、6角形、12角形など面の数によって拡大率は変わります。
    6角形なら四捨五入して123.08%ぐらいでいいんじゃないでしょうか。
    ベベルも同じく実際のベベルの何パーセントでベベルをかけて、さらに何パーセントの位置にエッジを追加してという感じに作成します。
    しいていえば、ミソはこのベベルの合わせ方でしょうか(笑。

    現在いろんなケースで検証している段階なので、ある程度答えが出た時点で公開したいと思います。

    返信削除
  3. ありがとうございます。
    やはり綿密にサイズの調整をしておく必要があるのですね。
    しかし一度真面目に向き合ってコツを掴めばとても良さそうですよね。

    公開も楽しみにしておりますし、自分なりにも探求してみたいと思います。

    返信削除