Địa hình dựa trên chiều cao với đường


12

Cách tốt nhất để thực hiện một tính năng chi tiết, như đường, trên địa hình dựa trên chiều cao là gì?

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

Cập nhật: Hơi khó nhìn trong ảnh, nhưng con đường đi xuống từ đỉnh mỏ đá để làm căn cứ.

Câu trả lời:


14

Điều tuyệt vời với hình ảnh là chúng thường nhúng tối đa 4 kênh (đỏ, xanh lá cây, xanh dương và alpha). Vì bản đồ chiều cao chỉ cần một chiều, bạn chỉ có thể sử dụng kênh màu đỏ để lưu trữ thông tin về chiều cao (bạn vẫn có 256 cấp cho chiều cao), sau đó sử dụng các kênh khác cho các mục đích khác (như sử dụng kênh màu xanh lá cây để lập bản đồ đường , kênh màu xanh cho nước / độ ẩm) vv ...

Như thế này, bạn có thể chắc chắn rằng khi bạn xây dựng địa hình của mình, các khu vực nơi đường sẽ được xây dựng sẽ có vẻ bằng phẳng thay vì đi theo độ dốc chiều cao.


1
Có thể sử dụng hình ảnh HDRI, vì vậy số float có thể được sử dụng để lưu trữ thông tin chiều cao chính xác hơn?
Quazi Irfan

1
Hình ảnh HDRI không phải là định dạng tệp mà là khái niệm, nhưng có, bạn có thể sử dụng các định dạng tệp cụ thể để cho phép độ chính xác cao hơn. Nó chủ yếu phụ thuộc vào phần cứng / phần mềm của bạn, nhưng có một hình ảnh RG nổi mà bạn có thể lưu trữ trên 32 hoặc 64 bit. Nhưng dù định dạng là gì, nếu bạn sử dụng nhiều bit hơn trên mỗi kênh, bạn luôn có thể chuyển đổi giá trị int thành số dấu phẩy động như thế này: f = (v / 256.0) trong đó f là số float của bạn, v giá trị int hiện tại
XGouchet

Có phải là một ý tưởng tốt để lưu trữ tất cả các đối tượng tĩnh của bản đồ trên bản đồ (chiều cao)? như thảm thực vật, tán lá, ngôi nhà? hoặc con trỏ nơi đối tượng khác sẽ được đặt trên? hoặc một số cách khác tồn tại?
Quazi Irfan

Tôi sẽ không lưu trữ vị trí chính xác, nhưng có thể chỉ là thông tin về mật độ và sau đó tạo dữ liệu (thảm thực vật, nhà, v.v.) từ thông tin mật độ. Nhưng cách tốt nhất là đặt các đối tượng này bằng tay và lưu chúng bằng tệp dữ liệu nhị phân hoặc tệp mô tả xml
XGouchet

1
@iamcreasy tất nhiên bạn có thể sử dụng sơ đồ chiều cao để ngôi nhà của bạn chạm sàn, nhưng bạn cần mô tả mô hình ngôi nhà trông như thế nào (tường, cửa, bất kỳ đồ nội thất nào bên trong), không thể được mô tả bằng pixel. Ngoài ra thông tin pixel jsut sẽ không cung cấp cho bạn một định hướng chính xác, vì vậy tất cả các ngôi nhà của bạn sẽ được căn chỉnh (trông không tự nhiên hoặc "đẹp").
XGouchet

1

Cách tôi làm là tách riêng sơ đồ chiều cao (ví dụ: tôi sử dụng float, 513 * 513) và splatmap ("kết cấu điều khiển") thường cần độ phân giải lớn hơn (tôi sử dụng 32 bit bmps, 512x512).

Biểu đồ chiều cao tạo lưới (địa hình, hình tam giác).

Bản đồ điều khiển trải dài trên toàn bộ địa hình và từng lớp của nó (RGBA) cho biết Đá, Bụi bẩn, Đường, v.v. bạn sẽ thấy bao nhiêu trên địa hình.

Bằng cách này, bạn có thể sử dụng trình chỉnh sửa để a) tạo địa hình và b) Vẽ địa hình (bằng Đá, Bụi, Đường, v.v.)

Thực hiện một bản tóm tắt nhanh về 'vẽ sơ đồ chiều cao', 'biểu đồ chiều cao' và như vậy để giải thích kỹ lưỡng hơn hoặc tải xuống nói Unity3D để kiểm tra xem nó có thể hoạt động như thế nào trong 'thực tế'.

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.