LogoMark.png

Blender/ScenesAndObjects のバックアップ差分(No.2)


#author("2022-08-04T10:34:06+09:00;2022-01-27T12:07:09+09:00","default:inoue.ko","inoue.ko")
#author("2023-05-31T20:12:44+09:00;2022-01-27T12:07:09+09:00","default:inoue.ko","inoue.ko")
*Scenes & Objects
Blender Ver.3.0
~

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

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

3次元座標には、''右手系''と''左手系''の違いがあること、また、シーン全体を基準とした''グローバル座標''と、各Objectを基準とした''ローカル座標''の違いがあることをはじめに確認しておきましょう。以下、概説します。
~

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

''参考'':他の3DCGツールの座標系
 右手系:Maya, 3dsMax, Houdini, Shade3D, AutoCAD, Vectorworks
 左手系:Cinema 4D, LightWave3D, ZBrush
~

***グローバル座標系
グローバル座標とは、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と Object Data (ObData)の2つの部分から構成されます。各Objectには、関連する Object Data へのリンクがあり、1つのObject Data は複数の Object で共有できる仕組みになっています。

-Object:特定の要素の位置、回転、サイズに関する情報を保持
-Object Data:種類別に詳細な情報を保持。例えば・・
--Meshes(モデル):オメトリ、マテリアルリスト、頂点グループなど
--Cameras:焦点距離、被写界深度、センサーサイズなど
~

***様々なオブジェクト
Blender には、シーンを構成する要素として様々な Object が用意されています。

-''Mesh'':ポリゴン(多角形)の集合体
--Plane:平面
--Cube:立方体
--Sphere:球体
--Cone:円錐
--Cylinder:円柱
--Torus:トーラス(輪環体、円環体)

-''Curve'':曲線(ベジエ曲線、NURBS曲線)
-''Surface'':曲面

-''Light'':レンダリングでシーンを照らすための空のオブジェクト
-''Camera'':レンダリング用の仮想カメラ

-Metaball:メタボール(濃度球)
-Text:文字(列)
-Volume:煙・炎・流体等
-Grease Pencil:ストロークペイントによって作成されたオブジェクト

-Armature:仮枠(彫刻用語)> スケルトン(骨組み)と同義
-Lattice:他のオブジェクトを変形するため空の格子状オブジェクト
-Empty:他のオブジェクトを制御するための空の視覚変換ノード
-Image:3D Viewportに画像を表示する空のオブジェクト((これらの画像は、モデリングやアニメーション作成する際の補助として使用できます。))
-Speaker:シーンに音源をもたらす空のオブジェクトです。
-Force Field:シーンに外力(重力など)を与える制御オブジェクト
~

***オブジェクトの追加
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] 

[W] は領域選択方法の切り替えで、通常選択 / 矩形選択 / サークル選択 / 投げ縄 の3種類があります。選択領域は 3D Viewport Headerのアイコンで、和・差・積の切り替えができます。
#image(Blender/SelectMethod.jpg,right,20%)
 和:既存の選択領域に新たな選択領域を追加
 差:既存の選択領域から新たな選択領域を除外
 積:既存の選択領域と新たな選択領域の交差

注)Blenderは、従来 [RMB] で選択・・というのが標準仕様でしたが、現在は他のアプリケーションと同様に [LMB]で選択する仕様になっています。
~


***移動・回転・拡大縮小
Object の移動・回転・スケーリングはマウスで行います。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]

キー入力のみで操作を行うことも可能です。以下のように、操作>軸>値 の順にキー入力を行います。
 例1) ワールドの Z軸方向に2倍に拡大:
 [S]>[Z]>[2] > [ENTER](確定)
 例2) カメラを 15度ティルトアップ(ローカルX軸で15度回転):
 [R]>[X][X]>[15] > [ENTER](確定)

[CTRL] キーを押しながらマウス操作を行うとグリッド単位の移動、5度単位の回転など、変量を制御することができます。
~

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

なお Blender では、[G], [R], [S] に座標軸を意味するキー [X], [Y], [Z] を組み合わせると、キー操作のみでグローバルとローカルの区別が可能になっています。
 グローバル X 軸回りに回転:[R] + [X] + [MouseMove]
 ローカル Y 軸回りに回転:[R] + [X] + [X] + [MouseMove]
&small(つまり、座標キー1回ならグローバル座標、2回ならローカル座標での操作になります。);
~

***オブジェクトの操作に関わるピボットについて
回転やスケーリングでは「どこを中心にするか」によって動きが変わります。
以下の操作で、中心を変更することができます。
 Pivot Point 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:フラットシェーディング

''AutoSmooth について''
例えば「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)焦点距離(画角)
プロパティーエディタの Object Data Properties タブ(Film Cameraアイコン)で設定します。
 Lens > Focal Lengs(焦点距離)> 数値入力(50mmで標準画角)
  
-4)ターゲットロック
カメラの視線を特定のターゲットに固定したい場合は以下のようにします。
 カメラ > 対象 の順に追加選択して・・
 3D Viewport の Header > Object > Track > Track to Constraint    
 解除する場合は、カメラを選択して同様に Track > Clear Track 
~

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

スタジオ撮影同様、複数のライトを配置すると表現は豊かになりますが、照明の数が多くなれば当然計算量も大きくなります(レンダリングにかかる時間が長くなります)。そこで、通常は配置する照明は必要最小限にし、大域照明(GI : Global Illumination)処理を行うことで、リアルな表現を実現します。
> 詳細は[[Blender/Rendering_Lights]]をご覧下さい。
~
~
~