テラシュールブログ

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

Cinemachine の検索結果:

【Unity】LWRPで、壁で遮られて見えないキャラクターをシルエット表示するのが超簡単にできた

…置を上に持っていく(Cinemachine の Clear Shot)、向きは自由に変えられるので見えなくなるのは自分のせい等。今回はLWRPで面白い回避方法がGDCで紹介されていたので、それを試してみます。 Custom Forward Renderでシルエットを描画してみる LWRP 5.7から、 Custom Forward Render を使用出来るようになりました。これで特定のレイヤー(or 描画タイプ・シェーダーパス)に所属するモデルの描画をオーバーライドしたり、…

【Unity】新しいステルス系チュートリアル「John Lemon's Haunted Jaunt(ジョン・レモンのお化け屋敷)」

…he Camera CinemachineとPostProcessingStackの説明です Ending the Game ゲームクリア処理と、UIについての説明です Enemies, Part 1: Static Observers 動かない敵(ガーゴイル)の作り方です。キャラクターの発見処理等とゲームオーバーが含まれます Enemies, Part 2: Dynamic Observers 動き回る敵(ゴースト)の作り方です。NavmeshとWaypointによる移動に…

【Unity】Cinemachineで撮影の構図を色々して良い感じにしたい

…。 自分のターンではCinemachineを使用して、カットシーンや動画撮影でよくあるような構図について色々と書いてみます。 動画の構図 構図には黄金のルールがある CinemacineはカメラのIK Cinemachineで構図を作る 対象を画面の何処に置くのか決める 三分割法を使って、何処に置くか決める 画面のどれぐらいの割合で表示するか決める 被写界深度でフォーカスする Cinemachineが追跡せず、構図だけを使いたい 感想 関連 動画の構図 動画撮影について勉強す…

【Unity】Timelineからメソッドを呼ぶ新機能 「Marker」と「Signal、Signal Receiver」

… AnimationEventのように、特定のメソッドを呼び出す、カスタムマーカーのサンプル github.com Unity 2019.1未満ならコチラ tsubakit1.hateblo.jp わかりやすいスライドが公開されました speakerdeck.com *1:本当はCinemachineの画面揺らしをしたかったんですが、TimelineがPackageManagerに移ったせいで動作しません。 *2:例えば字幕のような、二度と使わないイベントを大量の登録する場合

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

自分はCinemachineの機能は結構好きで、色々と遊んでみたりしているのです。それでもなお首を撚る系の機能「Clear Shot」についてです。 Clear Shot キャラクターが隠れた時に、見える位置にカメラを動かす 手順 キャラクターが近づいてきた時にカメラを切り替える 手順 使いすぎに注意なのか? 関連 Clear Shot Clear ShotはCinemachineに含まれるカメラ挙動の一つで、主な用途は 「キャラクターがカメラ外に行くのを防ぐ」 というもので…

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

今回はCinemachineで複数のカメラを使用する方法についてです。 複数のカメラを使う Timelineを使用している場合、複数のTrackを用意する Timelineを使用しない場合 複数のカメラを使う ゲームを作成している時、複数のカメラを使用したいというケースが稀に存在します。例えば画面分割2Pプレイやダンスシーンの背景カメラなど。 普通はCameraを複数持てば良い話です。ただしCinemachineを使用する場合に少し考える必要があります。というのもCinema…

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

…を変えずにパンする Cinemachineとの連携はどうなの? F値は? Physical Cameraは一般的なカメラ設定をUnityに持ってくる為の設定 Physical Cameraは「物理カメラ」と紹介されていますが、その実態は物理的なカメラ設定をUnityに持ってくるための設定みたいです。正確には持ってこれるのはイメージセンサーのサイズ(Sensor size)と焦点距離(Focal Length)、それとシフトレンズ(Lens Shift)で、ほとんどField …

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

…zzz... 犯人はCinemachine、貴方です どのように起こすのか? で、解決方法は? カメラが動かせない! さて、突然カメラが動かなくなりました。カメラのTransformを引っ張っても、Inpsectorでパラメータを変えてもうんともすんとも言いません。 Transformだけではありません。FOVもPhysical Camera設定も、Near Far設定も全て操作不能です。ナンテコッタイ!!! 強いて言えばCameraのenable/disableやClaer…

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

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

【Unity】Timelineで、指定したパスを想定した速度で歩かせる

…考えてみます。今回はCinemachineのDolly Track With Cartを使用してみます。他にもTimelineから進行速度を制御できる機能があれば代用が可能です。 Cinemachine > Create Dolly Track With Cartを選択DollyTrack1とDollyCart1が作られる Dolly Track1の+ボタンを押し、パスを作っていく パスを作り終わったら、動かしたいキャラクターをDolly Cart 1の子オブジェクトとして配…

【Unity】TimelineでOnBehaviourPlayのタイミングでTrackの情報を使って初期化したい

…た型 ○○Behaviourの場合 ○○Behaviourの場合、残念ながらこのアプローチでは取れないみたいです。なので他のアプローチを使うのですが、そのアプローチをど忘れしました。 よって追記予定 サンプル 親オブジェクトを動的に変更するサンプルです。OnBehaviourPlayのタイミングで初期化を行っています。このサンプルは例えばCinemachine Dolly Trackaを使う場合、複数のパスを切り替えるとかに使えそうです。 // gist.github.com

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

Cinemachineを紹介すると「自分のシステムと相性が悪い」や「使い方が難しい」といった意見をよく聞きます。とは言えCinemachineが提供する「演出用カメラワークへのシームレスな移動」や「めり込み抑制や振動といったエフェクト」、「手ブレ」は使いたい所です。 なので今回は、可能な限り自分でカメラの回転や座標を制御しつつCinemachineの追加機能を使う方法について考えてみます。 Virtual Cameraを自分で制御したい Virtual Cameraを特定のオ…

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

…、TimelineでCinemachineを使えるなら割と簡単に実現できます。 使わない場合、Cameraを大量に用意しActiveトラックで切り替えるという、非常に面倒くさいアプローチが必要になってきます。The Phantom Knowladgeではこのアプローチでカメラを切り替えています。 手順はそれほど難しくありません。複数のVirtual Cameraをブレンドせず切り替えれば良いのです。まずVirtual Cameraを複数用意します。トップのGifでは4つのVi…

【Unity】Cinemachineで作るカメラワーク("対象を中心に回り込む"を表現する3つのアプローチ)

Cinemachineでカメラワーク、対象を回り込むように移動させる方法についてです。 対象を中心に回り込むように 2点間のVirtual Cameraを対象を中心に円を描くように動かす SphericalPositionとCylindricalPositionの違い 対象の周囲を回るオブジェクトを用意して、ソレに載せる 対象の周辺を走るカートを使う 対象を中心に回り込むように 仮面ライダーの初回変身シーン後やアイドルのダンスシーン、トリガー製のアニメ等で、何かを中心にカメラ…

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

CinemachineでRoll A Ballのカメラワークをやってみます。 Roll a Ballとカメラワーク カメラが追跡する対象を指定する カメラの移動設定 最も基本となる動作に近いTransposer & World Space 対象の移動先を予測して向きを変える 世界の裏側を見せないようにする ゲームの開始時に全体像を見せる 感想 Roll a Ballとカメラワーク Roll a ballはUnityで多分最も簡単なワークショップの一つです。 ただ簡略化している…

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

…たい 連続した揺れはCinemachine Noiseを使う 振動の状態を切り替える(Timeline) 振動の状態を切り替える(Timeline以外) 瞬間的ではない振動を表したい 以前紹介したImpulseですが、その名の通り瞬間的な力による振動を表現しています。大抵のゲームでは振動は「何らかのトリガーによって引き起こされる」物ですので殆ど問題無いと思いますが、演出的な要因で振動が必要という事もあります。 例えばガチャの演出で、なにかが起こる前触れとしての振動や、単純にス…

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

…す。 カメラの振動 CinemachineのImpulseを使う 衝撃を発行する(コライダー編) 衝撃を発行する(コード) Timelineから振動を呼ぶ 感想 関連 カメラの振動 何か衝撃があったとき、カメラを揺らすのはよくある手法です。ダメージを受けた事を強調したり、クリティカルなダメージを与えたり、巨大な何かが動いた時の迫力を足したりと、様々なケースで使用されます。 今回はその「カメラの振動」をやってみます。 CinemachineのImpulseを使う 今回はCine…

【Unity】multi-object editing not supported(複数のオブジェクトを選択したときに編集できなくなる)をエディター拡張無しに一気に編集する

…みでDLLだったり、CinemachineのようにPackageManagerに格納されている場合は出来ない手です。 CanEditMultipleObjectsが無いエディター拡張済オブジェクトの設定を一気に変更する CanEditMultipleObjectsが無いエディターを一気に変更します。といってもコレは「特定のパラメーター変更を適応する」のではなく、「指定したオブジェクトを全て同じパラメーターにする」アプローチです。そのため使い所は限られるかもしれません。 まずG…

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

…こんな感じです。まずCinemachineでFreeLookCameraを用意して、キャラクターを追跡するようにしました。つまりFollowとLookAtにキャラクターのTransformがセットされている状態です。 tsubakit1.hateblo.jp 次に、横スクロールして欲しい場所にDolly Camera With Trackを用意しました。これは、特定のパスに沿ってカメラを移動させる機能です。似たようなモノにDolly Track With Cartというものが…

【Unity】敵とプレイヤーが常に映るようにするカメラワーク

…ようなカメラワーク CinemachineのGroup機能 使い方 追跡対象の登録 カメラの動きの細かい指定(3D) カメラの動きの細かい指定(2D) 関連 ターゲットが全て映るようなカメラワーク 最近のTPSゲームで大体実装されてるカメラワークの一つに、「複数のターゲットが常に映るように、カメラの位置を調整する」というものがあります。 スマブラやアクションRPGのボス戦等で良く見ることの出来るこのカメラワークは、敵とプレイヤーの相対位置を把握しやすくして、ゲームの手触り感を…

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

今回はCinemachineの機能の一つで、カメラが壁を貫通しないようにする方法についてです。 なんとなく微妙なカメラリグ カメラが壁を貫通しなくする 壁に遮られたら違う視点に切り替える 関連 なんとなく微妙なカメラリグ Unity初心者が作ったゲームで、素人臭くなるカメラリグの一つに「カメラが壁を貫通する」というのがあります。カメラを単純にプレイヤーの数メートル後方においただけのケースでよくあるもので、カメラが壁を貫通して世界の裏側を映すのが特徴です。 ちなみに他の二つは「…

【Unity】GDC 2018のセッション動画

…o BuilderやCinemachine、機械学習やらAR VR、その他諸々色々な内容が紹介されています。 www.youtube.com 一覧見ても分かりにくいので、物凄い大雑把な内容と一覧を下に書きます。中身をちゃんと見たものはまだ少ないので、説明と中身が一致しない事もあるかもしれません。その場合はコメントに残してもらえるとマジで助かります。 とても良いものは日本語記事に直すかもしれません。 基調講演 パフォーマンス関連 ワークフローについて ビジュアル関係 AI AR…

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

今回はCinemachineでカメラの被写体サイズをコントロールするのをやってみます。 被写体のサイズ 被写体の大きさをコントロールする 被写体の大きさを求める FOVを固定する場合 FOVが変化する場合 関連 被写体のサイズ カメラでキャラクターを撮影する時には、実際にはある程度の区分があるそうです。名前は今ひとつ統一していないみたいですが、大体こんな感じの区分です。 映像制作の基礎01 https://www.utdallas.edu/atec/midori/Handou…

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

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

【Unity】PostProcessingStackの被写界深度のピントを動的に変更する

…のピントの距離変更はCinemachineが必要 CinemachinePost FXを導入 PostProcessing Stack v1の場合 Post Processing Stack V2の場合 PPSのピントの距離変更はCinemachineが必要 理由は単純で、設定がScriptableObjectに格納されているためです。*1ScriptableObject(Asset)にデータを書き込むと、大本のScriptableObjectにも変更が影響してしまうので、出…

【Unity】2Dのカメラがステージ外を映さないようにする方法

…の外が映る事がある Cinemachineに追加された2D機能 CinemachineConfinerはカメラが範囲外に移動するのを防ぐ 移動範囲の定義はColliderの「範囲」を使う 手順 移動範囲の設定 Cinemachine側の設定 完成 注意点 感想 キャラクターを中心に映すと、ステージの外が映る事がある ゲーム画面は基本的にカメラが撮影した内容を表示します。その為、カメラがキャラクターを写したい場合にはキャラクターを中心にカメラを動かすことになります。 ただしキャ…

【Unity】CinemachineのFreeLook Cameraが楽しい

今回はCinemachineのFreeLook Cameraを使ってみます。 CinemachineのFreeLook Camera 見上げる時は視界を狭く、見下ろす時は視界を広く 使ってみる コントローラーを反転させたい 関連 CinemachineのFreeLook Camera カメラの動きを制御するCinemachineのアセットには、FreeLook Cameraなるカメラを自由に操作出来る系の機能があります。 この機能では、昨今の三人称視点ゲームで良くあるようなカ…

【Unity】Timelineのクリップが動かすオブジェクトを動的に更新する方法

…ctを差し替えたり、Cinemachineで参照するVirtual Cameraを切り替えたり、動かすキャラクターを差し替えたり。 動かすキャラクターといったTrackで制御する物に関しては、下の記事の方法で解決出来ますが、クリップに関しては少し面倒です。 tsubakit1.hateblo.jp クリップの値は参照する物と実体を持つものがある クリップの値ですが、少し複雑です。 通常、クリップの値は、Timelineのアセット(PlayableAsset)が保持しています。…

【Unity】ITimeControlで、Timelineから"コンポーネント"を操作する

今回はTimelineのクリップからMonobehaviourを継承したコンポーネントを手軽に操作する方法について紹介します。 Timelineで手軽に動かしたい ITimeControlインターフェースはTimelineから呼ばれる 実際に回転させる コードの準備 Timelineにコンポーネントの付いたオブジェクトを登録する 補足 関連 Timelineで手軽に動かしたい Timelineでキャラクターを動かす時、大抵の場合はAnimationで物を作っていく訳ですが、そ…

【Unity】Unite Europe 2017の動画が公開

…生 See how Cinemachine can revolutionize your camerasCinemachineがCameraに革命を起こす A walkthrough of Morph 3D character creationMorph 3Dキャラクター作成のウォークスルー Designing AR experiences in real environments実環境でのAR体験の設計 Photon vs UNet: multiplayer archite…