【Unity】UniTaskのキャンセル処理まとめ・Taskとの比較

UniTaskのキャンセル処理についてまとめました。

  • 非同期メソッドのキャンセル方法
    • Taskの場合
    • UniTaskの場合
    • UnityのAsyncOperation系
    • GameObjectのライフサイクルに紐づいたCancellationToken
  • キャンセルのハンドリング方法
    • 基本的にはtry-catch
    • SuppressCancellationThrowでキャンセル状態を戻り値として得る
続きを読む

【Unity】【エディタ】TypeCacheを使って指定したアトリビュートが付いている型を高速に取得する

UnityのTypeCacheを使って指定したアトリビュートが付いている型を高速に取得する方法をまとめました。

  • TypeCache?
  • APIとUnityバージョン
  • ランタイムの可能性
  • 参考
続きを読む

【Unity】NatCorderで動画をオフラインレコーディングする

UnityのアセットであるNatCorderで動画をオフラインレコーディングする方法についてまとめました。

  • NatCorder?
  • 映像だけオフラインレコーディングする
  • 音声だけオフラインレコーディングする
  • 動画と音声をオフラインレコーディングする
    • AudioClipのデータをフレーム単位で取得できるクラスを作る
    • オフラインレコーディングする
  • 関連
続きを読む

【Unity】Unityエディタ上でスマホ実機がシミュレーションできるDevice Simulatorの使い方まとめ

Unityエディタ上でスマホ実機がシミュレーションできるDevice Simulatorの使い方をまとめました。

  • Device Simulator?
  • インストール
  • 基本操作
  • カスタムアセンブリに設定を反映する
  • カスタムデバイスを追加する
  • 参考
続きを読む

【Unity】Addressableアセットシステムで同期ロードが公式サポート、Resources.Loadを置き換え可能に

UnityのAddressableアセットシステムで同期ロードが公式にサポートされたので、その使い方とResources.Loadを置き換える方法についてまとめました。

  • Addressablesと同期ロード
    • 今までは非同期なロード方法しかなかった
    • 同期ロードが公式サポートされた
  • 同期ロードの仕方
  • Resources.Loadと置き換えるには
    • Addlerを使って一行で書く
    • さらにシンプルに書く
    • ついでにEZAddresserを宣伝(Resourcesライクなアドレスを自動的に付与する)
  • 同期ロード使用時の注意点
    • すべてのAsyncOperationが終わるまで待機される
    • Unity2021.2.0以降じゃないと遅い(どの程度遅いかは謎)
    • ダウンロードには原則使わない
  • 関連
  • 参考
続きを読む