การวางก้อนหินด้วยมือเป็นวิธีที่ช้าที่สุดในการทำให้ภูมิทัศน์ดูเป็นธรรมชาติ และการ scatter แบบสุ่มสม่ำเสมอเป็นวิธีที่เร็วที่สุดในการทำให้มันดูปลอม การวางก้อนหินจริงมีกฎเกณฑ์: เศษหินสะสม ที่ตีนลาดชัน หินก้อนใหญ่รวมตัวเป็นกลุ่ม หินเล็กเติมเต็มช่องว่างระหว่างกัน คู่มือนี้แสดงเวิร์กโฟลว์ ที่ฝังกฎเหล่านั้นเอาไว้ โดยใช้ Surface Scatter ของ Numivo ใน UE5 แนวคิดนี้นำไปใช้ได้แม้คุณจะ scatter ด้วยมือ
Surface scattering คืออะไร
Surface scattering คือการวางอินสแตนซ์ของเมชจำนวนมากลงบนเทอร์เรนหรือเรขาคณิตแบบเชิงกระบวนการ ขับเคลื่อนด้วยกฎแทนการคลิกทีละครั้ง: แผนที่ความหนาแน่น, ขีดจำกัดความชันและความสูง, ข้อจำกัด ระยะห่าง และทรานส์ฟอร์มแบบสุ่ม ทำถูกวิธี มันเปลี่ยนการวางหลายชั่วโมงให้เป็นการเพนต์ไม่กี่วินาที ทำผิดวิธี มันสร้าง “ซุปอินสแตนซ์” ที่ผู้เล่นทุกคนจำได้
ขั้นที่ 1: สร้างสปีชีส์ก้อนหินเล็ก ๆ ไม่ใช่เมชเดียว
อย่า scatter เมชก้อนหินเพียงชิ้นเดียว จงสร้าง สปีชีส์ (species) ซึ่งเป็นชุดที่ถ่วงน้ำหนัก:
- หินก้อนใหญ่ระดับฮีโร่ 2–3 ชิ้น (น้ำหนักต่ำ ~5%)
- หินก้อนกลาง 4–5 ก้อน (น้ำหนัก ~25%)
- หินเล็กและเศษหิน 6 ชิ้นขึ้นไป (น้ำหนัก ~70%)
การกระจายน้ำหนักสำคัญกว่าตัวเมชเสียอีก ธรรมชาติส่วนใหญ่เป็นของเล็ก ๆ พร้อมจุดยึดใหญ่ที่หายาก สลับกลับด้าน แล้วฉากจะดูปลอม
ขั้นที่ 2: ให้ความชันตัดสินว่าก้อนหินอยู่ตรงไหน
ตั้งมาสก์ความชันให้ก้อนหินชอบความลาด 15°–55° และค่อย ๆ จางหายบนพื้นราบ ก้อนหินบนทุ่งหญ้า ที่ราบเรียบสนิทดูเหมือนถูกวางไว้ ก้อนหินที่แนบชิดรอยต่อระหว่างหน้าผากับพื้นดูมีความเป็นธรณีวิทยา ใน Numivo นี่คือสไลเดอร์สองตัวบนสปีชีส์ เมื่อทำด้วยมือ มันคือกฎที่คุณยึดตามระหว่างวาง
ขั้นที่ 3: การจับกลุ่มชนะความสุ่ม
การ scatter แบบสุ่มล้วนให้ระยะห่างที่สม่ำเสมอ และระยะห่างที่สม่ำเสมอตะโกนว่า “คอมพิวเตอร์” เปิดการจับกลุ่มให้อินสแตนซ์รวมตัวเป็นกลุ่มโดยมีช่องว่างคั่น: สำหรับหินก้อนใหญ่ รัศมีคลัสเตอร์ ราว 400–600 ซม. พร้อม 3–7 อินสแตนซ์ต่อคลัสเตอร์เป็นจุดเริ่มต้นที่ดี จากนั้นเพิ่มกฎ Avoid กับ สปีชีส์ต้นไม้ของคุณ (ก้อนหินแทบไม่แนบชิดลำต้น) และกฎ Attract ที่ดึงเศษหินเล็กเข้าหาหินก้อน ใหญ่ “ผ้ากันเปื้อนเศษหิน” รอบก้อนหินใหญ่นั่นแหละคือรายละเอียดที่ฉาก scatter ส่วนใหญ่พลาดไป
ขั้นที่ 4: สุ่มทรานส์ฟอร์มที่ถูกต้อง
- Yaw: เต็ม 360° เสมอ
- Scale: 0.8–1.3 แบบไม่สม่ำเสมอ เพื่อให้เงาโครงร่างแตกต่างกัน
- Roll/pitch: เพียง ±8° สำหรับก้อนหินที่ตั้งบนพื้น การเอียงสุ่มมาก ๆ จะดูลอย
- Sink: ฝังอินสแตนซ์ลงในเทอร์เรน 5–15 ซม. ก้อนหินที่นั่ง บน พื้นแทนที่จะ ในดิน คือสิ่งที่ ทำให้จับได้บ่อยที่สุด
ขั้นที่ 5: คงประสิทธิภาพไว้: เบคเป็นอินสแตนซ์
เครื่องมือ scatter พิสูจน์คุณค่าของมันตรงนี้ หรือไม่ก็เสียคุณค่าไป Numivo เบคผลลัพธ์เป็น Hierarchical Instanced Static Meshes (หรืออินสแตนซ์ foliage ตามที่คุณเลือก) ซึ่งเป็นแอสเซ็ตเนทีฟของ UE5 ที่รวมกันเหลือ draw call เพียงหยิบมือ ทำงานกับ Nanite และปล่อยออกไปด้วย ต้นทุนปลั๊กอินตอนรันไทม์เป็นศูนย์ เนินเขาที่มีหิน 20,000 ก้อนกลายเป็นแบตช์อินสแตนซ์ไม่กี่ชุด บิลด์ของคุณไม่มีโค้ด Numivo อยู่เลย
กฎง่าย ๆ ด้านประสิทธิภาพสองข้อ:
| สถานการณ์ | คำแนะนำ |
|---|---|
| หิน < 1 ม. จำนวนมาก | อินสแตนซ์ foliage + ระยะ cull เชิงรุก |
| หินก้อนฮีโร่ เดินได้ | HISM ที่ใช้เมช Nanite ไม่ cull |
ลองบนเนินเขาจริง
เวิร์กโฟลว์ทั้งหมดข้างต้นใช้เวลาราว 10 นาทีในครั้งแรก และราว 90 วินาทีเมื่อพรีเซ็ตสปีชีส์ของคุณ มีอยู่แล้ว ระดับใช้งานฟรี รวม scatter หลักโดยไม่มีกำหนดเวลา คุณจึงทดสอบสิ่งนี้บน ภูมิทัศน์ของคุณเองได้ในวันนี้ หากติดขัด เอกสาร ครอบคลุมทุกพารามิเตอร์ และ Discord เต็มไปด้วยผู้คนที่แบ่งปันพรีเซ็ตสปีชีส์ของตน