Tôi có một loạt được tạo ngẫu nhiên của EdgeShapes, như ở đây:Làm thế nào để tạo họa tiết cho vừa vặn với các hình dạng?
Câu hỏi của tôi là, làm thế nào tôi có thể điền vào đó khu vực dưới cùng với một kết cấu để làm cho nó trông giống như mặt đất?
Tôi có một loạt được tạo ngẫu nhiên của EdgeShapes, như ở đây:Làm thế nào để tạo họa tiết cho vừa vặn với các hình dạng?
Câu hỏi của tôi là, làm thế nào tôi có thể điền vào đó khu vực dưới cùng với một kết cấu để làm cho nó trông giống như mặt đất?
Theo đề nghị của ai đó trong IRC:
Tạo một polyon sử dụng OpenGL và sau đó bản đồ 1: 1 vào hình trái Box2D và kết cấu đa giác.
Từ bộ nhớ cũ, và nhìn vào mã, điều này không thể được thực hiện với hình dạng cạnh. Bạn có thể xích chúng lại với nhau, nhưng thậm chí sau đó không có tự sát, mà sẽ cho phép hình dạng chồng lên nhau, và được. . . gì? Không có normals tạo ra, cũng không phải centroid.
Đây chỉ là phỏng đoán - đã lâu rồi kể từ khi tôi sử dụng box2d - nhưng bạn có thể tạo đa giác thay thế không? Trước tiên, bạn sẽ tạo số N điểm trong một mảng và sử dụng mảng đó làm giá trị y dọc theo đầu để mô phỏng mặt đất. Sau đó, bạn sẽ làm cho giá trị y của mỗi điểm bằng với giá trị y của điểm lân cận (trái hoặc phải) theo thời gian. Khi các điểm đến cuối, chúng được di chuyển ra khỏi mảng, và một giá trị mới được di chuyển lên đầu kia của mảng.
Điều này có thể được thực hiện và điều này có ảnh hưởng bất lợi đến các điểm tiếp xúc với các đối tượng khác không?
Xin chào! Tôi sẽ upvote và chia sẻ nếu bạn có thể cung cấp một ví dụ về điều này. – Kimi
Tôi không chắc chắn làm thế nào để làm điều đó bản thân mình, nhưng tôi sẽ tạo ra một hình dạng OpenGL cùng một lúc khi bạn tạo ra hình dạng box2D và cung cấp cho nó các biến tương tự. – Derek