Tôi khá chắc chắn rằng Source Engine là công cụ duy nhất sẽ hỗ trợ điều này. Bạn có thể đọc về một số vấn đề kỹ thuật trong một bài viết tôi tìm thấy trên Gamasutra , được sao chép ở đây cho độc giả trong tương lai:
"Một vấn đề khác mà chúng tôi gặp phải là nhu cầu thay đổi các hệ thống dựa trên khoảng cách, chẳng hạn như mức độ chi tiết (LOD) cho các mô hình, bởi vì với trò chơi của chúng tôi, khoảng cách có liên quan đến các vị trí cổng thông tin.
Điều này có nghĩa là các tính toán khoảng cách đã trở thành lựa chọn của ba dòng kết nối hai điểm, thay vì chỉ một dòng. Ngoài ra, đường ngắm có thể đi qua một cổng duy nhất nhiều lần để đạt được mục tiêu.
Công cụ nguồn thực hiện nhiều tối ưu hóa khả năng hiển thị được tính toán trước để loại bỏ. Cho phép người dùng kết nối các lá có khả năng hiển thị với các cổng thêm một mức độ phức tạp khác.
Để hiển thị tốt hơn, chúng tôi đã triển khai một phương pháp vẽ bộ đệm stpson cho các chế độ xem cổng thông tin, cho phép chúng tôi linh hoạt hơn trong việc xử lý độ sâu đệ quy cổng. Điều này cho phép chúng tôi hiển thị số lượng cổng vô cùng sâu (chỉ giới hạn bởi hiệu suất), khiến hành lang "vô hạn" của chúng tôi trông khá gọn gàng.
Bản vẽ stt cũng giúp chúng tôi giải quyết vấn đề tích hợp đúng cách với công nghệ khác trong công cụ Nguồn như HDR nở rộ. Vì chúng tôi phải kết xuất cảnh của mình thêm hai lần cho các cổng của chúng tôi, chúng tôi đã nỗ lực rất nhiều để tạo ra các cổng kết xuất nhanh nhất có thể, chẳng hạn như loại bỏ chế độ xem đặc biệt dựa trên các cạnh của cổng thông tin và hiển thị tối ưu hóa danh sách cho bản vẽ cổng thông tin. "
Tôi cũng nhớ đọc ở đâu đó rằng có rất nhiều trường hợp đặc biệt, như có cổng ở hai phía đối diện của cùng một khối. Làm cổng không phải là một nhiệm vụ đơn giản.
BIÊN TẬP:
Tìm thấy một bài viết tốt khác có chứa này:
Nhanh chóng, chúng tôi nhận ra rằng chúng tôi cần một phương pháp mạnh mẽ hơn để hiển thị các cổng và cho phép người chơi và các đối tượng khác di chuyển liền mạch giữa chúng. Điều này đòi hỏi chúng tôi phải đào sâu hơn một chút vào mã kết xuất và vật lý của công cụ Nguồn và chúng tôi phải lập trình hệ thống cổng thông tin của riêng mình.
Về cơ bản, chúng tôi đã phải nói với hệ thống vật lý Nguồn tạo một lỗ tạm thời chỉ ở một bên của bức tường và mọi thứ phía sau cổng được kết nối với hình học trong một phần khác của bản đồ. Làm cho điều này hoạt động và tối ưu hóa các giải pháp để chạy trong thời gian thực là một thách thức lớn.