การสร้างแอสเซ็ตด้วย AI สำหรับเกม PlayDrop
สร้างภาพ เพลง เสียง เสียงพูด วิดีโอ และ 3D ให้เกมใน PlayDrop จากเบราว์เซอร์โดยให้ผู้เล่นยืนยัน หรือจากเซิร์ฟเวอร์โดยครีเอเตอร์เป็นผู้จ่าย
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)ใช้ส่งภาพอ้างอิง - เปิดหน้ายืนยันได้ครั้งละหนึ่งหน้าเท่านั้น การเรียกครั้งที่สองจะถูกปฏิเสธด้วย
ai_generation_in_progress - การสร้างข้อความและ JSON จากเบราว์เซอร์ใช้ไม่ได้กับเกมที่โฮสต์บน PlayDrop และจะส่งคืน
app_ai_generation_disabledให้ใช้เซิร์ฟเวอร์แทน - เรียกจากการกระทำของผู้เล่นในช่วง
playและจัดการกรณีที่ผู้เล่นยกเลิก
ภายในเกม: จากเซิร์ฟเวอร์
บนเซิร์ฟเวอร์เกม playdrop.ai จาก @playdrop/server สร้างข้อความ 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 คำ
- สิ่งที่ผู้เล่นทดสอบสร้างยังเป็นของครีเอเตอร์และทำงานในโหมดทดสอบ
- การเรียกเหล่านี้ใช้ได้กับเกมที่อัปโหลดแล้ว ไม่ใช่ในการพัฒนาในเครื่อง
การสร้างใช้เครดิต จึงควรจำกัดความถี่ที่ผู้เล่นสั่งสร้างได้ และพิสูจน์ให้ได้ว่าคำขอหนึ่งครั้งทำงานครบ ตั้งแต่สร้างงานไปจนถึงผู้เล่นได้เห็นหรือได้ยินผลลัพธ์จริง ก่อนจะสร้างเกมทั้งเกมโดยอาศัยสิ่งนี้