/particle: delta และ speed หมายถึงอะไรกันแน่ และเคล็ดลับ count=0
ตัวเลขสี่ตัวที่ตามหลังตำแหน่งไม่ใช่ทิศทาง นี่คือสิ่งที่ delta และ speed ทำงานอย่างไร ทำไม count=0 ถึงทำงานแตกต่างออกไปอย่างสิ้นเชิง และวิธีกำหนดทิศทางของอนุภาค
/particle flame ~ ~1 ~ 0.5 0.5 0.5 0.01 20
└─ delta ─┘ spd count
ตัวเลขสี่ตัวนั้นเป็นส่วนที่ถูกเข้าใจผิดมากที่สุดของคำสั่ง
delta คือการกระจาย ไม่ใช่ทิศทาง
dx dy dz อธิบายถึง การกระจายแบบเกาส์เซียน (Gaussian spread) รอบตำแหน่ง — อนุภาคกระจายตัวออกไปไกลแค่ไหนในแต่ละแกน 0.5 0.5 0.5 ให้ลูกบอลที่ฟุ้งๆ; 2 0 0 ให้เส้นตามแนวแกน X
พวกมันไม่ใช่เวกเตอร์ความเร็ว ค่าบวกและค่าลบไม่มีความแตกต่าง; -2 0 0 และ 2 0 0 สร้างเส้นเดียวกัน
ยกเว้นเมื่อ count เป็น 0
ตั้งค่า count เป็น 0 และความหมายของตัวเลขทุกตัวที่อยู่ก่อนหน้าจะเปลี่ยนไป:
| count | delta หมายถึง | speed หมายถึง |
|---|---|---|
| ≥ 1 | การกระจายแบบสุ่ม | ขนาดความเร็วแบบสุ่ม |
| 0 | เวกเตอร์ทิศทาง | ความเร็วตามแนวเวกเตอร์นั้น |
/particle flame ~ ~1 ~ 0 1 0 0.5 0 → one particle shot straight up at 0.5
นี่เป็นวิธีเดียวที่จะกำหนดทิศทางของอนุภาค คำตอบทุกข้อสำหรับ "ฉันจะสร้างลำแสงได้อย่างไร" สุดท้ายก็จะมาถึงตรงนี้ ค่าใช้จ่ายคือหนึ่งอนุภาคต่อคำสั่ง ดังนั้นลำแสงคือการวนซ้ำหรือการเชื่อมโยงคำสั่ง
speed ไม่ได้หมายถึงความเร็วเสมอไป
สำหรับอนุภาคส่วนใหญ่ speed คือตัวคูณความเร็ว สำหรับบางอนุภาค มันถูกนำไปใช้ใหม่ทั้งหมด:
dust— ขนาดเป็นพารามิเตอร์ และ speed ไม่มีผลอะไรnote— speed เลือก สี โดย0ถึง24จะแมปไปรอบๆ วงล้อสีentity_effect— สีถูกนำมาจากอาร์กิวเมนต์ alpha-RGB
ดังนั้นอนุภาค note ที่มี speed 1 ไม่ได้หมายถึงเร็ว แต่มันคือสีที่แตกต่างกัน
อนุภาคที่มีอาร์กิวเมนต์ของตัวเอง
/particle dust{color:[1.0,0.0,0.0],scale:1} ~ ~ ~ 0 0 0 0 1
/particle block{block_state:"minecraft:stone"} ~ ~ ~ 0.3 0.3 0.3 0 10
/particle dust_color_transition{from_color:[1,0,0],to_color:[0,0,1],scale:1} ~ ~ ~ 0 0 0 0 1
บล็อกอาร์กิวเมนต์จะอยู่ ทันทีหลังชื่ออนุภาค ก่อนพิกัด การวางไว้ที่ท้ายสุดเป็นข้อผิดพลาดทางไวยากรณ์ที่พบบ่อย
force และผู้มองเห็น
คำสั่งจะจบลงด้วยโหมดและผู้เล่นที่เป็นทางเลือก:
/particle flame ~ ~ ~ 0 0 0 0 1 force @a
normal เคารพการตั้งค่าอนุภาคของไคลเอนต์แต่ละรายและขีดจำกัดการมองเห็น 32 บล็อก force แสดงอนุภาคโดยไม่คำนึงถึงการตั้งค่าและไกลถึง 512 บล็อก สำหรับสิ่งใดก็ตามที่ผู้เล่นต้องเห็น — สัญญาณบอส, เครื่องหมายภารกิจ — force เป็นสิ่งจำเป็น และนี่คือเหตุผลว่าทำไมอนุภาคของคุณถึงทำงานสำหรับคุณ แต่ไม่ทำงานสำหรับผู้ที่มีการตั้งค่าอนุภาคลดลง
ประสิทธิภาพ
อนุภาคเป็นการเรนเดอร์ฝั่งไคลเอนต์ ดังนั้นค่าใช้จ่ายจะตกอยู่กับผู้เล่น ไม่ใช่เซิร์ฟเวอร์ การใช้ count 200 ต่อติ๊กต่อผู้เล่นจะทำให้เฟรมเรตลดลงบนฮาร์ดแวร์ระดับปานกลาง แม้ว่า TPS ของเซิร์ฟเวอร์จะไม่ได้รับผลกระทบก็ตาม กระจายการปล่อยอนุภาคไปหลายๆ ติ๊ก แทนที่จะปล่อยจำนวนมากในครั้งเดียว
เรียกดูอนุภาคทุกประเภทและ ID เสียงกว่า 1,900 รายการพร้อมคำสั่งสำเร็จรูปได้ใน แกลเลอรีอนุภาคและเสียง