MC Toolkit

คู่มือ / คำสั่งและข้อมูล

/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 แล้วความหมายของทุกตัวเลขที่อยู่ข้างหน้าจะเปลี่ยนไป:

countdelta หมายถึง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 — ความเร็วแกน x ใช้เลือกสี: เมื่อ count 0 มันคือ delta แกน x คูณกับ speed และ 0 ถึง 1 จะวนรอบวงล้อสีหนึ่งรอบ (กล่องตัวโน้ตส่งค่า pitch ÷ 24) ถ้า count สูงกว่านั้นสีจะเป็นแบบสุ่ม
  • entity_effect — สีถูกดึงมาจากอาร์กิวเมนต์ alpha-RGB

ดังนั้น /particle note ~ ~1 ~ 0.5 0 0 1 0 ไม่ใช่อนุภาคที่เร็ว — 0.5 กับ 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

บล็อกอาร์กิวเมนต์ต้องวางต่อท้ายชื่ออนุภาคทันที ก่อนพิกัด การวางไว้ท้ายสุดคือสาเหตุทั่วไปของ syntax error

force กับผู้ชม

คำสั่งลงท้ายด้วยโหมดและผู้เล่นซึ่งเป็นทางเลือก:

/particle flame ~ ~ ~ 0 0 0 0 1 force @a

normal จะเคารพการตั้งค่าอนุภาคของแต่ละไคลเอนต์และขีดจำกัดการมองเห็น 32 บล็อก ส่วน force จะแสดงอนุภาคเสมอและไกลถึง 512 บล็อก สำหรับอะไรก็ตามที่ผู้เล่นต้องเห็น — สัญญาณเตือนบอส, หมุดเควส — จำเป็นต้องใช้ force และนี่คือเหตุผลที่อนุภาคของคุณแสดงให้คุณเห็นแต่ไม่แสดงให้คนที่ตั้งค่าอนุภาคลดลงเห็น

ประสิทธิภาพ

อนุภาคเป็นการเรนเดอร์ฝั่งไคลเอนต์ ภาระจึงตกอยู่ที่ผู้เล่น ไม่ใช่เซิร์ฟเวอร์ count ที่ 200 ต่อ tick ต่อผู้เล่นจะทำให้เฟรมเรตตกบนเครื่องสเปกปานกลาง แม้ว่า TPS ของเซิร์ฟเวอร์จะไม่กระทบก็ตาม ควรกระจายการปล่อยอนุภาคไปตาม tick ต่าง ๆ แทนที่จะยิง count ก้อนใหญ่ครั้งเดียว

ดูอนุภาคทุกชนิดและ sound id กว่า 1,900 รายการพร้อมคำสั่งสำเร็จรูปได้ที่ แกลเลอรีอนุภาคและเสียง

แกลเลอรีอนุภาคและเสียง →

คู่มือเพิ่มเติม

ดูทั้งหมด →