MRが楽しい

MRやVRについて学習したことを書き残す

UnityでUnity glTFastを使ってGLBファイルを取り込む

本日はUnityの小ネタ枠です。
UnityでUnity glTFastを使ってGLBファイルを取り込む方法についてです。

Unity glTFast

Unity glTFastはglTF形式のファイルをサポートするためのパッケージです。
元々OSSで開発されていたパッケージですが、現在はUnity公式パッケージとしてサポートされるようになりました。
docs.unity3d.com

Unity glTFastのインポート

glTFastを利用するにはPackageManagerから取得する必要があります。
メニューから[Window -> Package Manager]を開きます。

Package Managerダイアログの[+]ボタンのプルダウンを開き、[Add package by name...]を選択します。

パッケージ名の入力欄に以下のパッケージ名を指定し、[Add]を実行します。

com.unity.cloud.gltfast

これでUnity glTFastのインポートは完了です。

glbファイルを取り込む

Unity glTFastをインポートしていればAssetsフォルダにglbファイルをドラッグするだけで3Dモデルをプロジェクトに取り込むことができます。

取り込んだ3Dモデルはそのまま[Hierarchy]にドラッグしてシーンに配置することができます。

glbファイルを書き出す

Unity glTFastをインポートしていればGameObjectをglbファイルとして書き出すことができます。
AssetsフォルダのPrefabファイルを右クリックして[Export glTF -> glTF-Binary (.glb)]を実行します。

出力したglbファイルをBlenderで確認すると以下の通り3Dモデルを確認できます。

再生中のGameObjectを書き出す

エクスポートはシーン再生中の[Hierarcy]にも対応しています。
以下のようなシーンを再生するとCubeが落下するシーンを作成しました。

シーンを再生し、出力したい[Hierarchy]上のGameObjectを任意のタイミングで右クリックして[Export glTF -> glTF-Binary (.glb)]を実行します。

すると以下の通り、出力したタイミングの状態でglbファイルが出力されます。