
それでは、ゲームや映像の世界で、たくさんのものを滑らかに動かすための新しい技術について、一緒に紐解いていきましょう。
何が起きたのか
ゲームや映像を作る際、画面上にたくさんのブロックやキャラクターを表示させたいですよね。例えば、たくさんのピクセル(点の情報)から、複雑な絵や立体を再現しようとすると、ものすごくたくさんの計算が必要になってしまいます。
今回、株式会社サムザップという会社が、この「たくさんのブロックを効率よく動かす」ための新しい技術を公開しました。これは、ゲーム開発で使われる「Unity」というソフトの中で、画面に表示するブロックの数を何百万個にも増やしても、カクカクせずにスムーズに動かすための工夫なんです。
具体的には、画像を小さなブロックに分けて、それらをまとめて専門の計算機(GPU)に一度に指示を出す、という方法を検証したんですね。この新しい方法を使うことで、以前は重くて動かなかったような、100万個ものブロックを、とてもスムーズに動かすことができたんですよ。
なぜそれが起きたのか
なぜ、これほどまでに新しい技術が必要になったのでしょうか。
まず、普通のやり方で画像をブロックに分けると、ブロックの数が少し増えるだけで、コンピューターが「このブロックをどこに、どう色付けして表示する」という命令を、一つ一つ、CPUという別の部分から送らなければなりません。ブロックが10万個くらいになると、この命令の出し方が大変になりすぎて、画面がカクカクしてしまい、動きがスムーズにならなくなってしまうんです。まるで、たくさんの人に一つずつ手紙を配るようなイメージでしょうか。
そこでサムザップさんが開発した「RenderMeshPrimitives」という特別な技術が活躍します。これは、たくさんのブロックの情報を、まとめて専門の計算機(GPU)という、描画を専門に行う機械に渡す方法なんです。
このGPUは、たくさんの計算を同時に行うのが得意なんですよ。そのため、CPUが一つ一つ命令を送る必要がなくなり、処理の負担がぐっと軽くなるんです。
例えば、10万個のブロックを普通の方法で表示すると、画面が1秒間に6回くらいしか動かない(6FPS)という状態でした。しかし、「RenderMeshPrimitives」を使うと、同じ10万個のブロックを、1秒間に700回以上(710〜865FPS)もスムーズに動かすことができたんです。さらに、画面に描画するための命令の回数(ドローコール)も、ものすごく少なくなり、処理が劇的に改善されたわけですね。
わたしたちの生活にどう関係するのか
この技術は、私たちの日常の生活や、これから見る映像作品に、とても深く関わってきます。
今、スマートフォンやゲーム機で、とてもリアルで美しい映像や、複雑な3Dの世界を体験できるようになっているのは、こうした裏側で、こうした技術が頑張ってくれているからなんです。
例えば、映画やアニメの中で、水が波打ったり、ブロックが重力で崩れ落ちたりするような、とてもリアルな動きを表現するとき、この技術が使われています。
「RenderMeshPrimitives」を使うと、単にブロックを表示するだけでなく、「動き」を表現することも可能になりました。例えば、ブロックが波打つような動きは、時間の経過だけで決まる計算(Vertex Shaderという、描画の形を計算する魔法のレシピ)で実現できます。一方で、ブロックが反発したり、重力で落ちたりするような、前の動きを記憶して次の動きに繋げる複雑な動きは、別の計算方法(Compute Shaderという、複雑な動きを計算する別の魔法のレシピ)で実現できるんです。
このように、この技術のおかげで、私たちはゲームや映像の中で、もっと滑らかで、より生き生きとした、複雑な世界を体験できるようになっていくでしょう。技術の進化は、私たちの想像力を広げ、新しい体験を生み出すための大切な土台になっているんですね。
※本記事は、ニュース情報の事実関係を抽出し、LLM(言語モデル)を用いて平易な表現に整理した上で、筆者が校閲・編集して公開している解説コンテンツです。
※一次情報(元記事)の確認については、情報元の「元記事(外部リンク)」をご参照ください。

