Thế hệ vũ trụ 2d


16

Tôi muốn tạo ra một vũ trụ phẳng, lúc đầu toàn bộ vũ trụ trống rỗng.

Điều đó sẽ được đại diện bởi một hình ảnh nền tinh vân cuộn thị sai.

Những gì tôi muốn làm là đại diện cho các hành tinh như những vật thể hình đĩa trong vũ trụ. Chúng có thể có nhiều kích cỡ.

Bên trong các đĩa sẽ bao gồm một vùng đất, sau đó bên ngoài sẽ là một khối nước và sau không khí đó.

Điều gì sẽ là cách tốt nhất để tạo ra những viên gạch theo thủ tục, ví dụ như không khí sẽ bao gồm nhiều loại khí khác nhau và vùng đất của các khoáng sản và tài nguyên khác nhau.

Suy nghĩ đầu tiên của tôi là tạo ra các hình ảnh kết cấu và sau đó dập tắt các vòng tròn ra khỏi các kết cấu đó, nhưng vấn đề là những họa tiết đó sẽ phải quấn ngang và dọc. Có một cách đầy đủ thủ tục để làm điều này?


Những câu hỏi như thế này được trả lời tốt hơn với một số loại hình ảnh để mô tả những gì bạn đang theo dõi. Câu trả lời tốt dưới đây có thể là quá kỹ thuật hoặc không đủ kỹ thuật.
Richard Fabian

Câu trả lời:


14

Kết cấu thủ tục, đặc biệt là các kết cấu dựa trên tiếng ồn, có thể được thực hiện để xếp gạch. Xem chủ đề này tại GDNet để biết một số thảo luận, cũng như mục tạp chí này . Ngoài ra còn có liên kết này , nghe có vẻ thú vị mặc dù tôi không thể nói về tính chính xác của nó.

Về thủ tục tạo ra thế giới, có bài viết này được viết bởi anh chàng đang phát triển Infinity. Hệ thống của anh ấy là 3D nhưng có lẽ bạn có thể điều chỉnh các kỹ thuật đủ dễ dàng.

Có cả một wiki về việc tạo nội dung theo thủ tục .


1
Pff. Tôi cần học cách gõ nhanh hơn. Về cơ bản, đây là những gì tôi có trong cửa sổ soạn thảo bên dưới ... +1 cho bạn.
bummzack

chúc mừng tôi sẽ cho nó đi
Joseph Le Brech

2

Tôi nghe có vẻ như bạn muốn kết cấu hình chữ nhật với không khí ở trên và bụi bẩn ở phía dưới. Bạn có thể ánh xạ họa tiết hình chữ nhật vào các vòng tròn bằng cách làm tọa độ kết cấu U đại diện cho góc xung quanh vòng tròn và tọa độ kết cấu V biểu thị khoảng cách từ tâm của vòng tròn. Đối với các hành tinh lớn hơn, U có thể quấn quanh hành tinh nhiều lần.

Để chuyển đổi từ tọa độ 2D thông thường XY sang tọa độ UV ở trên, bạn có thể thực hiện phép toán như sau:

y -= planet_center.y;
x -= planet_center.x;
u = atan2( y, x );
v = sqrt( y*y + x*x );

Cần thận trọng để tránh tính toán quá gần trung tâm của các hành tinh ...


Tôi đang suy nghĩ nhiều hơn về một mặt cắt ngang dọc của vũ trụ như thế này i.imgur.com/gpCTc.jpg đất, biển, không khí, khoảng trống. vv ..
Joseph Le Brech

Đó là một cách hợp lý để phân vùng không gian thành các loại, nhưng sẽ là một thách thức để làm cho nó trông giống như các hành tinh hình cầu.
bmcnett

Không có yêu cầu để làm cho nó trông quá giống một hành tinh. chỉ đủ đất, nước, không khí ngẫu nhiên theo đúng tỷ lệ và tất cả trên một lưới lục giác cùng với các hành tinh khác trên lưới đó.
Joseph Le Brech

Sau đó, bạn sẽ muốn tạo ra rất nhiều gạch kết cấu hình lục giác, với ràng buộc là cạnh giữa đất / không khí, vv hiển thị ở một nơi có thể dự đoán được giữa các gạch liền kề?
bmcnett

vâng, một cách hình cầu. do đó, kích thước của mỗi lớp (đất, nước ..) được chọn ngẫu nhiên và sau đó trong khối đất đó, các khối đất ngẫu nhiên sẽ được đặt cho hành tinh, và tương tự cho mỗi lớp.
Joseph Le Brech
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.