Tạo cam giết riêng của tôi


15

Tôi có kế hoạch tạo ra hệ thống giết cam của riêng tôi cho một bộ công cụ hộp cát. Tuy nhiên, sau khi nghĩ về cơ chế giết cam, tôi khá lạc lõng. Tôi đang cố gắng tạo lại những cái thường thấy trong các trò chơi nhiệm vụ thể hiện, từ cái nhìn của kẻ giết người, cảnh giết chóc thực sự.

Suy nghĩ của tôi:

-Tôi không thể ghi nhớ khi mọi người giết người khác vì tôi không biết khi nào nên bắt đầu 'quá trình ghi âm'. Có một cách để tôi xác định chính xác khi nào ai đó 'sắp' giết một ai đó.

-Tôi nghĩ thực sự duy nhất của tôi cho đến nay là có một bản sao hoàn chỉnh của tất cả mọi thứ được tải sang một bên sao chép tất cả các chuyển động từ thế giới ban đầu nhưng với độ trễ 10 giây. Theo cách đó, tất cả các camera giết người sẽ dài 10 giây và camera của những người sẽ được chuyển đến thế giới thứ hai của kẻ giết người của họ.

Những câu hỏi của tôi:

Đã có một cách được chấp nhận để làm điều này? Có ai có bất kỳ ý tưởng tốt cho một cái gì đó như thế này? Cảm ơn nếu bạn có thể!

Câu trả lời:


10

Lưu trữ vài giây cuối cùng của dữ liệu chuyển động của các đối tượng động có liên quan .

Dữ liệu này phải đủ đầy đủ để có thể được sử dụng để dựng lại cảnh killcam nếu cần, nhưng không đủ để bạn có thể đủ khả năng truy xuất và lưu trữ trong khoảng thời gian đủ ngắn.

Ví dụ về những điều bạn có thể muốn theo dõi:

  • Cách người chơi có thể nhìn thấy đang di chuyển / tìm kiếm
  • Kẻ giết người có được phóng to trong phạm vi súng không

Những điều bạn có thể muốn tối ưu hóa:

  • Dữ liệu về những người chơi mà kẻ giết người không thể nhìn thấy
  • Đầu ra màn hình thực tế của bất cứ ai

Có một vấn đề lớn trong câu trả lời của bạn, thông thường bạn không thể dự đoán được cái chết của bất kỳ ai và bạn cũng không thể dự đoán ai sẽ giết người tiếp theo. Vì vậy, với việc tối ưu hóa dữ liệu về một số người chơi, bạn có thể sẽ mất khả năng chơi lại một số tiêu diệt.
Ali1S232

2
@Gajet Tôi nghĩ trong trường hợp này, anh ta có nghĩa là loại bỏ tất cả các đối tượng có liên quan và chỉ lưu trữ dữ liệu cho những người sau đó. Nói cách khác, bạn đã muốn có một số loại cơ chế lưu trữ / cập nhật để theo dõi vị trí của mọi thứ và các thực thể của chúng, nhưng trong một thời gian giới hạn. Nói, bạn chỉ muốn 10 giây cuối cùng cho một cam giết. Bạn chỉ cần một cấu trúc dữ liệu đủ lớn để lưu trữ 10 giây cuối cùng và mọi thứ cũ hơn được thay thế ở cuối, chẳng hạn như trong hàng đợi kết thúc kép.
ChrisC

Chỉ cần xác nhận rằng câu trả lời của Ric là ý tôi. Thật vậy: Khi bạn không thể dự đoán tương lai, thay vào đó hãy chuẩn bị cho nó. :)
Anko

1
Điều quan trọng cần đề cập là các trò chơi trực tuyến thời gian thực không bao giờ cho người chơi thấy những gì thực sự đã xảy ra; Trò chơi luôn đoán ra sự thật có thể là gì, nhưng do độ trễ và các vấn đề mạng khác, các trò chơi sẽ không tìm ra "sự thật khách quan" là gì cho đến tận sau này - nếu có. Vì vậy, nếu bạn không có sẵn dữ liệu "kill cam" để có thể tạo lại quan điểm của người khác, bạn hoàn toàn không nên cảm thấy tồi tệ khi tạo ra dữ liệu giết cam hợp lý trong những tình huống mà bạn cần.
Trevor Powell

0

Không biết làm thế nào điều này được thực hiện bình thường, nhưng bạn có thể có mỗi viên đạn lưu một clip từ khi nó được bắn, cho đến khi nó bắn trúng mục tiêu. Nếu việc quay phim được thực hiện chỉ với một lượt truy cập, bạn có thể tính toán xem có tạo cảnh quay kill hay không trong cùng một chu kỳ khi bạn thực hiện lượt truy cập.


0

Bạn có thể lưu biến đổi của một đối tượng cứ sau vài giây. Làm điều này cho tất cả các đối tượng năng động áp dụng. Khắc phục việc tiết kiệm sao cho mỗi khung hình bạn chỉ lưu một vài ma trận. tiết kiệm càng xa thời gian bạn muốn.

Trong khi phát lại, Bạn thực sự sử dụng các biến đổi này trong một công cụ kết xuất để tạo hiệu ứng thông qua một cảnh, nội suy giữa các biến đổi theo thời gian cho mỗi khung hình khi cần thiết.

Nó không phải là một bản sao chính xác nhưng rất gần gũi và nó cho phép bạn cung cấp cho người chơi tùy chọn điều khiển camera trong khi phát lại để họ có thể chọn nơi để xem cảnh từ đó.


có một vấn đề với việc chỉ lưu trữ ma trận biến đổi, không lưu bất cứ thứ gì khác! ví dụ: nếu bạn chỉ lưu ma trận biến đổi cho người chơi, hoạt ảnh có thể sai, bạn sẽ không thể thấy kẻ thù đã gây ra bao nhiêu sát thương trước khi giết bạn và khi nào anh ta bắn súng. có một danh sách dài các chi tiết bạn bỏ lỡ bằng phương pháp của mình mà bạn có thể dễ dàng nghĩ về chúng.
Ali1S232

Vui lòng đọc lại, Bạn lưu các biến đổi cho tất cả các đối tượng động thích hợp, không chỉ là ma trận cho người chơi. Nó cũng đủ dễ dàng để tiết kiệm dữ liệu sức khỏe hoặc điểm nhấn và các mặt hàng khác nữa. Vấn đề là, tiết kiệm quá nhiều dữ liệu sẽ tiêu tốn tài nguyên thời gian của trò chơi, (xấu). Bạn tiết kiệm ít nhất có thể để thoát khỏi và để cho công cụ kết xuất của bạn thực hiện càng nhiều việc nâng vật nặng bằng cách nội suy trong khi phát lại càng tốt. Đó là một sự thỏa hiệp nhưng những gì không phải là?
Steve H

0

bạn có thể thực hiện một số tính năng chơi lại trong trò chơi của bạn. sử dụng chức năng phát lại, killcam chỉ là một phát lại được chơi từ một số thời gian trò chơi cụ thể và từ quan điểm của một số người chơi veiw. sau này bạn có thể lưu replay và để người khác xem lại trò chơi sau khi hoàn thành.

Ngoài ra, ý tưởng của bạn để chạy một trò chơi tương tự với đầu vào chậm 10 giây là một cách tiếp cận tốt nếu trò chơi của bạn không tiêu thụ sức mạnh tính toán cao.


0

Còn cái này thì sao...

Chỉ ghi lại khi có khả năng giết chết.

Hãy suy nghĩ về nó từ quan điểm của AIM-BOT. Nó sẽ chỉ nhắm / bắn khi giết là một khả năng. Vì vậy, bạn chỉ nên ghi lại khi kẻ thù nằm trong phạm vi có thể giết / nhìn thấy được.


Còn trong các tình huống liên quan đến bắn xuyên qua một vật thể thì sao? Ray đúc rất nhiều chắc chắn sẽ tốn nhiều CPU hơn một số ý tưởng khác đã nêu. Mặc dù vậy, ý tưởng tốt, tôi có thể coi đó là một phần của giải pháp.
Freesnöw

0

Đặt bán kính xung quanh trình phát và nếu một người chơi khác vào bán kính thì nó sẽ bắt đầu ghi màn hình cho cả hai người. Sau đó bạn chờ xem có ai bị giết không. Nếu vậy thì bạn tìm thấy kẻ giết người và ghi lại chúng và tua lại khoảng thời gian đã trôi qua kể từ khi giết cộng với độ dài bạn muốn video quay lại và phát lại cho người bị giết. Nếu không ai bị giết và không có ai khác trong bán kính xung quanh nhân vật thì hãy xóa hoặc dừng ghi âm. Nếu kẻ giết người được phóng to trên một phạm vi thì chiếu một tia tới nơi hắn đang nhắm và tạo ra một bán kính kích hoạt khác. Nếu ai đó ở trong đó thì nó sẽ ghi lại màn hình của bất kỳ ai ở trong bán kính nơi nhân vật đang nhắm và mục tiêu của nhân vật đang nhắm. Nếu ai đó chết bởi nhân vật nhắm đến thì bạn sẽ mất thời gian kể từ khi giết cộng với độ dài bạn muốn cam giết và bạn tua lại và chơi trò này cho người đã bị giết. Nếu họ thu nhỏ thì dừng ghi âm. Đây là một khái niệm vì vậy tôi chưa thử nó.

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.