LogoMark.png

3DCG演習/Modeling のバックアップの現在との差分(No.8)


#author("2023-06-28T17:30:40+09:00;2023-06-28T14:41:52+09:00","default:inoue.ko","inoue.ko")
#author("2023-07-13T17:09:15+09:00","default:inoue.ko","inoue.ko")
*第3回 モデリング
[[3DCG演習>3DCG演習/2023]]|情報デザイン専攻2年 選択(集中)
~

***解説動画
#youtube(ABC)
(準備中)
***ガイダンス動画
#youtube(hq9KMYxQIBQ)
//https://youtu.be/hq9KMYxQIBQ
//録画済み動画です。再生して視聴してください。
-以下名簿が表示されます。''既読確認(出欠確認)''をお願いします。
&fontawesome(far fa-hand-point-right); __[[既読確認>https://docs.google.com/spreadsheets/d/1bHOlJOdW0smlLna-qBEhkQ2U6DlnGgp3mGaBuaLP2ZA/edit?usp=sharing]]__
~
~

**はじめに
物体の形を作る作業をモデリングと言います。モデリングの対象となるオブジェクトには Mesh、Curve、Surface といったデータフォーマットがあって、作りたい形状によってこれらを使い分けるのが一般的です(データフォーマットごとに編集操作の方法が異なります)。

通常は最も基本的なデータ構造をもつ Mesh すなわち、ポリゴン(多角形)の集合体を用いてモデリングを行います(すべてのデータフォーマットは Meshに変換して微調整することが可能です)。
~
~


**確認課題 02
#image(Basic02.jpg,right,35%)
前回同様に、本日の内容を視聴(一読)後、右のようなシーンを作成して、学科サイトの 基礎演習 Modering の部分に出力画像を掲載して下さい。今回の課題は、プリミティブの形状を編集する練習です。制作する事物の形状は何でも構いません。
~

***制作要件
-平面あるいは立方体を拡縮して床と壁を作って下さい。
-床の上に形状編集を行った任意の事物を配置して下さい。
-曲面にはスムーズシェーディングを適用して下さい。
-床や壁の端が見えないように調整して下さい。
-全体がカメラの視野に収まるように調整して下さい。
-色やテクスチュアの設定は不要です。
-基礎技術の確認が目的なので、出力サイズは 960x540(16:9)で十分です。
~
~

**オブジェクトモードとエディットモード
// __[[&color(#999){''&fontawesome(fas fa-film); 解説動画(準備中)''};>https://youtu.be/ABC]]__
#YouTube(ANWFjpogRFo)
Blender には3Dの''シーンのレイアウトを行うオブジェクトモード''と、個々のオブジェクトの''形状を編集するエディットモード''があります。オブジェクトモードとエディットモードの切り替え方は以下の3通りあります(結果は同じ)。
 編集対象となるオブジェクトを選択して
 1. ワークスペースを Modeling に切り替え
 2.  Header の モードセレクトで Edit Mode へ切り替え 
 3.  [TAB] キー(Blender 初期バージョンからの方法)
~
~

**Meshモデリング
モデリングでも最もよく利用されるのが Mesh です。Meshは頂点(Vertex)、辺(Edge)、面(Face)、法線(Normal)((3DCGでは「面の法線」は、表裏(可視/不可視)の判定や面の明るさ計算等に利用される非常に重要な概念です。))、の情報を持ちます。

通常は、平面(Plane)、立方体(Cube)、球(UV Sphere)などのプリミティブからはじめて、点・線・面を追加しながらモデルの形状をつくっていきます。
~

***頂点・辺・面の選択 __[[&color(#999){''&fontawesome(fas fa-film); 解説動画(準備中)''};>https://youtu.be/ABC]]__
***頂点・辺・面の選択
#YouTube(U_o8LeDWwl8)
#image(Blender/SelectMode.jpg,right,30%)
選択には、頂点・辺・面の3つのモードの切り替えがあります。EditMode 時に 3D Viewport の Header に表示されるアイコンでも切り替え可能ですが、以下の数字キーでも切り替え可能です。
 頂点選択モード:[1]
 辺選択モード:[2]
 面選択モード:[3]
&scale(85){注) Select Mode [1] - [3] は、テンキーではなく、キーボード上部の数字キーがショートカットになっています。};
&scale(85){注) Select Mode [1] - [3] は、メインキーボード上部の数字キーです。};
~

***移動・回転・拡大縮小
移動・回転・拡大縮小等の操作は、オブジェクトモードと同じです。
 移動:[G] + [Mouse Move]
 回転:[R] + [Mouse Move]
 拡縮:[S] + [Mouse Move]
~

***頂点・辺・面の追加・削除・複製 __[[&color(#999){''&fontawesome(fas fa-film); 解説動画(準備中)''};>https://youtu.be/ABC]]__
頂点の追加、頂点を接続して線にする、3つの頂点から面をつくるといっ他操作は、エディットモード特有の操作になります。
 頂点の新規追加:[CTRL] + [RMB] (何もないところに最初の頂点を追加)
 頂点の追加:[CTRL] + [RMB] または [E]xtrude
 辺・面の生成:2点または3点を選択して [F](Make Face)
 頂点・辺・面の削除:[X]
 頂点・辺・面の 複製:[SHIFT] + [D]
~

***整列 __[[&color(#999){''&fontawesome(fas fa-film); 解説動画(準備中)''};>https://youtu.be/ABC]]__
現状では、エディットモードで複数の頂点の整列を行うメニューが見当たらないのですが、ツールがなくとも、変換操作の応用で実現可能です。

複数の頂点を選択して、拡大縮小>軸方向>0%とすることで、実質的に軸に揃うことになります。具体的な例では、[S] [X] [0] と順に入力することで、x軸方向に0%に拡大…つまり、軸に揃います。
~

***押し出し(掃引)|Extrude __[[&color(#999){''&fontawesome(fas fa-film); 解説動画(準備中)''};>https://youtu.be/ABC]]__
***押し出し(掃引)|Extrude
#YouTube(9q3WpgCB0pE)
面(辺・頂点)を法線方向に引っ張って立体(面・辺)へと次元拡張する操作を「押し出し(掃引)」といいます。ツールバーの ''Extrude'' アイコンを使うこともできますが、以下のようなキー操作の方が簡単です。
 面(辺)を選択して、[E] + [Mouse Move]
~

***面取り|Bevel __[[&color(#999){''&fontawesome(fas fa-film); 解説動画(準備中)''};>https://youtu.be/ABC]]__
立体の角を落とす操作(面取り)を一般にベベル処理といいます。ツールバーの ''Bevel'' を使うこともできますが、以下のようなキー操作も可能です。
 頂点を選択して、[SHIFT] + [CTRL] + [B]
 面(辺)を選択して、[CTRL] + [B]
 表示されるハンドルを [MMB Drag] で初期変形(遠ざけると角が落ちていく)
 コントロールパネルが表示されるので、以下を調整
 Affect:頂点を落とすか、辺を落とすかを選択
 Width:ベベルの量を調整(大きいほど効果大)
 Segments:ベベルによる面の分割量を調整(大きいほど滑らか)
&scale(85){注)オブジェクト全体に Bevel 操作を行う場合は、オブジェクトモードで Property Editor > Modifier のBevel の方が使いやすいかもしれません。};
~

***回転|Spin __[[&color(#999){''&fontawesome(fas fa-film); 解説動画(準備中)''};>https://youtu.be/ABC]]__
***回転|Spin
#YouTube(9oMLie3Lf9o)
頂点・辺を回転させて形状を作るには、ツールバーの ''Spin'' を使います。
一般に次のような準備を行います。
 回転体の元になる頂点・辺は、正面ビューで形を整える
 上面ビューに切り替える:[7]
 回転の中心となる場所に 3Dカーソルを移動:[SHIFT] + [RMB]
これで回転体を作る準備が整いました。次に・・
 回転させたい辺(頂点)を全選択
 ツールバーの Spin をクリック
 画面に表示される [+] アイコンをドラッグ(回転)して回転体を作成
&scale(85){回転させる際に [CTRL] を押して操作すると回転角が5度ずつスナップします。};

360度回転して回転体を作った場合、回転角が正確でないと0度と360度付近に頂点が重複してスムーズシェーディングがおかしくなることがあります。この問題を解決するには、重複した頂点を結合して、トポロジーを綺麗にする必要があります。以下のようにします。
 重複をなくしたい頂点のある領域を選択:[B] or [C] + [Drag]
 Mesh > Clean Up > Merge By Distance
 コントロールパネルが表示されるので
 重複点が結合されるまで Merge Distance を変更
&scale(85){以前のバージョンでは Remove Doubles という用語でした。};
~

***細分化|Subdivide __[[&color(#999){''&fontawesome(fas fa-film); 解説動画(準備中)''};>https://youtu.be/ABC]]__
***細分化|Subdivide
#YouTube(5e8LuLpGReQ)
メッシュを細分化したい場合は、以下の手順です。
 細分化したい面を選択
 Header > Edge > Subdivide
コントロールパネルが表示されるので以下を設定
 Number of Cuts:分割数
 Fractal:ランダムな分割の係数(必要に応じて)
~


***曲げ|Bend __[[&color(#999){''&fontawesome(fas fa-film); 解説動画(準備中)''};>https://youtu.be/ABC]]__
オブジェクトを曲げるには、相当数の頂点が必要です。事前に曲がるようにメッシュを細分化して下さい。
-方法1:Warp 機能を使う
 曲げの中心になる部分に 3Dカーソルを移動します。
 方法1:Header >  Mesh > Transform > Warp(非推奨)
 方法2:[SHIFT] + [W] マウス操作で曲げる(推奨)

-方法2:プロポーショナルエディティングを使う
 Header アイコン Propotional Edhiting を ON
 引っ張りたい部分を選択 > [G] で引っ張る
 注)影響範囲はスクロールホイールで調整できます。
~

***Modifier の利用 __[[&color(#999){''&fontawesome(fas fa-film); 解説動画(準備中)''};>https://youtu.be/ABC]]__
オブジェクトの形状を Twist(捻る)、Bend(曲げる)、Stretch(伸ばす)などの変形操作には、モディファイアを使うのが効率的です。

-モディファイアは ''非破壊変形ツール''です。通常の形状編集とは異なり、オブジェクトに対して「変形プロセス」を割り当てるだけなので、割り当てを解除することで元に戻すことが可能です。以下のように適用します。
 プロパティエディタの Modifier タブで、Add Modifier > 手法の選択
 当該手法に関わる各種パラメータの設定
&small(注)Modifierはモデルのデータ構造によって、使える機能が異なります。極端な例では、Metaball には、適用できる Modifire がないので、Modifireタブ自体が表示されません。);

-モディファイアは、追加した順にプロセスを踏むので、効果を「重ね掛け」することも可能です。

-以下のような変形操作が可能です。
 Modify:変更(頂点などの細かいデータを扱います)
 Generate:生成(ポリゴンの追加、削除、複製等が行われます)
 Deform:変形(メッシュを曲げたり凹凸をつけるなどの変形が可能です)
 Physics:物理シミュレーション

-なお、変形操作を確定して Mesh オブジェクトにするには、パラメータ設定パネルのプルダウンメニューから ''Apply'' をクリックします。

-''例:ブール演算|Boolean''
***Bool演算(Modifier の利用)
#YouTube(fL9cC7WPg3s)
オブジェクトモードで、モディファイアのパネルから、Booleanを選択すると、オブジェクト同士のブール演算(集合演算)を行うことができます。
 積(交差)    : Intersect
 和(結合)    : Union
 差(刈取り)  : Difference
手順は以下のとおりです。
 はじめに「主」となるオブジェクトを選択
 プロパティーエディター > Modifier > Add Modifier > Boolean
 和・差・積のいずれかを選択して
 演算対象となる相手のオブジェクトをプルダウンリストから選択
 形状を確定する場合はApplyを押します。
形状を確定する場合 Apply(適用) を行って下さい。
~
~

**APPENDIX
今回の説明内容の詳細は、以下のページに記載しています。動画を見るより読む方が早い・・という方は、以下をご覧下さい。

-__[[Blender/Modeling]]__
~
~
~