MRが楽しい

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

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

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

問題事象

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

事象の原因

原因から説明すると、これはモデリングを行ううちにカメラ視点の原点がズレてしまっていることが原因です。
事象を理解するために新規プロジェクトを起動します。
f:id:bluebirdofoz:20180704025110j:plain

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

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

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

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

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

カメラ視点の原点を常に意識する事で対処は可能ですが、Blenderの設定でも対処は可能です。
一つは「オート深度」の機能を有効化する事です。
メニューから ファイル→ユーザ設定 でユーザ設定ウィンドウを開き、インタフェースタブを表示します。
f:id:bluebirdofoz:20180704025234j:plain

「ユーザ深度」にチェックを入れ、「ユーザー設定の保存」を行います。
f:id:bluebirdofoz:20180704025244j:plain

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

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

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

また、別の対処方法として「選択範囲を中心に回転」の機能を有効化する手段もあります。
メニューから ファイル→ユーザ設定 でユーザ設定ウィンドウを開き、インタフェースタブを表示します。
「選択範囲を中心に回転」にチェックを入れ、「ユーザー設定の保存」を行います。
f:id:bluebirdofoz:20180704025324j:plain

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

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

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