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