Unityのカメラについて連載(Camera入門)でご紹介します。 Unityゲーム開発において必須の知識ですので、ぜひご参考ください。 第一弾の今回はカメラの基本設定の方法について詳しく解説していきます。 ※本記事の被写体には「Unity-Chan」を使用しています。 ここでは以下の7種類のカメラワークをUnityでの実例付きで紹介します。 1. カメラの移動の記事とライトの焼き付けの記事を参考にさせて頂きました。 https://docs.unity3d.com/ScriptReference/XR.XRDevice.DisableAutoXRCameraTracking.html, 360度動画向けに、頭の位置追従を切る機能がある。 遅延により微妙に気持ち悪くなる。, [Unity] VRのカメラトラッキングを切る vuforia for UnityでiPhoneARコンテンツを作ろうと思い、いつも通りUnity&Xcodeでビルドし実機で実行しようとしたところ、PCではちゃんと動くのに実機ではカメラの絵が出ず真っ黒(フリーズではない)になったり、その他色々つまって動かない症状にはまったので、目次録。 歩き回る主人公を映すためにカメラを追随させる方法はUnityの公式チュートリアルでも紹介されています。, 動画では花の向こう側にある道を歩いているキャラをカメラが追いかけています。キャラクターの手前に静止しているオブジェクトを挟むと、より動きを演出することができます。, ステージの幕間の演出や、イベントシーンでは動きを表現するのにぴったり。例えばキャラクターが走って逃げている様子をカメラで追っていけば臨場感あふれる場面になります。, キャラクターを動かさなくてもカメラだけを一気に移動させれば、背景が流れる速度がそれだけ大きくなり、遠くにいるキャラまでの距離の長さを表現することもできます。被写体を追う、カメラだけ飛ばす、という2通りのトラックがあるので場面に合わせて使用すると吉。, もちろん、このトラックは通常の操作でもガンガン使うカメラワークです。フィールドを歩き回るRPG、建物内で戦うFPS、クリーチャーから逃げるホラーゲームなど、プレイヤーの操作に合わせて画面が動くゲームでは必須とも言えるものなので、これだけは使えるようになっておきたいところ。, 逆に動きを入れたくない場面や、プレイヤーの移動に関わらず一定の画面を表示したい場合は、最初に扱ったフィクスを使いましょ。, ドリーインはカメラが被写体に近づいていく撮影方法、ドリーアウトはカメラが被写体から遠ざかる撮影方法です。, ドリー(Dolly)とはカメラを水平移動させるための台車のこと。台車を使ってブレないように近づけたり遠ざけたりしていたのが元になっているようです。, ズームとちょっと紛らわしいのですが、カメラ自体を動かすかどうかが分かれ目。実はこのブログでやってるチュートリアルでもズームインとドリーインを混同して扱っていました(反省), ズームインでは画角が変わり、画面に映るオブジェクトの数は少なくなります。被写体が画面の多くを占めるようになるため、他のオブジェクトとの相対関係は分かりにくくなるんですね。その分被写体のディティールが分かりやすくなるメリットが生まれています。, 一方ドリーインでは被写体に近づくことから、画面内の被写体は大きく映し出されますが画角が変わりません。画角が変わらなければ、被写体の奥にあるオブジェクトも映ることになります。遠くにあるオブジェクトと、近くにいる被写体が同時に映ることとなり、遠近感が分かりやすくなるのです。, Unityでドリーイン/アウトを実装する場合は、カメラオブジェクトのTransform内、Positionの値を変化させます。, 上で紹介したチュートリアルで使っていた画像をそのまま使いまわして説明すると、被写体となるボールがあるときに、カメラの位置を青色の線の方向(左側)に近づければドリーインとなり、黄色の線の方向(右側)に遠ざければドリーアウトとなります。, 被写体とカメラが同じ軸上にいる場合は簡単に操作できますが、角度がついていたりするとちょっと大変。特にTimelineで自力で動かすと泣きそうになります。, なので、スクリプトから被写体とカメラの直線距離(上の図の赤い線)を取得し、そこに補正をかけることでカメラの位置を移動させます。, Vector3.Distanceを使うと2点間の距離を取得できるので、被写体とカメラそれぞれのtransform.positionから距離を計算しましょう。この距離を基準とし、近づけたい場合は1より小さい値をかけ、遠ざけたい場合は1より大きい値をかけます。, 続いて被写体のtransform.positionに補正後の値を加算し、その値をカメラのtransform.positionにセットすることで、ドリーイン/アウト後の位置にカメラを置くことができます。あとはこの値のセットをコルーチンなりiTweenで行えば、経時変化としてカメラを動かすことができます。, 動画では単純なドリーインと、ドローンによる空撮をイメージしたドリーアウトを入れています。ズームと違う点は、画面奥にあるビル群が画面にちゃんと入っていること。ズームだと正面のねこ勇者が画面の大半を占めています。, 動画後半でズームインとドリーインを比較し、それぞれ画角がどうなるかを並べているのでそれもご覧くださいな。, 画面内を走り回る操作キャラに対して、画角を変更することなくカメラを近づける、または遠ざける処理を実装したい時にドリーイン/アウトが使われます。, 例えば64マリオでCボタンを操作するときのあの感じです。C▲を押すとカメラがマリオに近づき、C▼を押すとカメラがマリオから遠ざかって周囲の様子を確認することができます。, 会話シーンなどのイベントシーンでは、テーブルを囲む人の多さや部屋の広さを表現するのに使えます。例えば西洋風の細長いテーブルを人が囲んでいる場面で、お誕生日席に王様やら貴族やらの偉い人が座っている場面を考えてみましょ。, このテーブルの上を駆け抜けるようにカメラを近づければ、お誕生日席にいる登場人物(被写体)がどれだけの人に囲まれているか、そして豪勢な料理を用意することからいかにお金を持っているか、これを立体感を持って表現できます。画角が変わらないため、テーブルを囲んでいる人物達の表情も映るのがいい感じ。ズームだと被写体の人物しか映らないので、画面がちょっと寂しいことになっちゃうんです。, あとは立体感を持った風景を映し出したい時にドリーアウトを使うといいかも。現実世界だとドローンを使った空撮をイメージするといいかな。風景を被写体と捉えれば、ドローンのカメラが空高く飛んで行く時には被写体から遠ざかっています。初めて到達したステージの紹介に使うとプレイヤーのワクワクを刺激できます。, 映画やドラマで使われるカメラワーク7種類について、Unityで実装するという観点から紹介。表でまとめると以下のようになります。, 個々の実装サンプルについては別途記事を用意するとして、まずはカメラワークにどんな種類があるのかを頭に入れておくだけでもイメージが膨らむと思います。, さぁこれでもうあなたはカメラワークの基本が身に付きました。きっとこれから映画やドラマを見る時に、はたまたゲームをやっている時にも「今のはパンだ」「ここはトラックで被写体を追いかけている」「やっぱりフィクスは落ち着くよね」なんて気になって仕方なくなるはずです。, そうなればしめたもの。あなたのゲームを作る時にも、狙った効果を最大限に引き出すカメラワークが選択できるんです。, そんなお悩みをお持ちの方向けに、todoがアプリをリリースした経験を中心に、ゲーム作りの手順や考慮すべき点をまとめたe-bookを作成しました。ゲーム作りはそれ自体がゲームのように楽しいプロセスなので、「攻略チャート」と名付けています。, ゲームを作り始めた時にぶつかる壁である「何をしたら良いのか分からない」という悩みを吹き飛ばしましょう!. (adsbygoogle = window.adsbygoogle || []).push({}); Application.internetReachabilityを確認することで、端末がインターネットに接続されているかどうかを簡単に確認することがで[…], ビルド時に発生したcatalogの権限エラーについて扱っています。2018年12月現在ではPreview版のAddressables System。開[…], 複数バージョンのUnityがマシンの中にある際、後からプラットフォームサポートのモジュールを追加するときには注意が必要です。Windowsでは発生しに[…], Androidでアプリ名をローカライズする場合は、Androidライブラリ(aar)を使ってリソースを用意します。やってみるとそんなに難しくないので、[…], 「俺はUnityで大作ゲームを作ってみんなにもてはやされたいんだ!」と夢を抱いたものの、ゲームを完成させる事ができずに消えていった人をみた事があります[…], todoさま。 なおUnity2019ではXR.LegacyInputHelpersに入っているらしい。, 注意: カメラ制御を切って、スクリプトからHMDの回転を取得してカメラを制御することはおすすめしない。 今後もお役に立てるよう、いただきましたコメントを励みに記事の拡充を図ってまいります! 3Dダンジョンゲーを作るのって、結構ガッツがいりますよね。そのご経験があるのは素晴らしいです。, Ariadneでは外壁と天井の有無をダンジョン単位で選択できるようになっており、野外のフィールドや、Skyboxと組み合わせて空の見える塔なども作成できるようになっています。 Improve article. カメラの座標や回転を打ち消して無理やり止めるしか無い, 位置追従を切る。ただし最初に一瞬追従が働いて上書きされるので注意。 みっきゅんと申します。 teratailを一緒に作りたいエンジニア. このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。, Unity、ボクセルアート、VFXが好き。教員免許を取ったのちIT系の企業に就職→フリーランスに。おかげさまでUnityをいじって4年経ちました。, 自分で作ってリリースしたアプリは4本です。夏場は米を作りながらゲームも作る生活。このブログではUnity初心者に向けたチュートリアルやテクニックを放出しています。, お仕事の相談や現在提供中のサービスについては、こちらの『サービス内容』のページをご覧ください。, なんと! Visual Effect Graphの解説を担当させていただいた『UNITY デザイナーズ・バイブル』がボーンデジタル社様より発売されました!, デザイナーさん向けの書籍で原稿を書くのはなかなかプレッシャーがありましたが、Visual Effect Graphを使えるように頑張って書いたのでみんな買ってね(ダイマ), エクスプラボを運営しているtodoが、より集中的にゲーム作りについて学べるオンライントレーニングのサイトをオープンしました。, 名前は『Ex-Tra エクスプラボのトレーニングルーム』です。勉強したことの進捗も表示できるようになっているので、どれだけ頑張ったのかが分かるようになっています。, シンプルなスライドパズルを作成する講座です。UIの操作、Prefabからのインスタンス化、C#の辞書機能について学べます。, 2DのアニメーションやColliderを使った接触、イベントシステムを使ったメッセージのやりとりを学べます。, メルマガ登録者には無料で『一瞬で全体像を掴む ゲーム開発の攻略チャート』というe-bookをプレゼントしています。, エクスプラボではゲーム開発のサポートも行なっています。お手伝いできそうなことがあればお問い合わせからご連絡ください。, スライドパズルのプチRPGの『にゃんこ・ザ・スライダー』(TODOWORKS名義でリリース), スライドパズルで敵と戦う簡単なRPGのゲームです。おもちゃとしてよく遊んだ15パズルなどのスライドパズルをゲーム風にアレンジ。, 癒し系縦スクロール避けゲーの『空とにゃんこと風船と』(TODOWORKS名義でリリース). https://qiita.com/Urad/items/f6ea27682c3db86a2c04, Unity標準のVR機能(UnityEngine.XR)メモ カメラの制御は基本的に切れないので、親オブジェクトで、 フォーカスイン/アウト(Focus In/Out)……ピントの合う点を変える 6. よろしければご検討くださいませ。. フィクス(Fix)……カメラを固定して撮影 2. https://framesynthesis.jp/tech/unity/xr/, 電子工作が主な趣味ですが、PC用のツールを作るのも好きです。 特にライセンスを明記していないソースコードのライセンスについてはCC0です。. Debug.Log(nextPos);で確認したところ、noneが常に吐き出されているようでした。 と聞かれたときに出てくる答えは様々なれど、それでも「見た目」という回答が上位にくるのは間違いないと思います。, 見た目はゲームへの没入感にも関わってくる重要なポイント。プレイヤーが没入感を持つためには、人間であるプレイヤーの感覚から見て不自然でない表現が大切です。, 例えば、「主人公となる生物は外敵から身を守るために常に目が回転しているので、カメラもずっと回転させて表現します」とかだと、ゲーム画面がずっと回転することになります。これってプレイヤーの感覚からするとあまりにかけ離れたものですよね。多くの人たちにとって、視界は常に回転しているものではないし、多分めまいの時を思い出して気持ち悪くなるんじゃないかな。, 例えが大分極端になった気もしますが何を言いたいかというと、画面に表示される絵は人間の視界、目の機能に近いものにした方がプレイヤーもゲームの世界に入っていきやすいということ。, Unity世界で私たちの「目」となってくれるのはカメラです。カメラの動きが自然であれば、それだけ私たちの感覚に近い世界として認識されやすくなり、ひいてはゲームの世界への没入感に繋がっていきます。, そこで今回注目したいのがカメラワークについて。撮影技法としてのカメラワークは映画の世界で特に研究されていて、カメラの動かし方とその効果が対応づけられており、そこから学ぶのが一番の近道だと思います。, ここでは分かりやすくまとまっている上記の2サイトを参考にさせていただき、Unityでカメラワークを表現するとどうなるかを実例付きで紹介します。, なおここではカメラワークの実際の動きを紹介するにとどめ、ソースコードを含めた実装サンプルについては各項目から飛べるようにする予定です。, ズームイン/アウト、フォーカスイン/アウトもカメラ自体の位置は変えず、焦点距離やピントを変える撮影方法。, 表現したい演出に応じて、カメラ自体を動かすのか、カメラはそのままで角度だけ変えるのか、といったようにUnityでいじる場所が変わるので、Unityのパラメータと対応づけて覚えるといい感じ。, 撮影の基本のキとも言われる方法で、映像作品の多くはフィクスが6割を占めているらしいです。(ソニーの『ビデオ撮影テクニック』より), カメラワークといっても常にカメラを動かしている訳ではなく、固定された画面を映すことで落ち着きが生まれます。, Unityではカメラを動かさなければいいので、Sceneビューでカメラの位置を決めたらそのままにしておけばOK。, フィクスでは客観的な絵、落ち着いた絵になる傾向があるため、そのような場面で使うといい感じ。会話シーンとか、何かの説明シーンなどかな。, 他には、ミステリーアドベンチャー系、あるいはスニーキングミッション系のゲームであれば監視カメラの映像として使うといいかも。, 上記の作例2では愛嬌のあるキャラクターが近づいてきますが、ホラーゲームで固定カメラに近づいてくるクリーチャーを作ったりすると、プレイヤーに近づいてくる感じがして怖さマシマシ。, パンはカメラを水平方向(左右)に振る撮影方法です。主に左から右に振るのがパン、右から左に振るのが逆パンと呼ばれます。, フィールドの広大さを表現したり、視点が移動していく様子を表現するときに使うといい感じ。複数の被写体(画面に映したいオブジェクト)の位置関係を説明するのにも使われます。, 実生活だと、目の前を走るマラソンランナーを見る時に首を振って目で追いかけるあの感じが近いかも。多くの人はマラソンランナーを走って追いかけたりはせず、カメラ(体)を動かさずに首の角度だけを変えますよね。たまに沿道で見かける並走ランナーは後で出てくるトラックです。, Unityで実装する場合は、カメラオブジェクトのTransform内、RotationのY軸を操作します。, スクリプトの中でコルーチンを使って徐々に変化させてもいいですし、iTweenを使って簡単にアニメーションさせてもOK。iTweenの方がコルーチンより楽ちんです。, 動画の中ではカメラを左から右にパンさせています。パンの前後にはフィクスで固定された映像を入れておくと安定感が出ます。いきなり変化させると酔いそうな映像になるので、開始と終了の際にはパンのスピードが徐々に変化するようにします。, 新しいフィールドにたどり着いた時や、新しいステージにたどり着いた時に、その広さを表現するために使うといい感じです。広大な砂漠、広大な海、広大な平原など、とにかく広さをプレイヤーに伝えたい時に。, ミステリーアドベンチャー系のゲームだったら、事件が起きたことを知らされた登場人物たちの表情をパンで映していくのもいいと思います。犯人だけ不自然な表情をしている、なんて表現に使えそう。, 特別な理由がなければ、基本の左から右のパンを使います。人間って並んでいるものを見る時左から右へと見ていくらしいので、こっちが自然みたい。確かに今文章を読む時も左から右に読んでいますものね。, ティルトはカメラを垂直方向(上下)に振る撮影方法です。下から上に振るのがティルトアップ、逆に上から下に振るのがティルトダウン。縦パンなんて言う人もいるみたい。Wizardry経験者にとっては残念ながらティルトウェイトの名前がついたカメラワークはありませんでした。, パンが広さなら、ティルトは高さです。高層ビルの高さを表現する時に、下から見上げる感じを出すといい感じ。イメージとしては、FF7のミッドガルで神羅カンパニーの前に立ったクラウドがビルを見上げる感じ。逆に屋上から地面を見下すことで、こんなに高いんだ……と表現するのもあり。, ティルトは縦方向のカメラワークなので、人物を映し出す時にも使えます。足元から顔にカメラを振れば、もったいつけてプレイヤーの期待感を高めることができます。逆に顔から足元にカメラを振る場合、イケメンなのに足元がサンダル、みたいなギャグ感を演出するのにもいいかも。, Unityでティルトを実装する場合は、パンと同様カメラオブジェクトのTransformのRotationをいじります。今度は縦方向なのでX軸周りに回転させます。, こちらも移動前後にフィクスを入れ、一度画面の内容をプレイヤーに伝えた後にカメラを動かし始めると安心して見ていられる画面になるかと思います。, 動画ではカメラを下から上に振っています。目の前にあるビルの高さを表現するイメージで、徐々にカメラの回転速度を上げ、緩やかに回転が終わるようにしています。, ティルトダウンの例も入れているので、ビルの高さを味わってみてください。これ、通常のモニターだとそこまで怖くはありませんが、VRだとぞわっとするかも。, ラスボスの城、あるいはそれに準ずるボスの砦に挑む時の演出に最適。カメラに収まりきらないほどの大きなダンジョンやステージをティルトアップで表現することにより、敵の強大さを演出しつつ、主人公の「やってやるぞ!」という「希望」のある心理状態を演出できます。, ティルトダウンを使う場合は、アクションゲームなどで落ちたらゲームオーバーになる高い場所を表現するのがいいかも。地面を見る主人公の目線を表現することで、プレイヤーも同じように背筋がひゅんひゅんする感覚を共有できます。, ミステリーアドベンチャー系のゲームなら人物の全身を映すのに便利ですし、ホラーゲームであれば、顔は人間っぽいけど、カメラが下に向くに連れ、触手が生えていたり足が10本生えていることがわかるクリーチャーの紹介なんかに便利。, コンシューマー機向けのゲームであれば横長の画面、スマホ向けのゲームであれば縦長の画面、なんて具合にリリースしようとしているプラットフォームに応じて画面の向きが異なることもあるので、パンとティルトの使い分けをするのも大事です。, ズームはレンズの焦点距離を変えること。これによって画面に映る被写体(オブジェクト)の大きさが変わります。試しにスマホのカメラを使ってズームしてみるとすぐイメージできると思います。, 画面に映る範囲を角度で表す画角というものがあるんだけど、この画角が広い状態(広角)から狭い状態(望遠)に変えることをズームイン、逆に望遠から広角に変えることをズームアウトと呼びます。, ズームインの効果として、集中させたいオブジェクトへの視線の誘導、表情などのディティールの表現などがあります。泣きながら敵にトドメを刺す、みたいな場面では目にズームインするといい感じ。, 逆のズームアウトの効果は、被写体と周囲のオブジェクトとの関係の説明、正体を徐々に明かす、集中させた視線の解放などがあります。ヒロインがアップで表示された後にズームアウトすると周囲に敵がいるとか、敵を裏で操っていた黒幕の口元からズームアウトして正体が判明する、といった感じに使えます。, ズームイン/アウトの注意点として、ズームは人間の目にはない機能であるため若干不自然であり、多用しないほうが良い点が挙げられます。, Unityでズームイン/アウトを実装する場合は、CameraコンポーネントのField of View(視野角、画角)の値を変更します。……FIELD OF VIEWっていうとDAN DAN 心魅かれてくを思い出します。ドラゴンボールGTを毎週見ていたのが懐かしい。, [Field of View]は以下の画像で青字になっている項目。デフォルトでは60度になっています。UnityでField of Viewを扱う場合は垂直方向の角度を表します。水平方向の画角についてはViewportのアスペクト比から計算してくれるので便利。, 下にちらっと見えている[Physical Camera]のトグルをTrueにすると、以下のように玄人向けの設定が表示されます。こちらは焦点距離やセンサーサイズを直でいじれるので、現実世界のカメラ撮影に慣れている人向け。これらの設定を元に[Field of View]の値が再計算されます。, スクリプトから[Field of View]の値を変えるときは、コルーチンを使って徐々に変化させるか、iTweenのValueToを使って変化させるといい感じ。iTweenが簡単でおすすめです。, 動画では広角で小さく映っていたねこ勇者がズームインによって画面に大きく表示されるようになっています。, ゲーム的に使うならば、スコープを覗いている表現として画面の周りに黒いマスクを用意するといい感じです。あるいは黒いマスクをズーム先のオブジェクトの大きさまで縮小し、そのキャラクターに注目させるのもあり。, ズームインは、特定のオブジェクトに注目させたい時に使います。会話シーンでキャラクターの表情を見せる、遠くにいる敵に注目させるといった使い方がいいですね。, 上でも少し触れましたが、スコープを覗いている表現としてもバッチリ。特にFPS系のゲームを作る場合はスコープで狙撃するなんて場面は多いはずなので、どんどん使ってみた方がよかです。, もういっこ上で触れたものについてですが、穴あきの黒いマスクをキャラクターの大きさにする方法はスーパーマリオワールドのゴール後の演出に似てますね。ステージクリアした際、マリオにズームしてステージを隠すことで、「このステージはもう終わったよ」感を出しています。カメラのズームとUIの組み合わせによる視線誘導はアクションゲームで使いやすい表現だと思います。, 反対のズームアウトは、RPGでもミステリーでも黒幕の正体を明かす時にバッチリハマります。他には目覚めた主人公がズームされていて、ちょうど気が付いたところでズームアウトすると実は敵に囲まれてた、みたいな感じもグッド。, ホラーゲームで使う時には、走っているクリーチャーに正面からズームしている状態から始まって、ズームアウトしていくと主人公が画面に映り、実は主人公の後ろから迫ってきていました、ここからステージスタートです!

.

アウトランダーphev 車外 電源 4, シティーズ スカイライン ハドロン 衝突型加速器 効果 17, 四 角錐 の体積 問題 5, 犬 寝る 音楽 ティック トック 4, 9v 電池 変換 5, Galaxy S10 Pd充電 5, 楽天モバイル Nova3 Mno 4, ハルノヒ Mp3 Download 46, El N922 後継 29, Jwcad 建具 角度 4, ドライバー 短く持つ シャフトカット 7, Pubg Ps4 ランク 28, 株式会社 Hers Japan 4, 巨人 小林 トレード 26, 声 遺伝子 相性 7, Bmw X6 故障 5, 覚醒剤取締法 改正 経過措置 4, Aterm Wg1200hs Active 14, 脈あり 女性 奥手 21, Akracing アームレスト 取り外し 12, Pso2 ストーリー Ep6 10, Oracle Csv出力 高速 15, Slack 打刻 無料 5, Mame 221 Roms 5, ポケモンgo パチリス 交換 8, Pandas Plot 2軸 4, 農業産出額 ランキング 2020 4,