テラシュールブログ

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

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

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

【Unity】ECSで複数のWorldを運用する方法

「デモとしてのECS」が欲しいなら使いませんが「ゲームとしてのECS」が必要なら知っておくと良い、複数のWorld運用についてです。 ECSを”ゲーム”にするためには 複数のWorldを管理する Worldを作成する 動かすWorldを切り替える Tips World.Active Default W…

【Unity】Unity 2018.3でTimelineの座標系が少し分かりやすくなった

UnityのTimelineは座標系に謎の挙動がありましたが、Unity2018.3でもう少し納得できる感じに修正されました。 Unity 2018.3以前のTimelineの座標系 変化したTimelineの座標系 ApplyTransformOffsetはカットシーン向け ApplySceneOffset Auto 私が本当に欲し…

【Unity】自作のパッケージを追加したりパッケージを一覧から検索したり…PackageManagerがUnity 2018.3で変化したポイント

今回はUnity 2018.3でPackageManagerが変化した幾つかのポイントです。 Package Managerに自作パッケージの追加が可能に 実際の手順 パッケージ化するフォルダの作成 package.jsonの記述 パッケージの登録・登録解除 PackageManagerの一覧表示が少し変わった…

【Unity】コンポーネントを参照しているオブジェクトを見つけ出す方法

ついにUnity 2018.3のベータが開始しました。今回はソコで追加された「コンポーネントを参照しているオブジェクトを見つけ出す」方法について紹介します。 シーン内の参照を検索 見つかるのはInspectorで設定されている場合のみ 実はUnity 2018.3以前も使え…

【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】既存のプロジェクトに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】ECSのComponentSystem実行順をコントロールする

今回はECSのComponentSystemも実行順番をコントロールする方法についてです。 ComponentSystemの実行順番は非常に重要 実行順の確認方法 特定のComponentSystemの前に実行する、後に実行する UpdateInGroupで処理のタイミングを大まかに纏める 関連 Componen…

【Unity】エディター操作でシーン間参照を実現する guid-based-reference

Unityでは複数のシーンを同時に編集することは可能ですが、シーン間の参照は出来ません。今回はソレをGUIDベースでなんとかするアプローチについてです。 シーン間参照(Multi Scene Reference)が出来ない シーン間参照がやりたくなるケース GUID BASED REF…

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

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

【Unity】ECSのEntityの作成やComponentDataの追加等の操作を別スレッドから実行する

今回はECSのEntityを非同期に作成する方法についてです。主に打規模なシーンのロード等に使用できそうです。 Entityの生成や破棄、削除はメインスレッド上で行う ExclusiveEntityTransaction ExclusiveEntityTransactionを使用しつつEntityManagerも使いたい…

【Unity】「開発計画に役に立つUnityロードマップ 」

Unity 2018.1~Unity 2018.3に渡り追加される機能を網羅的に紹介したスライドです。「こんな機能が追加されるのか!」と中々にテンション上がりそうです。特にNestedPrefabとTerrain改修あたり。 スライド 【CEDEC2018】開発計画に役に立つUnityロードマップ…

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

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

【Unity】「一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術 」

先日のCEDEC 2018の資料です。プロファイルに関する幾つかのアップデートが紹介されています。出来なかった事が出来るようになっている部分もあるので、一度見るオススメです。 一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術 from UnityTechnolog…

【Unity】Timeline上でビデオクリップを再生したりフェードで切り替えたりする方法

今回はTimeline上でビデオクリップ(mp4やwebmといったフォーマット)を再生してみます。 Unityでビデオを再生 Timelineでビデオを再生 手順 ビデオのフェード 問題 Unityでビデオを再生 UnityはUnity 5.6辺りでVideo Playerという機能が新しく追加されまし…

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

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

【Unity】Timeline上で親オブジェクトを切り替える

以前紹介したサンプルですが、これが割と使うケースが多いのでちゃんと紹介しようと思います。 Timelineで親オブジェクトを切り替えたい Timelineで親オブジェクトを差し替える 関連 Timelineで親オブジェクトを切り替えたい Timelineは親オブジェクトを差し…

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

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

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

TimelineでTrackでバインドした情報を使って初期化したくなります。その場合のアプローチについてです。 PlayableBehaviourと初期化 ○○MixerBehaviourのOnBehaviourPlayのタイミングで初期化 ○○Behaviourの場合 サンプル PlayableBehaviourと初期化 Timeline…

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

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

「CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング」

ECSを使い切る上で素晴らしい資料が公開されました。 特にジョブシステム上で色々とやりたい場合には凄い参考になると思います。 【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング from UnityTechnologiesJ…

【Unity】Monobehaviourを継承したクラスをAddComponentボタン経由で追加出来なくする方法

「なんの役に立つのか分からない」裏技です。 Monobehaviourを継承したクラスは割と問答無用でAddComponentで追加することが出来るようになります。サンプルでコレを回避するコードを見かけたのでメモします。 やり方は単純で、[AddComponentMenu("")]をクラ…

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

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

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

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

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

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

【Unity】PackageManagerが提供するパッケージのダウンロード先と、パッケージを改造する方法

今回はPackageManagerがダウンロード(キャッシュ)する先のフォルダの確認と、PackageManagerが提供する機能を改造する方法について紹介します。 PacakgeManagerは機能をUnityエディターに追加する PacakgeManagerでダウンロードしたファイルを保存するパス…

【Unity】Profiler Native Plugin API

Unity 2018.2より、Profiler Native Plugin APIが実験機能として追加されました。何コレと思ったので少し探してみました。 Profiler Native Plugin API どうもコレは、Profilerの処理に追加でコールバックを設定してプロファイラーに乗せる情報をフックする…

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

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

【Unity】GTMF 2018の資料

GTMF2018の資料です。 SRPの導入方法とメリット、SRPを利用したトリックについて紹介されています。 【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう from UnityTechnologiesJapan www.slideshare.net ECSとC# Job System、Burstに…