Unity複数ゲームオブジェクトのfbx出力&HSP3の物理演算

前回は、「プログラミング生放送」コミュニティのウェブサイトからダウンロードして fbx から gpb , material ファイルに変換した「今川焼き」の 3D モデルを HSP3.6HGIMG4 のサンプル test1.hsp のプログラムの一部を変更することで回転しながら表示する手順と結果、プログラムとファイル構成について紹介しました。

前回の記事:HSP3 HGIMG4で3Dモデルの今川焼きを回転させる2/2 | Compota-Soft-Press

GuruGuruImagawayaki.hspを実行して今川焼きの3Dモデルを回転させた際のファイル構成.
HSP3 GuruGuruImagawaYaki.hspのカメラ位置を近づけた映像(res に3Dモデルデータを移動するとテクスチャも読み込まれました)

今回は、Unity のシーンに配置した 3D モデルを fbx に変える FBX Exporter について紹介します。
Unity でデザインした 3D モデルを fbx に出力することで、さまざまな開発環境との連携が可能になります。

また、HSP3.6 向けに fbx を出力する設定と、現状筆者が調べた限りの HSP3.6HGIMG4物理演算を行う方法も紹介します。

※ Unity のバージョンは 2021.3.25f1 です。

Unity プロジェクトの作成

すでに FBX として出力したい 3D モデルがシーンに配置してある人は読み飛ばしてください。

今回は新規プロジェクトを作成して、そこに「プログラミング生放送」の Web サイトで公開されている「今川焼き」の 3D モデルを具体例としてシーンに配置するところから紹介します。

Unity Hub を起動して、新規プロジェクトの作成を選択してから、テンプレートに 3D を選択して、プロジェクト名と保存フォルダを指定して「プロジェクトを作成」ボタンを押します。

Unity Hub で新しいプロジェクトを3Dを選択してプロジェクト名と保存先を指定して作成します.

FBX Exporter のインストール

HGIMG4 Unity連携ガイド」で基本的な手順は同じなのですが、現在 FBX Exporter は Unity アセットストアでは公開されていません。

FBX Exporter は現在 Asset Store から入手できません。
パッケージマネージャでFBX Exporterを追加することで利用できます。

HSP3.7に向けたβテストについてのお願い – HSPTV!掲示板

その代わりに、上記の引用の通り、 Unity エディタでメニュー「Window」→「Package Manager」を選択して開いた Package Manager ウィンドウからインストールできます。

Package Manager ウィンドウの左上の+の右側にあるリストで「Packages: Unity Registry 」を選択してから、右上の検索ボックスFBX Exporter と入力すると FBX Exporter のページが表示されるので、右下の Install ボタンを押してインストールします。

これで、シーンのゲームオブジェクトを右クリックした際のメニューに Export To FBX というメニューが追加されました。

Unity PackageManager で Unity Registry を選択して FBX Exporter で検索して、そのページの右下のインストールボタンを押します.

サンプルの 3D モデルの追加

サンプルのゲームオブジェクトを作るために、Unity プロジェクトに 3D モデルのファイルを追加します。

3D モデルは「[Blender][Unity] 今川焼き・回転焼き・大判焼き・ベイクドモチョチョ・精霊馬 3Dデータ公開 – プログラミング生放送」で公開されているふっくら感のある今川焼きです。
※取得方法については、以前の記事「HSP3 HGIMG4で3Dモデルの今川焼きを回転させる1/2!!!」をご覧ください。

imagawayaki.fbx とそれのテクスチャである bake.pngProject ウィンドウ内の任意のフォルダにドラッグ&ドロップします。

Unity Project ウィンドウに FBX と関連するテクスチャ画像(png)をドラッグ&ドロップします.

シーンに 3D モデルをゲームオブジェクトとして追加

FBX Exporter は、シーンのゲームオブジェクトを FBX として出力します。
そのため、Project ウィンドウの任意のアセットフォルダに追加した今川焼きの FBX を Scene ウィンドウにドラッグ&ドロップします。

Unity Project ウィンドウの今川焼きの3Dモデルをシーンに配置します.

FBX Exporter でゲームオブジェクトを FBX 出力

サンプルの今川焼きのゲームオブジェクトをシーンに追加したら、Hierarchy ウィンドウ内でそのゲームオブジェクトを右クリックして、メニューから Export To FBX を選択します。

Unity シーンに配置した今川焼き3Dモデルのゲームオブジェクトを右クリックしてメニューからExport To FBX を選択します.

Export To FBX を選択すると、「Export Options」ウィンドウが表示されます。
そのウィンドウでは、Export Name / Path から出力する fbx ファイル名や出力先のフォルダを指定できます。

HSP3 向けの設定

突然ですが、プログラミング言語 HSP3HGIMG4 では gpb 形式で 3D モデルを扱えます。
gpb は fbx を HSP3 の GPB converter ver.0.6 で変換することで作成できます。

もしも、 HSP3 用に fbx を出力したい場合は、「HGIMG4 Unity連携ガイド」で書かれている通り、「Export Options」ウィンドウの Export Format の項目を ASCII ではなく Binary に変更してください。

※gpb への変換や HSP3 での 3D モデルの配置については「HSP3 HGIMG4で3Dモデルの今川焼きを回転させる1/2!!!」と「「HSP3 HGIMG4で3Dモデルの今川焼きを回転させる2/2!!!」」をご覧ください。

Unity Export Options ウィンドウで Export Format を Binary に変更します.

ゲームオブジェクトの FBX 出力

「Export Options」での設定が済んだら、右下の Export ボタンを押します。

Unity Export Options ウィンドウで Export Format を Binary に変えた後 Export ボタンを押します..

Export Path で指定したフォルダ(既定ではアセットフォルダのトップの Assets ) に FBX ファイルが出力されます。

Unity Export To FBX の Export Options ウィンドウで指定したアセットフォルダ内に FBX が出力されました.

Unity のゲームオブジェクトを FBX として出力することで、Unity を FBX 3D モデルのデザインツールとして利用できるようになりました。

複数の 3D モデルをまとめて FBX 出力

FBX 出力するゲームオブジェクトは、その下位に複数の 3D モデルを配置することもできます。

Unity シーンの空のゲームオブジェクトの下に複数の 3D モデルのゲームオブジェクトを配置します.

上位の空のゲームオブジェクトの位置が (0, 0, 0) だとしても、下位のゲームオブジェクトたちの位置が離れすぎていると、回転しながらの表示で遠すぎて表示されないこともあるので、中心位置は (0, 0, 0) に近づけて下さい。

Unity で複数の今川焼き FBX の配置位置を 0 を中心とするように修正しました..

空のゲームオブジェクトの下に 3D モデルを複数配置して、その空のゲームオブジェクトをさきほどの FBX Exporter で出力します。

Unity で複数の今川焼き FBX を持つ空のゲームオブジェクトを Export To FBX (Binary) で fbx 出力します...

出力された FBX は、エクスプローラでアクセスして、Unity とは異なる環境でも利用可能です。

Unity Export To FBX で出力した fbx を右クリックしてエクスプローラで表示します.

例えば前回までの手順で、出力した fbx を gpb に変換して、前回紹介した HSP3 のプログラムの res フォルダにある imagawayaki.gpb を置き換えれば、下図のように HSP3 で Unity や blender で作成した FBX を表示できます。

HSP3 HGIMG4で3Dモデルの今川焼きを回転させる1/2 | Compota-Soft-Press

HSP3 HGIMG4で3Dモデルの今川焼きを回転させる2/2 | Compota-Soft-Press

Unity で複数の fbx を持つ空のゲームオブジェクトを Export To FBX (binary) で出力して GPB converter で変換して gpload で読み込むと HSP で表示されました。

HSP3 HGIMG4 による FBX の物理演算は不明

fbx を gpb に変換して 3D モデルを HSP3 で表示することはできました。
しかし、表示した 3D モデルの上に人型キャラクターを置くといった物理演算については、筆者も勉強中です。

数時間調べた結果なので感想みたいなものですが、HSP3.6 の HGIMG4 では gpload で読み込んだ 3D モデル自体のメッシュに対応した物理演算はできないと思います。
3D モデルのアニメーションなどはありますが、物理演算を絡ませたサンプルが見つけられなかったからです。
現段階では、gpbox, gpfloor で作られる立方体や床などの物理演算を利用して 3D モデルをそれに連動して動かす方法が実用的なのかなと思います。

開発が続けられている HSP3 と HGIMG4 の今後の拡張に期待です。

以下に参考にしているサイトを 2 つ紹介します。

地表を歩く | GHP(仮)

他サイト様「地表を歩く | GHP(仮)」では、gpraytest 命令を用いて、キャラクターの周囲の地形との交点を検出して制御する方法などをサンプルとあわせて詳細に紹介しています。
#ベクトル演算とか苦手なのでよくわかってません。

地表を歩く   GHP(仮)サイトの一部

ぜんぶ食べないと出られない部屋 – SoupSeed

ぜんぶ食べないと出られない部屋」は、HSP プログラムコンテスト 2022 の「秀和システム賞」受賞作品です。
珠音ちゃんが、床、坂道、シーソーの上を移動したり、箱を動かしたりその上にのってリンゴをとったり、今の筆者には驚きのゲームです。
プログラムも公開されていて、その中身もきれいで、さーっと流し読みしただけでも、素晴らしいと思いました。

基本的にすべては gpbox で作成された立方体で構築されていて、珠音ちゃんも物理演算自体は非表示にした立方体で行っているようです。

キャラクターの物理演算については、script.zip を展開して

  • sr_Scene2.hsp の 664 行目 PC:コライダー読み込み
  • sr_Scene2.hsp の 691 行目 PC:3Dモデル読み込み

を起点に読み始めると良いかもしれません。

まとめ

今回は、Unity のシーンに配置しているゲームオブジェクトを FBX 形式の 3D モデルのファイルとして出力する FBX Exporter について、Unity へのインストール方法から出力手順まで紹介しました。
複数の 3D モデルをまとめた fbx の出力例や、HSP3HGIMG4 での表示例、HSP3 で 3D モデルを物理演算している 2 作品についても紹介しました。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました