Googleは、Unityのアセットをまとめたサービス『Poly API』を公開しています。このサービスではアーティストが作成した3Dモデルなどのアセットが用意されており、利用者はそれらをクリエイティブ・コモンズ・ライセンスの元使う事ができます。ARやVRといったコンテンツ開発に非常に便利なサービスです。
『Poly API』にはAPIという名前がついていますが、これはアセットの検索やダウンロードをWeb APIからできるもので、使い方によっては非常に強力なシステムです。この API を使えば、編集時でも実行時でも、アプリで動的に 3D アセットを検索してダウンロードできるとのことで、リアルタイムにアセットを検索してゲームに登場させる、といった遊びにも活用できそうです。
通常はWebサイト『Poly』(https://poly.google.com/)によって検索できます。
Poly APIを実行すると以下のような機能が実行可能です。
- アセットの絞り込み検索
キーワード
カテゴリ(「動物」、「テクノロジー」、「交通」など)
アセットタイプ(Blocks、Tilt Brush など)
複雑さ(低、中、非常に複雑)
キュレート対象(キュレート対象のアセットのみ、またはすべてのアセット)
- ID を指定して特定のアセットを取得する。
- ユーザー自身のアセットを取得する。
- ユーザーが高評価しているアセットを取得する。
- アセットをダウンロードする。フォーマットは、アセットタイプによって異なる(OBJ、GLTF1、GLTF2)。
- アセットのマテリアル ファイルやテクスチャをダウンロードする。
- アセットのメタデータを取得する(作成者、タイトル、説明、ライセンス、作成日時など)。
- アセットのサムネイルを取得する。
Unity デベロッパー向けの Poly Toolkit
Poly Toolkit は、オプションで認証を扱うこともできるので、ログイン ユーザー自身のプライベート アセットや、ユーザーが Poly のウェブサイトで高評価しているアセットの一覧を取得することもできます。
さらに、Poly Toolkit for Unity にはエディタ ウィンドウも搭載されているので、エディタ上で直接 Poly からアセットを検索して Unity シーンにインポートできます。
Unreal デベロッパー向けの Poly Toolkit
Unreal をお使いの方には、Poly Toolkit for Unreal を提供しています。これは、API をラップして Poly から OBJ および Blocks モデルを自動的にダウンロードし、変換するもので、アセットのクエリ、結果の絞り込み、アセットのダウンロードに加え、ゲームでそのまま利用できる Unreal アクターとしてインポートすることも可能です。
その他ゲームエンジンを使っていない場合にも対応可能なサンプルコードも公開されています。
androidのサンプルコード https://github.com/googlevr/poly-sample-android
iOS向けのサンプルコードは2種類のサンプルコードが公開されています。https://github.com/googlevr/poly-sample-ios
1 つは SceneKit、もう 1 つは ARKit を使っています。HTTP 接続をオープンし、API リクエストを行い、結果を解析し、データから 3D オブジェクトを構築してシーンに配置するために必要なロジックがすべて含まれています。
Poly API、ツールキット、サンプルについての詳細はデベロッパーサイトをご覧ください。
https://developers.google.com/poly/develop/
・Poly Webサイト
https://poly.google.com/
・Poly API
https://developers.google.com/poly/develop/