Tôi đã vật lộn với một quyết định liên quan đến việc có thực hiện biểu đồ cảnh trong trò chơi của mình hay không. Tôi có một số trường hợp sử dụng yêu cầu một công cụ như vậy, nhưng tôi chưa thể xem qua một số chi tiết triển khai.
Một số nền tảng: Tôi đang viết một trò chơi thuộc thể loại game bắn súng không gian nhắm vào nền tảng di động (chủ yếu là Android) và mã của tôi gần như hoàn toàn là C ++. Tôi không sử dụng bất kỳ phần mềm trung gian nào; các công cụ kết xuất và vật lý nói riêng là những sáng tạo của riêng tôi. Động cơ vật lý của tôi cập nhật vị trí của các vật thể dựa trên lực và xung lực. Tôi chưa có hệ thống hoạt hình nào nhưng có thể truy cập vào lúc này (có thể có hoặc không có gì để làm với cuộc thảo luận này).
Đầu tiên, tôi sẽ mô tả một trường hợp sử dụng tốt. Tôi muốn có một ông chủ được tạo thành từ nhiều phần riêng biệt, mỗi phần có thể bị phá hủy / phá hủy một cách độc lập. Ví dụ, tôi có thể có một ông chủ có một cánh tay có thể nhận sát thương độc lập với phần còn lại của thực thể ông chủ. Khi cánh tay bị phá hủy, hiệu ứng hạt lửa nằm ở vai của các ông chủ có thể chỉ ra rằng cánh tay giờ đã bị phá hủy.
Vì vậy, tôi đã quyết định thử giải quyết các vấn đề như vậy bằng các ràng buộc trong động cơ vật lý của mình để giữ các đối tượng ghép như vậy lại với nhau. Một ràng buộc như vậy cung cấp 0 độ tự do và về cơ bản là một ma trận biến đổi. Đây thực sự là một nỗ lực để khắc phục một vấn đề mà cuối cùng đã khiến tôi tắt đồ thị cảnh ở nơi đầu tiên, được mô tả dưới đây.
Lý do chính khiến tôi không sử dụng biểu đồ cảnh là vì tôi không thể tìm ra cách hiệu quả để giữ các đối tượng lồng nhau (các đối tượng kế thừa một phép biến đổi từ cha mẹ của chúng) trong cả thế giới vật lý và cảnh dựng hình. Thế giới vật lý cần các vật thể ở trong không gian thế giới (hoặc ít nhất là cùng một không gian) trong khi cảnh kết xuất cần các vật thể trong không gian cha mẹ. Theo dõi các vị trí trong cả hai không gian có thể giúp ích (và không thể tránh khỏi) nhưng làm tăng mối lo ngại của riêng nó, không phải là ít nhất liên quan đến hiệu suất.
Tuy nhiên, với các trường hợp sử dụng như mô tả ở trên, tôi nghĩ rằng việc có thể 'làm việc' trong không gian cha mẹ sẽ trở nên rất quan trọng và cố gắng buộc động cơ vật lý của tôi duy trì các mối quan hệ này thông qua việc sử dụng các ràng buộc sẽ trở thành vấn đề.
Với trường hợp sử dụng và tình trạng khó khăn được mô tả ở trên, tôi có nên sử dụng cấu trúc biểu đồ để chuyển các phép biến đổi từ đối tượng này sang đối tượng khác không? Nếu vậy, công cụ vật lý của tôi nên tính toán vị trí mới và thực hiện các thử nghiệm giao nhau cho các đối tượng trong các không gian khác nhau như thế nào?