Skip to content

Hubs Blender Exporter and Importer

Akihiko SHIRAI, Ph.D edited this page Jan 19, 2023 · 4 revisions

このドキュメントは原作 Hubs Blender Exporter and Importer のドキュメントを翻訳したものです。
This document is a translation of the original Hubs Blender Exporter and Importer. Please refer to the original for the latest information.

Hubs Blender Exporter and Importer

このアドオンは glTF 2.0 エクスポーターを拡張して MOZ_hubs_componentsMOZ_lightmap 拡張をサポートし、Mozilla Hubs の glTF アセットにビヘイビアを追加できるようになります。

Test Publish

インストール方法

最新のリリースから add-onのzipファイル(io_hubs_addon.zip)をダウンロードしてください。

select add-on zip file

Blenderで Edit > Preferences > Add-ons 「Install」をクリックし、最新リリースの zip ファイルを選択します。

in blender prefs install addon

「Generic: Hubs Blender Addon」をチェックして、有効になっていることを確認します。

hubs blender add-on installed

コンポーネントの追加

コンポーネントを追加するには、コンポーネントを追加したいもののプロパティパネルの「Hubs」セクションに移動します。現在、コンポーネントの追加は Scenes, Objects, Bones, Materials でサポートされています。

「Add Component」をクリックし、追加したいコンポーネントをリストから選択します。現在編集中のオブジェクトタイプに適したコンポーネントで、まだ追加されていないものだけが表示されます。

ライトマップの使用

ライトマップを使用するには、Add > HubsメニューからMOZ_lightmapノードを作成し、Lightmap入力に画像テクスチャをフックします。ライトマップに使用するUVセットは、Blenderの他のテクスチャと同じように、UV Map ノードを使用してコントロールします。

lightmap node

Note that for use in Hubs, you currently MUST use the second UV set, as ThreeJS is currently hardcoded to use that for lightmaps. This will likely be fixed in the future so the add-on does not enforce this.

Hubsで使う場合、 現在、2番目のUVセットを 使用しなければならないことに注意 してください。これは将来的に修正される可能性が高く、アドオンがこの方向を強めていくことはありません。

setting bake UV

エクスポート

このアドオンは、公式のglTFアドオンと連動しているので、エクスポートはglTFアドオンを通して行われます。 File > Export > glTF 2.0 を選択し、Extensions の下で Hubs Components が有効になっていることを確認します。

gltf export window

Hubs にインポートする

シーンファイルを使用する最も簡単な方法は、Spoke プロジェクト作成ページ で、Import From Blender を選択します。

Screenshot 2021-10-31 at 14 05 21

Blenderからシーンを公開するダイアログが表示され、GLBファイルとシーンのサムネイル画像をアップロードすることができます。

Screenshot 2021-10-31 at 14 31 44

また、GLBファイルを使用して、既存のHubsルームのシーンを直接置き換えることも可能です。これは、ルーム設定 > シーンを変更 > カスタムシーンに進み、GLBファイルのURLを入力することで行います。この場合、ファイルはすでにオンラインストレージプロバイダーにアップロードされていることが前提です。

開発

コード補完

Blender Python API のコード補完を有効にするには、Fake Blender Python API module collectionをインストールすることができます。モジュールはリポジトリのルートから setup.sh スクリプトを使用してダウンロードするか、pip を使用してダウンロードすることができます。

コードスタイル

このリポジトリは、Python ファイルの PEP8 のスタイル規約に従っています。 VSCode を使用している場合、このリポジトリは保存時にすべての python ファイルを自動整形する設定を既に含んでいます。 VSCode を使用していない場合は、おそらくお気に入りのエディタで同様の設定を追加することができます。 私たちは他のエディタ用の設定を喜んで追加しますので、あなたのエディタの設定を含めたい場合は、遠慮なくPRを開いてください。

また、コードベース全体をフォーマットする format.py という python スクリプトも用意されています。 PRを送る前にこのスクリプトを実行することで、すべての新しいコードがPEP8に従っていることを確認することができます。

PythonスクリプトとVSCode設定の両方は、フォーマットするためにautopep8コマンドラインツールに依存しているので、あなたのシステムにインストールされていることを確認してください。

アドオン開発

アドオンをインストールすることなく、チェックアウトフォルダから直接アドオンをロードできることは、開発中に便利なことかもしれません。これには2つの方法があります。

  • Blender ユーザーの scripts ディレクトリを上書きする

    コンソールから Blender ユーザースクリプトディレクトリを上書きして、アドオンリポジトリを指定することができます。

MacOS

BLENDER_USER_SCRIPTS=full_path_to_/hubs-blender-exporter /Applications/Blender.app/Contents/MacOS/Blender

Linux

BLENDER_USER_SCRIPTS=full_path_to_/hubs-blender-exporter blender

  • アドオンを Blender ユーザースクリプトのディレクトリにシンボリックリンク(Symlinking)

    Blender の現在の Python scripts ディレクトリに full_path_to_/hubs-blender-exporter/addons/io_hubs_addon を指すシンボリックリンクを作成することが可能です。この方法で、そのディレクトリにある他のアドオンも読み込むことができます。

MacOS and Linux

ln -s full_path_to/hubs-blender-exporter/addons/io_hubs_addon full_path_to/blender_user_scrips_dir

現在の Blender ユーザスクリプトは、Preferences -> File Paths -> Scripts で設定または確認することができます。

Debugging

アドオンコードは PyCharm または VSCode でデバッグすることができます。

継続的インテグレーション(CI)のテスト

ローカルでテストを実行するために、あなたのシステムに、目的のバージョンのBlenderを起動するパスにblenderの実行ファイルがあるはずです。 最新バージョンのYarnがインストールされている必要があります。 このリポジトリのフォルダで、 yarn install を実行し、 yarn run test を実行します。

1.0.0リリース!

original

このリリースには以下が含まれます。

  • コードコンポーネントをベースとした新しいアドオンアーキテクチャにより、コンポーネントの機能をよりコントロールし、より簡単に拡張できるようになりました。既存のコンポーネントはすべてこの新しいアーキテクチャに移行され、最新の安定版 0.0.15 からこのバージョンにアップグレードしても、すべてがまったく同じように動作するはずです。新しいコンポーネント・アーキテクチャと開発の始め方についての詳しい情報は、Wikiをご覧ください。

  • コンポーネントのギズモのサポート。統一されたギズモAPIを使用するいくつかのコンポーネントに対してギズモを用意しました。また、誰でも簡単に新しいギズモを作成できるように、ツールスクリプトを追加しました

  • 多くのユーザビリティとUIの改善:アイコンを使った新しいメニュー、フィードバック付きのより良いコンポーネントパネル、フィルター付きのオブジェクトピッカー、ドロップダウンリストからのアニメーション選択、マイグレーション結果を通知するためのマイグレーションパネル

  • すべてのコンポーネントでボーンをサポート。すべてのコンポーネントをボーンに追加できるようになりました。 以前のアドオンバージョンとの完全な互換性を保つためのマイグレーションサポート。以前のアドオンバージョンで作成されたブレンドファイルを本リリースで開くと、自動的にマイグレーションが行われます。また、考えられる問題を知らせるための移行パネルが追加されました。

  • ブレンドファイルのリンク/アペンドに対応しました。コンポーネントが以前のアドオンバージョンを使用している場合、それらは移行され、レポートウィンドウにコンフリクトの可能性があるものが表示されます。

  • 新しいコンポーネントメニュー。カテゴリがより分かりやすくなり、アドオンの環境設定で行数をカスタマイズできるようになりました。

  • 新しいリフレクションプローブベイクとユーザビリティの更新:ベイクハングの修正、コンポジターの有効化/無効化のサポート、グローバル/ローカルプローブ設定、ブレンドファイルへのベイクの保存、その他多くの修正を行いました。リフレクションプローブの設定と使用がより簡単になりました。

  • コンポーネントでのシェイプキーとアニメーションNLAトラックピッキングに対応。

  • 新しいHDRパイプラインとブルームのサポート

  • オーディオ設定のオーバーライドに対応

  • Github Actionsを使用したCI linting、テスト、パブリッシュ。アクションはこちらで確認できます: https://github.com/MozillaReality/hubs-blender-exporter/actions

  • PEP8 フォーマット。すべてのコードはPEP8に準拠するように再フォーマットされ、貢献したすべてのコードが正しくフォーマットされていることを確認するためにGitHub linterアクションが追加されました。

  • エクスポート時に "カスタムプロパティ" が有効な場合、エクストラから Hubs プロパティを除外

  • Blender LTS 2.93, 3.3.1 および最新の安定版 3.4.0 に対するエクスポートテストを実施しました。将来的には、サポートされる LTS と最新の安定版に対するテストを常に用意する予定です。

  • 新しいアドオンフォルダ構造。新しいアドオンアーキテクチャ、サポートスクリプト、アセットをサポートするために構造が変更されました。

まずはじめに

ユーザーガイド

Spoke 関連

クリエイター向け

開発者向け

Hubs Cloud

Hubs Cloud AWS

Hubs Cloud DigitalOcean

日本語追加ドキュメント

Clone this wiki locally