🤣

分かった気になるZEPETO Unity SDK

2022/01/26に公開

これは何

ZEPETOという若者に人気の3DアバターベースなSNSがあります。
https://zepeto.me/

最近だとメタバース文脈で出てくることもあります。このZEPETOですが UnitySDKを使ってユーザがワールドを作ってアップロード出来ます。

このZEPETO Unity SDKはあまり日本語情報が無かったので概要とGetting Startをここに書きます。

そもそもZEPETOってUnity必須なの?

いいえ、違います。
非プログラマ向けのワールド作成にはbuild it という https://studio.zepeto.me/jp/products/buildit コーディング無しで既存パーツを組み合わせたワールドを作成、アップロードできるPC向けソフトウェアがあります。

build it の様子。これであなたと友達のための溜まり場を作りましょう!

ZEPETOの服を売って大儲け!ってどうするの?

服やアクセサリーを製作、販売するためには

の2種類があります。
特に後者はモデリングガイドも用意されていて面白いです。

ZEPETOのワールドをUnityで作ってみる準備

手持ちのスマートフォンにZEPETOをインストール

  • 省略
  • SMS認証が楽

インストール済みの人は飛ばしてください。ただ、後述するマルチプレイテストを円滑にするためにサブ端末にも別アカウントを用意しておくとスムーズです。

Unity+SDKをインストール

ここにあるようにUnity 2020.3.9f1をいれて手順通りにSDKをインストールするとUnityのプロジェクトテンプレートに「ZEPETO Default Project」が出現します。ビビりますね。

https://studio.zepeto.me/jp/guides/creating-your-own-world

一回マルチプレイサンプルを試す

開発体験が面白いので最初にマルチプレイサンプルを試しましょう。

まずこのサンプルリポジトリをcloneします。いきなりハングルがババーンという感じですがビビらなくて大丈夫です。Google翻訳に優しいハングルです。

https://github.com/naverz/zepeto-multiplay-example

Unityでcloneしたプロジェクトを確認する

  1. Unityでプロジェクトを開きます。
  2. /Assets/Scenes/002_Sakura.unity を開きます。
  3. (これは無くても良いかも) UnityのBuild Settingsのビルド対象に002_Sakura.unityを追加します。
  4. 以下にあるように3ステップを実行します。UnityEditor上でのZEPETOアカウントログイン、ローカルサーバの起動、ワールドのビルドの3ステップです。

するとUnityEditor上でQRコードが表示されるので、手持ちのスマホでZEPETOアプリを起動して、アプリ内のプロフィールからQRコードスキャンを実行してください。

すると いきなり今UnityEditor上にあるマルチプレイのワールドをLAN内にあるスマホ複数台で遊べます。

同一のZEPETOアカウントではなく、別アカウント同士である必要があります(同一アカウントが複数同じワールドにいるのは許容しません)

このQRコードベース+スマホ側での動作確認がローカルサーバで動く、という開発体験が凄いので是非皆さんも一度ここまでは試してみて下さい。

//もちろんUnityEditor上+スマホの2端末でのデバッグも可能です。Editor上での実行をしてください。
//内部的にはシーンアセットバンドルのビルドをして、PC内でhttpサーバを立てて、LAN内のアドレスを発行しています。この時点ではZEPETOサーバにはワールドがアップされていないのが凄い!

プロジェクトを改変する

アート編

Unityのアセットストアから猫のモデルを購入、インポートしてシーン上に配置して、再度Editor上でビルドしました。
するとQRコードが再び生成されて、手元の複数端末でそのままQRコード読み込みして動きました。

すごい!置いた猫のモデルも反映されていますね。

https://twitter.com/izm/status/1486009170910670853

スクリプト編

ZEPETO Scriptという事実上のTypeScriptで振る舞いを記述することになります。
なんとUnity組み込みのほぼ全てのclassについてTypeScriptの型定義がされています。

なのでVSCodeなどお望みのエディタで補完が効きます。Luaより体験が良いかもしれない…

//以下、随時編集します。

ZEPETO Worldを公開

実はローカルでかなり自由に開発できる代わりに、一般向けのワールド公開にはAppStoreみたいな感で人力の審査が必要です。

//todo

Discussion