<< TOP



モデリング (サブディビジョンサーフェイス) Modeling;SubDivisionSurface
自転車 ; BROMPTON M3R

    キャラクター・メイキング編について
       ここで紹介するモデリング編はキャラクター編同様、様々な機能を分け隔てせず、
      ”モデリングに必要だったもの” としてまとめて紹介するかたちにします。
      ですので、シェーディングからリグ、リギングなど、様々な機能の話しが登場すると思います。
       また、キャラクター編と時を同じくして紹介していくので、話がそれ平行することも予想されます。

       そんな ←このキャラクターを中心とした、”とりとめもない”事例ですが、どうぞ参考にして頂ければと思います。
       このキャラクターのファンになってくれたら もっとうれしい ^_^ ; です。  


 プロローグ ;Prologue



 ウンチク・前準備 ;Brompton?
       I made a research to know more about the Bicycle , the Brand, the Use,the Mechanism, to be more helpful and get will for Modeling.

      今回も少し、作成前にバッググラウンド的な情報や資料を色々用意したりするところから始めたいと思います。

        Brompton Bicycle Ltd http://www.brompton.co.uk/
        Kew Bridge DC Lionel Road South Brentford Middlesex TW8 9QR
        <地図検索で上記アドレスを入れるとちゃんと場所がわかるよ、ロンドンの東約10Kmに2棟あります>

     このフォールディングバイク、イギリス人アンドリュー・リッチー氏が考案した実用に耐えうる色々な仕掛けがいっぱい施された自転車で、
    それが個性的であり、ブランドにもなっています。手作り感一杯のこの自転車、英国人こだわり文化的なものを強く感じます。
     似たような事は、”自動車”にも言えますね。
    バックヤード・ビルダーというようなガレージで作った個性的な製品が大きくなって会社になったという背景が一緒です。

     ご当地では 誇らしくも "The Brompton" と 定冠詞をつけて呼ばれているそうです。
    (1995年、政府から「THE QUEENS AWARD for Exports 」受賞)
    ”通勤用の自転車” としての認知度も高く、街中の移動手段として定着しているのはもちろん、
    電車の中に持ち込んでも置く場所がちゃんと確保されていたり、
    その際にいちいち袋に入れなくでもOKだったり、サイクルカフェがたくさんあったり・・・・、
    そんな文化的な違いを見せ付けられそうな分野ですね。
    ブロンプトン世界選手権というものもあるそうですが、それにも"こだわり文化"を感じられ、
    ヘルメットとスーツのジャケットとネクタイが義務付けられているというイベント?なのです。世界中の愛好家の???・・・・。

     さて、先ほどの記述した”仕掛け”面をから見てもかなり面白そうな自転車になっています。
    最初からかなり重たいものを乗せることを考えてあったり、
    折り畳み3段階があっという間に出来たり(もっとも早く折り畳める方法を見せっこしてたり)
    折り畳んだ格好のままでも転がったり、内装3段シフトレバーに内装3段変速ハブを持ってたり、ZEFAL携帯用ポンプがついてたり、
    そして何より いっぱい部品交換して遊べるようになってたり・・・ (椅子やハンドル、色、など最初から選べるもの、そして多くの適応部品達・・・)
    ・・・
     そんな、個性的で、実用的な折り畳み自転車、モデりングをしていくとなると、どんな造形にしていこうか ワクワクしてきます・・・。



       I looked for more than 300 Pictures , Especially for more details about the local parts, because of it so like a handmade Bicycle,
      the design was different Right to Left.

     モデリングに際しては、今回もあんまり取材できていないので、とにかく資料集めしてみました。
    あんまりというのは、実は通勤に使っている方が何人も居るようで、
    偶然でくわした際にはしばしジロジロさせて頂きました。(変に思わないでください・・・・っと)
     そうして参考にした画像も約300枚以上でした。
    あまりに手作り的感一杯の製品なんで、もう部品一個ずつの情報が欲しくて、世界中の部品販売サイトを見まくりました。
     (だって、ペダルも泥除け支えもコロコロの取り付け方も・・左右違うし・・・)

     あと、どこまでも細かく作り込むことか なんですが、まー程ほどにというところは当然あります。(しかもどれがオリジナルなんだかもう解りませんでした・)
    なので、突っ込まないでくださいね。


自転車を作る ;Modeling a Bicycle
 サブディビジョン・サーフェイス・モデリングのお勧め ;Why Modeling with SubdivisionSurface
       Put your target image to RotoScope and Scale the model to fit with your character.

    まずは、本当は三面図が用意されていると良いのですが、・・・写真からとなりました。
    最初に、もうキャラとの大きさなどを考えておきます。(実は、後でデフォルメが必要です。)
     ロトスコープに下書きの絵を表示して ポリゴン化して、スケール調整します。
        <あ、キャラね♪、笑美さんの遠い親戚で、"美香さん"って言います。友達設定で・・ね ちはっ!!>



       This model is not a Nurbs, it is a polygon. Increasing subdivision is just pressing [+] key twice.…that's all.

     見ての通り、今回も ポリゴンのサブディビジョン・サーフェイス (+キーを2回押す) でモデリングしていきます。
    元のポリゴンがどのくらい細かければ良いのかは、下図の円であるタイヤを見ればお分かりでしょう。
    意外にもラフでいけますが、エッジが欲しいところには十分割りが必要です。



       The reason using SubdivisionSurface Modeling, is not only easy to get really smooth looking good model,
      but also you can use usual VertexColor,TextureUV,ToonRendering Sets , and …

     サブディビジョン・サーフェイスモデリングは、モデリングが楽なのに綺麗な形状を作れる点はもちろんですが、
    下図のような通常のポリゴンに設定するような頂点色(RGBとAも) ・テキスチャーUV・Toonレンダリングの設定も適応出来て・・・



       if you need a high polygon model (like game use or converting), you just can use the tool Create>Poly.Mesh>Subdivision to get it.
      All data can be transfered , plus you can choose subdivison level to get more polygons.

     更にそれを 修正>ポリゴンメッシュ>サブディビジョン で通常のポリゴンにその属性を付加したまま出来ます。
    ポリゴンの分割レベルも選択できます。
     もはや、レンダリングの為の高ポリゴンモデルなんて言葉は古いのです。
    最初からサブディブで作成しておいて、ゲームや他への変換データとして
    素のポリゴンモデルが必要になったら通常のポリゴンに変換すれば良いだけです。
    または、最初からポリゴン数の多いモデルが欲しい場合でも、サブディブから作成していけば良いということです。



       While SubdivisionSurface is useful,there are some things to remind. When you Subdiv a Primitive Sphere ,it gets the hight longer one.
      The answer to this might be Subdiv a PrimCube , because it subdivies the edges to it's length.

     ただし、サブディビジョンサーフェースには少しクセがあるので、それには慣れが必要です。
    分割は頂点間の距離に応じてかかる為、例えばプリミティブの球から綺麗な球体を得ようとサブディブをかけると、縦長になります。
    そこで、プリミティブの立方体にサブディブをかけると、一辺の距離が同じなので、球になるのです。
    ついでの情報として、この立方体から作成した球は全部が4頂点ポリゴンで出来ていますので、極が無い球です。
    極の無い球は、実はモデリングに大変都合か良い時があります。



       Right after using Create>Poly.Mesh>Subdivision, the polygon has Relations, so use FreezeM to clear it.

     あと、修正>ポリゴンメッシュ>サブディビジョン は、その直後には 関連性の付いたモデルになっていますので
    必ず フリーズM で関連をクリアしておいてください。(変形には便利です)



       So Next is modeling a M3R from Scratch.

     そんな事った~解ってら~だったら、次に行きましょう。 スクラッチからの自転車モデリング、はじまりです。



  早くて綺麗なモデリング術;How to get Fast&Good looking Modeling
       One of the Fast&Easy&GoodModeling way is to place some Basic shape Polygons, anywhere.
      And start your Subdivison Modeling from those Basic Shapes.
      When you get to it, you can imagine which one to start with and how to get to the target shape.
      Also,keep the Geometry Property too ,in use of later modeling.

     サブディブを使ったモデリングは、コツを覚えると とても素早く目的の形状を得られ、しかも綺麗なモデリングになります。
    下図にあわせて、さくさく楽しくモデリングしていけます。(食べる時間も忘れるくらいに・・・・)
    素早くモデリングしていく1つの手段として、プレミティブから作った良く使う 基本形のポリゴン を任意な所にいつも置いておくとギガ便利です。(だれの言葉?)
    ちょうど 良く使う絵の具の色は 自分の好みの場所にあらかじめ出しておいて絵を描くのと同じ感覚です。
    四角のポリ板、円のポリ板、円柱、立方体 などがあれば十分です。これは、いつも置いておいて、その複製から作ります。
    これらのポリゴンに付いている Geometry というプロパティーも消さないで取っておくと、また便利に使えます。
    慣れて来ると、その目的とする形状がどのヤツからどう加工すれば 早くて綺麗に作れるか だんだん  @-@ 見えて来ます。 



       Modeling form those Basic Shape Polygon is like this. ↓
      Only using DuplicateEdge ( Ctrl + d ) ,you get the target shape in few second !!

     例えば、このナットは円盤から作ります。↓
    最初のスケールを合わせ、エッジを選択(i キー後 Ctrl + マウスでピック)して、エッジの複製 (Ctrl + d キー) を繰り返しただけです。
    ほんの数秒です。
    エッジをたたせたい部分は、複製の間隔が超狭いだけです。2回同じような場所でエッジの複製をします。



       Other best tools are SubdivisionEdge(Shift + d) and Poly.Mesh > Bevel Components which can add edges many & far as you like.
      You can see how fast this modeling was.

     あと、良く使うツールは エッジの分割(Shift + d ) と そのエッジを増やしてくれる ポリゴンメッシュ>コンポーネントのベベル です。
    これだけで モデリングが完成します。
    この結果を見れば、最初の基本形状から あっという間に!! 完成モデルに到達したことがが理解できるでしょう。



       First model the Main Frame and Tyres that shows the full size of it, than go to small parts.
      Most difficult parts, is something not symmetric, bent, and not standing straight, just like this Front Brake caliper.

     全体の形状を先に作って大きさにめぼしを付け、その後細かい所に移ります。
    モデリングに時間がかかるのは、この前輪のフレーキ・キャリパーみたいな左右対称でもなく丸くて曲がっていて斜めに付いているような部品です。



       Considering this is Graphics, not Computer Aided Design, the "Looks" real is not faithfulness to it's Design figure,
      it's about how good Deformation is. Thinking this way, you don't have to really spend so much polygons and don't have to make inside of it.
      Good Deformation is like the place where the MainFrame has joint together Welding ,or edges having ring like round shapes.

     ここではCGであり、CADとは違う訳ですので、見た目に気持ち良いモデリングとは、設計図に忠実であることよりも
    デフォルメがうまい、という方が正しいように思います。
    それっぽければ良いので、中身まで作り込む必要はありません。
    そう気分で割り切れると、ポリゴン数もぐっとおさえても特徴をうまく捉えたモデリングが出来てきます。
    特徴をうまく捉えるとは、例えばメインフレームパイプの接続が単にぶっ刺ささっていてつながっているのではなく、
    なんとなく溶接でくっ付けたような盛り上がり部分があるとか、パイプ端のふちどりが盛り上がって丸くしてあるとか、
    そんな所を再現してあげると、グッとらしさが表現出来ます。



       The pedals has different parts, right to left.
      You will recognize how simple polygons made that pedal.

     ペダルもご覧の通り、左右違うものです。サブディブを解くと、意外にも簡単なポリゴンで出来ていることに気が付くはずです。
       (このようなパーツは幾つもの種類があり、年代やモデルやユーザーの好みによって変わってしまうので、どれが標準なんだか・・・。)



       Sometimes you find some funny parts afterwards.
      The Easy Wheels - Rollers are not set symmetry in some models. Finding this to be a symbolic design sure to model.

     時には ふと、後から面白い事実を知り、それをデザインに生かすこともあります。
    折り畳んだ時に使用するこの小さい コロコロ は左右対称に付いてないモデルがあります。左側は内に付いてたりします。
    そんな面白い形に気が付いたら即採用です。
    ゴム紐もカープに沿ってポリゴンの押し出しで作ってやると、いきなりリアルっぽいです。



       Rear wheel has different spoke pattern than front. And has a Handy Pump.

     後輪のスポークもまた変な組み合わせパターンになっています。前と後に向かうスポークが左右からイレコに入ってきます。
    強度って増すのでしょうか?良く見ると地面に対して垂直となるスポークが2本ずつになるようなパターンになっています。
    と 空気入れが付いてます。



       Saddle And Handle are symmetric, and attaching Gear Levers .

     で、サドルとハンドルになります。ここはいくらなんでも左右対称でしょう。ギヤチェンジも不思議な形・・



       Lest things are, a Bell, 1 cable for gear, 2 cables for brakes, 1 cable for Front Light.

     ベルを付け、ギアチェンジのケーブル1本、ブレーキケーブル2本と、前に行く電機コードが1本(後輪にダイナモ[(発電機)]がある)を設置します。





  ケーブルのアニメーション対応 ;Setting cables to move
       These cables moves when rotatiing handle, and the setup is like this.
      Curves to make the Cables Polygon using "extrude along the curve", is still kept. (Has FeezeM'ed)
      This time ,use the curve to move cables. Curves has some PointClusters that moves itself,
      and these PointClusters has Constraint to Position data, which is moved when Handle is rotating.
      Next, some Null are PathConstrain to the curve, and the CablePolygone are Envelopes to these Null.

     ケーブル類はハンドルの回転と共に動く必要があるので、その仕組みを構築しておきます。
    この方法は以前にも掲載しています、ギターのストラップと同じです。
     ケーブルのポリゴンを作る時に使ったカーブをそのまま利用します。(その時に作成される関連性は FreezeM で消してあります)
    で、動かしたい場所の頂点に 頂点クラスターを作成します。(頂点を選択状態にして、Alt+右マウスボタン>センターでクラスターの作成)
    これらの頂点クラスターは、カーブ自身を動かします。表示をCubeにして見易くしています。
    で、この頂点クラスターは 位置コンストレイントが設定されていて、ハンドルを回転すると動くようになってます。
    ちなみに、ハンドルを回転させると、当然前輪も左右に回転するので、そこに接続している電機ケーブルも動きます。
    で、このカープにパスコンストレイントしている幾つかのNullを用意します。このNullはエンベロープ用の骨に相当します。
    位置決めは、パス%アニメーションの値、例えばカーブの真ん中なら50%の値にしておけば、そこに動かないで位置します。
    で、この複数のNullを骨とするエンベロープをケーブルのポリゴンに設定します。
     この仕組み、覚えておくと、アニメーションに便利ですよ。



       With these settings, some places are not to be moved (where the cables are inside the stopper rig),
      but most of them moves smoothly according to Handle rotation.

     この設定をして、ハンドルを回転させると、どうでしょう。
    金具が合ってその中にケーブルがある所は動かず、またハンドルの軸にはねじり込まないで、回転に応じて綺麗に動きます。



       Knowtis the chain are all in position? These are placed using ICE, and it moves around when Pedals are Rotated.
     
    あ、気が付きました? チェーンがちゃんと位置していることを。ここはICEなんですね。ちゃんと動きます。



  イラストのような絵 ;Toon Rendering to get illustratic image
       To mach the image of this bicycle with the charactor, we are also setting the toon shader to the M3R.
      Vertex Color Alpha data is used to be the weight between texture and color of toon.

     キャラクターに合うようにするため、イラストのような表現を得られるToonShaderの設定をしています。
    テキスチャーと色との合成値(Weight値)と使用するため、頂点色のアルファー値を設定しています。



      Incidence node makes the hilight from light , but alpha weight also controls the basic color.

     Incidence を利用して光源からの光方向は反映されつつ、それとは別に色調整が出来る仕組みになっています。



      Although Toon Shader is not like PhotoRealisticRendering, some parts are using textures to get more rich details.
    Like reflection of Pedal , tyre patterns.

     Toon レンダリングであっても、ディテールが欲しいところはテキスチャーで補います。
    タイヤのトレッドやペダルの反射板など、それがあるだけでぐっとそれらしさが増します。



      Result of toon rendering.

    レンダリング結果です。





 ICE でチェーン設定;Using ICE to place&move the chains
       Thinking of making Chains to move is quite a thing. Script? Expression? or a Rig? Why not ICE!!
      ICE is very useful and has good performance in animation , while it requires some knowledge and idea.
      Below is a really basic thinking of how ICE kinematics is set, to rotate a polygon object.

     さて、自転車のチェーンをちゃんと動かそうと思った時、どうやって実現しようと考えますか? 
    スクリプト?エクスプレッション?それとも何かのRig?? ICEなんてどうでしょうか!!
    ICEは大変便利なツールであり、マルチスレッド(複数CUPコア)で計算されるので、アニメーションをとても高速に処理してくれます。
    ただし、ICEを構築する知識とそれをうまく使えるようにするちょっとした思い付きが必要です。
    下図は最も基本的な ICE による Kinematics で、入力した値で ポリゴンオブジェクトが回転する という設定です。



       If you persist on expression or don't know ICE, you may think this way.
      it says "My Path % is ,get % + an offset from control local rotation x " .
      This will work, and is quite simple. How's ICE ??

      どうしてもエクスプレッションに固執したい、あるいはICEを知らないとなると、以下のような パス%アニメーション設定を思い浮かべるでしょうか?
     これでも動作しますし、至って簡単です。 では ICE ではどうでしょうヵ?



       Well, below is the same math as expression above, rebuild in ICE.
      And the performance is worst. From this, ICE is like script or Program, but you need a good breakthrough.
      But once you recognize it, it really gets fast.

      はい、これが上記と同じスクリプトをICEノードで再現させて動かせている例です。
    つまり、ICEで式をそっくりそのまま再現することは可能ですが、結果は・・・パフォーマンスが最悪です。(こんなん駄目です、真似しないように!!)
    これから解る通り、ICEとは スクリプトのようであり、プログラムのようでもあるのですが、
    単に置き換えるだけじゃ良いパフォーマンスを得られないのです。
    そこにはちょっと違う観点が必要です。そこから、およっ!! と 目からウロコ なんです。



       OK, So this is the Nova. Loop Value makes only 0 to 1 Value which is U Value to curve that gives a point position to be the cube's global transformation.
      Great, this is so fast!! Once, you have known, otherway is just once upon a time・・.

      はい、では、これが その 発想の転換です!!
    値をどんどん増やしても、0~1の値になってループし、その値がカーブのU値となるので、その位置を取って来て 立方体のグローバルの位置とする です。
    この処理は非常に軽いです。どうでしょう、知ってしまったあなたは、もう過去に戻れませんよ。



       Another important knowledge in ICE is , use Index of Select in Array to put polygon object to the target point.
      This way too, is very fast way to set objects. Now you know the Array of points will be U curve points.

      もう1つ、ICEで重要なのは、配列(Array)です。下図の左側は配列(位置データ)を作ってるだけです。
    ここでの例でいう位置のデータとは、上の図でカーブのU値から得られる各ポイントだと考え付きます。
    重要なところは、得られた配列から番号を指定(0~3 = IndexID)することによって (Select in Array ) 、
    その番号に割り振られた位置データでポリゴンオブジェクトを位置することができる、という点です。
    これが ICEにおける 高速化への道です。



       Next thing to think is, get U Value from the curve which is divided in chains numbers (Which was 126 this time)
      and also assign the pointposition to IndexID.
      Using this indexID, you are going to put the target polygon object.
      Now, how to get U values from somewhat length of a curve, is done in former page (Sorry in Japanese)

        For ICE to begin, use Emit from Position with a vertically straight curve that has same 126 points,
      you'll get a nice 126 Point position data,

      次の考察は、先にカーブの位置は Uの値、つまり 0 から 1 までの値で等間隔で位置する値を用意し、且つ IndexID 番号を割り当て、
    今度はそのID値で 目的のオブジェクトをカーブ上に配置する というのが全体の計画図になります。
    では、ある特定の長さのカーブ上に等間隔に配置した頂点を用意して、
    そのカーブ全体を 1 という単位にして、途中の頂点には 0 ~ 1 の値になるようにします。
     実は、これは、もうやってますね、 おまけに uVal として取得してるではないですか、これです。
      は・じ・め・て・の  ICE Kinematics その2 3)  カーブを使った移動/変形 カーブに沿ったポリゴン変形 です。

      では、ICEでは 位置データとして まずは パーティクルを焚きます。 
    チェーンの数 (ここでは 126個だった) だけ頂点の存在するカーブを縦に用意し、
    Emit from Position でパーティクルを発生させ、その発生地点を カーブの頂点(Get Pointposition) とすれば 
    綺麗な126個の位置データが準備出来ました。



       More further information will be ICE, not Modeling.
      But, what to do is, put the 126 point data along to the curve for chain position curve,
      than put the actual chain polygon to that position with translation and rotation, Here's the result picture.
       I might write more in the ICE page.

      ということて、ここから先の解説はICEに転じてしまいそうですね。
    内容としては、上記で出来た 126個の位置をカーブに沿わせ、そして その位置に 本番チェーンのポリゴンモデルを位置し、
    移動と回転に合わせて動くように設定する ということです。
    詳しくは ICE ページに書くか、もしくは・・・ です。
     出来たICEでチェーンを設置した絵がこんな感じです。





       Finished in Toon Rendering.

     出来た絵がこんな感じです。




       Made a movie with a Japanese ANIME style character. ( hope you like it)

     動画にしてみました、キャラと合わせてどうぞ。




     という訳で、次回は 3D化?
      乞う、ご期待!!