Tất cả bài viết
Hướng dẫn · 8 min read

Vì sao thảm thực vật rải của bạn trông giả, và năm quy tắc khắc phục nó

Rải ngẫu nhiên không phải là cách tự nhiên vận hành. Gom cụm, quan hệ hút/tránh giữa các loài, dải chuyển tiếp ở rìa, biến thiên kích thước có cấu trúc và logic địa hình: năm quy tắc biến việc đặt theo thủ tục thành một hệ sinh thái đáng tin, kèm những con số làm mỗi quy tắc hoạt động.

Illustration comparing an evenly spaced grid of dots with natural clusters

Tóm lại: sự ngẫu nhiên thuần đọc lên như nhân tạo vì thảm thực vật thật là điều đối lập với ngẫu nhiên: nó là kết quả hữu hình của cuộc cạnh tranh ánh sáng, nước và đất. Bạn không cần mô phỏng bất kỳ phần nào của sinh thái đó. Bạn cần năm quy tắc đặt để giả lập kết quả của nó: gom cụm, liên hệ các loài, chuyển tiếp mềm ở rìa, cấu trúc hóa kích thước, và để địa hình quyết định cái gì mọc. Bài viết này đưa từng quy tắc kèm con số cụ thể, cộng phép thử thang xám bắt được phân bố giả sớm hơn ai hết.

Thung lũng núi: cây lá kim gom cụm theo độ ẩm và độ dốc, đồng cỏ xen giữa Không người làm vườn nào đặt cái này. Cây tụ lại dọc theo nước và chỗ che chắn, thưa dần trên đá và sống núi, và rìa đồng-cỏ-sang-rừng là một dải chuyển tiếp: mọi quy tắc trong bài này đều hiện ra trong một tấm ảnh.

Cái nhìn cốt lõi: tự nhiên là quy tắc cộng nhiễu

Trước năm quy tắc, mô hình tư duy khiến chúng khớp: một cảnh quan thật không ngẫu nhiên và không trật tự; nó được điều khiển bởi quy tắc với nhiễu phủ lên trên. Hạt rơi gần cây mẹ, cây tranh nhau ánh sáng, nước đọng ở thung lũng, gió trừng phạt các sống núi phơi trần. Kết quả trông hữu cơ chính vì các quy tắc đơn giản đã tạo ra nó rồi sự ngẫu nhiên làm nhám các rìa. Đặt ngẫu nhiên đồng đều bỏ qua quy tắc và chỉ giữ nhiễu, đó là lý do nó đọc lên như "máy tính làm cái này". Mọi thứ dưới đây là cách thêm lại quy tắc một cách rẻ.

Quy tắc 1: tự nhiên gom cụm

Đặt ngẫu nhiên đồng đều tạo ra một lớp rắc đều không tồn tại ở bất cứ đâu trên Trái Đất: cây thật tụ quanh thứ đã gieo chúng, với các khoảng trống thực sự trống giữa các cụm. Đẩy việc gom cụm xa hơn mức cảm thấy an toàn.

Cây đứng thành lùm; hoa nở thành mảng; ngay cả cây bụi sa mạc cũng túm quanh các đường thoát nước. Khoảng trống giữa các cụm không lãng phí: chính nó làm các cụm đọc được, cho các đường ngắm chỗ để thở, và (thêm điểm) render rẻ hơn lấp đầy đồng đều vì đất trống chẳng tốn gì và các cụm bị cull theo đơn vị. Một mục tiêu thực tế: nhắm kích thước cụm 3–12 thực thể với các khoảng trống rộng vài lần chiều rộng cụm giữa chúng, thay vì một cánh đồng đều về mặt toán học.

Vì sao "xa hơn mức cảm thấy an toàn"? Vì trong trình biên tập, từ góc nhìn từ trên xuống, gom cụm mạnh trông quá thưa; bản năng bảo bạn lấp khoảng trống. Rồi bạn hạ xuống tầm mắt, đi qua nó, và các khoảng trống đã thành trảng, đường ngắm và nơi ánh sáng đọng lại. Hãy tin cách đọc ở mặt đất hơn cách đọc từ trên; góc nhìn từ trên đang nói dối cảm giác mật độ của bạn.

Quy tắc 2: các loài có quan hệ

Hai kiểu quan hệ bao phủ phần lớn sinh thái: HÚT (nấm gần thân cây, thường xuân gần tường, sậy gần nước) và TRÁNH (hoa mặt đất tránh tán rậm, cây con tránh cây trưởng thành). Một nắm cặp đôi thắng việc nhân đôi số lượng asset của bạn.

Nấm gom cụm trên một khúc gỗ phủ rêu trên nền rừng Nấm không rải ngẫu nhiên khắp một đồng cỏ; chúng theo gỗ chết và độ ẩm. Một quy tắc "hút về thân và khúc gỗ" tái tạo điều này tức thì, và người xem đọc nó là sự thật mà không biết tại sao.

Những cặp đôi đáng đồng tiền trong hầu như mọi cảnh ôn đới:

  • nấm → hút thân cây và khúc gỗ đổ (sinh vật phân hủy theo gỗ chết)
  • cỏ → tránh tán rậm (thua cuộc cạnh tranh ánh sáng)
  • dương xỉ → hút các rìa bóng râm (chúng muốn độ ẩm, không phải bóng tối)
  • cây non → tránh cây già (cây mẹ che bóng cây con)
  • sậy → hút các đường nước; hoa đồng cỏ → tránh chúng
  • đá/tảng → hút chân dốc (chúng lăn xuống và tụ lại)

Lý do việc này bán tính chân thực rẻ đến vậy: người xem không có ý thức biết thực vật học, nhưng họ đã đi qua mười nghìn cảnh thật nơi những tương quan này đúng. Sự vi phạm ghi nhận là "kiểu game" mà người chơi không diễn đạt được vì sao khu rừng thấy sai. Một cấu hình scatter nói bằng các quan hệ hút/tránh với tham số khoảng cách, như scatter của Numivo làm, biến toàn bộ danh sách trên thành năm hay sáu mục quy tắc, được đánh giá tự động khi bạn vẽ.

Quy tắc 3: rừng được làm nên ở các rìa

Ranh giới rừng không phải một bức tường cây trưởng thành; nó là một dải chuyển tiếp: cỏ, rồi bụi, rồi cây nhỏ, rồi tán, thường trên 5–15 mét. Hãy dành một dải chuyển tiếp ở bất cứ đâu hai vùng gặp nhau.

Nhà sinh thái gọi nó là ecotone, và đó là nơi mắt dành nhiều thời gian nhất, vì lối mòn, đường, trại và không gian chiến đấu đều ôm sát các rìa; rừng sâu dù sao cũng phần lớn bị che khuất. Một dải chuyển tiếp rìa tốt vượt một hỗn hợp rừng-sâu tốt mọi lúc. Cùng nguyên tắc áp dụng ở mọi ranh giới: cỏ/đá, đá/nước, nước/cát, canh tác/hoang. Nếu bạn chỉ làm một việc "nâng cao" cho thảm thực vật, hãy làm các dải rìa với hỗn hợp loài riêng; đó là thay đổi có đòn bẩy cao nhất hiện có.

Chế độ hỏng cần tránh là rìa cứng: một đường sắc nét nơi rừng rậm thành đồng cỏ trơ. Không gì trong tự nhiên có đường đó ngoài một bãi cỏ đã xén hay một máy ủi. Ngay cả ranh giới cháy hay đường giới hạn cây cũng tưa ra trên nhiều mét. Một rìa thảm thực vật cứng đọc lên như một ranh giới thiết kế màn, phá vỡ sự nhập vai ngay tại nơi người chơi nhìn nhiều nhất.

Quy tắc 4: kích thước kể một câu chuyện

Tỷ lệ giống hệt lộ tẩy tức thì, nhưng tỷ lệ ngẫu nhiên ngây thơ hầu như chẳng khá hơn: hãy cấu trúc hóa nó: cá thể lớn hơn ở các trung tâm được che chắn, nhỏ hơn bị gió cắn ở các rìa phơi trần, cộng một xoay nhỏ và vài độ nghiêng.

Giá trị mặc định hữu ích chịu được soi xét:

  • Khoảng tỷ lệ 0,85–1,25× trong một loài, lệch nhỏ ở các rìa và độ cao; ngẫu nhiên đồng đều ±40 % trông như một hộp đồ chơi vì nó đặt người khổng lồ cạnh người lùn không có logic.
  • Yaw ngẫu nhiên trên mọi thứ; cây lá rộng thêm nữa nhận 2–5° nghiêng. Cây thẳng đứng hoàn hảo trên dốc gào lên "đã đặt"; cây thật trên sườn đồi nghiêng, vươn về ánh sáng và mọc cong.
  • Chìm thực thể 2–5 cm vào đất. Cỏ nổi ngang mắt cá là hiện vật scatter phổ biến nhất từng có, vô hình trong trình biên tập và chói mắt trong ảnh chụp.
  • Biến thiên màu theo từng thực thể vài phần trăm phá vỡ ánh lấp lánh sao-chép-dán ở các cánh đồng lớn hiệu quả hơn việc thêm biến thể mesh; mắt bắt màu lặp nhanh hơn hình lặp.

Điểm sâu hơn: kích thước nên mã hóa cùng câu chuyện mà gom cụm và các rìa kể. Cây lớn được che chắn ở thung lũng, cây còi trên sống núi, cây con ở rìa rừng sáng nơi ánh sáng lọt vào. Khi kích thước đồng ý với vị trí, cảnh đọc lên như một hệ sinh thái có lịch sử; khi kích thước ngẫu nhiên, nó đọc lên như asset rắc lên địa hình.

Quy tắc 5: địa hình quyết định cái gì mọc

Mask độ dốc và độ cao là sinh thái miễn phí: mặt dốc giữ đá và bụi cứng cáp, không phải bãi cỏ; đáy thung lũng um tùm hơn các sống núi; loài đổi theo độ cao. Hình học bạn đã có mã hóa nó.

Ngưỡng ánh xạ tốt vào tri giác: cỏ và lớp phủ mặt đất phai đi trên ~30–35° độ dốc; bụi bám đến ~45°; xa hơn nữa là đá trơ và thảng hoặc cư dân vách đá. Các dải độ cao quan trọng ngay cả trong cảnh nhỏ: một hỗn hợp thung lũng và một hỗn hợp sống núi, hòa trộn qua vùng chuyển tiếp, bán một logic thế giới lớn mà lớp phủ phẳng đồng đều chẳng bao giờ đạt tới. Thêm độ ẩm làm mask thứ ba nơi engine cho phép (gần nước, trong các trũng) và bạn đã mã hóa ba trục mà các hệ sinh thái thật thực sự phản ứng: ánh sáng, độ cao và nước.

Cái đẹp của mask địa hình là tạo ra chúng chẳng tốn gì: dữ liệu độ dốc và độ cao đã có sẵn trong heightmap của bạn. Bạn không vẽ nơi cỏ đi; bạn bảo hệ thống "cỏ, nhưng không trên vách đá", và các vách đá tự che mình.

Ghép tất cả lại

Phần đáng khích lệ: các quy tắc kết hợp trong một pass. Sồi gom cụm + nấm được hút về chúng + cỏ tránh tán + một dải bụi ở rìa rừng + mask độ dốc giữ vách đá trơ: đó là năm thiết lập, không phải năm tuần đặt tay. Rồi chạy kiểm tra cuối.

Phép thử nheo mắt thang xám: chụp màn hình cảnh, chuyển sang đen trắng, và nheo mắt. Thảm thực vật thật tạo ra các mẫu giá trị không đều, vón cục: khối tối, trảng sáng, một kết cấu bồn chồn. Nếu thang xám của bạn trông như nhiễu mịn, đều, phân bố của bạn ở bên dưới vẫn đồng đều và bạn cần quay lại Quy tắc 1 và đẩy gom cụm mạnh hơn. Phép thử này hiệu quả vì khử bão hòa lột đi màu vốn đang tâng bốc bạn và chỉ để lại phân bố; chính nó mới thật sự đọc lên là tự nhiên hay giả.

Con số thực địa đáng ăn cắp

  • Kích thước cụm đọc lên tự nhiên: 3–12 thực thể, khoảng trống vài lần chiều rộng cụm
  • Chiều rộng dải chuyển tiếp rìa rừng: 5–15 m dải chuyển tiếp riêng
  • Phương sai tỷ lệ: 0,85–1,25×, lệch nhỏ ở các rìa và độ cao
  • Nghiêng: 2–5° trên cây lá rộng; chìm vào đất: 2–5 cm trên mọi thứ
  • Ngưỡng cắt độ dốc cho cỏ: ~30–35°; bụi: ~45°
  • Loài cần cho một cảnh phong phú: ~2 tán, 2 bụi, 2–3 mặt đất, 1–2 điểm nhấn, phân bố thắng số lượng

Mini-FAQ

Điều này có áp dụng cho game cách điệu không? Hoàn toàn. Gom cụm, các rìa và logic địa hình là về phân bố, không phải độ trung thực: một thế giới vẽ tay với phân bố tự nhiên đọc lên đáng tin hơn một thế giới tả thực với lớp rắc đều. Phân bố là tầng người chơi đọc trước tiên, trước kết cấu.

Tôi thật sự cần bao nhiêu loài? Ít hơn bạn nghĩ. Một cảnh trụ tốt trên hai cây tán, hai bụi, hai hoặc ba lớp phủ mặt đất và vài loài điểm nhấn, với các quan hệ giữa chúng. Chất lượng phân bố thắng số loài mọi lúc: mười asset đặt theo quy tắc thắng bốn mươi đặt ngẫu nhiên.

Còn hiệu năng? Gom cụm là bạn của bạn: các cụm bị cull theo đơn vị, khoảng trống chẳng tốn gì, và các dải rìa tập trung chi tiết nơi người chơi nhìn. Scatter trông tự nhiên thường rẻ hơn mật độ đồng đều, không đắt hơn; khoảng trống bạn từng bị cám dỗ lấp đầy là thời gian khung hình miễn phí.

Tôi có thể giả tất cả bằng một kết cấu nhiễu lớn không? Một phần: nhiễu cho bạn sự vón cục, nhưng không cho các quan hệ loài hay dải chuyển tiếp rìa, vốn là những phần đọc lên như sinh thái thay vì chỉ biến thiên. Nhiễu chỉ là Quy tắc 1; tính đáng tin đến từ Quy tắc 2 và 3.

Năm quy tắc, một pass, và phép thử thang xám để kiểm chứng. Tự nhiên không ngẫu nhiên: nó được điều khiển bởi quy tắc với nhiễu phủ lên trên, đúng là thứ mà một cấu hình scatter tốt vốn là.