PlayDrop logoPlayDrop Studio
创作互玩赚取学习连接器素材社区支持
PlayDrop logoPlayDrop Studio
创作互玩赚取学习连接器素材社区支持
登录
AI 素材生成
文档

从这里开始

概览你的第一款游戏PlayDrop 游戏常见问题

用 Cloud 创作

Cloud 创作方案与生成次数

连接你的 AI 应用

所有连接器ClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

发布与分享

从你的 AI 应用发布简单 HTML 游戏打包和 .play发布与导入游戏文件可见性与曝光商店页面图片和视频类型和标签本地化即玩游戏

游戏体验

加载、暂停和音频全屏和安全区域云存档本地队伍和控制器

一起玩

分享、好友和邀请排行榜成就在线队伍和语音实时游戏服务器

赚取收益

变现点数与奖励

素材

游戏素材AI 素材生成自定义格式和玩家作品

参考

客户端 SDK服务器 SDKcatalogue.json错误与恢复问题排查
文档AI 素材生成
素材

为 PlayDrop 游戏生成 AI 素材

在 PlayDrop 中为游戏生成图片、音乐、音效、语音、视频和 3D 模型:可在浏览器中经玩家确认后生成,也可由游戏服务器生成并由创作者付费。

PlayDrop 可以生成图片、音乐、音效、语音、视频和 3D 模型。你可以在制作游戏时使用,也可以在游戏中使用,让玩家获得生成的内容。

制作游戏时

已登录的创作者可以在 PlayDrop 网站的“创作”中生成素材(图片、音乐、音效、语音、视频和 3D),也可以在制作游戏时让 PlayDrop Cloud 生成。每次生成都会花费点数,费用会在开始前显示,生成结果会成为你拥有的素材。像使用其他素材一样使用它:下载到你的包中,或在 uses 中引用(游戏素材)。

在游戏中:从浏览器生成

sdk.ai.<kind>.createTask(request) 会请求 PlayDrop 为当前玩家生成媒体内容。PlayDrop 会向玩家显示包含点数费用的确认窗口,由玩家付费,生成结果仅该玩家可见。

js
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) 可以发送一张参考图片。
  • 同一时间只能打开一个确认窗口;第二次调用会以 ai_generation_in_progress 拒绝。
  • 托管游戏不能从浏览器生成文本和 JSON,调用会返回 app_ai_generation_disabled。请改用服务器。
  • 请由玩家操作触发,在 play 阶段调用,并处理取消的情况。

在游戏中:从服务器生成

在游戏服务器上,@playdrop/server 提供的 playdrop.ai 可以生成文本、JSON、图片、音乐、音效、语音、视频和 3D。由创作者付费,生成结果默认归创作者所有;传入 { owner: client.auth } 可将符合条件的结果交给该玩家。

js
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 个单词。
  • 测试玩家生成的内容仍归创作者所有,并以测试模式运行。
  • 这些调用只适用于已上传的游戏,不适用于本地开发。

生成会花费点数,所以请限制玩家触发生成的频率;在围绕它设计整款游戏之前,先验证一次完整的请求,从创建生成任务一直到玩家真正看到或听到结果。

相关指南

  • 游戏素材随 PlayDrop 游戏提供图片、声音、视频和 3D:内置文件、在 catalogue.json 中声明的游戏自有素材、公开素材和素材包,以及用 sdk.assets 在运行时查找。
  • 实时游戏服务器为你的游戏运行托管的 Colyseus 0.17 服务器和 MongoDB 数据库,用 SDK 从浏览器连接,用两位玩家测试,并了解各项限制。
  • 变现用 requestReview 邀请评价,接收打赏,用 sdk.shop 出售物品,展示插屏广告和激励广告,并了解创作者从每种方式中获得的分成。
上一页PlayDrop 游戏素材:内置文件、自有素材和共享素材包下一页PlayDrop 上的自定义素材格式和玩家作品
查看 Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

本页内容

制作游戏时在游戏中:从浏览器生成在游戏中:从服务器生成
查看 Markdown