Tại số gamedev.SE, chúng tôi phát hiện ra rằng flash implementation of Perlin-noise dường như bị lệch hoàn toàn so với các triển khai khác.Làm thế nào là nhiễu Perlin trong flash được thực hiện?
Tôi không tìm thấy bất kỳ chi tiết triển khai trực tuyến nào, nhưng tôi tự hỏi liệu có ai có thể biết thuật toán nào đang được sử dụng cho Perlin-noise trong flash hay không.
Sử dụng bitmapData.perlinNoise(32, 32, 1, 200, false, false, 7, true);
tạo ra hình ảnh như thế này mà chỉ có các tham số numOctaves
đã được thay đổi (1
, 2
, 4
từ trái sang phải):
Tuy nhiên hiện thực khác của Perlin nhiễu trông khá khác nhau. Ví dụ hình ảnh từ Wikipedia article about Perlin-noise:
Cũng this Actionscript Implementation of Perlin-noise tạo ra kết quả khá khác nhau, như bạn có thể nhìn thấy trong hình ảnh sau (quãng tám 1
, 2
và 4
từ trái sang phải):
Điều tôi quan tâm nhất là giao diện của tiếng ồn chỉ với một quãng tám. Trong việc thực hiện flash, bạn có thể thấy rõ ràng rằng tiếng ồn đang hình thành một thứ gì đó giống như các đốm màu tách rời.
Quan trọng: Tiếng ồn phát ra trong flash sử dụng false
cho tham số fractalNoise
. Nếu fractalNoise
được đặt thành true
, kết quả thực sự rất giống với kết quả từ Wikipedia và các triển khai khác.
Các mô tả về các thông số đọc như sau:
giá trị Một Boolean. Nếu giá trị là đúng, phương thức tạo ra nhiễu fractal; nếu không, nó tạo ra sự hỗn loạn. Một hình ảnh với sự bất ổn có thể nhìn thấy sự gián đoạn trong gradient có thể làm cho nó hiệu ứng hình ảnh sắc nét gần đúng hơn như ngọn lửa và sóng biển.
Như chúng ta có thể thấy, họ nói về nhiễu loạn để mô tả phương pháp tạo tiếng ồn. Vì vậy, tôi đoán câu hỏi là: Đó là đầu ra được tạo ra bởi flash vẫn Perlin-tiếng ồn? Hay có một cái tên khác cho loại tiếng ồn đó? Và quan trọng nhất: Ai có thể tìm thấy một thực hiện để tạo ra tiếng ồn như thế này?
Xin lỗi, nhưng không phải vậy. Tôi thậm chí đã sử dụng mã từ một trong các liên kết của bạn để tạo ra hình ảnh của nhiễu mà tôi * không * quan tâm. Việc triển khai flash không khác vì nó là số nguyên (không phải) và nếu bạn xuất một hình ảnh ở cuối, bạn sẽ có số nguyên, không có cách nào xung quanh. Việc triển khai flash cho phép bạn chọn giữa nhiễu "nhiễu loạn" và "thông thường". Những gì tôi quan tâm là một thuật toán cho ** nhiễu loạn **. Nếu bạn tìm kiếm hình ảnh của Google cho "tiếng ồn hỗn loạn" và "tiếng ồn perlin", bạn sẽ thấy sự khác biệt. – bummzack