Một bức tường nên được tạo ra như một mặt phẳng hoặc như một hộp?


22

Những lợi ích của một bức tường là một mặt phẳng hoặc như một hộp là gì? Tôi có nên sử dụng máy bay với máy va chạm hộp thay vì máy va chạm lưới?

Câu trả lời:


15

Sẽ có một vài điều khác nhau mà bạn cần xem xét.

Lưu ý: rằng những lợi ích từ các tối ưu hóa được mô tả dưới đây chỉ thực sự quan trọng với một tấn tường. Vào thời điểm đó, có thể là khôn ngoan khi xem xét một giải pháp khác như phân vùng không gian nhị phân (BSP) để tạo các bức tường của bạn trong trò chơi của bạn. Điều này sẽ làm cho các mức của bạn được tối ưu hóa cao để hiển thị (nếu được thiết kế chính xác) và cho vật lý (vì bạn có một định nghĩa rất tốt về những gì va chạm và những gì không.

Kết xuất

Một hộp sẽ mất nhiều hơn để kết xuất hơn một mặt phẳng. Nó có nhiều đỉnh và hình tam giác hơn có nghĩa là trình tạo bóng đỉnh của bạn và trình tạo điểm ảnh sẽ phải được chạy trên nhiều dữ liệu hơn. Do đó, chỉ sử dụng một hộp khi bạn cần về khả năng hiển thị. Xóa khuôn mặt khi cần thiết cho những gì người chơi sẽ cần phải xem.

Vật lý

Bạn nên luôn luôn sử dụng một BoxCollidertrái ngược với MeshColliderkhi bạn có thể. MeshColliders phải áp dụng các va chạm trên mỗi mặt (hoặc như một thân lồi) của lưới và làm cho việc phát tia và vật lý chậm hơn (nhưng đó là một lượng không đáng kể cho chỉ một hộp). Một điều nữa BoxColliderslà người chơi khó có thể vượt qua chúng khi chúng đang đi rất nhanh. Ngay cả khi va chạm liên tục, nếu bạn thấy mình vẫn có những thứ xuyên qua tường, bạn luôn có thể mở rộngBoxColliders

Năng suất

Nếu bạn làm việc nhanh hơn với các mặt phẳng với MeshColliders(vì bạn không cần điều chỉnh tất cả các BoxColliderskích thước để phù hợp với kích thước của chúng) thì có thể sử dụng chúng nếu bạn đạt được hiệu suất mà bạn mong muốn.


10

Mở rộng một chút về "Coburn" 's điểm :

Kết xuất : Nếu bạn kết xuất bức tường chỉ là một mặt phẳng, thì bức tường sẽ chỉ hiển thị từ một phía, vì mặt phẳng (hay chính xác hơn là mặt của nó) chỉ có một mặt được hiển thị. Vì vậy, nếu người chơi có thể di chuyển xung quanh tường, bạn sẽ cần nhiều mặt phẳng để bao phủ tất cả các mặt, điều đó có nghĩa là cuối cùng bạn sẽ có một hộp.

Vật lý : Máy va chạm hình học đơn giản (hình cầu, hộp, v.v.) luôn nhanh hơn để tính toán so với máy va chạm lưới đầy đủ vì không phải tất cả các mặt của lưới phải được kiểm tra riêng lẻ. Thay vào đó, các sóng "đơn giản" có thể được sử dụng hoặc tính toán khoảng cách (ví dụ: khoảng cách đến tâm của hình cầu trừ kích thước hình cầu).

Đối với các động cơ vật lý khác có "máy va chạm máy bay" riêng biệt (mà Unity không có), không có "động cơ" nào tốt hơn. Một chiếc máy bay có thể nhanh hơn một chút về hiệu năng, nhưng sau đó bạn có thể gặp phải vấn đề về các vật thể nhanh đi qua nó mà không thực sự va chạm. Sau đó, bạn sẽ có một máy va chạm dày hơn (hộp thay vì mặt phẳng) hoặc di chuyển đến Phát hiện thu thập liên tục (CCD), như được giải thích ở đây .


Bạn hầu như luôn có thể tắt backface loại bỏ.
Bálint

2
@ Bálint Đúng. Sau đó, người dùng có thể nhìn thấy bức tường từ phía bên kia mặc dù với ánh sáng sai trong trường hợp đó (ánh sáng được gửi bởi các nguồn từ phía bên kia / phòng, thay vào đó là người mà anh ta / cô ta đang đứng).
Philip Allgaier

Trong điểm thứ hai của bạn, bạn đã không thực sự xác định xem đó là pro hay con và để làm gì. Một mặt phẳng có vẻ đơn giản hơn về mặt hình học so với một cái hộp, vậy đó có phải là điểm của bạn không?
Bakuriu

@Bakuriu Theo tôi biết, Unity không có "máy va chạm máy bay", vì vậy "chiếc hộp" là thứ gần nhất. Tôi đã thêm một lưu ý cho các động cơ vật lý khác.
Philip Allgaier

4

Một điều nữa về Kết xuất: Khi bạn có triển khai ánh xạ bóng của riêng mình, các bức tường được làm từ các hộp có thể vượt trội hơn so với các bức tường được tạo ra từ các mặt phẳng do peter-panning có thể xuất hiện với các mặt phẳng.

Đây là một lời giải thích về triệu chứng:

http://www.opengl-tutorial.org/interantly-tutorials/tutorial-16-shadow-mapping/#peter-panning


Peter-panning là gì?
Pichi Wuana

Bạn đã theo liên kết mà tôi cung cấp? nên tự giải thích.
Djindjidj

0

Tôi luôn được thông báo rằng nếu bạn sẽ có bóng thì tốt nhất là làm cho nó rắn chắc để giúp chảy máu nhẹ vì sự khác biệt về độ sâu là nhỏ và nó sẽ chảy máu.

Tôi có thể sai, nhưng tôi tạo ra tất cả các bức tường của mình và những thứ như thế hai mặt, một bức tường sẽ chỉ là một vài câu vì vậy nó không nên tiết kiệm nhiều bằng cách cho nó một mặt phẳng.

Có một số thứ mà tôi để lại hai bên nhưng chủ yếu là phần dưới cùng hoặc trên cùng của nó có rất nhiều thứ xung quanh nó để giúp chảy máu nhẹ.

Tôi cũng làm như vậy đối với vật lý, mọi người không thực sự nghĩ về điều đó nhưng với tôi có vẻ đúng khi sử dụng một bức tường làm bức tường và một chiếc máy bay làm máy bay nhưng đó chỉ là tôi

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.