タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
Cy#の河合です。去年、UniTask – Unityでasync/awaitを最高のパフォーマンスで実現するライブラリという形で紹介させていただきましたが、今回全てのコードを書き換えた新バージョンをリリースしました。 GitHub – Cysharp/UniTask UniTask v2では、コードの徹底的な書き換えにより、ほぼ全てがゼロアロケーション化しました(技術的詳細は後ほど述べます)。これによりパフォーマンスの大幅な向上を果たしているほか、新たに非同期シーケンスと、それに対応する非同期LINQが組み込まれました。その他、DOTweenやAddressableなどの外部アセットに対するawait標準対応も組み込まれ、より利便性が高まっています。 v2の前に、まず、async/await はC# 5.0から搭載されている機能で、従来コールバックの連鎖やコルーチンで処理していた非同期コ
はじめに 「UniTask」を Unity プロジェクトに導入することで 非同期処理を簡単に記述できるようになります この記事では「UniTask」の使い方をいくつか紹介していきます 目次 はじめに 目次 検証環境 導入方法 使用例 Resources.Load を非同期で待つ シーンの読み込みを非同期で待つ 指定したフレーム数待つ 指定した秒数待つ コルーチンを待つ 指定した条件が true になるまで待つ 指定した条件が false になるまで待つ 自作の非同期メソッドを待つ UnityWebRequest を待つ 進捗を取得する 3D の当たり判定を待つ 2D の当たり判定を待つ ボタンが押されるのを待つ Awake、Start、OnDestroy を待つ OnEnable、OnDisable を待つ AsyncLazy(非同期遅延初期化)を書く すべての非同期処理が終わるまで待つ
この記事は Akatsuki Advent Calendar 2019 - Adventar 5日目の記事です。 はじめに UniTaskとは🤔🤔🤔 やりたいこと🤔 まず最初に考えたやり方🤔 Incremental Compilerが不要に!😇 とはいえ全部をいきなりUniTaskに置き換えるのは難しくない? UniTaskCompletionSource UniTaskの中身を解析してみよう🤔 PlayerLoopHelper PlayerLoopHelper.csの中身 ContinuationQueue PlayerLoopReusablePromiseBase UniTask IsCompleted Awaiter IAwaiter ICriticalNotifyCompletion 次に気になったこと どうやってAsyncUniTaskMethodBuilderを呼
2020/6/26 C# Tokyo オンライン「Unity 祭り」 https://csharp-tokyo.connpass.com/event/175469/ 発表中に出てきた資料などのリンク - UniTask入門 https://learning.unity3d.jp/2974/ - さては非同期だなオメー!async/await完全に理解しよう https://learning.unity3d.jp/275/ - async/await のしくみ https://learning.unity3d.jp/1510/ - AsyncMessageBroker https://twitter.com/neuecc/status/1262578286493724672
自己紹介HN: すいま 所属班: プログラム班 回生: 4回生 Twitter: @SuimezZZ はじめにメリークリスマス!! こんにちは。4回生のすいまです。 まず今回このようなイベントを開いてくれたSBさんに感謝!!ありがとうサンキュー!! 今年も誰向けなのかわからない記事を書かせていただきますよええ。 去年のアドベントカレンダーでも UniTask について書かせていただきました。 あれから1年。 UniTask も進化し 『UniTask v2』 となりパワーアップしました!! 旧UniTask からの変更点や追加機能などを解説いたします!ぜひ UniTask を開発に取り入れてみてください! ※この記事では UniTask2 を UniTask , 従来のUniTask を 旧UniTask と表記します。 去年の記事と被る内容は量が多過ぎちゃうんで省きます。 例えば、前回と
他の資料 C# Tokyo オンライン「Unity 祭り」で登壇した資料も追加しておきます。あわせて御覧ください。 UniTaskの使い方2020(スライド) 発表動画(YouTube) UniTask2 UniTaskが大きくアップデートされて、Ver2となりました! 今回はその変更点についてまとめてみました。 ※ Ver.2.0.25準拠で書いています。 破壊的変更 まずは1系からの破壊的変更。導入時に気をつける必要があるところです。 必要な最低Unityバージョン 2018.4.13f1 が最低サポートバージョンとなりました。 名前空間の変更 名前空間がUniRx.AsyncからCysharp.Threading.Tasksに変更されました。 もともとUniRxのライブラリの一部だった名残なのですが、今回のアップデートで完全に名残がなくなりました。 UniTaskのawait2度漬け
書籍「UniRx/UniTask完全理解 より高度なUnity C#プログラミング」11/6発売予定 by igjd · 公開済み 2020年10月21日 · 更新済み 2020年10月21日 Unity開発者向けの書籍、「UniRx/UniTask完全理解 より高度なUnity C#プログラミング」が11/6に発売されます。 著者は、UniRxについてこれまでさまざまなノウハウをwebや講演で公開している打田恭平氏です。UniRx、UniTaskは多くのプロジェクトで利用されています。プロフェッショナルな現場で働くUnityエンジニアにとって、必携の書といえます。 大変長らくお待たせしました!!UniRx/UniTask本を11/6に出版致します!!500ページ近くある鈍器です!!! UniRx/UniTask完全理解 より高度なUnity C#プログラミング https://t.co/
こんな感じでしょうか。 C#のTaskにはUnityで使うにはいらない機能が多いようです。 UniTaskはその不要な機能をカットしたコンパクトなものになっています。 また、グラフでは省きましたが、依存しているものの違いもあります。 UniTaskはUnityのPlayerLoopを使っています。そのためUnityとの親和性が高いです。 UniTaskが提供する機能UniTask , Unitask<T>型TaskとTask<T>をUnity向けに最適化したものです。 基本的にTaskをUniTaskに書き換えるだけでUniTaskを使うことができます。 // Task private async Task HogeAsync(){ Debug.Log("まつ!"); await Task.Delay(1000); } // UniTask private async UniTask Ho
var token = this.GetCancellationTokenOnDestroy(); var uniTask = UniTask.Run(() => "hoge"); こんな感じで変数tokenは何かしらのCancellationTokenが、 変数uniTaskには何かしらのUniTaskが入っていると考えてください CancellationToken CancellationToken を UniTask に変換できます // 実装 public static (UniTask, CancellationTokenRegistration) ToUniTask(this CancellationToken cancellationToken) // 使用例 var (task,registration) = token.ToUniTask(); registration.
はじめに Package Managerでパッケージの導入が楽になったのでよく使うライブラリでも使えないかと調べた所、各リポジトリは後述するPath Queryに対応していました。 各リポジトリのUPMのgit URLと対応状況 Extenject package.jsonとasmdefは用意されていますが正式対応版ではなくサンプルシーンも一緒に取り込まれてしまうので使わない方が無難です。 UniRx masterブランチのみUPM対応しています。UPM対応後にタグが作られていないのでバージョン指定はできません。 UniTask masterブランチと1.3.0以降のタグを指定できます。タグを指定する場合は#1.3.0のようにURLの最後に追加します。 https://github.com/Cysharp/UniTask.git?path=Assets/UniRx.Async#1.3.0
こんにちは、Unityエンジニアのオオバです。 DOTweenをasync/awaitで実装する とき、 「UniTask一択」です。 わざわざC#デフォルトのTaskを使う必要はありません。 Unityを考慮したAPITaskより高機能パフォーマンス面これらがUniTaskを使う理由です。 本記事では具体的にDOTweenを async/await化する上でのポイントを 解説していきます。 【超初心者向け】UniTaskの始め方3つのポイント Unityの非同期処理を実装するときにはUniTaskがおすすめ。一昔前はコルーチン一択でしたが、今のUnityはC#のバージョンが上がり、UniTask一択です。初心者向けにUniTaskの始め方を解説します。 DOTweenをasync/awaitする方法はawaitするだけ結論 Tweenをawaitするだけ です。 これで DOTweenを
public static UniTask<UnityWebRequest> ToUniTask(this UnityWebRequestAsyncOperation asyncOperation, IProgress<float> progress = null, PlayerLoopTiming timing = PlayerLoopTiming.Update, CancellationToken cancellationToken = default(CancellationToken)) UnityWebRequestをToUniTaskでUniTaskに変換するときにIProgressを使って割合は取ってこれるが、downloadedBytesは取れない。 (Content-Lengthでダウンロードサイズ取得してProgress使って算出する等は可能だと思うが、UnityWeb
UniTaskのキャンセル処理についてまとめました。 非同期メソッドのキャンセル方法 Taskの場合 UniTaskの場合 UnityのAsyncOperation系 GameObjectのライフサイクルに紐づいたCancellationToken キャンセルのハンドリング方法 基本的にはtry-catch SuppressCancellationThrowでキャンセル状態を戻り値として得る Unity2020.1.10 UniTask 2.0.37 非同期メソッドのキャンセル方法 まず非同期メソッドのキャンセル方法についてまとめます。 Taskの場合 UniTaskについて書く前にTaskについてまとめます。 Taskをキャンセルにするには、以下のようにCancellationTokenを非同期メソッドに渡します。 using System.Threading; using System
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く