LogoMark.png

3DCG演習/Basics のバックアップソース(No.1)

#author("2022-08-04T10:39:49+09:00;2022-07-05T12:54:23+09:00","default:inoue.ko","inoue.ko")
*第2回 Blenderの基本操作
[[3DCG演習/2022]]|''2022.07.05 -''
~


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

***CONTENTS
#contents2_1

~
~

**インターフェイス
***画面構成
#image(Blender/interface.jpg)
3DCGツールは操作項目が多いため、一般に画面構成は複雑になります。Blenderのウインドウ階層構造は以下のように、トップバー、エリア、ステータスバーの3領域からなり、エリア(ワークスペース)は複数のエディタによって構成されます。エディタの中にはさらに複数のリージョンが含まれます。

-''Topbar''(MainMenu / Workspace Selector / Scene & Layer)
-''Area''
--''3D Viewport Editor''
---Header( Editor Type Selector / Menu / Tools)
---Main Region
---Toolbar
---Sidebar(Item / Tool / View)
---Viewport Gizmos & Navigation Control
---Operator Panel
--''Outliner''
--''PropertyEditor''
--''TimelineEditor''
-''Statusbar''

~
***Topbar
#image(Blender/TopBar.jpg)

-MainMenu
基本的なアプリケーションメニューは、画面左上に配置されています。
--File:New, Open, Save, Append, Import, Export ・・
--Edit:Undo、RepeatLast ・・ Preferences ・・
--Render:Render Image, Render Animation ・・

-WorkspaceSelector
ワークスペースとは、アプリケーションが持つ様々なエディタを用途に応じて最適なレイアウトに構成した作業スペースのことです。
 Blenderのワークスペースは複数の独立したエディタの組み合わせになっています。メニューの右に並ぶワークスペースセレクタによって、シーンのレイアウト、モデリング、UV編集など、作業形態に適したプリセットのワークスペースを選択して利用することができます。
--Layout:シーンとオブジェクトのプレビュー(デフォルト)
--Modeling:モデリングツールによるジオメトリへの変更
--UV Editing:テクスチュア画像を3Dモデルにマッピング
--Shading:レンダリングにおけるマテリアル設定
--Animation:アニメーションのための時系列プロパティの設定
~

***Area
Blenderのウィンドウはエリアと呼ばれるいくつかの区画に分割されていて、それぞれが 3D Viewport や Outliner などの エディタとして機能します。以下、Layoutワークスペース(デフォルトワークスペース)に表示されている4つのウインドウについて概説します。

-3D Viewport
#image(Blender/3DView.jpg,right,30%)
3D Viewport は、3次元的に物体を表示するウインドウで、3D空間内に置かれたカメラ、照明、モデルなどの全体像を様々な視点から見ることができます。舞台のレイアウトやモデリングなど、あらゆる作業の中心となるウインドウです(詳細は後ほど)。
#clear()

#image(Blender/Properties.jpg,right,30%)
-Properties
オブジェクトの形状、マテリアル、テクスチュア、カメラや照明の設定、そしてワールドの設定と最終的なレンダリングに関する設定など、様々なプロパティーを設定するためのタブセットになっているウインドウです。
#clear()

#image(Blender/Outliner.jpg,right,30%)
-OutLiner
アウトライナーは、Blendファイルに保存されるすべてのデータをリスト表示するウインドウです。アウトライナーの各行には、データブロックが表示されます。名前の左側の[▶︎]のクリックで、データブロックが展開表示されます。
 
#clear()

#image(Blender/Timeline.jpg,right,50%)
-Timeline
タイムラインエディタは、アニメーションの動作確認に使用されます。アニメーションシーケンスを再生、一時停止、およびスキップするための Transport コントローラ が含まれていて、現在のフレームやアクティブオブジェクトのキーフレーム、アニメーションシーケンスの開始フレームと終了フレーム、およびユーザーが設定したマーカーが表示されます。
~



***各エリアのエディタタイプの切り替え
#image(Blender/Windows.jpg,right,30%)
すべてのウインドウは、ウインドウ左上の''Editor Type Selector''によって、自由にその役割を切り替えることができます。
#clear()
~


***各エリアのサイズ変更・分割等
#image(Blender/SplitWindow.jpg,right,30%)
ワークスペース上のすべてのエリアは境界部分のドラッグによるサイズ変更の他、エリアの分割・結合も可能です。エリアの端(境界)でマウスを右クリックすると、以下の分割メニューが表示されます。
--Vertical Split:垂直方向に境界を作るかたちで左右に分割します。
--Horizontal Split:水平方向に境界をつくるかたちで上下に分割します。
--Join Areas:左右(上下)のエリアを矢印方向に結合します。
--Swap Areas:左右(上下)が入れ替わります。
#clear()
~

***3D Viewport Editor の詳細
#image(Blender/Regions.jpg,right,40%)
3D Viewport Editor の画面はさらに細かい ''Regions''(リージョン)に分割されます。リージョンには、Header・Toolbar・Sidebar などがあって、メニュー・ボタン・コントロール・ヴィジェットなどのさらに小さなインターフェイス要素が含まれます。以下、3D Viewport Editorに含まれるリージョンについて概説します。
#clear()

#image(Blender/header.jpg,right,50%)
-Header
エディタ画面の上部または下部には、水平に帯状のメニューが並びます。すべてのエディタには、メニューと一般的なツールを格納するヘッダーがあって、それらはエディタの種類や選択したオブジェクトおよびモードによって変わります。
#clear()

#image(Blender/Toolbar.jpg,right,5%)
-Toolbar
画面左側には、一連の対話型ツールが含まれています。
 Keyboard:[T] (Tool) で表示・非表示
#clear

#image(Blender/Sidebar.jpg,right,25%)
-Sidebar
画面右側には、エディタ内のオブジェクトおよびエディタ自身の設定を行うパネル があります。
 Keyboard:[N] (Numeric) で表示・非表示
#clear

#image(Blender/Gizmo.jpg,right,25%)
-Viewport Gizmos & Navigation Control
ビューポートギズモは、視点の移動・回転・拡縮等を直感的に行うためのツールで、マニピュレータと呼ばれる矢印や円をドラッグすることで対象を操作します。
 ナビゲーションコントロールは、視野のズームや投影法の切替えを行うためのボタン群です。
 これらの表示・非表示は、Header内にある、ギズモアイコンで切り替えることができるようになっています。
#clear

#image(Blender/OperatorPanel.jpg,right,25%)
-Operator Panel
オペレータパネルは、シーンに Sphere メッシュを配置する際の分割数など、オブジェクトの設定を行うためのもので、操作の文脈に応じて適宜表示されるものです。様々な属性を数値で指定します。
#clear
~
~

**シーンとオブジェクト
3DCGでは、仮想空間の中にモデル(被写体)・照明・カメラといった ''Object'' を配置してシーンをつくります。上面・正面・側面からそれぞれの位置関係を調節して、最終的なイメージ、つまりカメラから見た映像を最適化します。
~

//***座標系について
//シーンは3次元空間なので、Object の位置決めや、カメラの回転などについては、X,Y, Z の3つの軸を意識する必要があります。

//#image(Blender/xyz.jpg,right,20%)
//-Blender は右手系
//Blender は [[OpenGL>Google:OpenGL]] ベースの''右手系''アプリケーションで、''直角に広げた右手親指・人差し指・中指を順に X, Y, Z 軸とする''イメージで以下のように定義されています。
// 親指の向き:X軸の+向き
// 人差し指の向き:Y軸の+向き
// 中指の向き:Z軸の+向き

//-グローバル座標系
//グローバル座標とは、3次元の仮想空間全体に基準を置くもので、Blender のシーンは正面から見ると以下のようになります。
// 正面ビューの左右方向:X軸(右の方が+)
// 正面ビューの奥行方向:Y軸(奥の方が+)
// 正面ビューの高さ方向:Z軸(上の方が+)

//-ローカル座標系
//ローカル座標とは、個々の Object に基準を置くもので、Blender の Object は正面から見ると以下のようになります。
// Object の左右方向:X軸(右の方が+)
// Object の奥行方向:Y軸(奥の方が+)
// Object の高さ方向:Z軸(上の方が+)
//~

***Scene
-視点の切り替え
シーン内に Object を配置するには、必要に応じて作業視点を変更することが必要になります。視点の切り替えは Viewport Gizmos の X , Y , Z , カメラアイコンでも変更可能ですが、以下のようにテンキーを使う方が効率的です。
 カメラビュー:[0]
 正面ビュー :[1]
 側面ビュー :[3]
 上面ビュー :[7]
&scale(75){注)キーボードにテンキーがない場合は、通常の数字キーで操作できるように環境設定を変えることもできます。> __[[Blender]]__のページで「テンキーがない方へ」の項をご覧ください。};

-透視投影と並行投影
3次元シーンの表示(投影法)には、遠近感のある透視投影(Perspective View) と、遠近感のない平行投影(Orthographic View)があります。投影法の切り替えは Viewport Gizmos の グリッドアイコンのクリックでも変更可能ですが、以下のようにテンキーを使う方が効率的です。
 Perspective / Orthographic:[5]

-視野の移動とズーム
シーンに Object をレイアウトしていくためには、シーン全体を回転・平行移動したり、ズームしながら全体を眺めることが必要になります。 これらの操作は Viewport Gizmos の手のひらアイコンやズームアイコンでも可能ですが、以下のようにマウスを使う方が効率的です。
 回転移動:[MMB Drag]
 平行移動:[SHIFT] + [MMB Drag]
 ズーム :[Wheel]

-シェーディングモード
作業中のシーンの陰影表現は、Header 右に配置されている Viewport Shading のアイコンで切り替えることができます。
 Wire:ワイヤーフレーム
 Solid:ソリッド(固体)モード
 Material:マテリアル(質感)モード
 Render:レンダリング(最終出力)モード 
この切り替えは、以下の操作でも可能です。
 シェーディングモードの切り替え:[Z] > パイメニュー
~

***Objects
モデル、照明、カメラなど、シーンに配置されるものを Objectといいます。

-様々なオブジェクト
Blender にはシーンを構成する様々な Object が用意されています。
--''Mesh'':ポリゴン(多角形)の集合体
--''Curve'':曲線(ベジエ曲線、NURBS曲線)
--''Surface'':曲面
--''Light'':レンダリングでシーンを照らすための空のオブジェクト
--''Camera'':レンダリング用の仮想カメラ
--Text:文字(列)
--Armature:仮枠(彫刻用語)> スケルトン(骨組み)と同義
--Lattice:他のオブジェクトを変形するため空の格子状オブジェクト
--Empty:他のオブジェクトを制御するための空の視覚変換ノード

-オブジェクトの追加
3次元のシーンは、様々な Object を追加配置しながら作っていきます(ライトやカメラも複数追加可能)。メニュー操作では、3D Viewport の Header >Add > オブジェクトの種類を選択しますが、以下のようなキー操作を推奨します。
 追加:[SHIFT] + [A] > Select Object Type
 削除:[X]
 複製:[SHIFT] + [D]
 リンク複製:[ALT] + [D]
直前の操作を繰り返すこともできます。複製・移動の後に行うと、連続的な追加配置ができます(Illustrator の ⌘D と同じ)。
 操作の繰り返し:[SHIFT] + [R]

-オブジェクトの選択
オブジェクトを操作するには、はじめにシーンの中から対象となるオブジェクトを選択する必要があります。オブジェクトの選択は、以下のように行います。追加選択は[SHIFT]+、全選択 / 矩形選択 / ペイント選択は、キーボードの[A] / [B] / [C]の順で、わかりやすい仕様になっています。
 選択:[LMB]
 追加選択:[SHIFT] + [LMB]
 全選択 / 解除:[A] / [ALT] + [A]
 矩形選択:[B] + [Drag]
 サークル選択:[C] + [Drag]
 選択メソッドの切り替え:[W] を押す度に選択方法が順次切り替わります
//#image(Blender/SelectMethod.jpg,right,20%)
//SelectMethod [W] は領域選択方法の切り替えで Box / 投げ縄 / なし の3種類があります。選択領域は 3D Viewport Headerのアイコンで、和・差・積の切り替えができます。
// 和:既存の選択領域に新たな選択領域を加えます。
// 差:既存の選択領域から新たな選択領域を除外します。
// 積:既存の選択領域と新たな選択領域の交差する領域をとります。

-移動・回転・拡大縮小
Object の移動・回転・スケーリングはマウスで行います。ToolBar からモードを選択した後、Object Gizmos で動かすこともできますが、キーとマウスによる操作の方が効率的です。
 移動:[G] + [Mouse Move](LMB Drag でも移動します)
 回転:[R] + [Mouse Move]
 拡縮:[S] + [Mouse Move]
グローバル座標軸に沿った移動・回転・拡大縮小を行う場合は、以下のように [X] [Y] [Z] のキーを組み合わせます(以下 X軸の場合)。
 移動:[G] + [X] + [Mouse Move]
 回転:[R] + [X] + [Mouse Move]
 拡縮:[S] + [X] + [Mouse Move]
ローカル座標軸に沿った移動・回転・拡大縮小を行う場合は、以下のように [X] [Y] [Z] のキーを2回連続してタイプします(以下 X軸の場合)。
 移動:[G] + [X] +  [X] + [Mouse Move]
 回転:[R] + [X] +  [X] + [Mouse Move]
 拡縮:[S] + [X] + [X] +  [Mouse Move]
[CTRL] キーを押しながらマウス操作を行うとグリッド単位の移動、5度単位の回転など、変量を制御することができます。

//-オブジェクトの操作に関わる座標系について
//シーン内で座標を意識したObjectの移動・回転・スケーリングを行う場合、操作する座標系が、グローバルかローカルかを意識しながら行う必要があります。
//操作を行う座標系を明示的に変更するには、以下の2つの方法があります。
// Orientation PieMenu:[ , ]
// 3D Viewport の Header にある Transform プルダウンメニュー
//&small(PieMenu というのは、パイのように円形に広がるメニューのことです。);

-オブジェクトの操作に関わるピボットについて
回転やスケーリングでは「どこを中心にするか」によって動きが変わります。
以下の操作で、中心を変更することができます。
 Pivot Point PieMenu:[ . ]
 3D Viewport の Header にある Transform Pivot Point アイコン

-オブジェクトの整列
オブジェクトを整列したい場合は、Transform パネルで行います。
 整列対象となるオブジェクトをすべて選択
 オブジェクトメニュー  Transform > Align Objects
 > 画面左下に Transform パネル が出現します。
 Align Mode と Relative To の項目で基準を選択
 [X] [Y] [Z] のいずれかのボタンで軸方向に整列

-オブジェクトの結合
複数のオブジェクトを選択して結合すると1つのオブジェクトになります。
 結合:[CTRL] + [J]

-オブジェクトの親子化
複数のオブジェクトを選択して親子化すると、最後に選択したもの(色が強調されているもの)を親とした親子関係が成立します。親を動かすと子も追随します。子の操作は親には影響しません。
 親子化:[CTRL] + [P] 
 解除:[ALT] + [P]

-オブジェクトのシェーディング方法
メッシュオブジェクトには、レンダリング時の陰影付けの方法について、二つの選択肢があります。ひとつはポリゴンの形・境界が見えるようにするフラットシェーディングで、もうひとつは隣り合うポリゴンの法線を補完して境界部分の陰影を滑らかにするスムーズシェーディングです。以下いずれかのメニューを使って設定します。
 Header > Object  
 オブジェクトの上で右クリック > コンテクストメニュー 
 > Shade Smooth:スムーズシェーディング
 > Shade Flat:フラットシェーディング
ちなみに「Cylinder(円筒)」は、側面部分のみをスムーズにして、側面と上面・底面に関しては、90度の角度を維持したいのが普通です。単純に Shade Smooth を適用しただけでは違和感のある見た目になるので、このような形状の場合は、例えば「30度以内の緩やかな傾斜部分のみスムーズにする」といった処理が必要になります。この場合、以下のようにして AutoSmooth を適用して下さい。
 PropertyEditor > オブジェクトデータプロパティ(▽)> Normals
 AutoSmooth にチェック(角度は自由に変更可能です。デフォルト30度)
~


-その他
選択対象以外を非表示にしたい場合(ローカルモードといいます)は・・
 ローカルモード:[/]
選択したオブジェクトの表示 / 非表示
 対象を非表示:[H]
 対象以外を非表示:[SHIFT] + [H]
 解除:[ALT] + [H]
~

***Camera Object について 
Camera Object は、ポジション・アングル・画角などについて以下のような項目をコントロールすることで様々な表現が可能です。は実際のカメラと同じようにコントロールすることが可能です。
-1)カメラポジション
 移動(グローバル X-Y 平面) [G] + [MouseMove](トップビューで)
-2)カメラアングル
 視点の高さ(グローバル Z 軸 の移動) [G] +  [Z] + [MouseMove]
 パン(グローバル Z 軸まわりの回転) [R] + [Z] + [MouseMove]
 ティルト(ローカル Z 軸まわりの回転) [R] + [X] + [X]  + [MouseMove]
-3)ターゲットロック
カメラの視線を特定のターゲットに固定したい場合は以下のようにします。
 カメラ > 対象 の順に追加選択して・・
 3D Viewport の Header > Object > Track > Track to Constraint    
 解除する場合は、カメラを選択して同様に Track > Clear Track 
~

***Light Object について
照明も実際の撮影同様に配置することが可能です。点光源(Point)、太陽光(Sun)、スポット光(Spot)、そして面光源(Area)があります。照明の位置・方向・向きのコントロールについてはカメラの場合と同じです。
~
~

**レンダリング
レンダリングとは、素材・データを一定の手続き(プログラム)によって静止画・動画・音声などを生成することを言います。

#image(Blender/Rendering.jpg,right,40%)
Blenderのレンダリングは、Topbar > MainMenu > Render から行います。
静止画の場合は、レンダリング後にメニューから画像ファイルとして保存、動画の場合は指定されたディレクトリに自動的に書き出されます。

レンダリングを中止したい場合 > [ESC] キーです。
~

&color(red){''以下の部分は、今回の授業では時間に収まらなかったので、次回授業の解説動画で補足説明します。''};

~

***RenderingEngine
レンダリングエンジンとは、最終出力を得るためのプログラムのことで、Blenderには、Eevee、Cycles、Workbench という3つのレンダリングエンジンが搭載されています。処理時間・品質・可能な表現等に違いがあるので、目的に応じて、ユーザ自身で選択することになります。レンダリングエンジンを変更すうとマテリアルの設定等に違いが生じることがあるので注意が必要です。

-Eevee:ラスタライズレンダリングエンジン
OpenGL を用いたリアルタイムレンダリングエンジンで、 PBR マテリアルのレンダリングが可能です。3D Viewport の中でインタラクティブに使用できるとともに、高品質なファイナルレンダーとして使うことも出来ます。

-Cycles:レイトレーシングレンダリングエンジン
Cyclesは、プロダクションレンダリング用の物理ベースのパストレーサーで、反射や屈折を扱うことができます。高品質な出力に対応する柔軟なシェーディングノードを備えています。

Workbench:プレビューレンダリングエンジン
モデリング・アニメーションプレビュー中の高速レンダリング用に最適化されたレンダリングエンジンです。主に 3D Viewport内の表示で利用されます。
~


***RenderProperty
#image(Blender/RenderProperty.jpg,right,40%)
レンダリングエンジンの選択や、品質に関わる設定は、PropertyEditor の RenderProprety パネルで行ます。
#clear
~
~
~