テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

カメラ

【Unity】CinemachineのClear Shotという機能

自分はCinemachineの機能は結構好きで、色々と遊んでみたりしているのです。それでもなお首を撚る系の機能「Clear Shot」についてです。 Clear Shot キャラクターが隠れた時に、見える位置にカメラを動かす 手順 キャラクターが近づいてきた時にカメラを切り…

【Unity】Cinemachineで複数のカメラを使用する

今回はCinemachineで複数のカメラを使用する方法についてです。 複数のカメラを使う Timelineを使用している場合、複数のTrackを用意する Timelineを使用しない場合 複数のカメラを使う ゲームを作成している時、複数のカメラを使用したいというケースが稀に…

【Unity】Unity 2018.2で追加されたPhysical Cameraとはナンゾや?

Unity 2018.2でCameraの設定にPhysical Cameraという新しいオプションが追加されました。この設定が今ひとつ分からなかったので、内容を確認してみました。 Physical Cameraは一般的なカメラ設定をUnityに持ってくる為の設定 Focal LengthとかSensor Sizeと…

【Unity】MainCameraが移動できなくなったときの対処法

今回はMainCamera(もしくは任意のオブジェクト)が動かせなくなったケースの対処方についてです。以前見かけた現象ですが、今回その再現方法を思い出したのでメモしておきます。 カメラが動かせない! zzz... 犯人はCinemachine、貴方です どのように起こす…

【Unity】Cinemachineの挙動を拡張してみる

Cinemachineのカメラの動きを拡張して、パンするだけのやつを作るなど。標準Composeでも近いことが出来るけど、最初に動いちゃうのがね pic.twitter.com/e1Oak8jAz4 — 椿 (@tsubaki_t1) September 2, 2018 今回はCinemachineの挙動を拡張してみました。 Cine…

【Unity】Cinemachineのカメラ位置や向きを、自分のスクリプトで制御する

Cinemachineを紹介すると「自分のシステムと相性が悪い」や「使い方が難しい」といった意見をよく聞きます。とは言えCinemachineが提供する「演出用カメラワークへのシームレスな移動」や「めり込み抑制や振動といったエフェクト」、「手ブレ」は使いたい所…

【Unity】Cinemachineで作るカメラワーク(カット割り:カメラを切り替える)

名前が正しいのか分からないのですが、カット割りでズームするアプローチの方法についてです。 カット割り 三段ズーム(カット割り) 会話のカット割り 感想 カット割り キャラクターの動きを作るとき、カットを割るというのが結構メリハリのある動きを表現…

【Unity】Roll a BallのカメラをCinemachineで制御したら結構良い感じになった(と思う)

CinemachineでRoll A Ballのカメラワークをやってみます。 Roll a Ballとカメラワーク カメラが追跡する対象を指定する カメラの移動設定 最も基本となる動作に近いTransposer & World Space 対象の移動先を予測して向きを変える 世界の裏側を見せないように…

【Unity】カメラを常に揺らしたり、だんだんと揺れを強化したりする演出

以前紹介したカメラを振動させるアプローチの少し異なるバージョンです。 tsubakit1.hateblo.jp 瞬間的ではない振動を表したい 連続した揺れはCinemachine Noiseを使う 振動の状態を切り替える(Timeline) 振動の状態を切り替える(Timeline以外) 瞬間的で…

【Unity】衝撃があった時にカメラを揺らす / 振動させる

今回は、何らかの衝撃があったときにカメラを振動させる方法についてです。 カメラの振動 CinemachineのImpulseを使う 衝撃を発行する(コライダー編) 衝撃を発行する(コード) Timelineから振動を呼ぶ 感想 関連 カメラの振動 何か衝撃があったとき、カメ…

【Unity】ステージの特定の位置で、FreeLookCameraと横スクロールカメラを切り替える

今回は"通常はFreeLookカメラだが特定の状況では横スクロールアクション"のようなカメラに切り替わるのをやってみます。 カメラの位置や動きで3Dゲームの手触り・難易度は大きく変わる 実際の手順 なぜDolly Cameraなのか? カメラの位置や動きで3Dゲームの…

【Unity】カメラが壁を貫通しないようにする

今回はCinemachineの機能の一つで、カメラが壁を貫通しないようにする方法についてです。 なんとなく微妙なカメラリグ カメラが壁を貫通しなくする 壁に遮られたら違う視点に切り替える 関連 なんとなく微妙なカメラリグ Unity初心者が作ったゲームで、素人…

【Unity】Cinemachineでカメラに映る被写体のサイズをコントロールする

今回はCinemachineでカメラの被写体サイズをコントロールするのをやってみます。 被写体のサイズ 被写体の大きさをコントロールする 被写体の大きさを求める FOVを固定する場合 FOVが変化する場合 関連 被写体のサイズ カメラでキャラクターを撮影する時には…

【Unity】CinemachineのVirtual Camera切替をコントロールする

今回はCinemachineのVirtual Camera間の切替時間をコントロールします。 #Cinemachine でカメラの切替 pic.twitter.com/aipJxHRTJF — 椿 (@tsubaki_t1) 2018年4月3日 カメラの切替とCinemachine カメラを切り替える カメラの切り替わる時間を制御する カメラ…

【Unity】Occlusion Portalについて

モデルが非表示になっている部分をスキップすることで3D空間を効率的に描画するOcclusion Cullingという機能の機能の一つ、Occlusion Portalsという機能についてです。 Occlusion Portalsという機能 どんなときに使えるのか 実際に使用してみる 簡単なステー…

【Unity】CinemachineのFreeLook Cameraが楽しい

今回はCinemachineのFreeLook Cameraを使ってみます。 CinemachineのFreeLook Camera 見上げる時は視界を狭く、見下ろす時は視界を広く 使ってみる コントローラーを反転させたい 関連 CinemachineのFreeLook Camera カメラの動きを制御するCinemachineのア…

【Unity】「被写体のどこを映して欲しいか」を元にカメラの動きをコントロールするCinemachine BASE RIG を軽く使ってみる

今回、Unity標準機能化の動きに合わせて無料で使用出来るようになったCinemachine を実際に触ってみました。 カメラの動きをコントロールする 簡単な使い方 まずはChinemachineのセットアップ。 カットの用意 注目するオブジェクトのセット ドリー的にカメラ…

【Unity】ハンドカメラ風カメラの挙動を実現するHandheldCamera

飛行機の制御を作ったら、ハンドカメラ風のカメラ挙動が欲しくなります。で、StandardAssetsに含まれるCameraにソレっぽい挙動があったので、試しに使ってみます。 HandheldCamera HandHeldCamコンポーネント Target Field Of View 関連 HandheldCamera Stan…

【Unity】Shadow ProjectionのClose FitとStable Fitについて

今回はQualityの設定にあるShadow Projectionの設定について、少し説明が分かりにくかったので検証してみます。 Shadow Projection Stable Fit Close Fit あくまで描画範囲を設定しているだけ 動かすと影がちらつく 描画判定はRecieve Shadow 感想 関連 Shad…

【Unity】3Dゲームに使うカメラワークの用語と、その設定について

今回はカメラワークについてメモします。内容は3Dゲームをおもしろくする技術を参考にしつつメモして行きます。内容に誤りがあるかもしれないので、ツッコミ大歓迎です。模写ではなく面白そうな部分を抽出してUnityで再現してるだけなので、詳しく知りたい人…

【Unity】距離に応じて2Dカメラを拡大・縮小する処理

カメラワークの続き。今回は二人のキャラクターが必ずカメラ内に収まるようにカメラの描画範囲を広げる、スマブラで見たアレを…作った過程を紹介します。 当初、単純に2点の距離からカメラの描画範囲(camera.orthographicSize)を出していましたが、これは間…

【Unity】2Dカメラを制御する奴を試作した日記

なんか面白くなって色々やってたら無駄に時間かかってしまったので、コードとコードの解説についてはモチベーションが上がった時に。 スタート地点はこんな感じです。プレイヤーの子オブジェクトとしてカメラがくっ付いている、Unityでは良くあるパターンで…

【Unity】カメラの向きを参考に移動方向を決める

今回はキャラクターの向いてる方向やワールド座標ではなく、カメラが向いている方向にを元にキャラクターの移動するべき方向を決める方法について紹介します。 上の画面の場合、赤い球体までキャラクター(クエリちゃん)を動かしたい場合のスティック操作は…

Unity初心者が知っておくと少しだけ幸せになれる、シーンにオブジェクトを配置する時に使える18のTips+10

Unityエディタでオブジェクトを操作する上で、知っておくと少しだけ幸せになれるTipsを幾つか紹介します。個人的に重要と思うものには★を設定しました。 目次 目次 オブジェクトの操作に関するTips コライダーの上に載せる感じで配置する Vキー&移動で他モ…

Unityで画面の指定位置にモデルを移動させる

先日ゲームジャムでメンバーの一人が「3Dモデルを特定の位置に移動」させる事に四苦八苦していたので、作った。スクリプトを。 このスクリプトは指定したスクリーン座標へモデルを移動させる為の物です。スクリーン座標的に(x:45, y:0)の位置へモデルを移…

FreeLookCameraRigで超簡単なモデルビューワーを超簡単に作るのは超簡単

今回は簡単なモデルビューワーを作ります。 機能は単純にモデルを外から眺めるだけ。 今回もSample Assetsを使用します。 新 Standard Assets候補、Sample Assets (beta) - テラシュールブログ 新 Standard Assets候補、Sample Assets (beta) - テラシュール…

Unityで手ブレ風にカメラを揺らす

ゲームにおいてはカメラは基本的に動かないものです。しかし、例えばカットシーンや走行中、演出をより派手に見せる為に「手ぶれ表現」を行いたいケースがあります。 そんな時、ReaktionのJitterMotionを使うと手軽に表現出来ます。 Reaktion/JitterMotion.c…

Unityエディタのシーンビューカメラの小ネタ

シーンビューのカメラについての小ネタ。 常時特定のオブジェクトを追跡する 確かUnity 4.2辺りからシーンビューのカメラが特定のオブジェクトを常時追跡するようにする機能が追加されてました。 対象のオブジェクトを選択しShift + Fを押すと、以降は別のオ…

UnityのCameraが使う3つの座標系

目次 目次 3つの座標系 スクリーン座標 ワールド座標 ビューポート座標 各座標系を使用するケースと変換 WorldToViewportPoint ScreenToWorldPoint ViewportToWorldPoint 関連 3つの座標系 Unityの使用するカメラでは、3つの座標系があります。すなわち「ス…

Unityでアスペクト比率を固定する

n番煎じですが、Unity/基本形/025 画面のアスペクト比を固定にする や Unity そのアスペクト比を固定するぞ・・・っ! を参考にアスペクト比率を固定するスクリプトを作成した。他と違うのは、背景を塗りつぶすようのカメラの配置を自動化している点だけです…