PlayDrop ゲームの AI アセット生成
PlayDrop でゲーム用の画像、音楽、効果音、音声合成、動画、3D モデルを生成します。ブラウザからはプレイヤーの確認付きで、ゲームサーバーからはクリエイターの負担で生成できます。
PlayDrop では、画像、音楽、効果音、音声合成、動画、3D モデルを生成できます。ゲームを作るときに使うことも、ゲームの中で使ってプレイヤーに生成コンテンツを届けることもできます。
ゲームを作るとき
サインイン中のクリエイターは、PlayDrop ウェブサイトの「作成」からアセット(画像、音楽、サウンド、音声合成、動画、3D)を生成できます。ゲームを作りながら PlayDrop Cloud に頼むこともできます。生成のたびにクレジットがかかり、金額は開始前に表示されます。生成結果はあなたが所有するアセットになります。ほかのアセットと同じように使えます。パッケージにダウンロードするか、uses で参照してください(ゲームアセット)。
ゲームの中で:ブラウザから
sdk.ai.<kind>.createTask(request) は、現在のプレイヤー向けのメディア生成を PlayDrop に依頼します。PlayDrop はクレジットの金額を示した確認画面をプレイヤーに表示し、プレイヤーが支払います。生成結果はそのプレイヤーだけのものになります。
try {
const task = await sdk.ai.image.createTask({ input: "A friendly robot pet, flat colors", aspectRatio: "1:1" });
const done = await waitForTask(task.id);
const blob = await sdk.ai.tasks.downloadFile(done.id);
showPet(URL.createObjectURL(blob));
} catch (error) {
if (error.message === "ai_generation_cancelled") return;
throw error;
}
async function waitForTask(id) {
for (;;) {
const task = await sdk.ai.tasks.get(id);
if (task.status === "DONE") return task;
if (["FAILED", "CANCELLED", "EXPIRED"].includes(task.status)) throw new Error(task.status);
await new Promise((resolve) => setTimeout(resolve, 2000));
}
}- 種類:
image、music、sfx、speech、video、model3d。sdk.ai.inputs.upload(blob)で参照画像を送信します。 - 同時に開ける確認画面は1つだけです。2回目の呼び出しは
ai_generation_in_progressで拒否されます。 - ブラウザからのテキストと JSON の生成はホスト型ゲームでは使えず、
app_ai_generation_disabledが返ります。サーバーを使ってください。 - プレイヤーの操作をきっかけに、
play中に呼び出し、キャンセルにも対応してください。
ゲームの中で:サーバーから
ゲームサーバーでは、@playdrop/server の playdrop.ai でテキスト、JSON、画像、音楽、効果音、音声合成、動画、3D を生成できます。費用はクリエイターが支払い、生成結果も既定ではクリエイターが所有します。{ owner: client.auth } を渡すと、条件を満たす生成結果をそのプレイヤーに渡せます。
import { playdrop } from "@playdrop/server";
const task = await playdrop.ai.speech.createTask({ input: "Welcome back, captain." }, { owner: client.auth });
// Later, once the task is DONE:
const file = await playdrop.ai.tasks.downloadFile(task.id, { role: "primary" });
client.send("speech", { bytes: new Uint8Array(await file.arrayBuffer()), contentType: file.type });- 生成されたファイルは非公開です。サーバーでダウンロードし、そのデータは対象のプレイヤーにだけ送ってください。
- 音声合成のリクエストは最大40語までです。
- テストプレイヤーによる生成はクリエイターの所有のままで、テストモードで実行されます。
- これらの呼び出しはアップロード済みのゲームで動作し、ローカル開発では動作しません。
生成にはクレジットがかかるため、プレイヤーが生成を実行できる頻度を制限しましょう。また、ゲームをその機能中心に作り込む前に、タスクの作成からプレイヤーが実際に見たり聞いたりするまで、1件のリクエストが最後まで通ることを確かめてください。