Rorschach ink blot (hay còn gọi là hình ảnh kiểm tra tâm lý)


12

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây
(nguồn: bonnefil.com )

Tôi muốn mô hình tuyệt vời này có trong trò chơi của tôi. Cho đến nay tôi đã tìm ra ...

  1. Vẽ một bên, sau đó kết xuất hai lần trái và phải.
  2. Làm thế nào để tôi kết xuất mô hình này ở một bên? hừm ...
  3. Tôi cần giúp đỡ.

Tôi cần một số cái nhìn sâu sắc về viết shader cho việc này.

Nếu bạn nghĩ rằng nhiệm vụ không phù hợp với shader, thì hãy cho tôi biết, hy vọng với một giải pháp thay thế!

Tuy nhiên tôi thấy không có cách tiếp cận khả thi nào để đạt được điều này nếu không có gpu. (trừ khi bạn đề nghị lưu trữ một loạt các hình ảnh được chuẩn bị của pic rorscach)


Bạn đang sử dụng công cụ / ngôn ngữ / khung nào?
akaltar

@akaltar Unity Shaderlab
Lỗi xanh

Câu trả lời:


15

Để có được cái nhìn ngớ ngẩn đích thực đó, cách tốt nhất của bạn có lẽ là lắp ráp một thư viện hình ảnh của các vết mực, vệt và rê bóng.

Sau đó, bạn có thể chọn ngẫu nhiên một số trong số chúng để định vị & xoay ngẫu nhiên trên một nửa hình ảnh. (Với độ lệch về cạnh đường may nên giữa thử nghiệm Rorschach có mật độ dày nhất. Bạn có thể sử dụng hệ thống hạt để thực hiện tán xạ này)

Kết xuất nó thành một kết cấu với chế độ bao bọc được đặt thành gương và bây giờ bạn có một đốm mực đối xứng bạn có thể hiển thị mà không cần bất kỳ trình đổ bóng tùy chỉnh nào.

Đây là một ví dụ về loại kết quả mà bạn có thể nhận được theo cách này:

Inkblot được lắp ráp từ thư viện hình ảnh splat

Nếu bạn không quan tâm đến những hình dạng mực đặc trưng đó, bạn cũng có thể thực hiện điều này với một shader có ngưỡng hai mẫu nhiễu cuộn qua nhau. Điều đó có hình dạng bất thường đối xứng, có thể được thực hiện để thay đổi liên tục theo thời gian nếu bạn muốn, nhưng nó sẽ không giống như mực.

Đây là phương pháp mà dnk drone.vs.drones gợi ý trong một câu trả lời khác và nó có thể cho kết quả tương tự như sau:

Inkblot ngưỡng từ tiếng ồn

Chỉnh sửa: đây là sự cố về cách tiếp cận dựa trên tiếng ồn hoạt động ...

Đầu tiên chúng ta bắt đầu với một số tiếng ồn. 1 / f tiếng ồn , thường được gọi là nhiễu loạn, hoạt động khá tốt. Bạn có thể nướng tạp âm thành một kết cấu và sau đó tổng hợp một hoặc nhiều mẫu từ nó, thay đổi độ lệch / góc quay của chúng để thay đổi hình dạng bạn nhận được.

Nhiễu loạn Ngưỡng

Nếu chúng ta ngưỡng trực tiếp điều này, chúng ta sẽ có được một hình ảnh giống như hình bên phải. Các hình dạng là chính xác, nhưng để trông giống như một thử nghiệm Rorschach, nó phải dày nhất ở gần giữa và mỏng ra về phía các cạnh.

Chúng ta có thể làm cho công việc này bằng cách thêm một gradient trên đầu (độ tương phản được phóng đại ở đây cho rõ ràng)

Mặt nạ cạnh Mặt nạ thêm tiếng ồn

Sau đó ngưỡng nó bằng cách lấy (sum - blackLevel) * contrast

(Dưới đây blackLevellà một tham số kiểm soát kết quả như thế nào so với blobby - giá trị cao hơn có nghĩa là màu đen rắn hơn - và contrastkiểm soát độ sắc nét của các cạnh)

Ngưỡng

Phản chiếu hình ảnh này sẽ cho bạn ví dụ Rorschach ở trên.


Tôi đang cố gắng để đạt được thông qua các phương pháp máy bay không người lái. Bạn có thể giải thích làm thế nào nó được thực hiện? Tôi đang sử dụng chức năng nhiễu perlin truyền thống nhưng tôi trông giống như bộ sưu tập các chấm ngẫu nhiên.
Lỗi xanh

@BlueBug, tôi đã thêm phân tích từng bước ở trên.
DMGregory

8

Bạn có thể thử nhiễu perlin (sử dụng gradient đen / trắng thích hợp), sau đó áp dụng phản chiếu phải / trái

nhập mô tả hình ảnh ở đây


Đó có phải là tiếng ồn perlin không? Điều đó có vẻ khác biệt lớn với tiếng ồn perlin truyền thống. Wow trông giống như "mực mây" giống như nhân vật trong phim Watchmen.
Lỗi xanh

2
Tất cả phụ thuộc vào chức năng chuyển của bạn từ giá trị nhiễu -> giá trị pixel. Có vẻ như có một mức cửa sổ khá nhỏ ở đây dẫn đến sự tương phản rõ rệt giữa đen và trắng với một lượng nhỏ các cạnh mềm
MistaGiggles

Vâng, chỉ cần thực hiện một bộ lọc thông cao ở đâu đó xung quanh màu xám sau đó thổi bay mức cao (tức là nhân với một số lượng lớn và bỏ qua đỉnh ở mức 255 hoặc bất kỳ giá trị pixel tối đa nào)
Shayne
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.