Hyperfy.ioで利用できるアバターのNFT作成方法を紹介します。
Hyperfy.ioについてはこちらを御覧ください。
VRMアバターを作成できる方向けであり、ほぼノーコードでもVRMアバターNFTを作成できます。
真のメタバース対応アバターとは、VRMをメタデータに埋め込み、パーミッションレスな相互運用を実現するNFTのことです。
**メタデータに記述されたタグ
**vrm_url: (Phettaverse)
asset: (Cryptoavatars, Oncyber)
avatar: (Mona Avatars)のいずれかでvrmファイルのurlを指定してmintしたNFTであれば、HyperfyのワールドでWalletコネクトしインベントリからそのNFTを選択することでアバターに設定できます。
ということでメタデータに、
"vrm_url": "IPFSやArweaveなどにアップロードしたVRMファイルのURLを貼り付ける",
を一行追記してMintすることで、そのNFTをHyperfy.ioでアバターとして利用できるようになります。
MONAにログインして、
画面右上のアイコンをクリックして、プルダウンメニューの「CREATE」をクリック
「+ CREATE」の赤いボタンをクリックして、プルダウンメニューの「Avatar」をクリック
Avatar申請フォームが表示されます。
画面右上の「REQUEST MINTING APPROVAL」の赤いボタンで申請することができます。承認されればMONAで利用できるアバターNFTを作成でき、Hyperfyでも利用できるでしょう。
Cryptoavatersトップページ画面右上の「Create」ボタンをクリック。
Create Avatarの「Mint an Avatar」ボタンをクリック。
クリプトアバターのNFT作成フォームが表示します。
Ethereum,Polygon,Arbitrm,Optinismのネットワークを選択できます。
一通り入力、選択してファイルをアップロードしましょう。「Create Avatar」ボタンをクリックしてMetamaskをコネクトしガス代を払うことで、どなたでもNFTをすぐに作成できます。
所有NFTにVRMアバターのダウンロードをできるようにすることができます。下記の独自コントラクトでNFTを作成後この機能と組み合わせて使うと良いでしょう。
Cryptoavatersトップページ画面右上の「Create」ボタンをクリック。
Nexusの「Connect your Nexus」ボタンをクリック。
「Upload VRM」ボタンでVRMファイルをアップロード。
「Create Nexus」ボタンをクリック。
指定したNFTの所有者のみ「Use avatar」ボタンでVRMファイルのダウンロードやそのVRMファイルへのURLのコピーができます。
NFTドロップの作成方法を参考に、EhtereumもしくはPolygonネットワークで作成してください。
複数のNFTを一括ではなくとも、1つからでも作成可能です。
ERC721AもしくはERC1155規格を選択できます。
NFT Drop
NFTドロップ契約は、ERC721A標準を使用してユニークなNFTのコレクションをリリースしたい場合に最適です。
Edition Dropエディションドロップ契約は、同じアセットに基づく多くのNFTをリリースしたい場合に最適で、ERC1155規格を使用しています。
上記ガイドでは、Single Uploadボタンを利用していますが、
「batch upload」でCSVもしくはJSONをアップロードしてNFTを作成します。
そのメタデータのCSVもしくはJSONのプロパティに、
vrm_url:VRMファイルへのリンク
を追記してください。
JSONのサンプルを用意しましたのでご確認ください。
{
"name": "アバター名を入れる",
"description": "アバターの説明文を入れる",
"image": "IPFSやArweaveなどにアップロードした画像URLを貼り付ける",
"animation_url": "IPFSやArweaveなどにアップロードした画像もしくはglbファイルのURLを貼り付ける",
"background_color": "FFFFFF",
"external_url": "適当にURLを入れる(サイトかTwitterのアカウントURLとか)",
"vrm_url": "IPFSやArweaveなどにアップロードしたvrmファイルのURLを貼り付ける",
"asset": "上記同様IPFSやArweaveなどにアップロードしたVRMファイルのURLを貼り付ける",
"attributes": [
{
"trait_type": "属性のタイプ1",
"value": "属性の値1"
},
{
"trait_type": "属性のタイプ2",
"value": "属性の値2"
},
{
"trait_type": "属性のタイプ3",
"value": "属性の値3"
}
],
}
OpenSeaのNFTページ詳細タブでtokenIdをクリックすると、メタデータを開くことができます。参考にいくつか見てみましょう。
thirdwebでサクッと作成したPolygonLow Golem OriginのPolyonNFTが下記でフリーミントできます。少額ガス代かかりますが試してみてください。
メタデータのJSONファイルも自分で管理してNFTを作成したい場合はこちらが良いかと思います。※実際にミントして試せていないので手順にミスがあるかもしれません。次回作で試したい。
NFT化するファイルを用意してIPFSなどへアップロード
IPFSについては下記を参考にどうぞ
対応するJSONファイルを用意してIPFSへアップロード
※上記JSONのサンプルを参考に複数のNFTを一括で作成する場合は、
0.json
1.json
2.json
…
のようにjsonファイルを用意し、1つのフォルダにまとめてください。(フォルダ名は何でもOK)アップロードしたら、そのURLをコピーしてください。3 で使います。
ERC721でmintするためのコントラクトを準備
https://wizard.openzeppelin.com/#erc721
こちらで簡単にコントラクトを作ることができます。
Name [ NFTコントラクト名を入力 ]
Symbol [ シンボルを入力 ]
Base URI [ 2 でコピーしたjsonファイルの入ったフォルダのURLを貼り付け ]
その後、Open in Remixをクリック。Remixという統合開発環境が開きます。
開いたら、コンパイルをクリック。
緑のチェックが付いている下のメニューを開いて、
ENVIRONMENTで、Injected Provider -Metamaskを選択。
PolygonのNFTを作成する場合は、メタマスクでネットワークをPolygonに変えるだけです。このようにCustom(137)となっていれば、Polygonが設定されています。
CONTRACTは、指定したNFTコントラクト名を選択。
4. Deployする
黄色いDeployボタンをクリック
5. Mintする
Deployボタンの下の方に「Deployed Contracts」という表示がある。 そこにDeployされたコントラクト情報が表示される。 safeMintに自分のウォレットアドレスを入力して実行すると、mintされます。
NFTは厳密に変更不可にすべき論がありましたが、メタデータの変更を可能にしておくべきかもしれない。そうすればすでに販売した3DキャラのNFTに機能を追加してアバター利用できたし、VRMも1.0にアップデートされていっているのでメタバースが対応してくれれば更新したいので考えさせられます。
とても良い記事がありましたので、こちらも読むと良いですよ。
共感してコラボレーションや、質問や雑談をしたりいっしょにメタバース探訪をしてくれる方は、たまにこちらに居るのでお声がけください。