テラシュールブログ

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

Unity

【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】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に…

【Unity】ShaderGraphで頂点シェーダーを使用してみる

Unity 2018.2から使用できるShaderGraph 3.0から頂点シェーダーの機能が使用できるようになったので、使ってみました。 ShaderGraph3.0 とりあえず上下に移動するだけのシェーダーを作る 旗も作ってみる 感想 ShaderGraph3.0 これを動かすには、ShaderGraph…

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

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

【Unity】Timelineで物理演算のような動きを使いたい

今回はTimelineで物理演算のような動きを再現するアプローチについてです。 物理表現的な動きをTimelineで使いたい 物理演算の動きをAnimationClipに変換してしまおう GameObjectの動きをレコードする Timelineに使用する Rigidbodyとか、その辺りを全て外す…

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

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

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

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

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

コンポーネントのエディター拡張によっては、複数のオブジェクトを選択したときに「multi-object editing not supported」と表示され編集が出来なくなる物があります。 これがPrefab化しているならPrefabの大本をイジれば良いという話になるのですが、Prefab…

【Unity】Unity 2018.2でMacのVS Codeが入力補完してくれなくなった時の対処

Unity 2018.2にしたところ、MacのVS Codeが入力補完をしてくれなくなったので、その対策についてです。 結論としては、下のパッケージを入れればOKでした。 http://www.mono-project.com/download/stable/ WindowsのVisual Studioの場合はこちら tsubakit1.h…

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

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

【Unity】AnimationClipの編集が出来ない時の対策

今回は簡単なトラブルシューティングです。 AnimationClipがReadOnlyなのはFBXにAnimationClipが格納されているため TimelineがPreview中はAnimationClipをRecordにできない Optimized Game Objectが設定されたオブジェクトのAnimationは編集出来ない Animat…

【Unity】Timelineでキャラクターの「表情」を変更する時の注意点

今回はTimelineで表情を変更する場合の注意についてです。 Case 1.表情のキーがセットされない Case 2. 表情が変化しない Case 3. 表情がおかしな感じになる Timelineでキャラクターの動き等を変更していると「表情」も変更したくなります。例えばちょっとし…

【Unity】Nested PrefabやPrefabエディターが追加、新しいPrefabワークフローを触ってみた

Uniteベルリンにて、Nested Prefabが可能になるプレビュービルドが公開されたので触ってみました。 追記:Unity 2018.3にて搭載されています Prefabの階層化が出来るようになった Prefabのバリアント Prefabエディターの追加 プレビューのダウンロード Prefa…

【Unity】C# Job SystemからECSのEntityやComponentDataを追加・削除・変更する指示を出す

今回はECSのComponentDataの追加や削除・変更といった動作をJobSystem上から指示する方法についてです。 C# Job SystemからComponentDataの追加・削除等を指示する BarrierSystem サンプルコード IjobParallelFotやIJobProcessComponentDataで使用するには?…

【Unity】実践的なパフォーマンス分析と最適化

今回はUnite Tokyo 2018で紹介された「実践的なパフォーマンス分析と最適化」のセッションの動画から得られた物をメモしていこうと思います。 なおセッションの音声をそのまま文字にするのではなく、メモを元に自分なりの理解を文章に起こしています。内容の…