こんにちは、たねやつです。
最近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
では別途作成したリストみたいな部分にアイテムを追加することができます。設定しなくても問題ないですが見やすさの観点から私はジャンル分け(キーキャップやノブ等)して設定しています。
Properties
、Levels
、Stats
は任意で設定できる項目です。トレーディングカードみたいにやり取りするときに使えそうな項目ですね。今回は無視です。
Unlockable Content
は非公開みたいな感じになるはず(読んだ感じ)。Explicit & Sensitive Content
は18禁やグロ等センシティブなものに設定してください。
ここからは販売する時の設定ですがSupply
で提供個数を設定できます。Blockchain
でどの通貨ネットワークを使用するか選択できます。ETH
あたりが有名どころですが、Polygon
あたりを選択しておくとガス代(手数料)ナシで販売開始できるはずです。
完了!
最後に下部のCreate
ボタンを押すことで完了です!
ビュアーがちょっと癖ある操作感とライティングですが、2Dよりも情報量は多いのでよしとしましょう👀
最後に
以上が(ZBrush →) Blender → OpenSeaまでのアップロードフローとなります。やっていることはモデリング完了後にBlenderでglbに変換するだけなのでレンダリングの片手間で簡単にできますね!
NFTアートってのはあまり興味はないのですが、大きなプラットフォームに乗っかっている方が何かと好都合で、ワンチャンでアラブの石油王の目に留まるかもしれないので興味を持ってくれることを祈りながら寝ましょう。。。
ちなみに私の個人ページはここで、キーキャップのモデリングしたもの等を公開しています。Likeとかポチポチしてくれたら喜びます🐶
今回の実験体となったモデルのノブですが、現在開発中で今月末ぐらいには製品化予定です!他にも変な形のノブやキーキャップをたくさん売っていますのでBOOTHのショップの方も覗いていただければ幸いです😍😍