本日は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ファイルが出力されます。
