今回は、豊富な無料3DCGをダウンロードできるSketchfabから、モデルの形式や設定を問わず安定的にアセットをダウンロードする方法をご紹介いたします!
Sketchfabとは
Sketchfabは、3Dモデルの投稿・共有ができるプラットフォームです。
MayaやBlenderなどの一般的なファイルを含め、対応ファイルは30種類以上あり、作品投稿数は500,000を超えています(2018年 5月時点)。
アップロードされた3Dモデルは、マウス操作で回転させながらWebブラウザ上で360°確認できるだけでなく、クリエイターがアップ時に許可している3Dモデルであれば、ローカルへのダウンロードも可能です。
Sketchfabは、クリエイターが3DCGをアップロードするプラットフォーム型のサイトゆえにアップロード者ごとに設定が定まっておらず、Unity上での設定が難しい場合などがあります。
実際に以下のファイル形式に対応しており、設定の自由度が高いことがわかります。
対応ファイル一覧
- 3DC point cloud (.3dc, .asc)
- 3DS (.3ds)
- ac3d (.ac)
- Alembic (.abc)
- Alias Wavefront (.obj)
- Biovision Hierarchy (.bvh)
- Blender (.blend)
- Carbon Graphics Inc (.geo)
- Collada (.dae, .zae)
- *Design Web Format (.dwf)
- Designer Workbench (.dw)
- DirectX (.x)
- *Drawing eXchange Format (.dxf)
- Autodesk Filmbox, FBX (.fbx)
- GDAL vector format (.ogr)
- Generic Tagged Arrays (.gta)
- GL Transmission Format (.gltf, .glb)
- Initial Graphics Exchange Specification, IGES (.igs, .iges)
- Kerbal Space Program (.mu, .craft)
- Google Earth, Keyhole Markup Language (.kmz)
- LIDAR point clouds (.las)
- Lightwave (.lwo, .lws)
- Mimesys Q3D (.q3d)
- Minecraft (.mc2obj, .dat)
- Open Flight (.flt)
- Open Inventor (.iv)
- OpenSceneGraph (.osg, .osgt, .osgb, .osgterrain, .osgtgz, .osgx, .ive)
- Polygon File Format (.ply)
- Quake (.bsp)
- Quake / Valve source engine (.md2, .mdl)
- Shape (.shp)
- *Stereolithography, Standard Tessellation Language (.stl, .sta)
- Terrapage format database (.txp)
- Valve source engine (.vpk)
- Virtual Reality Modeling Language, VRML (.wrl, .wrz)
このようなファイルの設定を、Sketchfabから一元管理してUnityにダウンロードできるのが「Sketchfab for Unity」です。
Sketchfab for Unity のダウンロード方法
「Sketchfab for unity」は一般のUnityのアセット同様、Unity Asset Storeからダウンロードできる無料アセットです。
以上のリンクを開き「Add to My Assets」を選択したのち、Sketchfab for Unityを使いたいプロジェクトを開き「Open in Unity」を選択してください。
すると、Unityでプロジェクト上でPackage Managerが開くので「Import」を選択し、Sketchfab for Unityをインポートしてください。
下の画像のように、ツールバーに「Sketchfab」のタブが追加されたら、ダウンロード完了です。
Sketchfab からアセットをダウンロードするときの選択項目
Sketchfab for Unityを使ってUnityにアセットをダウンロードする際の、Sketchfab上での設定を説明します。
Sketchfabのアカウント登録しよう
まず始めに「Sketchfab」へアクセスし「SIGN UP」からアカウント登録を行います。
メールアドレスで登録も可能ですが、FaceBook / Twitter / GoogleなどのSNS連携も可能です。
モデルを探そう
ログイン後、ヘッダーメニュー左上部にある「EXPLORE」にマウスオーバーさせると「BROWSE BY CATEGOLY」と「HIGHLIGHTS」の2つのサブメニューが表示されます。
カテゴリーメニューからお好みの3Dモデルページへ遷移してもいいですが、Sketchfabにはダウンロード可能になっているものと、そうでないものがあります。
一つ一つ確認するよりはHIGHLIGHTSメニューにある「Downloadable」を選択し、ダウンロード可能なモデル一覧を表示しましょう。
アセットが表示されるグリッドの右上には、そのアセットが無料か、有料かアニメーションがついているか付いていないかが表示されています。
フィルムマークが付いているものはアニメーション付きのモデルで、下方向の矢印がついているものが無料、ドルマークがついているものが有料アセットになっています。
下の画像だと、左が「アニメーション付きで有料」で、右が「アニメーション無しで無料」のものです。
モデルを検索しながら探したい時も、以下の赤枠の箇所の「Downloadable」を選択しながら検索すると、ダウンロード可能なモデルのみを表示できます。
製作者ごとに検索する方法などもあるので、試してみてください。
モデルをダウンロードしよう
今回は、無料のこちらのアセットをダウンロードしてみます。
画像左下の、赤枠の箇所の「Download 3D Model」を選択します。
Download 3D Modelを選択すると、以下のようなDownloadのウィンドウが表示されます。
Available downloads の箇所から「Autoconverted format(glTF)」の欄の「DOWNLOAD」を選択してください。
※ glTF形式のデータは見慣れないかもしれません。詳しくはSketchfabのサイト上に以下のように説明されています。
glTF形式とは Sketchfab上の説明より:
glTFは、一貫したPBRワークフローを維持しながら、アプリケーション間で3Dファイルをシームレスに移動できるように設計されたワンサイズのすべてのファイル形式です。
Sketchfabはアップロードされた元のファイル形式に加えて、ダウンロード可能なすべてのモデルの標準エクスポートとしてglTFを提供しています。
これは、現在クリエイティブコモンズライセンスの下で無料でダウンロードできる300,000を超えるモデルであり、Sketchfabストアではさらに多くのモデルがあります。
Sketchfabはアップロード用にすべての主要な3Dファイル形式を受け入れるため、glTFエクスポートは、サポートされている形式の1つからglTFに3Dファイルを変換する最も簡単な方法を提供することも意味します。glTF出力が必要な場合は、これを使用して独自のコンテンツを変換できます。
ダウンロードしたファイルをUnityに取り込もう
ダウンロードしたファイルの取り込みは、Unityプロジェクトからできます。
先ほどAsset Storeから追加したSketchfabのタブの「Import glTF」を選択します。
すると、glTF importerというウィンドウが開きます。ファイルを直接ドラッグ&ドロップして選択することもできます(注1)。
PC上のデータを参照する場合は、画像の赤枠の「Import file from disk」を選択します。
「Import file from disk」を開くと、フォルダから任意のファイルを選択できます。
(注1)ここでのポイントは「Sketchfabからダウンロードしたそのままの形式でインポートすること」です。
zipを解凍したり、解凍したフォルダの中から特定のファイルを選んだりしなくて大丈夫です。
ダウンロードしたzip形式のままのファイルを選択してください。
Openを選択すると、モデルがUnity内に取り込まれました。
縮尺や位置、向きなどはモデルによって異なるので、インポート後に調整してみてください。
これで、SketchfabからUnityにアセットを取り込む手順が完了しました!
このSketchfab for Unityを使うと、製作者の設定にかかわらず、Sketchfabからのデータを安定してUnityに取り込めることが多いです。
ぜひさまざまなモデルをUnityで使ってみてください!
STYLYに関する質問、バグ報告、改善してほしい要望はSTYLY FORUMまで
https://jp.forum.styly.cc/support/discussions