VRにまつわる作業を1ページですべてカバーすることを目指す、初心者向けBlenderリファレンス・解説動画リンク集
はじめに
3Dのメタバース空間に存在するワールドやアバター。これらを自分の手で作ってみたいと思うことがありますよね。そんなときに3DCGの統合制作アプリであるBlenderを使えると、ちょっとした改変をしたり、オリジナルのグッズを作ったり、アセットにないモデルを使ってワールドを作ったり…といろいろなことができるようになります。
しかし、出来ることはたくさんあるけれど、ショートカットが前提の操作方法が独特すぎて使いこなすのが難しい、と言われるBlender。しかし、これだけの機能を備えていながら無料で使えることは、習得の難しさを乗り越えて余りあるほどの魅力を持っています。
肝心なところを早く覚えることができて、忘れたときに思い出せるようなリファレンスになることを目標に、なるべくシンプルかつ網羅的に整理していきます。操作方法だけでなく、つまづきがちな概念についても解説します。
ショートカットや作業手順は箇条書きで示しています。とくに覚えておきたいものは太字にしてあります。
それぞれの項目の文末に、個人的に参考にしたチュートリアルやYouTube動画を添えて、より理解が進むようにいたしました(引用元動画やブログを制作された皆様に感謝いたします)。文章の説明はBlender 4.1に沿って書いています。(紹介する文章・動画でバージョン違いによる操作方法の変更は検証しておりません)
アプリのセットアップ
アプリをインストールしたら、使いやすいように設定を変更しましょう。
設定を変えるにあたり、上の動画を参考にしました。実際に初期設定で便利だと思ったのは、
選択部分を中心に回転をOn
自動深度On
マウス位置でズームOn
Undo回数をめっちゃ増やす … パソコンが重くならない範囲で
自動保存On
です。使っていないのは、
日本語化 … 悩んだときに事例を検索するときは英語のほうがいいかも
テンキーを模倣 … 点/線/面の選択モードの切り替えができなくなります
です。
あと、毎回、要らないライトやキューブとか消したり、レンダリングの設定を変えるのは手間なので、以下の内容を施して、File > Defaults > Save Startup Fileして起動時の画面をカスタマイズしています。
デフォルトのキューブとライトを削除
視点を上がY軸+、右がX軸+となる真上からの平面視点
画面右下のカメラ背面アイコンのSceneプロパティを以下の内容に変更
Render EngineをCyclesに
Sampling > Viewport > Max Samplesを64に
Sampling > Render > Max Samplesを256に
このあたりは使い始めだと意味が分からないかもしれませんが、慣れてきたらお好みの内容に変えていくといいと思います。
Blenderの画面構成
Blenderの画面構成は、複雑です。
アプリのメニューの右隣にワークスペースの切り替えタブがあって、各ワークスペースの中に独自のメニューと切り替え機能があったり、など。。。
最初にエリアごとにどんな役割をもっているのか、下の記事からなんとなく把握してください! ちら見してまた後で戻ってくる、でOKです。
作業画面のアレンジ
以下は慣れてきてから使いたくなるものだと思いますので「そんなものがあったなあ」程度に頭の隅において、いったん飛ばしてください。
ウィンドウ枠の最大化 … 最大化したい場所の上で Ctrl + Space
ウィンドウ枠の見取り図4分割化 … Ctrl + ALt + Q
ウィンドウ枠の分割と融合 … ウィンドウの境目で←→が出たら右クリック
Vertical Split … 縦に分割
Horizontal Split … 横に分割
Join Areas … 明るくなっているウィンドウのほうに統合
Swap Areas … 表示しているウィンドウを入れ替え
N … サイドバーの表示ON/OFF
T … ツールバーの表示ON/OFF
視点移動の基本操作
アプリを開いたら、デフォルトで、キューブ(四角形)、カメラ、ライトが設置されていますが、この3D空間の中での視点移動をしてみましょう。ここは今のうちから慣れていきましょう!
マウスでの視点操作
視点移動だけでも押すボタンがたくさんあります。はじめはとっつきにくいですが、体に覚えさせましょう。
マウスホイール回転 … 視点をズームイン / アウト
Ctrl + マウスホイール押下 + ドラッグ … 滑らかにズームイン/アウト
マウスホイール押下 + ドラッグ … 視点を回転
Shift + マウスホイール押下 + ドラッグ … 視点移動
ここから下の項目は、ある程度詳しくなってから知ったほうがいい項目ですが、視点移動の項目にまとめるため、ここに入れることをご了承ください。
平行投影と透視投影
視点は立体感がなく正確にX、Y、Zの軸のどこにあるか把握できる「平行投影」と、立体感があって奥行きが把握できる「透視投影」と2通りの切り替えができます。寸法や距離を測ったり点や線や面の正確な調整には前者を、オブジェクトの配置やシーン全体の雰囲気を見るときは後者を、と使い分けます。
テンキー5 … 平行投影と透視投影の切り替え
ができます(が、私はテンキーのないキーボードなので右上のマス目のアイコンをクリックして切り替えています)。
軸に揃った視点に変える
※Unityをお使いの方へ:UnityとBlenderでは軸とアルファベットの割り当ての考え方が異なります。UnityではY軸が上方向なのに対して、Blenderでは上方向はZ軸となります。
立体的なものを操作、編集するので、様々な視点から見る必要がありますが、視点を正面/背面から、右側面/左側面から、上面/下面からと、軸に揃えて見取り図にすると、形状を確認したり、細かな調整をするのに役立ちます。テンキーにこれらの視点操作のショートカットキーが割り当てられています。
テンキー1 …正面 / Ctrl + テンキー1 … 背面
テンキー3 … 側面(右側) / Ctrl + テンキー3 … 側面(左側)
テンキー7 … 上面 / Ctrl + テンキー7 … 下面
テンキーがないキーボードをお使いの方は、右上の赤緑青のギズモからX/Y/Zをクリックすることでも操作できますが、便利な操作方法があります。
マウスホイール押し込み + ドラッグ + Alt … 近い角度で見取り図にする
これはよく使うのでテンキーなしキーボードをお持ちの方は活用してみてください。
その他の視点移動
人によっては頻繁に使うものがあるかもしれません。
(面選択モードで) Shift + テンキー7 … 選択した面を正面から見る
(オブジェクトを選択して) Shift + テンキー3 … オブジェクトを正面から見る ※トランスフォームを適用前のオブジェクトに限ります
Shift + B … 枠で囲んだ範囲にフォーカスする。
(EditモードでWireframe or Solid表示にして) Alt + B → ドラッグ … ドラッグした範囲だけ表示する。※Alt + Bをもう一度押すと解除
全体像を見る
オブジェクトの数が増えて、込み入ったときとか、複雑な形状を一度に把握したいときにはこれらの視点移動方法や、UI設定変更も覚えると便利です。
HOME … シーンの中にあるオブジェクト全体が画面に収まる視点に移動
Shift + C … 上記に加え、3Dカーソルもワールド中心に移動
Ctrl + Alt + Q … 見取り図4分割を表示(もう一度すると元に戻る)
Ctrl + Space … マウスポインタのある枠の最大化
オブジェクトに対する3つの基本操作
ここからしばらく、モデリング操作について説明していきます。
最初に覚える基本操作が、この3つだと思います。
移動 … G → (軸:X/Y/Z) → マウスドラッグ or 数値入力
回転 … R → (軸:X/Y/Z) → マウスドラッグ or 数値入力
拡縮 … S → (軸:X/Y/Z) → マウスドラッグ or 数値入力
たとえば、あるオブジェクトを右(X軸+)に0.3m動かしたいとなったら、オブジェクトを選択して、Gキーを押し、続いてXキーを押し、続いて数字の0.3を入力します。途中で間違えたらEscキーを押すとなかったことにしてくれます。これは体に覚えこませるしかないので回数をこなして手癖にしましょう。私は、G=Grub、R=Rotate、S=Scaleという風に覚えています。
軸の指定についてさらに付け加えると、
Shift + X … X軸(横幅)以外 = YZ平面
Shift + Y … Y軸(奥行)以外 = XZ平面
Shift + Z … Z軸(高さ)以外 = XY平面
と指定することで2軸に対して操作できるので、これも覚えておくと便利です。X軸=赤、Y軸=緑、Z軸=青と、視覚的に見ながらどの面で操作するか把握するとわかりやすいかもしれません。
オブジェクトモードと編集モードの切り替え
これも初めてだと概念がよく分かりませんが、オブジェクトをざっくりと動かしたり変形したりするObjectモードと、オブジェクトに注目して細かく加工するEditモードというものを切り替えながら作業していきます。まるでBlenderという一つのアプリの中に、レイアウトアプリとモデリングアプリが2つ共存しているようなものだと思ってください。
オブジェクトを選択した状態で、Tabを押すと、Objectモード←→ Editモードの相互切り替えができます。
違いは、
Objectモード … 何かをレイアウトするときにオブジェクト自体を動かしたり、オブジェクトに対して適用するメニューを使うときはこちらを用います。一部のモディファイア(後述)を適用するときとかもこちらで行います。
Editモード … 特定のオブジェクトを細かく編集するときにこちらを使います。頂点、線、面を選択、操作でき、形を細かく変形させることができます。
です。初心でつまづきやすいのは、Objectモード、Editモード、それぞれでしか使えない操作項目やメニューがあるということです。左上の2行目のメニューや、右クリックしたときに出てくるメニューや、効く/効かないショートカットがあるので、思ったように機能しないな?と思ったら今どっちのモードなのかを疑ってみてください。
Editモードでの選択の仕方
Blenderでは、立体を扱うため、どんな操作をどの部分に適用させるかの「選択」作業が重要で、選択の仕方自体もクリエイティブなものです。作業を効率的に進めるために、さまざまな選択方法があるので、基本的なものをマスターして、慣れてきたら応用を覚えていきましょう。
オブジェクトの選択
(オブジェクトの上で)左クリック … オブジェクトの選択
(オブジェクトの上で)Shift + 左クリック … オブジェクトの複数選択
何もないところを左クリック … 選択の解除
選択モードの使い分け
Editモードの中で、点、辺、面と3つの単位で操作対象を変更することができます。これは必須機能なのでショートカットで覚えましょう。
1キー … 点(Vertice)選択モード
2キー … 辺(Edge)選択モード
3キー … 面(Face)選択モード
※上記のUIに対して、Shiftキーを押しながら各モードをクリックすると、同時に機能させることもできます。
この選択モードの切り替えをすると、右クリックしたときのメニューの内容が変わります。それぞれの選択モードごとの専用の操作があるためです。
選択ツールの使い分け
選択範囲を指定するための選択ツールも複数あります。お絵描きアプリと似たような考え方です。左上のツールバーから選択するか、Wを押すことによって切り替えができます。慣れると使い分けで四種いずれも活躍します。
Tweak … 左クリックで選択のちマウスドラッグで直接動かせるモード
Select Box … マウスドラッグで引く四角形の範囲を選択
Select Circle … 円形の範囲を選択。左クリック+ホイールで範囲調節
Select Lasso … マウスドラッグでフリーハンドで囲んだ範囲を選択
ツールのすぐ上に小さなツールオプションがあり、現在の選択範囲に対するふるまいを選べます。
様々な選択トリック
一つ一つの点、辺、面を選択するのは大変です。狙ったものを効率的に選択できるショートカットがあり、下記は代表的なものですので、必ず覚えておきましょう。
A … 全選択 / Alt + A … 選択を解除
(Editモードで)Alt + 左クリック … つながっているループを選択。Shift+で複数選択
(Objectモードで)Alt + 左クリック … クリックした場所の裏にあるオブジェクトの一覧を出す
Ctrl + 左クリック … 先に選択したところから最短距離でルートごと選択
オブジェクトの上でL … つながっているメッシュをまるごと選択
Ctrl+ I … 選択範囲の反転
メニューからも便利な選択方法がある
ショートカット以外にも、メニュー欄からさまざまな選択方法があります。
Editモードで、Selectのメニューを開くといろいろありますが、便利なものをピックアップすると、このようなものがあります。
Select Ramdom … ランダムに点/線/面を選択します。
Checker Deselect … 選択済みの点/線/面から交互に選択を間引きます。
Select Sharp Edges … 鋭角の辺だけを選択します。ピン留めに便利。
Select More/Less … 選択範囲を隣のメッシュまで広げたり縮めます。
Shift + G … Select Similarメニューを呼び出します。
Length … 似た長さのものを選択します。
Direction … 向かっている方にあるものを選択します。
Face Angles … 面の角度が同じものを選択します。
選択しやすくするために一時的にオブジェクトを隠す
点や線や面がたくさんあると、重なったりして選択したいのにできない!ということがあります。そんなときはこれを覚えましょう。
H … 選択したオブジェクトを隠す
Shift + H … 選択した以外のオブジェクトをすべて隠す
Alt + H … 隠したオブジェクトを再表示する
/ … 選択したオブジェクト以外はすべて隠し、オブジェクトにズームする
選択しやすくするためにオブジェクトを透過させる
隠す以外に、Viewportシェーディング(後述)を変えることで、各点・線・面の裏にあるものもボックス選択ツールなどでまとめて選択できるようになります。
Alt + Z … 透過モードへ ※もう一度同じ操作で透過モード解除
Zキー → 4キー … ワイヤーフレームモード
オブジェクトの追加と削除
オブジェクトをシーンの中に追加したり、削除したりする方法について述べます。状態や操作によって結果が変わるので、それぞれについて説明しますね。
オブジェクトの追加
オブジェクトをシーンに追加するためには、
Shift + A … (Objectモード)オブジェクトの追加 / (Editモード)メッシュの追加
を押し、下のように、メニューから追加したいものを選ぶと、3Dカーソル(後述)の場所に新たにオブジェクトが作られます。Objectモードでこれを行うと、新たなオブジェクトとして作られます。Editモードでこれを行うと、いま編集しているオブジェクトの一部として作られます。そしてEditモードでの追加はメッシュのみになります。
では、試しに、円(Circle)を追加するとします。追加した直後に、画面の左下に注目してください。
ちっちゃな何かが表示されます。これはオブジェクトを追加した直後に設定できるオペレーターパネルというもので、特に円や球や円柱のときに頂点の数を修正するのに使います。
用途によって頂点の数を決めますが、頂点数は少ないほど編集が楽になるので、見た目とトレードオフで適宜決めます。それに、頂点数を3にすれば正三角形になりますし、10にすれば正十角形になりますので、多角形を作るときもここで設定します。
円形を作るときは、4の倍数の頂点で作ると、どの角度に回転させても均等な感じになりますよ。
オブジェクトの追加でよく使うもの解説
よく使うものをピックアップして簡単に説明します。最初はシンプルな形ですが、ループカットしたり、変形させたりして複雑な形状にしていきます。
Mesh > Plane … 平面の四角です。板ポリゴン1枚。よく使います。
Mesh > Cube … 立方体です。一番よく使うかも?
Mesh > Circle … 平面の円です。頂点数を調節して使います。
Mesh > UV Sphere … 立体の球です。頂点数を調節して使います。
Mesh > Cylinder … 円柱です。円と同じく頂点数を調整します。
Curve … カーブオブジェクトです。いろんなものに応用します。
Text … 文字です。メッシュ等に変換するまでは編集可能です。
Empty … 実体のないものです。目印にしたり、何かを制御するために使ったりします。
Light … ライトです。レンダリングする前に追加します。
オブジェクトの削除、点/線/面の溶解
オブジェクトの削除は、
Delete または X … (Objectモードで)オブジェクトの消去、(Editモードで)オブジェクト、点、線、面の消去方法の表示
となります。Objectモードでは何も聞かれずに実行したものが消されますが、Editモードで実行すると、どのように処理するか聞かれます。
この中から、何を消すか、を点 / 線 / 面 / 線と面だけ(点は残る) / 面だけ(点と線は残る)の中から選びます。
点(Vertices)を消去すると、つながっている線や面も全部消えますのでご注意ください。一方で線や面だけ消す場合は、面を貼りなおしたり、ポリゴンを割りなおしたりするときによく使います。
また、その下に溶解(Dissolve)というのがあり、これも点 / 線 / 面で選べます。これは、実行したものがなくなるのは同じですが、消したところが空白にならず、消した周辺がつながって「溶かす」ようになくす、というものです。線分上のいらない点を減らすときとかに用います。
さらにその下には限定的溶解(Limited Dissolve)があり、これは平面を分ける点や線を溶かしてメッシュをシンプルにするというものです。ただし、Unityなどに持ち込むときは、ポリゴンを4角形以下に必要があるので、Blenderでレンダリングを完結させない限りは、メッシュを割りなおす必要があります。
その下のCollapse Edge & Loopsは、消したものにつながっている点や線を一か所に集約させます。さらに下のEdge Loopsは、消去して残った点や線をつないでループ状に整えてくれます。
オブジェクトの複製とリンク
モデリング作業では、何かつくるときに都度CubeやUV Sphereから加工していくよりは、ある程度加工したものを複製して、それにさらに加工するほうが時短だったりします。オブジェクトの複製とリンクについて解説します。
オブジェクトの複製
オブジェクトの複製をするには、Objectモード、Editモード問わず、複製したいオブジェクトや、複製したい点/線/面を選択して、
Shift + D … オブジェクトや点/線/面の複製
(Shift + Dのあと)X / Y / Z … 複製したものを移動させる軸を指定
(Shift + Dのあと)S / R … 複製したものを拡縮(S)や回転(R)
(Shift + Dのあと)右クリック … 元と同じところに複製確定
といったように、複製後の動作も含めて操作ができます。複製直後は見た目が変わらなくて、知らずのうちに重なった点や線や面を作ってしまうことが多いのでご注意を。よくわからなくなったらEscを押します。
オブジェクトのリンク
複製と似ていますが「リンク」という複製方法があります。これは複製元が変更されたらリンク複製されたオブジェクトも同じように変更が反映されるというものです。Objectモード限定の機能で、オブジェクトを選択して、
Alt + D … オブジェクトや点/線/面のリンク複製
で、こうすると、リンクを解除しない限り、複製元の変更が反映され続けます。リンクされているオブジェクトの判別は、アウトライナー欄を見て、
別オブジェクトなのに同じ名前のメッシュを持っていることで確認できます。
リンクの解除は、オブジェクトを選択してから、上のObjectメニューから、Relations > Make Single Userを選択し、何の依存を解除するか選択します。
オブジェクトの分離、統合
先ほどから、ObjectモードとEditモードを行き来していますが、時には、異なるオブジェクトを一つのメッシュデータに統合したり、その逆で同じメッシュデータから一部を別オブジェクトとして分割したくなるときがあります。これらはよく使う操作なのでぜひマスターしましょう。
(Editモードでオブジェクトを選択して) P … 分離メニュー表示
(上記状態で) Selection … 選択したメッシュを別オブジェクトにします。(Lキーで選択してから実行すると便利です)
(上記状態で) By Material … マテリアルごとに別オブジェクトにします。
(上記状態で) By Loose Parts … つながっていないメッシュを別オブジェクトにします。
(Objectモードで) Ctrl + J … オブジェクトを統合
分割のときはPキー単独で、統合のときはCtrl + Jと、操作の仕方が若干ちがうのが気になりますが、この2つはよく使います。あと、Ctrl + Pをすると別の機能(ペアレント化)が実行されますのでご注意ください。
※UnityでVRChatのアバターなどを改変するときに苦労するメッシュの統合ですが、UnityではMesh Bakerなどの外部プラグインが必要で、操作手順が難しいのに対して、Blenderだと上のショートカットひとつで完了します。
メッシュを編集する
これまでは、(一部を除き)オブジェクト単位での操作の話が主ですが、ここから先はEditモード内でメッシュの編集をするときの操作についてご紹介していきます。
押し出し
選択した点・線・面を押し出す(引っ込める)ます。もっともよく使う加工方法の一つです。何かを選択したあとで、
E … 選択したものを押し出し
Eを押した直後に、マウスを操作すると押し出す方向を決められます。このときに、
X/Y/Zなどを続けて押すと、押し出す軸を指定できます。
右クリックを押すと、選択したものと同じ場所に重ねます。
Sを押すと、押し出しつつ、拡縮ができます。(軸指定可)
Rを押すと、押し出しつつ、回転ができます。(軸指定可)
また、面選択モードでの押し出しは、面の法線に向かっての押し出しとなります。Global座標(後述)に従わせたい場合は、X/Y/Zのキーを2回押すと、押し出し方向を替えられます。
さらに、
Alt + E … 押し出しオプションを表示
を押すと、複数の押し出し方を選べます。
Extrude Faces Along Normals … 法線に沿って押し出します。
Extrude Individual Faces … (複数の面を選択して)面を個別に押し出します。
Extrude Manifold … 引っ込めるとき、面の周囲の辺も一緒に縮みます。
どのオプションも、そこそこ登場する場面がある印象です。
これらも併用して、にょきにょきメッシュを押し出していきましょう。
差し込み
Editモードで、点や線を選択してループになっている状態か、面を選択している状態で、
I … 選択されているループや面の中に新しいループを差し込む
ができます。
ただし、すでに面の貼られているところにしか機能しません。面のないところでループを増やしたいときは、Eで押し出してからSを押して縮小させるとよいでしょう。
また、Mirrorモディファイア(後述)を施して左右対称になっているオブジェクトの中心で差し込みをかけたときに、もう一度Iキーを押すことで、その面の中だけに差し込むか、中心部分をまたがって差し込むかの切り替えができます。
ベベル
これも押し出しにつづき、本当によく使う操作です! ポリゴンの表現はどうしてもカクカクとしてしまいますが、角を切り取る操作をすることによって、縁を丸く見せることができます。お料理をされる方は、大根の面取りと同じ作業だというと分かりやすいかもしれません。
ベベルは、Editモードの機能で、点/線/面、いずれに対しても行えます。
(辺/面を選択して) Ctrl + B … 辺/面にベベルをかける
(点を選択して) Ctrl + Shift + B … 点にベベルをかける
(上記の状態で) マウスホイール … 分割数を調節する
(上記の状態で) P … 逆方向にベベルをかける
(上記の状態で) S … ベベルの大きさを押したときの幅で固定する
(上記の状態で) C … ベベルが頂点をはみ出ないようにする
このように、Ctrl + B を辺に対して実行してから、マウスホイールで分割数を調整したり、マウス移動で膨らみ具合を調整したりします。ベベルをかけた直後も、左下にプロパティが表示され、ここから様々な設定ができます。
あと、面白い機能があって、一番下のProfile TypeをCustomにして出てくるメニューで、ベベルの形状をプリセットから選んだり、書いたりできるのですが、これを施すことで簡単に階段が作れたりします。
ベベルを施す対象があまり複雑な線やループだったりすると、分割数や幅の設定によってはメッシュがぐちゃぐちゃになるので、なるべくシンプルな場所にかけてあげるといいかもしれません。それと、角の内側については、ベベルのMiter(=角を形成する継ぎ目)の設定を変えてあげることでも形がきれいになるのでお試しください。
ベベルの角度がおかしいときの対処
これは同じ直径の円柱なのに、ベベルをかけたときに違いが出てしまっています。ベベルのかかる幅がオブジェクトによって異なっています。
こうなるのは、ObjectモードでオブジェクトのS(スケール)を変更したことが理由です。もしObjectモードでスケール変更したあとに、メッシュを編集するときは、Ctrl + Aで、ApplyメニューからScaleをApplyしたのち、Editメニューに移行するとこの問題は解決できます。
ループカット
ループカットは、メッシュの格子の中間にさらにループを追加する操作です。ほんとうーっによく使いますので慣れておきましょう。Editモードでオブジェクトを何か選択した状態で、
Ctrl + R … ループカットします。マウスを動かして、切りたい方向を調節
(ループカット未確定状態で) マウスホイール … 分割数を調節します。
(ループカット未確定状態で) 右クリック … 均等に分割します。
(ループカット未確定状態で) E … 一方の辺に平行にします。
(Eキーを押した状態で) F … 反対の辺と平行にします。
(ループカット未確定状態で) 左クリック … 確定します。
ちなみに、三角形や円錐など、線分の一方の頂点をほかの線分とも共有しているメッシュとかはループカットできません。そういうときの対処法とか、その他応用方法など、詳しくは下記の動画がとても丁寧なので、見てみてください。
ナイフツール
ナイフツールは、メッシュに切り込みをいれることができるツールです。とても自由度が高いのですが、その分、使い方がやや難しいかもしれません。
ナイフツールを使うには、Editモードにして、
K … ナイフツールを起動。
(オブジェクト上で) 左クリック … 切り込みポイントを入れます。
(切り込み開始後) Shift … 重なる辺の中央にスナップします。
(切り込み開始後) A … 切り込む角度を制限できます(角度設定可)。
(切り込み開始後) X/Y/Z … 切り込みの軸を制限できます。
(切り込み開始後) C … 裏側もカットします。
(切り込み開始後) S … 切り込みの角度を表示します。
(切り込み開始後、2点以上左クリック後) 右クリック … 切り込みを終了します。
(切り込み開始後) 左ダブルクリック … 切り込みをループ化します。
(切り込み開始後) Enter … 切り込みを確定します。
(切り込み開始後) Esc … キャンセルします。
切り込みを入れている間はこんな風に紫色の線分が引かれます。右クリックで線分を閉じることができますが、最後に確定でEnterを押します。
ナイフツールは、点や線にスナップするようになっているので、それらに沿わせて切りたいパスをつないでいくとキレイにできます。
応用技として、Knife Projectionという機能があります。あるオブジェクトの形でオブジェクトを型抜きするというものですが、Objectモードで型抜きオブジェクトを選択した後、型抜きしたいオブジェクトを続いて選択し、Editモードに変えて、上のMeshメニューから Knife Projectを実行することで型抜きできます。
スピン
3Dカーソルを中心として、選択した点/線/面を円形にコピーできます。
(Editモードで) Shift + テンキー0 … スピンツールを起動します。
点/線/面のいずれかを選択し、3Dカーソルを中心に円周の範囲を確認して、+印のアームの上から左ドラッグすると、選択したものが円周上にコピーされていきます。最初は適当にまわしても、左下にオペレーターパネルが出るので、ここでStepsで割りの細かさ、Angleで角度を数値入力で指定できます。
Spinは、面にかけるとコピーされる過程で面が重複するので、点か線に対してかけていくのがおすすめです。
切り裂き
点か線を選択している状態で、
V … 選択している頂点や線を切り裂く
Alt + V … 切り裂きつつ、空いた隙間を埋める
ことができます(面に対しては適用できません)。
これを行うことで、閉じた形状を開いてさまざまな形に展開できます。
上で紹介したナイフツールとか使ったときも、メッシュは分離しないので、ナイフツールを使ってできたループに対して、Vキーを適用すると切り離せます。
切り離し
Editモード状で、点か線を選択している状態で、
Y … 選択している点や線や面を切り離す
ことができます。同じ位置、同じ角度で実行されるので、一見なにも起きませんが、適宜、動かすなどして利用します。点や線のときはコピーで、面のときは文字通り切り離しとなります。
接続・面張り
Editモード上で、離れた点を選択したり、面の貼られていないループを選択して、
F … 線の接続 / 面貼り
が、できます。
便利なテクニックとして、面の貼られていない規則的なメッシュを見つけたら、メッシュの端の線を選択してFキーを押し、続けてFキーを押すと、連続して面が貼られます。時短技として、格子状のメッシュにお試しください。
頂点を追加
オブジェクトを作らなくても、何もないところに頂点を追加する方法があります。後述するスクリューモディファイアを適用させる線分を作り始めるときなどに便利です。Editモードで、点選択モードにして、
Ctrl + 右クリック
で、頂点を追加できます。すでに選択されているものがある場合は、そことつながるように頂点が追加されます。
辺や面を分割
メッシュを細かくするために、ループカットほどではないけど、ポリゴンを整えるために線分上に点を追加したくなったりします。そういうときは、
(線分や面を選択した状態で) 右クリック → Subdivide
で、均等に分割できます。この操作の直後に左下にオペレーターパネルが出るので、そこでNumber of Cuts の数字を調整すると分割数を変更できます。
面に対してSubdivideをかけると、格子状に分割します。
4×4マスになっていますが、分割数3なので、縦横とも3本ずつ割った、ということになります。
多角形の分割
メッシュは正しく表示するためには、最終的には四角形以下にしておく必要があります。もし貼ろうとする面の頂点が4つ以上の場合は、うまく分割しましょう。円柱をサンプルに処理方法を示します。
多角形のループを選択した状態で、Ctrl + F … Faceメニューを表示 します。
Poke Face … 扇状に分割
Triangulate Faces … 三角形に分割
Fill … 三角ポリゴンで埋める
Grid Fill … 格子状に埋める(頂点数が偶数のときのみ)
点の結合
メッシュはシンプルであるにこしたことはありません。不要な点は結合して一つにまとめることができます。
(点を複数した状態で) M … 結合メニューを表示
(上記状態で) At Center … 選択したもの同士の中央で結合します。
(上記状態で) At Cursor … 3Dカーソルの位置で結合します。
(上記状態で) Collapse … 直接つながってるところのみで結合します。
(上記状態で) At First … 最初に選択した点に対して結合します。
(上記状態で) At Last … 最後に選択した点に対して結合します。
あと、便利な機能として、なんらかの操作で点が同じ場所に重なってできてしまったりした場合に自動でマージしてくれる設定があります。
右上のOptionsメニューから、Auto MergeのチェックをOnにして、下のThreshouldの数値をいれると、この数字以下の距離で点が作成されると、もともとあった点にマージされます。
上記とは別に手作業で重なっている点をマージするときの注意点としては、ViewportシェーディングをSolidなどにしておくと、重ねる点をまとめて選択しているつもりでも、手前側の点だけ選択していて、その裏にある点が選択できていないことがあるので、点の重なりを処理するときは、ワイヤーフレームか、Alt + Zで透過モードにしておくことをおすすめします。
メッシュを変形させる
これまではメッシュを細かく編集する方法について述べてきましたが、ここからはメッシュ全体を大胆に変形する方法をご紹介します。Editモードでメッシュを選択すると、メニューバーのMesh > Transformからたどれるものたちです。
球状化する(To Sphere)
角ばったものを丸くしたいときに用います。ショートカットは
Shift + Alt + S … 球状化開始
です。実行した後に、マウスを動かすか、左下のオペレーターパネルでFactorを入力すると丸みが調節できます。1にちかいほど球に近づいていきます。
傾ける(せん断、Shear)
オブジェクトの原点を起点に、軸に沿って傾けたい方向にマウスで傾かせます。ショートカットは、
Shift + Ctrl + Alt + S … シアーの開始
です。開始後、左下のオペレーターパネルでも調整できます。
反転する(Mirror)
メニューの並びからは外れますが、このあたりの変形メニューの中でも欠かせないのが反転です。元のメッシュを軸にそって反転します。これは、Objectモード、Editモード共通で使える機能です。
Ctrl + M + X/Y/Z … X/Y/Z軸に対して反転する
Mirrorは、グローバルとローカルのどちらの座標系を使うか(後述)、X/Y/Zのどの軸で反転するかを選べます。とくにオブジェクトを回転させてTransformをApplyする前は、ローカル座標での反転も使うかもしれません。
Objectモードではオブジェクトの原点(後述)を中央に反転がかかり、Editモードではメッシュのある場所で反転が行われます。
例えばの使い道として、使いたいメッシュをShift +Dで複製→Mirrorで反転→点でのスナップ機能(後述)をOnにして重ねたい点や線までGで移動→重なった点などをMキーでマージして一つのメッシュにする、などの手順はよくやります。
曲げる(Bend)
Editモードで曲げたいメッシュを選択し、
Shift + W … 曲げ操作開始
(上記状態で) 左クリック … 操作の確定
で、あとはマウスの上下左右で曲げる方向を指定できます。曲げの起点は3Dカーソルになっているので、どこから曲げるか、3Dカーソルを動かして調節します。また、曲げる方向の軸を指定できないので、見取り図にしてから操作されるのがよいです。
メッシュを曲げる方法はSimple Deform、Lattice、Curveを使った方法など、他にもあるので、モディファイアの項目で述べます。
ランダム化する(Ramdomize)
選択したメッシュをランダムに崩します。地面など、自然物を作るときに使えるかもしれません。
Amountで頂点の移動量を決めます。Uniformの数値では凸凹の度合いを強めて、Normalは面の法線に従う強さです。
縮ませる/膨らませる(Shrink/Fatten)
選択したメッシュを膨らませたり、縮ませたりします。先ほどの球状化とはちょっとちがう膨らみ方です。
Alt + S … 縮ませる/膨らませるの開始
あとはマウス操作かオペレーターパネルで調整ができます。
メッシュの編集操作の応用
ここまで読み進めてきたら、だいぶBlenderの使い方にも慣れてきたころかと思いますので、あらためてG(移動)、R(回転)、S(拡縮)といった基本的な動作に立ち返って、それをより便利に使う操作法について述べていきます。
G(移動)の応用
(Editモードで点/線/面を選択状態で)G → G … 辺の上を移動
(上記状態で)Cキー … 辺の延長線上まで移動
G → X/Y/Zのどれかを2回 … ローカル軸に沿って移動
Alt + G … 元の位置(Transform適用前)に戻す
(Gで動かしている状態) Ctrl + マウス操作 … 近くの面にスナップする
R(回転)の応用
(Editモードで点/線/面を選択状態で)R → R … オブジェクトの重心を軸にどんな方向にも回せる
Alt + R … 元の向き(Transform適用前)に戻す
S(拡縮)の応用
Alt + S … 元の大きさ(Transform適用前)に戻す
複数の点をある位置に揃えたいときに、Sはとても有用です。複数の点を選択したあとに、S → X/Y/Zの揃えたい軸 → 0 と押すと、ちょうどそれらの点の中間のところに揃えてくれます。X/Y/Zを指定せずに0を押すと、1点に集約されます。よく使うテクニックなので覚えておきましょう。
プロポーショナル編集
移動、回転、拡縮ですが、これらを影響させる範囲を調節させながら操作することができ、これをプロポーショナル編集といいます。
プロポーショナル編集を使うためには、上の画像の3重丸のところをクリックして有効にするか、
O … プロポーショナル編集のON/OFF
(上記有効状態で)マウスホイール … 影響範囲の調節
のショートカットでも有効化できます。
これを有効にすると、画面中央にグレーの円が出て、これは影響範囲の大きさを示しており、マウスホイールで影響範囲を調節できます。
また、影響範囲だけでなく、影響の形状も大きく掬う、つねるように引っ張る、など、さまざまなものがありますので、場合によって使い分けできます。
数値による入力
手動操作での端数がきもちわるかったりとか、寸法図に従って正確に編集したいときは数値入力も便利です。そんなときは、Nキーを押してサイドパネルを表示し、Itemのタブを開くと、
選択している点、線(線分の中心)、面(面の中心)の座標がこのように数字で出ますので、この中の数字を直接書き込むことでも実行できます。また、数字はGlobal座標系(シーンの赤緑青の交点が0)、Local座標系(オブジェクトの原点が0)で表示されますので、そこも切り替えてください。
また、オブジェクトそのもののTransformは右側のプロパティパネルの四角いアイコンで開くTransformの情報に入っています。これはTransformをApplyする前の情報が書き込まれており、ここを数値入力することでもObjectモードでの移動、回転、拡縮と同じことができます。(TransformをApplyするとすべて0になります)
数値入力枠の隣には南京錠のマークがありますが、一度変形させたあと、この軸は動かしたくないよーってときは、ロックをOnにすると、不意の変形を防げます。建築物のモデリングなど、オブジェクトをパーツ化して、寸法を正確に測ってやりたいときなどに便利です。
概念:単位
デフォルトだと1マスが1m、数字の1が1mです。
なので、Gなど移動で数字を入力するときは1=1m、0.01=1cm、0.001=1mmとなります。デフォルトの画面でモデリングをしていると大きいスケールで扱っていることが多いので、Unityに持ち込むときは、実際の大きさに合わせて縮小しましょう。
編集操作の時短テク
ほかにも便利なテクニックがあります。
Shift +R … 前回の操作の繰り返し
たとえば、Eで押し出してZで軸を指定してマウスドラッグで移動したあとにこれをすると連続的に押し出したり、Shift + D → マウスドラッグなどでオブジェクトを複製、移動したあとに、これを実行すると連続的にオブジェクトを複製できます。
頂点グループで選択作業を楽にする
頂点グループを使いこなすと、込み入ったモデルの修正に便利です。メッシュは複雑になればなるほど、選択作業が大変になってきます。そこで、あらかじめ選択した点を頂点グループとして登録して、好きなときに呼び出せるようにする機能があります。
プロパティ欄から、頂点グループ(Vertex Groups)のところを開き、右端の「+」で頂点グループを作成してから、左下のAssignをクリックすれば登録完了です。
登録した頂点グループを呼び出したいときはSelectを押し、頂点グループから不要な点を取り除きたいときは、それらを選択した状態でRemoveを押せば外れてくれます。
下絵を置いてトレースする
モデリングをするにあたって、上面や側面の見取り図を用意しておくと形を正確に作りやすくなります。下絵を取り込むには、Objectモードで、
Shift + A → Image → Refernce
で画像を選びます。
読み込んだら、適宜、Rキーで回転や、Sキーで拡縮して向きや大きさを合わせます。また、このままだと画像の裏にあるオブジェクトが見えなくなってしまうので、画像のプロパティから「Opacity」を適度に下げると透過表示になって見やすくなります。
ポリゴンの裏表、ノーマル(法線)について
3Dモデルの面には、実は裏表があります。
この裏表はやっかいで、さまざまな場所で3Dモデルデータを使う場合、場合によっては裏面が表示されないこともあるので、気にしておく必要があります。
これが変だと、モデルの影がおかしかったり、面がちらちらしたりします。面の向きというのは何か、裏表がどうなっているか確認する方法を述べます。
上部のメニューから丸が二つ重なっているアイコンの隣にある下向き矢印をクリックして、Viewport Overlaysメニューを出し、その中の下の方にある「Face Orientation」にチェックをいれます。
そうすると、ポリゴンが表向きなところは青、裏返っているところは赤で表示されます。このモデルの場合、
すべて赤だったので、これは直さないといけません。直すには、Editモードでメッシュを選択し、
Alt + N … Normalメニューの呼び出し
Flip … 面の裏表をひっくり返す
Recalulate Outside … 面を外側に向けるよう再計算する
Recalulate Inside … 面を内側に向けるよう再計算する
というのがあるので、Recalucurate Outsideを実行します。
Mirrorモディファイア(後述)、Screwモディファイアなど(後述)で、自動的に造形すると、それを作った点や線や面の状態によって、意図せず裏返ったりすることがよくあります。Face Orientationでたまに具合をチェックしながら、修正していきます。
また、法線の向きを見ることができます。これは人の顔など、連続的な曲面を調整するときに、変な面の向きがないかチェックするときなどに役立ちます。Mesh Edit Mode OverlaysでNormalsのところにチェックを入れると、押したアイコンと同じような法線が表示されます。
ポリゴン数のチェック
アバターの制限とかでポリゴン数のことを気にしなくてはいけないときがありますが、先述のViewport OverlaysのStaticticsのところをチェックすると、選択中のオブジェクトの頂点数、線の数、面の数、ポリゴンの数を表示できます。
便利機能として覚えておくといいかもしれません。
座標、カーソル、原点、Transformについて
座標
座標というのは、あるオブジェクトがどこにあるか、どっちを向いているかを表すにあたっての、ものさしとなる考え方です。同じ場所に存在するオブジェクトでも、ものさしが変わるとその情報や挙動が変わります。
Blenderで位置、回転、倍率を表す情報をTransformと呼びますが、そのTransformを表現する座標は以下の7種類があります。
グローバル … 普段見る、X(赤)、Y(緑)、Z(青)の座標軸で、不変です。
ローカル … オブジェクトの中の座標軸です。移動や回転で変わります。
ノーマル … 選択したものの法線の向きがZ軸になります。
ジンバル … 回転モードで変わる座標軸です。アニメーションで使う。
ビュー … 表示している画面で左右がX、奥手前がY、上下をZとします。
カーソル … 3Dカーソルの場所や回転で座標軸が変わります。
ペアレント … ペアレント時の親オブジェクトを原点とする座標軸です。
これらのTransform座標をメニューバーの上で変えると、G(移動)、R(回転)、S(拡縮)について、X/Y/Zの軸を指定したときの方向が変わります。
たとえば、球体で面の一つを選択して、Z方向に移動させるとします。Global座標だとこうなります。
一方で、Transform座標系をノーマル(Normal)に変更のち、Z方向に移動させようとするとこうなります。法線の向き=Z軸となります。
違いがお分かりいただけましたでしょうか。また、このTransform座標系の変更はG/R/Sを実行したときに、簡易にできるように、X/Y/Zのいずれかを2回押すことでグローバル座標←→ローカル座標の切り替えができるようにもなっているのでお試しください。
3Dカーソル
3Dカーソルは、オブジェクトを新規作成するときにここから出てくる場所、ということと、何か変形させたり、回転をさせたりするときに基準に用いることができます。
とくに、
オブジェクトを回転させるときのピボットポイント
オブジェクトの原点(後述)の変更
でよく使いますので、自在に位置を替えられるようにしておくとよいです。上記2つはこの先の項目で述べますので、3Dカーソルの移動にまつわるショートカットを掲載します。
Shift + 右クリック … クリックした場所に3Dカーソルを移動
Shift + S … 3Dカーソル、移動関係のパイメニューを出す
Shift + S → 1 …. 3Dカーソルをワールド中心に戻す
Shift + S → 2 … 3Dカーソルを選択したオブジェクトに移動する
Shift + S → 8 … 選択したものを3Dカーソルに移動する
Shift + C … ワールド中心に戻す
3Dカーソルがどこかに行ってしまって、戻したくなったら、Shift + Cを実行しましょう。
原点
原点は、それぞれのオブジェクトの中に一つずつあり、オブジェクトを選択しているときに見える黄色の点のことです。このオブジェクトの原点を軸にしたり、起点にしたりして、いろんな移動、回転、変形作業を行います。デフォルトでは、作成したオブジェクトのちょうど中央に位置しています。
この原点、意図せずころころ変わってしまうことがあります。
例えば、Objectモードでオブジェクトを移動すると、原点も一緒に移動しますが、Editモードでメッシュを移動しても原点が動くことはありません。なので、必要に応じて変えられるように以下操作法です。
(Objectモードで)オブジェクトを選択した状態で、右クリックしてObjectメニューを開き > Set Originから任意の操作を選びます。
選択肢は5つあり、特にこの3つをよく使います。
Geometry to Origin … オブジェクトを原点へ移動
Origin to Geometry … 原点をオブジェクトに移動
Origin to 3D Cursor … 原点を3Dカーソルに移動
Origin to Geometoryでオブジェクトの中心に原点を戻すことができますし、逆にGeometry to Originは原点のある場所にオブジェクトを移動させます。上記項目で任意の場所に3Dカーソルを移動してから、Origin to 3D Cursorを実行すると、好きな場所に原点を移動できます。
また、Objectモードで、オブジェクト選択中に、
(Objectモードで) Ctrl + .(ピリオド) … オブジェクトの原点移動モード
これをすると、オブジェクトの原点にX/Y/Zの向きが出て、GやRで原点を移動できるようになります。
ピボットポイントの設定
ピボットポイントとは、オブジェクトを回転させたり、拡大させたりするときの中心となる場所を指します。どういうことかというと、
この大事なピボットポイントの変更は手順は2ステップです。
1. 何をピボットポイントにするか指定する。
2. それを自分のほしい位置に持ってくる。
です。
まずピボットポイントの変更は上部のメニューか、ショートカットを起動して行います。
. (ピリオド) … Transforom Pivot Pointパイメニュー起動
Bounding Box Center … (ざっくりと説明すると)オブジェクトの中心
3D Cursor … 3Dカーソル
Indivisual Origins … それぞれのオブジェクトの原点
Median Point … 選択したオブジェクトの中間
Active Element … アクティブなオブジェクト(黄色い線で囲まれたもの)
の5種類があり、よく使い分けるのは、Bounding Box Centerと3D CursorとActive Elementの3種類です。Editモードの編集で最後に選んだ点をActive Elementとすると、そこをピボットポイントにできるのでとても便利です。
あと、作業を終えたあとに、ピボットポイントの設定を変えたことを忘れてなんかヘンだな?って思うこともあるので、使い終わったあとはデフォルト設定に戻しておくといいかもしれません。
スナップ
正確にオブジェクトを移動させたり、ぴったりと点や線や面を合わせたいときに役に立つのがこのスナップ機能です。Objectモード、Editモード共通の機能です。
使うためには、メニューの磁石の形をしたアイコンをクリックして有効状態にして、その隣の設定メニューから何に対してスナップするかを選択します。
何に対してスナップするか、対象を細かく選びます。たとえば、点に対してのスナップですと、ほかの点に近づいた瞬間にスナップして、くっついていることを明示してくれます。
軸を指定して動かしたり回転したりするときも、離れた点などに対してもスナップしてくれるので、位置を合わせたり揃えたりすることもきっちりできます。詳しくは下記のドキュメントを読んでください。
オブジェクトの整列
複数のオブジェクトを、あるオブジェクトを基準に整列したいときは、メニューから操作を行えます。
赤いオブジェクトの底面にほかのオブジェクトを合わせるとします。動かしたいオブジェクトをShiftを押しながら選択し、最後に赤いオブジェクトをクリックして、黄色枠で囲まれていることを確認します。
その後、メニューのObject > Transform > Align Objectsを実行します。
すると、どこを基準にするか(Align Mode)と、どの軸にするか(Align)を左下のオペレーターパネルで聞かれるので、Align ModeをNegative Sides、AlignをZにします。
Align Mode … オブジェクトたちをどこで揃えるか
Negative Side … (軸に対して)マイナス方向側で合わせる
Centers … オブジェクトの中心で合わせる
Positive Side … (軸に対して)プラス方向側で合わせる
Relative To … オブジェクトたちを何に揃えるか
Scene Origin … シーンの原点
3D Cursor … 3Dカーソル
Selection … 選択しているものすべて
Active … (最後に選択した黄色い枠の)オブジェクト
Align … オブジェクトを揃える軸。X/Y/Z軸。
すると、赤いオブジェクトの底面でオブジェクトが整列しました。
トランスフォームの適用
トランスフォームとは、オブジェクトの位置、回転、大きさなどの情報ですが、Objectモードでのこれらの操作は、オブジェクトそのもの情報とは別に保持しています(Editモードでオブジェクトを全選択したときと状態が異なります)。これをオブジェクトそのものの情報にするときに、トランスフォームの適用(Apply Transform)を実行します。
たとえばUnityに持ち込んだとき、Blenderでの見た目と全然ちがう形で反映されたりとか、Blenderの中でCurveモディファイア(後述)を使うときに、対象となるオブジェクトが思ったように沿ってくれないときなどに実行します。
Objectモードにして、オブジェクトを選択した状態で
Ctrl + A … Applyメニューを起動
Location … 位置だけ
Rotation … 角度だけ
Scale … 倍率だけ
All Transforms … すべてのトランスフォーム(上3つ全部)
Rotation & Scale … 角度と倍率
これを実行すると、どんなに傾いていても、遠くに離れても、それがそのオブジェクトのもともとの情報となりますので、ご留意ください。
Unityで使うために.FBX形式で書き出すときにも、適用オプション(テスト機能だそうです)がありますので、特に意図がないときはチェックをOnにして書き出すとよいでしょう。
カーブ(スプライン)
Blenderでは、点と線と面で構成されるポリゴンモデリング以外のモデリング方法を備えており、カーブ(スプラインともいいます)はその一つです。
これは、Adobe Illustratorをお使いの方にはおなじみの、ペンツールを用いて線を引き、点についているハンドルを伸ばしたり縮めたり向きを変えたりして、曲線を描いていくやり方です。
形を描くだけでなく、曲線を膨らませて立体的にしたり、数あるオブジェクトをこのカーブに沿わせたり、さまざまな使い道があります。また、Adobeみたいに平面ではなく立体なので、点の向きや、ハンドルの向きもXYZの3軸で示されます。
これを使うには、ObjectモードでShift + Aを押し、AddメニューからCurveを下っていきます。
ここでこのカーブの中に、Bezier(ベジェ)とNurbsと2種類があるのですが、カーブの操作方法が異なります。BezierはAdobeと同じハンドルを動かすタイプで、NURBSはカーブの外枠を動かして形をつくるタイプです。後者は形を作る自由度は低いですが、レンダリングのときに処理が早くなるみたいです。
ここから先は、Bezierでの操作方法を掘り下げます。
Bezierを追加して、Editモードにすると、このようになります。立体の中での扱いなので、作業にあたっては2次元の見取り図にしてから進めることをお勧めします。
操作の基本
点またはハンドルの両端にある黒丸を選択して、先ほどまでの操作と同じく、Gキーを使って移動ができますが、いちいちXYZキーを押すのは面倒なので、このときは左のツールバーからカーブ関係のツールを活用しましょう。
上から、
Draw … フリーハンドでカーブを描けます。
Curve Pen … 点やハンドルを動かしたり、追加できます。
Extrude … 点の先に「同じ形状で」新たな点を作ります。
と3つありますが、主に使うのは真ん中のCurve Penツールです。
これにツール変更して、元あるカーブをA -> Deleteで消して、好きな形を描いていきましょう。
左クリック … 点の追加
(点を選択状態で)左クリック … 線をつなぎ鋭角の点を追加
(点を選択状態で)左クリック + ドラッグ … 線をつなぎ鈍角の点を追加
(点の上で) 左ドラッグ … 点を動かす
(ハンドル上で) 左ドラッグ … 片方のハンドルを動かす
(ハンドル上で) 左ドラッグ + Shift押下 … 両方のハンドルを動かす
(ハンドル上で) 左ドラッグ + Ctrl押下 … ハンドル固定で別カーブを動かす
(ハンドル上で) 左ドラッグ + Alt押下 … 軸に沿ってハンドルを動かす
(2つの点を選択して) 右クリック → Subdivide … 中間に点を作る
(点の上で) Ctrl + 左クリック … 点を消す
別のツールをクリック … Curve Penの終了
ハンドルの種類
ハンドルには種類があり、途中から別のタイプに変更できます。
Automatic … 自然なカーブにします。
Vector … 直線でつながる鋭角にします。
Aligned … その点を直線に近づけます。
Free … 2本のハンドルを自由な向きで動かせるようにします。
Toggle Free&Aligned … FreeとAlignedを切り替えます。
これらは、点を選択した状態でVキーを押すと呼び出せます。
その他の操作
点の移動 … (点を選択状態で) G ※点の周辺含めて移動します
点の回転 … (点を選択状態で) R ※点の周辺含めて回転します
点の拡縮 … (点を選択状態で) S ※点の周辺含めて拡縮します
点の押し出し … (点を選択状態で) E
点と点を接続 … (複数の点を選択状態で) F ※閉じた点には使えません
G、R、Sに関しては軸の指定や、Oキーでのプロポーショナル編集など、これまでに出てきた操作方法はだいたい使えます。点だけでなくハンドルポイントについても操作できます。
カーブからメッシュへの変換
作ったカーブをメッシュにすることによって、立体的な造形をしやすくなります。Objectモードにして、カーブを選択した状態で右クリックをしてObjectメニューから、Convert To > Meshを実行します。
そうすると、カーブがメッシュになり、ここからメッシュの編集が可能になります。
カーブからメッシュの変換にあたっては、デフォルトままだと頂点数が多くなりすぎるので、カーブプロパティパネル(右下よりカーブのアイコンをクリック)から、Resolution Prebviewの値を下げることで、頂点数を抑えることができます。
また、メッシュをカーブに変更することも可能で、逆の手順を行います。カーブに変換すると、NURBSカーブになります。それをCurveメニューからSet Spline TypeでBezierにするとベジェ曲線に変換できますが、最初のカーブとは異なり、メッシュのときの点と線を引き継いだものとなります。
カーブのプロパティパネルで出来ること
(後日更新)
カーブの応用
Curveモディファイア(後述)を用いてオブジェクトをこのカーブに沿って変形させたり、Alleyモディファイア(後述)も併用して、同じオブジェクトをカーブにそって連続的に配置をしたり、カーブに沿ってオブジェクトを動かすアニメーションを作ったり、様々な応用がありますので、後で述べます。
オブジェクトの親子関係
オブジェクトには親子関係を紐づけられます。どういうときにそうするかというと、
複数のオブジェクトを一つのまとまりのように扱いたい
あるオブジェクトに対して、あるオブジェクトの影響を及ぼしたい
というときに使います。ペアレントの設定は、最初に子となるオブジェクトたち(複数可)を選択し、最後に親となるオブジェクトをShift + 左クリックで選択して、親がちゃんと黄色い太枠で囲われているのを確認できる状態で、
Ctrl + P … ペアレント設定メニュー表示
(上記状態で) Object
(上記状態で) Object (Keep Transform)
(以下省略)
と表示されるので、Object(Keep Transform)を選択します。すると、親オブジェクトを移動させたときに、子オブジェクトが同じようについてきます。
ペアレントを解除するときは、親子関係にあるオブジェクトをShiftを押しながら選択して、
Alt + P … ペアレント解消メニュー表示
(上記状態で) Clear Parent … 子オブジェクトをもとの位置に戻して解除します。
(上記状態で) Clear and Keep Transformation … 子オブジェクトは今ある状態を維持して解除します。
を選ぶと解消できます。親子関係を紐づけるときは、選択の順番が大事なので「洗濯は・子供が先で・親最後」と俳句を詠みながら実行しましょうw。
よく使うモディファイア
モディファイアとは、元のオブジェクトに影響を与えることなく、加工を自動的に加える操作のことです。Applyという確定操作をするまでは、狙った効果が出るように何度もやり直しをしたり、うまくいかなかったら無効化もできます。手で行うにはあまりに大変な変更内容だからこそ、いつでも元に戻せるのはとても使いやすくなっています。
たくさんのモディファイアがあるので、よく使うものを中心に効果や使い方を解説していきます。
Subdivision Surfaceモディファイア
モディファイアのなかでも最も登場頻度が高いのがこれです。メッシュのは点と直線の集合体なので、Solidにしてみると、どうしてもカクカクしてしまいます。それを滑らかにするものです。
ただし、Apply(適用)する前は、実際のポリゴン数は変わりません。最初から細かいメッシュで作業すると、データが重くなったり、頂点が増えすぎて選択したり加工したりするのが大変なところ、これを使うと画面表示は滑らかだけどメッシュの粗さはいままで通りで、仕上がりを確認しながら作業できて、最後にApplyすると、見た目どおりのメッシュに細分化されます。
使い方は、Objectモードにして、それをかけたいオブジェクトを選択し、右下のプロパティ欄のところから、スパナマークのアイコンをクリックしたタブから「Add Modifier」ボタンを押し、Generate > Subdivision Surfaceを選択することで追加できます。
すると、このような枠が追加されました。この枠一つ一つがモディファイアの設定で、設定内容はモディファイアごとにそれぞれあり、また、複数のモディファイアを重ね掛けができます。また重ね掛けするにあたって、順番が見た目や効果に影響を与えますが、その話は本項の一番最後で触れます。
Subdivision Surfaceの設定項目を見ていきます。
まずスイッチがあって、Catmull-Clark(メッシュが細分化されて見た目もつるつるに変わる)と、Simple(メッシュが細分化されるが見た目は変わらない)の2通りがあります。滑らかにしたい場合は前者を選び、もともとのゴツゴツ感を活かしたい場合は後者を選びます。
その下にLevelsという項目があり、ViewportとRenderとあります。ここの数字が大きいほど滑らかになり、Viewportは作業画面時での見た目、Renderはレンダリング時の見た目を指します。
あまり細かくすると、あとで適用したときにデータが重くなったり、管理が大変になるので、作りたい形がどれだけ複雑かにもよりますが、Unityに持ち込むときは最大で2くらいにして、Blenderでレンダリングするだけなら好きなだけ上げていいと思います。
そしてモディファイア名の右隣に並んでいるこれらアイコンは、どのモディファイアでも共通で表示されるものです。
▽はOn Cage状態でデフォルトではOFFになっており、これをOnにすると、Editモードでメッシュを編集するときに、モディファイアをApplyされた状態でActiveの黄色線が表示されるようになります。
□はEditモードでモディファイアがApplyされた状態を表示するかどうか
モニタアイコンは作業画面(Viewport)上でモディファイアがApplyされた状態を表示するかどうか
カメラアイコンはレンダリング時にモディファイアがApplyされた状態にするかどうか
下向き矢印は、適用などをするときに出すメニュー
×は、このモディファイアの消去
です。一時的にモディファイアをかけたくないときは、上のチェックから表示を一時的に隠したりするとよいでしょう。
ショートカットでは、
(モディファイアパネルの上で) Ctrl + A … モディファイアの適用
(モディファイアパネルの上で) Shift + D … モディファイアの複製
があります。モディファイアは適用するとUndoしない限りもとには戻せませんが、適用する前ならつけ外し自由です。
そんな折、意気揚々とSubdivision Surfaceを円柱にかけようとしたら、思いもよらないことが起きました。
これは、円柱の上下の縁も丸めてしまうことによりこうなっています。これを防ぐには、あえて滑らかにしてほしくない辺に対して「クリース」というものをかけます。
(Editモードで辺を選択後) Shift + E → ドラッグ … クリースをかける
クリースには適用量があります。マウスを大きく動かすと、0 - 1の間でどれくらい角張らせるかを好きな感じで調節できます。
クリースをかけた辺はかかり度合いで赤紫色の線の太さが変わります。丸めたくない場所はこのように辺に対してクリースをかけていきましょう。
Arrayモディファイア
これもよく使うモディファイアです。たくさんの同じオブジェクトを配置するとき、手でコピーして一つずつ置かずにこれをどう使うかをまず考えます(配置に規則性のあるものはさらにです)。最強時短テクのひとつです。
使い方は、対象となるオブジェクトにArrayモディファイアをかけて、各種設定を行うだけです。
Fit Type … どんな風に並べるかを指定します。
Fixed Count … Count欄でオブジェクトを置く数を設定します。
Fit Length … Length欄でオブジェクトを置く長さを設定します。
Fit Curve … 指定したCurveの長さに合わせて配置します。(Curveの形は無視されます。長さだけ参照されます)※カーブに沿って配置したいときは、Arrayモディファイアの下にCurveモディファイアも追加して、Curve Objectに任意のカーブを指定する必要があります。
Relative Offset … オブジェクトの大きさを1として間隔を設定します。
Factor X/Y/Z … どの軸に並べるかを指定します。
Constant Offset … オブジェクトの間隔を距離(1=1m)で指定します。
Distance X/Y/Z … どの軸に並べるかを指定します。
Object Offset … 対象となるオブジェクトと同じように変化させます。
Merge … 配置したオブジェクトの点/辺/面が指定の数字より小さい場合にマージします。
First and Last Copies … これにチェックすると、最初と最後のオブジェクトもマージ対象にします。円形に並べるときに使うかも。
UVs … これを設定すると、Arrayを適用したときにコピーされるオブジェクトごとに、UVの配置をずらせます。
Offset U/V … U(横)方向、V(縦)方向にどのくらいずらすかを指定します。1=テクスチャの全幅です。
Caps … ここにオブジェクトを指定することで、最初と最後の配置だけ別のオブジェクトを並べられます。
Cap Start/End … 上記で指定するオブジェクトです。
Offsetの形式は、複数重ね合わせて使えます。
Object Offsetは使い方が難しいですが、便利なので深く掘り下げて解説します。下記は、トラスのオブジェクトとは別に、X: -10m、Y: 2m、Z: 6mの場所でY軸で30度回転させたEmptyを打ち、それをObject Offsetに指定しています。
これにより、元のトラスは1つコピーするごとにEmptyの位置と回転角を反映させています。この状態でEmptyを動かすとArrayの結果も変わります。EmptyのScaleも反映します。(もしEmptyのScaleを触っていないのに規則的に大きくなったり小さくなったりしたときは、元オブジェクトのTransformを疑ってみてください)。
Mirrorモディファイア
Mirrorモディファイアは、左右対称のオブジェクトを作るときに便利です。中心に対して片側のメッシュを変形すると、もう片方も左右(上下)対象にその変更が反映されるため、両方を都度触らなくてもよくなります。
このMirrorは、オブジェクトの原点を中心に左右(上下)対象となりますので、
ちょうどミラーをかけたときに中央となる部分に原点があることを確認しましょう。
設定の詳細を見ます。
Axis … 指定された軸のマイナス方向にミラーします。
Bisect … Axisの軸で、反対側にはみ出したメッシュをカットします。
Flip … Axis、Bisectで指定した軸で、反対側にはみ出したメッシュを左右対称でくっつけます。
Mirror Object … 指定したオブジェクトをミラーの基準にします。
Clipping … ミラーしたときに、ミラーの軸に元のオブジェクトの頂点を縛り付けます。チェックを入れた状態で、元オブジェクトを動かすと、ミラーの軸から伸びるようになります。
Merge … ミラーの軸を境に、指定した距離よりも短い頂点をつなげます。
Bisect Distance … Bisectするときに、指定した距離より短い頂点をマージします。
※Mirrorモディファイアを使うための下ごしらえを一気にやってくれる「Auto Mirror」というアドオンを下の項目で紹介していますので、そちらもご参照ください。
Booleanモディファイア
ブーリアンとは、いわゆる型抜きで、オブジェクト同士が重なっているところをくりぬいたり、結合したりする機能です。複数のオブジェクトをそのようにして複雑な形にするのに役立ちます。
使うためには、2つのオブジェクトを用います。一方のオブジェクトにこのBooleanモディファイアをかけてください。
Intersect … 2つのオブジェクトの重なっている部分だけを残します。
Union … 2つのオブジェクトを合体させます。
Difference … もう一つのオブジェクトで元のオブジェクトをくりぬきます。
Operand Type … Objectでかけるか、Collectionでかけるかを決めます。
Object … Objectを選んだときに指定するオブジェクトです。
Collection … Collectionを選んだときに指定するコレクションです。
Solver … ブーリアンをかけるときの計算アルゴリズムを指定します。
Fast … 処理は早いですが、重なりあうオブジェクトを考慮しません。
Exact … 処理は遅いですが、重なるオブジェクトを考慮します。
Booleanをかけるときは、結果を見やすくするためにもう一つのオブジェクト(=上の図の球体の方)はHキーを押して非表示にするとよいです。
Screwモディファイア
ろくろで作れるもの、つまり、左右対称で上からみると円形のものを作るなら、Screwが大変便利です。
という風に、ビンやコップや壺を作るが一撃でできます。このあと、ScrewモディファイアをApplyし、裏返っている面があれば修正します。
ほか、主要な設定項目をみると、
Angle … 一回の回転角度
Screw … 回転の中での上下にずれの幅
Iteration … 繰り返す回数
Axis … 回転の軸
Axis Object … 回転の基準となるオブジェクトを指定します。
その際、Emptyを作って、それをAxis Objectにしておくと調整しやすいです。
Solidifyモディファイア
板ポリゴンなどに厚みをつけるときに使います。やり方は簡単で、厚みをつけたいオブジェクトを選択して、Solidifyモディファイアを付けます。
三角形の筒をためしに用意して、それに適用すると、このように厚みが付きました。
Mode … 厚みの付け方を指定します。
Simple … 単に押し出すだけのシンプルな処理方法です。均一な厚さを考慮しないので、場合によっては、へんな形になります。
Complex … 処理は重くなりますが、あらゆる形に対応できます。
設定内容はたくさんあって、かなり複雑に機能しています。やってみて形が変になったら、SimpleモードではなくComplexモードにしたり、Thickness、Offsetのほか、Thickness Modeや、Thickness Clampなどを適宜調整してみてください!
(上記両モード共通)
Thickness … 厚みを指定します。
Offset … どちらに対して厚みを付けるかを指定します。-1で内側、+1で外側です。
Vertex Group … 厚みを付けるオブジェクトの中で、選択された頂点グループの部分だけ厚みづけします。
←→(Invert) … 反転します(選ばれていないほうに厚み付けします)。
Factor … 頂点の厚み付けの程度を数字で指定します。
底面ループだけ厚みをつけたくなかったので、底面のループで頂点グループを作り、それを上記のVertex Groupに指定して、Invertするとこうなります。例えば、髪の毛をモデリングするときに、毛先にいくにつれて頂点グループのウェイトを変えていくことで、細くしつつ毛束に厚みをつけるときに使えそうです。
Normals … 法線を反転するかどうか決めます。
Materials … 新しくできるメッシュに使うマテリアルをマテリアルスロットの数値で指定します。
Rim … ふちの部分に当てるマテリアルをマテリアルスロットの数値で指定します。
Edge Data … 辺の処理を指定します。
Crease Inner … 内側の端にクリースをかけます。(0=なし、1=最大)
Crease Outer … 外側の端にクリースをかけます。(同上)
Rim … ふち部分にクリースをかけます。(同上)
Bevel Convex … 外側の辺にベベルをかけます。
Thickness Clamp … 厚みによって生じる辺の交差を処理します。
Clamp … 辺の交差を避けるための長さの制限を数字で指定します。
Angle Clamp … 長さに加えて角度でも考慮します。
(Simpleモード)
Even Thickness … 厚さを均一にします。
Rim … 厚み付けによってできたふちをどうするか決めます。
Fill … 外側と内側の間にできたふちを埋めます。
Only Rim … (Fillが有効の時のみ)ふちだけ作り、面を押し出しません。
(Complexモード)
Thickness Mode … 厚みの付け方を選びます。
Fixed … 均一な厚さを考慮しません。
Even … 均一な厚さを考慮しますが、3つ以上の面が一緒になるとうまくいきません。
Constraints … どこでも常に最適な厚さを得ようとします。
Boundary … モデルに適した境界の種類を選びます。
None … 境界を修正しません。
Round … 開口部が内側を向くように調整します。
Flat … 開口部の境界をフラットになるように調整します。
Merge Threshold … 指定した距離の中の点を結合します。
以上、Solidifyですが、これをかけると厚みの表現ができるものの、ポリゴン数は2倍になるので、もし服などを作って、Unityなどに持ち込む際は、Solidifyモディファイアは使わず、両面描画ができるシェーダーの利用をしたり、ふちの部分だけ生成して、壁は作らないようにする(=Only Rimをオン)のもありかもしれません。
Curveモディファイア
先述したカーブオブジェクトに沿ってメッシュを変形するモディファイアです。変形させたいオブジェクトに付けて、以下の設定をします。
Curve Object … オブジェクトに影響を与えるカーブオブジェクトを指定します。
Deform Axis … X/Y/Z/-X/-Y/-Zの、カーブのどの軸に沿って変形させるか選びます。
Vertex Group … ここで頂点グループが指定されていた場合、そこだけに変形を制限します。
←→(Invert) … 反転します(選ばれていないほうが影響を受けます)。
基本的な使い方としては、あらかじめ用意しておいたカーブオブジェクトをCurve Objectで指定して、Deform Axisで指定した軸と同じ軸で移動をすると、変形しながらカーブに沿って移動するようになります。
もしくは、カーブオブジェクトのほうを、移動/回転/拡縮することによって、Curveモディファイアの結果に影響が及びます。
CurveモディファイアとArrayモディファイアの合わせ技はよく使います。任意のカーブオブジェクトに沿って、同じオブジェクトを並べたいときに、
オブジェクトにArrayモディファイアを付ける。
同じオブジェクトにArrayモディファイアの下にCurveモディファイアを付ける。(順番が大事です!)
2で付けたCurveモディファイアで、カーブオブジェクトを指定する。
よくあるトラブルは、
カーブオブジェクトに沿わせたモデルがゆがむ
カーブオブジェクトに対してモデルがずれる
というものですが、カーブに沿ってオブジェクトを変形させるものなので、Arrayを適用したとしても急な勾配のところで多少の歪みは発生してしまうようです。大きくゆがむときは、カーブオブジェクトにへんなTransformがかかっていることが考えられるので、カーブオブジェクトをいちどメッシュに変換して、再びカーブに変換してから適用すると治ります。
モデルがずれる場合は、Arrayモディファイア+Curveモディファイアを付けるオブジェクトの原点とカーブオブジェクトの原点を同じ場所に揃えるとうまくいくとおもいます!
モディファイアをApplyするときは、先にArrayモディファイアをApplyして、そのあとにCurveモディファイアをApplyしてください。
Latticeモディファイア
Latticeモディファイアは、オブジェクトを変形するための専用のマス目を作りそのマス目を動かすと、それに追随してオブジェクトが動かせるようになる仕組みです。形を全体的に丁寧に正確に変えるときにとても便利です。
Latticeモディファイアを使うためには、Latticeオブジェクトを配置します。ObjectモードでShift + AからLatticeを選びます。
Object … 変形に用いるLatticeオブジェクトを指定します。
Vertex Group … 変形を適用させる頂点グループを指定します。
←→(Invert) … 反転します(選ばれていないほうが影響を受けます)。
Strength … Lattice変形の強さを調節します。
Latticeオブジェクトが、変形させたいオブジェクトを包むようにサイズを調整します。Latticeオブジェクトを変形させるときは、Objectモードから行います。(Editモードから行うと、いきなり変更がかかってしまうため。)
続いて、Latticeオブジェクトのプロパティパネル(緑色の格子のアイコン)を開き、ResolutionのところのU/V/Wの数字を入れて、割り数を増やします。割り数を増やすと、変形のコントロールを細かくできます。
変形させたいオブジェクトにLatticeモディファイアを付け、Objectに先ほど作ったLatticeオブジェクトを読み込みます。
あとは、Latticeオブジェクトを変形させると、中のオブジェクトがそれに沿って変形します。
Shrinkwrapモディファイア
Shrinkwrapモディファイアは、あるオブジェクトに別のオブジェクトをぴったりと貼り付けるものです。
使い方は、貼り付けたいオブジェクトと、貼り先となるオブジェクトの2つを用意し、貼り付けたいオブジェクトのほうに、このShrinkwrapモディファイアを付けます。基本的に貼り付けたいオブジェクトは平面を用います。
白い平面を貼り付けたいオブジェクト、赤い球体を貼り先となるオブジェクトとします。
白い平面が、球体に張り付いたときに柔軟に曲がるようにメッシュの数を増やしておきます。Subdivision Surfaceを平面にかけときます。そして、ShrinkWrapモディファイアを白い平面にかけます。
この状態で、Targetに赤い球体を指定すると、この通り貼り付きました。
いろいろ指定のオプションがあるので、解説します。
Wrap Method … どのように貼り付くかを指定します。
Nearest Surface Point … 各頂点が、貼り先の一番近い頂点に貼り付きます。ただし、端ががたがたになることがあります。
Target Normal Project … ターゲットの法線で投影します。貼りついたオブジェクトの端がきれいになります。
Nearest Vertex … 貼りたいオブジェクトの各頂点が貼り先の一番近い頂点に貼りつきます。貼りたいオブジェクトの頂点同士が重なることもあります。
Project … 貼りたいオブジェクトが設定したローカル軸に沿ってそのまま貼り先オブジェクトに投影されます。法線の向きに貼り付けたいオブジェクトが存在しないと機能しないので、何も起きないときは、Axisの下のPositiveを外して、Negativeにチェックをしてみてください。
Snap Mode … 貼りたいオブジェクトと、貼り付け先オブジェクトの接触状況をもとに、どこを貼るのかを指定します。
On Surface … 2つのオブジェクトが接触している/いないにかかわらず、全部貼りつきます。
Inside … 2つのオブジェクトが重なっていない部分だけ貼りつきます。
Outside … 2つのオブジェクトが重なっている部分だけ貼りつきます。
Outside Surface … On Surfaceと同様なものの、Offsetがターゲットの外側に作用します。
Above Surface … On Surfaceと同様なものの、Offsetはターゲットの法線に沿って作用します。
Target … 貼り付けたいオブジェクトを指定します。
Offset … 貼り付けたいオブジェクトから離す距離を指定します。
Vertex Group … 変形を適用させる頂点グループを指定します。
←→(Invert) … 反転します(選ばれていないほうが影響を受けます)。
※各Wrap Methodの詳細設定内容はこちらをご確認ください。
これは応用編として、立体的な左の動物の顔を貼り付けたいオブジェクトとして、先ほど作ったマグカップを貼り先のオブジェクトとします。そのままではうまくいかないことを例示しつつ、処理方法について触れていきます。
Simple Deformモディファイア
Simple Deform(シンプル変形)は、メッシュをねじったり(Twist)、曲げたり(Bend)、先細りさせたり(Taper)、引き延ばしたり(Stretch)できるモディファイアです。
モディファイアを追加すると、変形のさせ方を先の4つから選び、TwistとBendに関しては角度を入力し、TaperとStretchに対しては量を入力して、X/Y/Zのどの軸に対してかけるかで変形できます。なにも指定がなければオブジェクトの原点をもとに変形がかかりますが、Originのところにオブジェクトを指定することでそこを起点に変形をかけることができます。
Hookモディファイア
メッシュの頂点を別のオブジェクト(通常はEmptyを用います)に紐づけて、そのオブジェクトを動かすことでメッシュを変形させることができるモディファイアです。
使うには、メッシュの点を選択して、
Ctrl + H … フックメニューを出します。
Hook to New Object … 新しくHookモディファイアを作り、選択した頂点にそれを割り当て、それらの頂点の中央にEmptyを作ります。
Hook to Selected Object … 上と同じことをしつつ、Emptyのかわりに選択したオブジェクトにフックします。選択できるオブジェクトは1つのみです。
Hook to Selected Object Bone … 上と同じことをしつつ、選択したアーマチュアで最後に選択されたボーンにフックします。
フックしたあとに、生成されたEmptyを動かすと、そのEmptyに従って頂点が動きます。
Object … フックするオブジェクトを指定します。
Vertex Group … 変形を適用させる頂点グループを指定します。
←→(Invert) … 反転します(選ばれていないほうが影響を受けます)。
応用として、ケーブル的なものを作るときの参考を描きます。
節の一つ(横向きにしてトランスフォーム適用済)と、それを沿わせるカーブオブジェクトを作り、節のほうにArrayモディファイアとCurveモディファイアをかけ、その中で先ほどのカーブオブジェクトを指定します。
そうするとこのようになります。
カーブオブジェクトをEditモードで開き、カーブの先端を選択してCtrl + Hからフックを付けます。
両端にフックを付けました。
Emptyを動かすことで、カーブの先端と終端を自在に動かせます。
何本か重ねて、微妙にずらすことで、束感が出せました。
モディファイア利用上の注意点
モディファイアを利用する上での注意点がいくつかあります。
順番は効果や見た目に影響があります。
複数がけしているとき、適用する順番で違いが出ます。
適用すると戻せません。(Undoで作業をさかのぼればOK)
モディファイアを複数かけると、上から順番に適用されていきます。たとえば、A: Subdivision SurfaceとB: Mirrorという2つのモディファイアをかけるときに、A→Bの順番だと丸くしてからミラーをし、B→Aの順番だとミラーをしてから丸くする、という意味になります。
そのため、順番の違いで仕上がりも変わっていくことを留意しましょう。
マテリアルとテクスチャとUV
ここからモデリング以外のことについて触れていきます。
モデリングが終ったら、マテリアルを設定し、マテリアルによってはテクスチャを貼ったり、テクスチャに直接ペインティングしていくこともあります。なんかよく聞く言葉だけど違いがわからん!という場合に備えて、3つの概念を説明します。
マテリアル … マテリアルとは、3Dモデルに適用する質感や色などの情報です。テクスチャというのはマテリアルの構成要素の一部です。
テクスチャ … 3Dオブジェクトの表面に貼り付ける画像です。
UV … 3Dモデルにどのようにテクスチャ画像を貼り付けていくか、メッシュとテクスチャ画像の座標の関係性を表したものです。3次元の軸を表すX・Y・Zの前に来るものなのでU・Vという呼び方になったのだとか。
オブジェクトへのマテリアルの割り当て方
マテリアルを割り当てるには、Editモードで行います。
Editモードからマテリアルを割り当てたいメッシュを選択して、①マテリアルプロパティのタブを開き、②+アイコンをクリックします。
すると、③空のマテリアルスロットができるので、④「New」ボタンをクリックすると、マテリアルスロットにマテリアルが新規作成されます。⑤任意の名前を付けます。
⑥名前をBallと付けました。⑦Assignボタンを押すと、選択されているメッシュにこのマテリアルが割り当てられました。
※マテリアルは一つのメッシュの中で任意の面を選んで好きなだけ割り当てできます。
もう一方の平面にはPlaneというマテリアルを割り付けました。シーンの中に存在するマテリアルは、マテリアル名の左脇のプルダウンでリストされ、ここから過去に設定したものを選択できます。
マテリアルの設定内容例
先に大事なことをお伝えすると、BlenderとUnityの間ではマテリアルの互換性はほとんどありません(色やテクスチャくらいは持っていける、ってカンジ)。なので、最終的にUnityでセットアップする際は、Blender上でのマテリアルの設定は大体でよかったりします。
Blenderでマテリアルの設定を作りこむときは、Blenderのきれいなレンダリングで絵や動画を作るときです。
さて、マテリアルを設定するにあたっては、Surfaceの欄で、シェーダーを選択するところから始まります。Blenderには22種類のシェーダーが用意されています。それぞれの解説は以下のサイトにあります。
この中で、万能なシェーダーである「Principled BSDF」について、設定項目の意味を説明していきます。
Surface … 表面の設定をします。
Base Color … 表面の色です。色相(Hue)、彩度(Saturation)、明度(Value)、透明度(Alpha)で設定します。
Metallic … 金属っぽさです。1に近いほど、金属です。
Roughness … 粗さです。1に近いほど、粗くなります。
IOR … 透過する際の屈折率です。水は1.33、ガラスは1.4~2.0。
Alpha … 透明度です。1に近いほど、不透明になります。
Normal … 法線をどのように制御するか指定します。
Subsurface … 皮膚、ワックス、大理石、ミルクといった素材向けに、表面下散乱という効果を出すためのものです。これらは光を表面で反射するのではなく、表面を通して内部で反射して吸収されるか、近くのポイントから表面を離れる、といった処理をします。
Subsurface Method … 上記のシミュレートの描画方法を選択します。Christensen-Burleyは物理ベース計算で、Random Walkは細くて曲がったもの・閉じたメッシュに向いている方法です。
Weight … 表面錯乱と表面下錯乱のブレンドの程度を指定します。1にするほど表面下錯乱となります。
Radius … 光が表面の下を散乱する平均距離で、数字が大きいほど光が影に流れ込んでオブジェクトを通過するため柔らかな外観になります。上からR、G、Bの値となります。
Scale … Radiusに適用するスケールで、数字が大きいほど柔らかな外観になります。
Anisotropy … 表面下錯乱の方向で、0だとすべての方向に一様に散乱し、値が大きいほど前方に散乱します。皮膚の場合は0.8と測定されています。
Specular … オブジェクトへの映り込みを指定します。
Specular …
IOR Level …
Tint …
Anisotropic … 異方性。値が高いほど、接線方向に沿ってハイライトが長くなります。
Anisotropic Rotation … 上記の反射の方向を回転させます。1.0は完全な円です。
Tangent … Anisotropicの接線を制御します。
Transmission …
Weight …
Coat …
Weight …
Roughness …
IOR …
Tint …
Normal …
Sheen … 布などをシミュレートするための柔らかなエッジ付近の反射量です。
Weight …
Roughness …
Tint … ベースカラーとミックスし、光沢感を出します。
Emission … 表面から発光させます。
Color … 発光させる色です。
Strength … 発光させる強さです。
Volume …
Displacement …
Settings …
Pass Index …
Surface …
Displacement …
Emmision Sampling …
Transparent Shadows …
Bump Map Correction …
Volume …
Sampling …
Interpolation …
Homogeneous …
Step Rate …
Line Art …
Material Mask …
Masks …
Levels …
Intersection Priority …
Viewport Display …
Color …
Metallic …
Roughness …
Settings …
Backface Culling …
Blende Mode …
Shadow Mode …
Clip Threshould …
Raytrace Refraction …
Refraction Depth …
Subsurface Transluency …
Pass Index …
Custome Propaties …
下記にPrincipled BSDFの全パラメーターの相互作用の例をBlender公式マニュアルより引用します。
便利ショートカット
Ctrl + L … マテリアルの一括コピー
UV展開
(後日追記)
シームについて
UV展開のいろいろ
UV マップでの頂点の操作方法
テクスチャの読み込み方
テクスチャペインティング
見たままをUVマップにする方法
使っていないマテリアルの整理方法
アウトライナーの表示内容をBlender Fileに変更すると、このBlenderファイルに含まれる構成要素を一覧できます。
使われていないデータを確認したいときは「Orphan Data」を選択すると、どのオブジェクトにもAssignされていないマテリアルなどが表示できますので、そこから右クリックでメニューを出してDeleteで消せます。
Viewportシェーディングの使い分け
マテリアルの設定を済ませると、Viewportシェーディングを使い分けながら、オブジェクトの質感やシーン全体の雰囲気を調整したくなってきます。いままではモデリング作業で、ワイヤーフレームや透過表示などを使ってきましたが、Viewport Display(=作業画面表示)ではそれ以外のレンダーモードがあります。
ワイヤーフレーム … オブジェクトを透過して線で表示
ソリッド … マテリアルは反映しないけど陰影をつけて表示
マテリアル … マテリアルを反映して表示(色やざらつき程度)
レンダー … オブジェクトをレンダリングして表示(重い)
ある範囲にある点や線や面を裏側もまとめて選択したいときは、ワイヤーフレームか透過モードにして、それ以外は、マテリアルを割り付けたり、反映を確認したり、レンダリング前にシーンがどんな感じかプレビューするのに用います。
(Objectモード、Editモード共通) Z … シェーディングの切り替え
Alt + Z … 透過の切り替え
物理演算プロパティ
Blenderには物理的な挙動をシミュレーションする機能が備わっていて、オブジェクトがどういう性質を持つかを設定して、手動で組むのが難しいようなリアルなメッシュ形状やアニメーションを自動的に作成してくれます。
以下が使えるラインナップです。
Force Field … Particle、Cloth、Soft Bodyに与える力を再現します。
Collision … オブジェクトに衝突を発生させます。
Cloth … 布や髪の毛など柔らかいものを再現します。
Dynamic Paint … 他オブジェクトと接触でペイントや、変形させます。
Soft Body … 衝突によって変形する柔らかいものを再現します。
Fluid … 液体やガスの動きを再現します。
Rigid Body … 重力で物が落ちたり、物体同士の衝突を再現します。
Rigid Body Constraint … 2つのRigid Bodyを接続します。
この中で、とくによく使われる4つについて解説していきます。
Force Field
その他の物理シミュレーションに影響を与える方法を設定します。Particle、Soft Body、Rigid Body、Clothなど、すべてForce Fieldの影響を受けます。
(後日更新)
Typeごとの違い
主な設定項目
使い方
Cloth
(後日更新)
設定項目の内容
旗を作ったり、閉じた袋を作るとき … 動かしたくない頂点を選択してVertex Groupを作り、PinでVertex Groupを選択する
シーツのしわの表現の仕方
クッションの作り方
Fluid
Fluidは、液体をシミュレーションするために使われます。Blenderで特定のオブジェクトにこの物理シミュレーションを付けることで機能し、シミュレーションがなされる空間の定義(ドメイン)と、流体の入口、出口などを指定します。
(後日更新)
Rigid Body
(後日更新)
パッシブかアクティブか … 重力によって動いてほしいものをアクティブにし、動いてほしくないものをパッシブにします。※UnityのRigid BodyのUse GravityのOn/Offと同様です。
重さ … オブジェクトの重さを指定します。オブジェクト同士がぶつかったときの動きに影響があります。
コリジョン 衝突反映部分の形状です。けっこう重要。
表面の反応 摩擦 弾性。ぶつかったときの挙動に影響があります。
アニメーションのON/OFF
レンダリング
(後日更新)
静止画のレンダリング
動画のレンダリング
データの読み込みと書き出し
データの2種類の読み込み方ーLinkとAppend
いずれも別のファイルで作成したものを今見ているシーンに読み込むためのものですが、読み込み元に影響を与えるかどうかで区別があります。
Link … 元ファイルに影響を及ぼす
Append … 元ファイルに影響を及ぼさない
なので、元データも修正しつつ持ち込むならLinkを、そうでないならAppendを選びましょう。通常はAppendでデータを持ち込むことが大半です。
データの書き出し方
FBX吐き出しのおすすめ設定
まず、上述のやり方で、いらないマテリアルを整理しておきましょう。そのあと、Fileメニューから、Export > FBX(.fbx)を実行。
テクスチャをもっていくときはPath ModeをCopyにして、横のトレイのアイコンを青色にする。 ※マテリアルやテクスチャがFBXデータに内包されます。
Forward: -Z Forward ※Unityでは前方向は-Yではなく-Zです。
Up: Y Up に設定 ※Unityでは上方向はZではなくYです。
Apply Tranceformをオンに
便利なアドオン
Blenderは元から様々な機能を備えていますが、アドオン(Add-on)を追加することでより強力な機能を拡張できます。
アドオン(Add-on)の使い方
アドオンをインストールするには、ヘッダーメニューからEdit > Prefarences…を開き、左のタブから「Add-on」をクリックします。
そうすると、アドオンの一覧が出ますので、右上のSearchで検索したり、リストから探したりして、有効にしたいアドオンにチェックを入れれば、使えるようになります。
これらは内蔵されていて有効化されていないアドオンですが、サードパーティーが配布しているものもあります。代表的なのは、Blender Marketというサイトで、有料・無料のものがいろいろ揃っています。利用にはユーザー登録が必要です。詳しくは下のページを見てみてください。
Loop Tools
Loop Toolsは、Editモードのメッシュの編集で、必携ともいえるくらい利用頻度の高いアドオンです。すでにあるメッシュを丸くしたり、がたがたになった点の並びをスムーズにしてくれたり、手で調整するのが大変な作業を代わりに処理してくれます。
インストール後は、Editモードで、点/線/面を選択して右クリックすると、コンテクストメニューの一番上から実行できるほか、Nキーでサイドバーを出したのち、その中のEditタブから辿ることもできます。
Bridge … 2つの線の間に面を作ります。ただ面を埋めるだけと思いきや、反対側の面とBridgeすると、穴あけもしてくれたりします。
Circle … 選択したループを丸くしてくれます。
Curve … 選択した点/線/面の間をスムーズなカーブにします。
Flatten … 選択した点/線/面を平らにします。
Gstretch … アノテートラインに沿って点/線/面を移動します(バグで使えないっぽい)。
Loft … 2つの辺をねじってつなげます。
Relax … 選択した点/線/面をスムーズにします。
Space … 端の辺を均一に整えます(手元の環境だと動かないようです)
詳しくはこちらをご覧ください!
Auto Mirror
Auto Mirrorは先述のMirrorモディファイアを補助するアドオンで、少ない操作で、Mirrorモディファイアを使うまでの作業を代わりにこなしてくれます。
インストールすると、Nキーで出せるサイドパネルのEdit欄に操作UIが出てきます。オブジェクトを選択し、Auto Mirrorのボタンを押すと、原点に沿ってループカットし、メッシュの半分を消して、Mirrorモディファイアをかけてくれる、というのが1クリックでできます。
Cell Fructure
Blenderに内蔵されているアドオンで、オブジェクトをばらばらの形に加工してくれます。インストールしたら、オブジェクトを選択した状態で、Objectメニュー > Quick Effects > Cell Fractureで設定画面を呼び出します。
すると、詳しい設定画面が出てくるので、Source Limitで分割数などを指定し、ほかはお好みの内容を入力して、OKを押すと、オブジェクトがばらばらになります!
分割したあとも、元のオブジェクトは残って同じ場所に重なっているので、適宜消すなどします。
RightMouseNavigation
UnityとかUnrealEngineとかでは、視点移動はマウス右クリック+W/A/S/Dでシーンの中を飛ぶような移動方法がありますが、それと同じことをBlenderでもできるようにするアドオンです。ZIPファイルを下のGithubからダウンロードして、BlenderのPreferenceからAdd-onのタブを開き、Installボタンを押してから、ZIPファイルを読み込み、出てきたものにチェックをいれると適用されます。こっちの操作が慣れている人はぜひ試してみてください。
作業をして覚える良チュートリアルビデオ
よくあるトラブル、悩み事
メッシュがもさもさしてる!
Solid Display、Material Preview Displayなどで、作ったオブジェクトの表面がチカチカしたり、ざらざらしたり、影の付き方がおかしいときは、次のどれかの原因が考えられます。
複数の面が重なっている → 重なっている面を消しましょう。
ポリゴンが裏返っている → Alt + NからRecalulate Outsideしましょう。
4角形以上のポリゴン → 面を消して、割りなおして面を貼りましょう。
これらは、レンダリングしたときや、Unityなどにモデルを持ち込んだときにも違和感として出るので、修正しておきます。
多角形ポリゴンは、Editモードで、Select > Select All by Trait > Face by Sidesで、何角形かをオペレーターパネルでNumber of Verticesを4、TypeをGreater Thanにすると見つけられます。
テキストをメッシュにしたらメッシュが複雑すぎてわろた
テキストのメッシュをきれいにする方法があります。
Editモードでメッシュ化したテキストを全選択してからXキーを押し、限定的溶解(Limited Dissolve)をします。そのあと、適宜4角形になるように面を貼りなおして完成です。
FBXに書き出したものをUnityで取り込むと位置がずれる!
これは、Blender上では各オブジェクトの位置や大きさや角度が思い描いたようにできていたとしても、実際のそれらの情報(=Transform)が適用されていない状態で書き出されたため、そうなります。
とはいいつつも、Transformを適用する前の状態に戻したくなることもあるかと思うので、適用させなくても書き出し時だけTransformを適用させたいときは、書き出し時のオプションで下記の赤線の「Apply Transform」のところにチェックを入れればOKです。
BlenderからUnityにFBXを持ってくるとスケール100倍になるんだが?
これも上と同じで、Transformを適用していないとそうなります。Blenderの1は1mなので、念のためモデルの大きさ自体も過剰でないか、見てみましょう。
改変したメッシュの光の反射がへん!
面の法線の向きが違っていることが考えられます。それを修正するときは、Editモードで気になるメッシュを選択して、Alt + NからSmooth VectorsあるいはReset Vectorsを試しましょう。
テクスチャのUV展開で思ったように展開されない!
Smart UV Wrapの縦横比固定をチェックしてみましょう。あとは、メッシュにシームを入れる。シームを入れるとそこがUVマップのエッジになります。
ループカットをしようとしても、途中までしかループが入らない!
おそらく、つながっているように見える面がつながっていない(別のループに属している)のだと思われます。怪しい面を選んでXキーを押し、線と面だけ消してみてください。線の途切れを確認したら、点をつなぎなおして再び面を貼ってみましょう。
カーブにジオメトリプロパティでベベルオブジェクトを指定しても平らな形にしかならない!
原因がよくわからないのですが、もとはメッシュだったオブジェクトをカーブにConvertしてそれをベベルオブジェクトに指定すると、たまにそういうことがあります。もしぺったんこな形になってしまったら、ベベルオブジェクトのほうを、何かの軸で回転させてみましょう。
(リアルタイムに反映させるので具合をみながらやる)
物理演算ですり抜けるよーーー!
何かと何かをぶつけるには物理演算プロパティのCollisionsだけでなく、Rigid Bodyが両方が必要です。重力で落としたいものはRigid BodyのTypeをActiveに、床とか壁とか動かしたくないものはPassiveにしてみましょう。
さいごに
以上、1ページでまとめきれない情報量をやや無理して載せましたが、何かわからなくなったときに、1か所だけ見れば済むようにと思ってこうしました!
モディファイアや物理演算プロパティを用いた応用とか、トラブルシューティングのところは、何かあれば追記していきますので、もしよければブックマークして時折参照してください!
Blenderを使って、いろんな改変や作成ができるようになって、より豊かなVRライフを送れることを願って。
もしサポートをいただけましたら、制作活動を行う際のソフトウェア、アセットの購入資金に充てたいと思います!