MRが楽しい

MRやVRについて学習したことを書き残す

Blender2.8でカメラ移動時にズームができなくなる問題の対処方法

本日は Blender2.8 の技術調査枠です。
Blender2.8でカメラ移動時にズームができなくなる問題の対処方法についてまとめます。

問題事象

色々とモデリングを行った後、マウススクロールでズームを行おうとすると一定以上のズームができなくなることがあります。
例えば、以下の状態はマウススクロールでズームを行っても、これ以上中央のCubeオブジェクトに寄れなくなっています。
f:id:bluebirdofoz:20191219091940j:plain

事象の原因

これはモデリングを行ううちにカメラ視点の原点がズレてしまっていることが原因です。
試しに、新規プロジェクトで事象を発生させてみます。
f:id:bluebirdofoz:20191219091957j:plain

このまま、Shift+スクロールキー押下でカメラを横方向にスライドさせます。
f:id:bluebirdofoz:20191219092010j:plain

そしてカメラの位置はそのまま、スクロールキー押下の回転で視点をCubeオブジェクトの方へ向けます。
f:id:bluebirdofoz:20191219092022j:plain

そのままマウススクロールでズームを行うと、一定以上Cubeオブジェクトに寄ることができなくなります。
f:id:bluebirdofoz:20191219092035j:plain

これだと原因が分かりやすいと思いますが、これ以上ズームができないのはCubeオブジェクトの手前にカメラ視点の原点が存在するためです。
モデリングでカメラを動かすうち、このようにカメラ視点の原点が移動していることがあります。

対処方法その1(オート深度)

カメラ視点の原点を常に意識する事で対処は可能ですが、Blenderの設定でも対処は可能です。
一つは「オート深度」の機能を有効化する事です。
メニューから 編集 -> プリファレンス を選択します。
f:id:bluebirdofoz:20191219092051j:plain

プリファレンスダイアログが開くので、[視点の操作]タブを開きます。
[オート深度]にチェックを入れ、プリファレンスを保存します。
f:id:bluebirdofoz:20191219092104j:plain

この設定を行うことで、カメラ視点の原点を超えてズームが行えます。
f:id:bluebirdofoz:20191219092119j:plain

より正確に言うと、原点を超えてズームを行おうとすると、カメラ視点の原点がズーム方向に移動していきます。
このため、原点を超えたズーム後、カメラの回転を行うと、ズームした位置を中心にカメラが回転します。
f:id:bluebirdofoz:20191219092131j:plain

対処方法その2(選択範囲を中心に回転)

また、別の対処方法として「選択範囲を中心に回転」の機能を有効化する手段もあります。
設定を有効にするには同じくプリファレンスダイアログの[視点の操作]タブを開き、[選択範囲を中心に回転]にチェックを入れます。
f:id:bluebirdofoz:20191219092145j:plain

この機能を有効化しておくと、カメラは必ず選択中のオブジェクトを原点として回転します。
例えば、この状態でCubeオブジェクトを選択し、カメラを横にスライドさせます。
f:id:bluebirdofoz:20191219092202j:plain

ここでカメラを回転させてみます。
すると以下のように、スライドさせた位置ではなく、Cubeオブジェクトを原点にカメラ視点が回転します。
f:id:bluebirdofoz:20191219092214j:plain

こちらの機能だと、カメラの原点位置を見失わずに済みます。
ただし、カメラ移動の自由度は下がってしまうかもしれません。上手く使い分けましょう。

Blender2.79以前の手順について

Blender2.79以前での手順は以下の記事を参照ください。
bluebirdofoz.hatenablog.com