たねやつの木

Photographs, Keyboards and Programming

OpenSeaを簡易的な3Dビュアーとして活用する(Blender → OpenSeaへアップロード)

こんにちは、たねやつです。

最近BOOTHで販売している3Dプリント品を3Dで見れるようにしたい!という願望が出てきて、結果としてNFTアートを売買するサービスのOpenSeaで簡易的なビュアーが備わっているのでそれを利用するに落ち着きました。

Github Pagesでmodel-viewerあたりを使用して表示してもいいんですが、3Dモデルのデータが丸見えだったりするのでやめました。同様にはてなブログに埋め込もうかと思ったのですがCORS制約をどうしても突破できないのでやめました...

この記事ではアップロードできる形式の3Dモデルの生成(変換)と実際のアップロードまでを流れで解説していきます。

モデルの作成

まずはアップロードするためのモデルを作成する必要があります。私は普段ZBrushを使用しているので、そこからGoZ(GoB)経由でBlenderに持ってきて目標の形式に変換しています。

モデルを作る

何でもいいのでモデルを作ります。現在開発中のロータリーエンコーダーのノブのモデルを今回は使用します。これはZModelerで作ったバクテリオファージの22mm版のノブです🐛

OpenSea内のビュアーは頂点カラーに従って色付けされて表示されます。そのままだと白い背景に白いモデルが表示されて分かりにくいので好きな色に彩色しておきます。(Blenderでも可能)

適当に色を選んでRGBをオンにしてFillObjectします。

BlenderへのインポートはGoZを使用します。ZBrush以外のソフトを使用している場合などは単純にobj形式でエクスポートして、Blenderでインポートしなおしてください。その場合おそらく色情報が欠落するので、Blender側で再度彩色してください。

Blenderに持ってきたらこんな感じです。モデルの寸法をちょっといじっていますがレンダリングなどをする必要がなければそのままでもOKです。後々アイテムのサムネ画像が必要となるので、ここで画像を作成しておきます。レンダリングについては今回は割愛します。

GoZで持ってきた時点で色はついているはずですが、ない場合はマテリアルの色の部分で頂点カラーを選択すると反映されるはずです。

Blenderでglb形式でエクスポート

写真を撮り終わったらモデルをエクスポートします。アップロードファイルは.glbという拡張子になっていないとダメなので、ファイル > エクスポート > gITF 2.0を選択します。

glb形式(gITF 2.0)に関してはこのあたりがよくまとまっていそうです。

エクスポート設定時に、画面右側の内容 > 選択したオブジェクトにチェックを入れてください。チェックしないとレンダリング時の背景なども一緒にエクスポートされてしまいます。

また、ジオメトリ > 頂点カラーもチェックします。これがないと色が抜けて真っ白になってしまいます。Blenderのデフォルトではどちらもチェックがついているはずです。

Windows10以降であれば、エクスポートしたファイルをそのままビルトインのビュアーで表示できるはずです。色や不要なモデルもエクスポートされていないかチェックしてください。問題なければアップロード用のモデルは完成です~!

アイテム追加手順

モデルとサムネイルが完成したので、アップロードしていきます。

アカウント登録

まずはOpenSeaアカウント登録です。すでに持っている方は不要です。そこまで難しくはなかったはず。。

リンク先のCreateをクリックしてウォレットを選択します。とりあえずポピュラーとなっているMetaMaskを選択するとブラウザのアドオンやアプリをインストールするように指示されます。以下PC版での説明ですが、Chromeのアドオンを追加していきます。

MetaMaskを選択した先のInstall MetaMask for Chromeをクリックします。完了するとアドオンの表示部分に狐のマークが表れるはずです。そこからアカウントを登録していき有効化するとOpenSeaでもそのアカウントを経由してログインできるようになります。

なぜか上手くログアウト(そもそもログアウトという概念がないかも?)できず上手く紹介できないので、英語が読めない方はOpenSea 登録等でググってみてください。

アイテムを追加

ログイン後、アイテムを追加していきます。

画面右上のCreateというボタンを押すとこんな感じの画面となります。

Image, Video, Audio, or 3D Modelの部分に先ほどBlenderでエクスポートしたglb形式のファイルをドラッグアンドドロップ等で選択します。この時点でビュアーが表示されるので最終確認してください。

Preview Imageの部分にはサムネイルとなる画像を選択します。先ほどBlenderでレンダリングしたファイルを選択します。

Nameに作品名を記入します。External Linkには外部リンクを設定できます。私はとりあえずBOOTHの販売ページなどを設定していますが、なくてもOKな項目です。

Descriptionにはアイテムの説明を書きます。markdownの書式が利用できるようです。適当に説明やモデリングした経緯などをポエムしておきましょう。

Collectionでは別途作成したリストみたいな部分にアイテムを追加することができます。設定しなくても問題ないですが見やすさの観点から私はジャンル分け(キーキャップやノブ等)して設定しています。

PropertiesLevelsStatsは任意で設定できる項目です。トレーディングカードみたいにやり取りするときに使えそうな項目ですね。今回は無視です。

Unlockable Contentは非公開みたいな感じになるはず(読んだ感じ)。Explicit & Sensitive Contentは18禁やグロ等センシティブなものに設定してください。

ここからは販売する時の設定ですがSupplyで提供個数を設定できます。Blockchainでどの通貨ネットワークを使用するか選択できます。ETHあたりが有名どころですが、Polygonあたりを選択しておくとガス代(手数料)ナシで販売開始できるはずです。

完了!

最後に下部のCreateボタンを押すことで完了です!

ビュアーがちょっと癖ある操作感とライティングですが、2Dよりも情報量は多いのでよしとしましょう👀

最後に

以上が(ZBrush →) Blender → OpenSeaまでのアップロードフローとなります。やっていることはモデリング完了後にBlenderでglbに変換するだけなのでレンダリングの片手間で簡単にできますね!

NFTアートってのはあまり興味はないのですが、大きなプラットフォームに乗っかっている方が何かと好都合で、ワンチャンでアラブの石油王の目に留まるかもしれないので興味を持ってくれることを祈りながら寝ましょう。。。

ちなみに私の個人ページはここで、キーキャップのモデリングしたもの等を公開しています。Likeとかポチポチしてくれたら喜びます🐶

今回の実験体となったモデルのノブですが、現在開発中で今月末ぐらいには製品化予定です!他にも変な形のノブやキーキャップをたくさん売っていますのでBOOTHのショップの方も覗いていただければ幸いです😍😍