新しいこと、枯れたこと問わずサムザップ大庭が興味を持ったものを調査、生活の効率を求める完全趣味の技術ブログ。基礎を大事にしています。JobSystem前回、前々回とIJob、IJobParallelForを使ったJobSystemについて触れてきました。今回は僕的には一番使ってみたいIJobParallelForTransformを検証してみたいと思います。IJobParallelForTransformIJobParallelForTransformとはジョブ実行中にTransformを並列に処理できるインターフェースです。入っても、Transformクラスが扱えるわけではなく、TransformAccessという型でジョブには渡ってきます。ジョブのコードを見てます。}}Executeには参照要素番号と、TransformAccess型が渡ってきていますので、素直にそれらを使ってゴニョゴニョするという感じです。TransformAccesslocalPositionlocalRotationlocalScalepositionrotationこれら5つのプロパティを操作することができます。GetComponentなどは不可です。ジョブで扱うデータなので、TransformAccess型はクラスではなく構造体で定義されています。サンプル10000個のキューブのポジションを更新するサンプルを作りました。ジョブ未使用ジョブ使用(BurstCompilerなし)ジョブ使用(BurstCompilerあり)この3つの方法でテストします。0.070msUnityEditor上での結果ですが、CPUプロファイラはこのようになっています。今回はPositionをただ渡すだけのシンプルな処理のジョブなので、あまりBurstCompilerの恩恵は受けられていない感じがします。次の課題として実用的な使い方をUniteやCEDECあたりの資料を漁りつつ検証していこうと思います。00:00IJobParallelForTransformを使ってTransformを並列処理させるTweet読者になるボタンを押して貰えるととてもがんばれます。大庭俊介(bao_bao)渋谷のUnityエンジニア。スマホゲーム作って生活しています。設計、組み込み、演出一通りを自分1人で完結して作るのが得意です。よろしければTwitterフォローお願いします。(@ohbashunsuke)株式会社サムザップでUnityエンジニアとしてスマホゲーム作っています。(1)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。