テラシュールブログ

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

おもしろ演出、演出の強化

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

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

【Unity】既存のプロジェクトにLightweight RenderPipelineを導入する

今回はLight Weight Render Pipelineを既存のプロジェクトに導入してみます。 Lightweight render pipeline Light Weight Render Pipelineを使う Lightweight render pipeline Light Weight Render Pipeline(LWRP)は、Scriptable Render Pipelineで提供す…

【Unity】Unityでベジェ曲線(パス)を描く方法

今回はUnityで曲線を描く方法について紹介します。 Unity 2018.1でVector Graphicが導入可能に Vector Graphicsでベジェ曲線を描画する Vector GraphicsのAPIを見てみる PathのAPIを見てみる 感想 関連 Unity 2018.1でVector Graphicが導入可能に Unity 2018…

【Unity】知っていると少し幸せになれる、Timelineの21の小技集

知っているとTimelineを操作する上で少しだけ幸せになれるTimelineエディター操作の小技集です。動作確認:バージョン Unity 2018.2f5 Tips PlayableDirectorをサクっと追加する シーンの中にあるTimelineを開く アニメーションクリップの一部をスローモーシ…

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

Timelineを用いて、キャラクターを歩かせる(走らせる)方法についてです。以前の移動と異なり、歩行・走行に限りますが複雑な経路を走らせる場合はコチラの方が便利です。 キャラクターを移動させたい パスを決めて、その上を走らせる 移動をTimelineで制御…

【Unity】新・Timelineで字幕を作る

以前の方法が古くなっているので、新しくTimelineで字幕を作ってみます。 TimelineでTextの内容をコントロールする 最初はTimelineでTextの内容をコントロールするだけの簡単なモノを作ってみます。DefaultPlayableのTimelinePlayableWizardで設定するだけで…

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

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

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

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

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

Cinemachineでカメラワーク、対象を回り込むように移動させる方法についてです。 対象を中心に回り込むように 2点間のVirtual Cameraを対象を中心に円を描くように動かす SphericalPositionとCylindricalPositionの違い 対象の周囲を回るオブジェクトを用意…

【Unity】チュートリアルやデモ作成に使えるかな? ゲームの動きをTimelineで再現する方法

前回はRigidbodyの動きをTimelineに格納することで、物理演算の負荷軽減やタイミングの調整などを行いました。今回はゲームの動きをAnimationClipとして格納しておき、Timelineで再生してみます。 ゲームの動きを再現したい やり方 再現できるのはInspector…

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

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

【Unity】TimelineからAnimationEventのようにメソッドを呼び出したい UnityTimelineEvents

AnimationEventのように、Timelineのイベントを実行する方法についてです。 UnityTimelineEvents 実際に使ってみる 関連 Timelineを使用していると、特定のタイミングでイベントを発行したいと思う事はよくあります。例えば通常のカットシーンでは「爆発の衝…

【Unity】ドット絵でゲームを作る時に使いたい、ピクセルパーフェクトなスプライト表現するPixelPerfectCamera

今回は先程公開された、ピクセルパーフェクトなスプライト表現をするために(想定)ピクセルに合わせてスプライトやカメラの位置を調整してくれる機能PixelPerfectCameraについてです。現在はPackageManagerのstagingで提供されています。 想定解像度に合わ…

【Unity】Timelineと移動を連携して、特定のタイミングから"指定の座標"へ移動させる

今回はTimelineの機能を使用するが、「目標地点が異なる」場合を対処する方法についてです。例えば「距離の異なる崖をジャンプで超える」や「位置が毎回異なる敵に攻撃を仕掛ける」といった物をTimelineで制御する場合の話です。 Timelineアニメーションの「…

【Unity】Timelineで物理演算の動きを使用するアイディア

今回はTimelineで物理演算の結果を使用する方法について考えてみます。 Timelineという機能 Timelineはゲームを再生しないから効率的 物理演算の動きはゲームの再生を要求する Timeline上で物理演算を動かす 物理演算の動きをAnimationClipに保存する Timeli…

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

今回は敵とプレイヤーが常にカメラに映るようにするカメラワークについてです。 ターゲットが全て映るようなカメラワーク CinemachineのGroup機能 使い方 追跡対象の登録 カメラの動きの細かい指定(3D) カメラの動きの細かい指定(2D) 関連 ターゲットが全て…

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

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

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

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

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

今回は被写界深度(Depth of Field)…ピントがあっていないモノがボケる表現についてです。 この被写界深度、何処にフォーカスを当てるのかが重要なポイントの一つなのですが、ImageEffect(Cinematic Image Effectや通常のImageEffect)と異なりPostProcess…

【Unity】PostProcessingStack v2を使ってみる

今回はPost Processing Stackの新バージョンである、Post Processing Stack v2を使ってみます。 今回はBloomを使用します。何故Bloomかって?私が好きだからです。 Post Processing Stack V2 Post Processing Stackの導入 カメラの設定 エフェクトを設定する…

【Unity】Terrainの負荷やらDrawCallやらを下げるポイント

Terrainは名前の通り地形を作る機能です。ちゃんと作れば、こんな感じのステージが作れます。…地面があり、草木が茂り、地面には段差がある。 パっと見、使い方は微妙な感じですが、メイキングは参考になります。 www.youtube.com さて、これを夢見て初期設…

【Unity】パーティクルをGPU Instancingで描画してみる & 対応シェーダーを自作してみる

Unity 2018.1では、Instancing関係の機能が大幅に使い勝手良くなりました。 特にメッシュパーティクルの描画はCPUバッチングではなくGPU Instancingで行えるようになり、幾つかのケースでパフォーマンスが大幅に向上する事があります。 Unity 2018.1 でパー…

【Unity】dynamic voxel-based global illuminationを実現する SEGI

今回はUnityでdynamic voxel-based global illuminationを実現する、SEGIというアセットを試してみました。 github.com 今回試したSEGIは、他のものと同様に事前ベイク無しにGIを実現出来るみたいです。 実際に適当に試したのがコチラ。全てのオブジェクトは…

【Unity】"家具を動かせる" 部屋(ステージ)の見栄えを、出来る限り良い感じにする

綺麗なグラフィックを実現するのは8割以上はモデルとマテリアルのクォリティですが、〆としてライティングやポストプロセスも重要な要素の一つです。 ただし、場合によってはライティングのベイクを利用できないといったケースも存在するかもしれません。例…

【Unity】複数のオブジェクトの位置を元にオブジェクトを動かす、○○○Constraint系というオモシロ機能

Unity 2018で、Aim Constraint、Parent Constraint、Position Constraint、Rotatoin Constraint、Scale Constraintの5つのConstraint戦隊が登場しました。 この機能は、複数のオブジェクトの大きさや位置、向きを元に自身の位置を調整する機能です。 この機…

【Unity】”テクスチャの差し替え” で切り替わるスプライトアニメーションを作成する手順

今回はテクスチャーを切り替えてアニメーションを切り替える方法についてです。 上の画像のようにスプライトやAnimationClip、OverrideAnimationControllerを用意せずともキャラクターを差し替えることが出来ます。 目次 Unityのスプライトアニメーション テ…

【Unity】良い感じに見える(屋内向け)ライティングの設定手順

UnityTipsにライティングの設定手順があったので、実際に試してみました。 Last Man Sittingのライティング設定 手順 ステップ1 - とりあえず配置 - ステップ2 - ポイントライトを置く - ステップ3 - Reflection Probeを追加 - ステップ4-Directional Li…

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

今回は2Dカメラがステージの外を映さないようにする方法についてです。 キャラクターを中心に映すと、ステージの外が映る事がある Cinemachineに追加された2D機能 CinemachineConfinerはカメラが範囲外に移動するのを防ぐ 移動範囲の定義はColliderの「範囲…

【Unity】複数パーツで構成された半透明のSpriteを違和感無く表示する…際に出るであろう問題の対策

前回の続きで、複数パーツで構成された半透明のSpriteを違和感なく表示する方法の続きです。前回はSpriteMaskを使用して重複部を表示しないようにしました。今回はこのアプローチで発生する問題を回避する方法について紹介します。 SpriteMaskを使えば、半透…

【Unity】複数パーツで構成されたSpriteを半透明にしても違和感をなくす方法

今回は最近のスケルタルアニメーションでよく見られるような、複数パーツで構成されたSpriteを、違和感なく半透明にするアプローチについてです。 若干限定的な所があるので、そのあたりは自分で何とかする必要があります。 2Dのスケルタルアニメーション ス…