Tạo tài nguyên bằng AI cho game PlayDrop
Tạo hình ảnh, nhạc, âm thanh, giọng nói, video và 3D cho game trên PlayDrop, từ trình duyệt có người chơi xác nhận hoặc từ máy chủ do nhà sáng tạo trả phí.
PlayDrop có thể tạo hình ảnh, nhạc, hiệu ứng âm thanh, giọng nói, video và mô hình 3D. Hãy dùng tính năng này khi làm game, hoặc ngay trong game để người chơi nhận được nội dung được tạo ra.
Khi làm game
Nhà sáng tạo đã đăng nhập có thể tạo tài nguyên từ trang Tạo trên website PlayDrop (hình ảnh, nhạc, âm thanh, giọng nói, video và 3D) hoặc nhờ PlayDrop Cloud trong lúc xây dựng game. Mỗi lần tạo tốn credit, được hiển thị trước khi bắt đầu, và kết quả trở thành một tài nguyên bạn sở hữu. Hãy dùng nó như mọi tài nguyên khác: tải nó vào gói của bạn hoặc tham chiếu nó trong uses (tài nguyên game).
Trong game: từ trình duyệt
sdk.ai.<kind>.createTask(request) yêu cầu PlayDrop tạo media cho người chơi hiện tại. PlayDrop hiển thị cho người chơi một bước xác nhận kèm chi phí credit, người chơi trả phí, và kết quả là riêng tư với họ.
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));
}
}- Các loại:
image,music,sfx,speech,videovàmodel3d.sdk.ai.inputs.upload(blob)gửi một ảnh tham chiếu. - Mỗi lúc chỉ mở được một bước xác nhận; lệnh gọi thứ hai bị từ chối với
ai_generation_in_progress. - Việc tạo văn bản và JSON từ trình duyệt không khả dụng cho game được lưu trữ và trả về
app_ai_generation_disabled. Hãy dùng máy chủ. - Hãy gọi nó từ một thao tác của người chơi, trong giai đoạn
play, và xử lý trường hợp bị hủy.
Trong game: từ máy chủ
Trên một máy chủ game, playdrop.ai từ @playdrop/server tạo văn bản, JSON, hình ảnh, nhạc, hiệu ứng âm thanh, giọng nói, video và 3D. Nhà sáng tạo trả phí và mặc định sở hữu kết quả; truyền { owner: client.auth } để trao một kết quả đủ điều kiện cho người chơi đó.
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 });- Tệp được tạo là riêng tư: hãy tải nó về máy chủ và chỉ gửi các byte đến đúng người chơi.
- Yêu cầu giọng nói chấp nhận tối đa 40 từ.
- Nội dung do người chơi thử tạo vẫn thuộc sở hữu của nhà sáng tạo và chạy ở chế độ thử nghiệm.
- Các lệnh gọi này hoạt động với game đã tải lên, không hoạt động khi phát triển cục bộ.
Việc tạo tốn credit, vì vậy hãy giới hạn tần suất người chơi có thể kích hoạt nó, và chứng minh một yêu cầu hoàn chỉnh, từ tác vụ đến lúc người chơi thật sự thấy hoặc nghe kết quả, trước khi xây dựng cả game xoay quanh nó.