1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Unity]非同期処理 UniRxを理解したい

Posted at

はじめに

 聞き覚えのある非同期処理たちを、改めて理解を深めるべくここにまとめていきたいと思います。
(2024/10/28最終更新)

歴史

用語集

  • Task
  • UniTask
  • UniRx
  • await/async
  • coroutine
    • IEnumerator
    • yield return
    • startCoroutine

Coroutine

 通常のコードでは1フレーム分でメソッドを完了してしまうが、不便な時がある。Coroutineは1フレーム分の呼び出しで作業を完了させず、複数のフレームにまたがって処理をすることができる1

 脚注のUnity公式の例がすごくわかりやすかったので参考にしましょう。
 複数フレームにわたってフェードアウトさせたいオブジェクトがあったとします。UpDate関数を使わず、Start関数などから呼び出す場合はFor文でフェードを回していても1フレームで完了してしまうため、すぐに消えてしまいます。
Coroutineを使って複数フレームで処理すれば、1フレームで部分的にフェードさせることができ、徐々にフェードさせることができます。

 制約としてコルーチンを「含む」関数には”IEnumerator”を先頭にかき、”yield return”を中断させる部分に含ませます。
 その関数を「呼び出す」ときに”StartCoroutine()”関数を使って関数を呼び出します。

 単語の意味としてはCo + routineで 協調+ルーティン 複数のフレームで協調して処理をするイメージ。

  1. Unity Documentation コルーチン

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?