テラシュールブログ

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

Unity2018.3

【Unity】AssetBundleからモデルをロードする際の最適化ポイント

ゲームでキャラクターをロードしたりする際、画面がカクつくというのは割とよく見る光景です。今回はその辺りの対処法についてメモしておきます。 Async Upload Pipeline(非同期アップロードパイプライン)の活用 シェーダーのウォーミングアップ シェーダ…

【Unity】NavMeshのRaycastを非同期で撃つ!

Unity 2018.3からNavMeshのRaycastを非同期で実行することが出来るようになったので、その方法についてです。 なおExperimentalなAPIを使用するので、今後変わるかもしれません。 NavMeshQuery経由で非同期でRaycastを実行 使ってみる 非同期で動かそう! 関…

【Unity】SpriteAtlasでパックしたスプライトをUIに使用したときに出るゴミの対処

SpriteAtlasを始めとしたパッキングのアプローチを使用することで、スプライトの描画時に必要なパスの数が減り、パフォーマンス的に良い感じになります。よく言われるDrawCallやSetPassの削減というやつです。 さて、SpriteAtlasでスプライトをパッキングし…

【Unity】ECSでシーンをロードする様にEntity群をロードする

今回はECSにおけるEntityのセーブ及びロードについてです。 つまりGameObjectをSceneやPrefabに固めるように、Entity(Entity & ComponentData)をファイルとして書き出します。 なおUnity 2019辺りのタイミングでちゃんとしたエディターサポートが始まるの…

【Unity】C# Job Systemからノイズを使う

前回に引き続き、今回はノイズを使用してみます。 ノイズを使用する コード ノイズを使用する 下のような感じの動きを作ってみます。 Mathfは多分メインスレッドでしか動作しませんが、Mathematicsだと別スレッドでも問題なく動作します。 またRandomと異な…

【Unity】Animation C# Jobsで遊んでみる

Unite LAで盛り上がってますが、今回はソレは置いといてAnimation C# Jobsを試してみます。 Animation C# Jobs 作ってみたもの 解説 コード 感想 関連 Animation C# Jobs Animation C# Jobsは言うならば 「アニメーションを独自実装するモノ」 です。 Playab…

【Unity】新・AnimatorのGameObjectを非アクティブにするとステートマシンがリセットされる問題の対処法

以前、下のリンクで紹介した「AnimatorのGameObjectを非アクティブにするとステートマシン(その他諸々)が破棄される」問題の、対処法です。 tsubakit1.hateblo.jp Animator.keepAnimatorControllerStateOnDisable keepAnimatorControllerStateOnDisableは…

【Unity】指定のコードがGCを発生させるかどうかをテストする(AllocatingGCMemory)

GC(ガベージコレクション)はコードに紛れひっそりと忍び込みます。 今回はソレを見つけるのに便利なAPIが追加されていたので試してみました。 AllocatingGCMemoryでGCの発生を監視する 実際に使ってみる 関連 AllocatingGCMemoryでGCの発生を監視する Unit…

【Unity】ECSでSystemの有効化・無効化についてのまとめ

ECSの基本はSystemです。システムというWorld毎にユニークなオブジェクトが多くのEntityを操作することでゲーム表現を実現しています。 ここで気になるのはSystemを動かす方法、及び止める方法についてです。今回はその辺りについて書いてみます。 Default W…

【Unity】Progressive LightmapperのGPU accelerationでライトマップのベイクが爆速に

Unity 2018.3b3からProgressive LightmapperのベイクにGPU accelerationが使用できるようになりました(Windowsのみ) ので実際に使ってみました。 www.youtube.com 使い方 特に難しいこともなく、ライトマッパーをProgressive GPU(Preview)に変更するだけで…

【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ロードマップ 」

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