先日は、

 

 

にてパスとMetasequoiaについて書きました。

 

 3DCGツールは、モデリング後にテクスチャを描いて適応するので、ラスターグラフィックとベクターグラフィックの呂法を使うのですが、ベクターグラフィックは、

 

■ 線

■ 塗り

 

で成立しており、この2つには、

 

■ 線  : ストローク

■ 塗り : フィル

 

と言う名前がついています。Blenderだとこの名称はモデリングではなくグリースペンシルを使った2Dアニメーション製作時の絵を描く時に使用するものになりますが、ストロークは、二点の座標がないと成立しないので、線分の状態を作るために頂点を用意することになります。

 

 ドロー系ツールだと、OSSのInkscapeがありますが、

 

 

 

このツールは、

 

 

のようなUIになっています。シェイプを作ると、

 

 

のように形状をコントロールするポイントが表示され、

 

 

のように加工できるようになっています。ポリゴンと同じ状態は直線になりますが、

 

 

 

のような2津野町店だと。【 / 】【 \ 】 【 ー 】 の3つの状態しか選択できませんが、間に頂点を入れると、

 

 

 

のように曲げることが出来るようになります。これは、多角形の特性をもったためですが、

 

 

 

のような三角形の1角編がなくなった状態が

 

 

 

なので、三角形の頂点の変化と同じような変形が行えるようになっています。その為、中央の頂点を基準に

 

 

のように距離と角度を変更できるのですが、この時の管理方法として、

 

■ X軸方向の移動

■ Y軸方向の移動

 

と言う直線移動で考えることも出来ますが、元の状態を直線として考えた時に

 

■ 中心からの距離

■ 中心を軸とした時の軸回転

 

でも同じ結果を得ることが出来ます。ポリゴンの変形は線分の変化なので、

 

 

のように辺の中に頂点が含まれると、

 

 

のように変形させることが出来ます。この数が、

 

 

に増えた場合、複数の頂点を選択して
 
 
のような移動も出来ますが、
 
 
のように個別に頂点を選択して加工をすることも出来ます。立体形状の場合、
 
 
のようになっていますが、平面に対して高さ方向の推移があるので、この状態だと
 
 

のように元の底辺の形状が決まっていて、その状態から右肩下がりで拡大・縮小をかけると、積層するごとに面積は小さくなりますから、画像のような四角錐台の状態になります。簡素な形状の場合だと、この 【 柱 】 のように底面に対して垂直方向の推移を指定するだけで調整できますが、複雑な形状はCTやMRIで輪切りにした状態で見てみると層ごとに形状の変化が生じています。つまり、頂点の総数は同じなんですが、各層で面の構造が違っているわけです。3DCGでジオメトリの形状を整える場合、平面方向と垂直方向の座標の変化を適応して形を作っていくことになります。

 

 ポスを使う場合、頂点を指定してからドラッグをするとハンドルが伸びるので

 

 

 

のような感じでハンドルw伸ばしながら形状を整えていくことになります。Blenderのパスの用途は結構広く、ロトスコープを行う際にも使用しますが、形状を作る際にも使用します。このハンドルが伸びた状態で形状を作って編集をするモードを選択すると

 

 

のように頂点とハンドルが表示されますが、このハンドルを調整することで

 

 

のように曲線部分の影響の度合いを変更することができます。また、

 

 

のように頂点部分を移動させるとハンドルの影響度合いを含めて曲線の状態が変化します。

 

 Blenderでパスを使う場合も全く同じ使い方になりますが、Blendeのパスの考え方は

 

 

なので、面の形状を決めてから高さ方向の変化を追加するような仕様になっています。

 

 3DCGツールの仕様は共通しているので、Metasequoia LEを使った場合でも

 

 

 

のように表層は見えていますが、通常のポリゴンだと

 

 

のように裏側は透過してしまいます。 また、この状態だと頂点の残軸の変化か長方形の状態の変化しか生じませんから、頂点wの増やす必要があります。頂点を増やすと

 

 

のように中間点の移動で形状の凹凸をつけることが出来ます。Scluptについては、

 

 

のようになっていますが、Metasequoiaでは彫刻がこのモードになっており、拡大すると細かなディテールを追加できるになっています。

 

 

この機能を使うとポリゴン数は増えますが

 

 

のよな状態変化を直感的に追加することが出来ます。形状の変形の場合、Sculpt以外でも頂点の周辺にも影響が出るように加工が出来るので、

 

 

 

のような形状を

 

 

の世に変形させるkとが出来ます。また、ここから彫刻でスカルプトモデリングが行えるので

 

 

のように加工することが出来ます。Blenderのパスは

 

 

 

のような考え方になっていると書きましたが、この考え方は、回転体の生成をする際に面の概念をもたせたものと考えることが出来ます。ポリゴンモデリングにも回転体を作る機能があるので、

 

 

のようにラインを引いて回転体野地区の指定をすると、

 

 

のようになりますが、これは、辺のみで制御されていrので、辺の部分を加工することで

 

 

のように形状を整形することが出来ます。Metasequoia LEでもレンダリングは可能で、

 

 

のようなシーンを

 

 

のように出力することが出来ますが、カメラの概念も用意されているので、

 

 

 

のように広角レンズの表現も行えるようになっています。

 

 3DCGツールの場合、特定の作業に特化したツールもありますが、Blenderのように映像の制作まで行えるものもあります。こうしたあt機能なツールは重くなりがちですが、Blenderは、多機能なのに起動も速く軽快に動作します。

 

 先日は、このようにパスとポリゴンでのモデリングについて書いたのですが、今回は、ベクタグラフィックではなく、ラスターグラフィックの部分について書こうかなと思います。
 
 
 

  3DCGとラスターグラフィック

 

 
 3DCGは、ベクターグラフィックなので、ヒョ児をする際にはレンダリングを行って画像の状態にする必要があります。動画は、病患に指定した枚数分だけ画像を切り替える必要があるのですが、動画ファイルの場合だと、書き出し段階で完結した状態になっていますが、ゲームの場合、シーンのレンダリングを常に行っているので、処理の方法が異なるのですが、3DCGAも3DCGを使用したゲームもレンダリングを行うことで画像を作り、その表示をすることで動きお再現を行っています。
 
 3DCGについては、20世紀末にVRMLが登場したのでWEBブラウザでも3DCGをヒョ持できるようになったのですが、ソリッド表示のオブジェクトのようなのをひょじできるだけなので、現在では使わない技術になっていますが、この後継でシェーダーがしよづえ切るものが登場し、その後、WEB-GLの登場でブラウザ上で3DCGの動くゲームコンテンツや映像のような表現が出来るようになっています。なので、映像のパーティクルのような処理も映像ファイルをバックグラウンドで配置するのではなく、外部のプラグインでかくちょうして コードでそういった制御が出来るようになっています。現在のブラウザだとドレでも動くのですが、Xbox OneシリーズやPlayStation 4辺りでもこうしたコンテンツの表示は可能なので、ブラウザを開いてWEB-GLのコンテンツを確認することが出来ます。
 
 当然、スマートフォンやタブレット端末でも確認できるようになっていますが、HTML5から実装されたキャンバス機能をつかてtその中にコンテンツを表示することで様々な処理が出来るようになっています。
 
 こうしたこt年つを作る際にもオブジェクトを用意する必要がありますから、モデリングを行って形状を作ることになりますが、モデリングの作業では、
 
 
のような感じで形を作るだけですから質感と言う概念がありません。こうした形状に対して質感を適応する際にマテリアルの指定をすることになります。
 
 
 

 

  マテリアルの指定

 

 
 3DCGでモデリングを行うと形状を作ることが出来ますが、完成しているのは形だけなので、物体の質感は全くわかりません。この状態は、彩色をしていない絵と同じで、物体の形は解るもののどういった質感7日が判断できない状態になっています。
 
 物体に光を当てた場合、質感によって結果が変わりますが、こうした物体の材質や色彩の情報を追加するためにマテリアルを割り当てることになります。
 
 マテリアルは物体の表層の状態になるので、
 
  ■ 色彩
  ■ 光沢
  ■ 反射
  ■ 透過
  ■ 発光
 
などの指定を刷る必要があります。現在の3DCGツールでは、BSDFを使用した質感表現やPBRで指定できるものもありますが、表層の状態は
 
  ■ 金属っぽさ
  ■ 表層の粗さ
 
をう良いすると
 
  ■ 滑らかな金属
  ■ 滑らかな非金属
  ■ 表層の粗い金属
  ■ 表層の粗い非金属
 
を作ることができます。これで石や陶器っぽい質感だったり、樹脂や鏡面反射を刷る金属の質感を作ることができます。
 
 これが、PBRの基本てきな表層にないますが、これだけだと
 
  ■ 透過素材
  ■ 発光体
  ■ 内部反射のある質感
  
などは作れないのでこうした質感は別に指定することになります。
 
 Blenderに実装されているプリシプルBSDFでは、統合型のBSDFになっているので、一つ追加しいて使用する部分の質感を追加していくことになります。
 
 

 

  BSDFとテクスチャ

 

 質感を指定するときには表層の状態を指定するBSDF外用意されているので、これに対してどのような状態にするのかを指定することになります。

 

 この時に、

 

  ■ カラー

  ■ グレースケール

 

の選択が出来るのですが、これとは別にノーマルマップの三軸の情報を個別に使用してデータを得るようなBSDFもあります。
 
 この情報はBSDFに実装されている単一色でも指定できますが、色彩や範囲指定を細かく行う際には画像を使用することになります。
 
 

 

  テクスチャマップ

 

 

 テクスチャマップは、画像ファイルになりますが、3DCGでオブジェクトに色彩を追加する際にはテクスチャマップを使うことになります。超点数が膨大な場合だと頂点ペイントで菜食しても違和感が出ない場合もありますが、通常はテクスチャマップを使うことになります。
 基本的な考え方としては、
 
 【 質感の制御に画像を使う 】
 
というものなので、
 
  ■ 効果の情報
  ■ 範囲の情報
 
を用意して指定することになります。20世紀のコンシューマのゲーム機だと凹凸の表現が存在しないのですが、そうした機能がまともに使われだすのは、PS3やXbox 360辺りからになりますから、それまでは色彩などの情報しか扱えない状態に鳴っていました。質感を指定する場合
 
  ■ 色彩の情報
  ■ 光沢の情報
  
などを追加しますが、これを画像で扱う場合だと
 
  ■ デフューズ
  ■ スペキュラー
 
になりますが光沢も光源方向のテカりだけでなく、キャラの場合だと皮脂のテカりなどは全体的な光沢では再現できないので、スペキュラーに対して光沢が出る部分を明るく描いたテクスチャーをスペキュラーのBSDFに接続します。単位tのノードだとこれを追加やミックスで合成することになりますが、
 
  ■ テクスチャ → BSDF
  
のような構造を基本として
 
  ■ BSDFを合成する
 
ことで質感を作ることになります。基本的に処理の流は2つの項の加算でできていますが、構造的には、
 
  1+2+3+4+5...
 
のような数式の計算を行うようにノードの繋がった順番に状態が変化する仕組みになっています。
 
 mixや追加のノードのイメージとしては、
 
  ■ 数式A
  ■ 数式B
 
が存在した時に
 
  ■ 数式A + 数式B
 
の処理を行うノードになります。この時に合成をシているわけですが、合成時に絵の具のように 【 調合比率 】 を指定することで効果を調整できるようになっています。
 
 このmixや追加のノードが、グラフィックツールの
 
 【 レイヤー 】
 
と同じ効果なので、Blenderのノードだと、
 
  ■ 上 : 下の階層
  ■ 下 : 上の階層
 
という構造に鳴っています。その為、上にベースとなる質感を配置して、下に追加する効果となるノードを接続します。
 
 この構造がノードの使い方になりますが、この時に使用するテクスチャマップは画像ファイルなので、ポリゴンメッシュとは異なる構造のファイルになります。
 
 当然、二次元配列と小数点の座標で構成されたデータでは、整合性が取れていないので二次元配列のデータをペイリゴンメッシュの表層に配置するためにUV展開を行うことになります。
 
 テクスチャについては、
 
の中で触れていますが、デフューズのみだと
 
 
のようなオブジェクトに色を追加するだけなので
 
 
のように描いていくことになるので、すが、質感を変えると

 

 
のようになります。
 
 このように3DCGでは展開図のようにオブジェくおを展開して、その空間に対して色彩を追加することになりますが、Blender 2.8以降だとEeveeとCyclesを至要することになるので、この2つのレンダーを使用する場合にはBSDFに対してテクスチャを適応して質感を指定することになります。
 
 この際に 【 UV展開 】 を行って、UV空間が存在、テクスチャマップとUV展開したポリゴンメッシュが同じ空間に配置できる状態にする必要がありますが、先程の状態は、右側が実際のオブジェクトで左側が展開したマップになります。
 
 現在のBlenderでは、
 
  ■ UV側
  ■ モデル側
 
の双方でテクスチャペイントが行えるようになています。
 
 質感については、BSDFで指定できるので、
 
 
のように異なる質感を指定できます。Blenderでは、ポリゴンに対してマテリアルをアサインすることで単一のオブジェクトに異なるマテリアルを割り当てることができます。
 
 これは、2.66a辺りでも出来るので
 
 
のような質感のもを作り、ポリゴン単位で異なるマテリアルを指定すると
 
 
のようになります。マテリアルは、
 

 

のようにプロパティから指定できますが、この時に指定するBSDFを組み合わせて質感を作り、そこに効果を足していくような処理も行えます。この時に

 

  ■ Mix

  ■ Add

 

のBSDFを使用することになります。放射は光源なので、遮蔽しても光源として機能するため

 

 

のように放射を行ったチャ対象物を照らす事がができます。

 

 CyclesやEeveeでは放射(Emition)は光源なので、光源の強さを指定することもできます。

 

 BSDFは質感を与えるためのものなので

 

 

 
のように材質の方向性を決めることができますが、色彩の情報は単一のカラーでは無理なので、BSDFを用いることになります。
 

 

  凹凸の表現

 

 画像ファイルを使うと色彩を調整できますが、テクスチャは色彩だけでなく状態も指定することができます。その為、デフューズや放射のように色彩を使うものもありますが、反射などのように強度を指定する場合だとグレースケールを使用します。これとは別にRGBを使用した情報を一つにまとめたノーマルマップも使用しますが、これが凹凸を再現する時に使用するマップになります。

 

 ノーマルマップについては。

 

 

の中でぶれていますが、Blenderでは、テクスチャベイクが行えるので、ノーマルマップの凹凸もオブジェクトから取得することができます。ノーマルマップを使用すると

 

【 凹凸っぽく見える変化を再現する 】

 

ことができるので、

 

 

 

のような質感を再現できますが、これはUPBGEの画面なので、 【 ゲームとして動かしている画面 】 になりますが、現在はこの辺りの質感も個人が使用できるツールで再現できます。

 

 これとは別に、細分化したポリゴンメッシュの頂点座標をグレースケールのマップを使用して距離を指定するディスプレイスメントマップがありますが、この場合、ノーマルマップとは異なり、凹凸を付けているので負荷が高くなります。

 

 これについては、

 

 

の中で触れていますが、3DCGツールは20世紀の製品でもプロシージャルテクスチャに対応しているので、テクスチャ同士の組み合わせで複雑なテクスチャを作るkと尾ができます。

 プロシージャルテクスチャは数値の変化でテクスチャを作る使用担っていますが、単体でも

 

 

 

 

 

 

 

 

のように変更できます。また、組み合わせると

 

 

 

のようになります。数値を調整すると、

 

 

のようになります。これは凹凸と言う効果なので、色彩とは異なるのため、通常は、色彩、反射、光沢などと組み合わせて使用します。実際に組み合わせると

 

 

のようになります。