나만의 킬 캠 만들기


15

샌드 박스 도구 세트를위한 자체 킬 캠 시스템을 만들 계획입니다. 그러나 킬 캠 자체의 메커니즘에 대해 생각한 후, 나는 꽤 길을 잃었습니다. 나는 살인자의 관점에서 실제 살해 장면을 보여주는 듀티 게임 호출에서 일반적으로 보이는 것을 재현하려고합니다.

내 생각:

- '녹음 과정'을 언제 시작할지 모르기 때문에 사람들이 다른 사람을 죽일 때 기억에 남을 수는 없습니다. 누군가가 누군가를 죽일 '언제'인지 정확하게 결정하는 길이 있습니다.

-지금까지 나의 유일한 진짜 아이디어는 원래 세계에서 모든 움직임을 복사하지만 10 초 지연 된 모든 측면을 완전히 복제하는 것입니다. 그렇게하면 모든 킬 카메라의 길이는 10 초가되고 인물 카메라는 킬러의 두 번째 세계로 옮겨집니다.

내 질문 :

이미 허용되는 방법이 있습니까? 누구든지 이와 같은 좋은 아이디어가 있습니까? 당신이 할 수 있다면 감사합니다!

답변:


10

관련 동적 객체 의 마지막 몇 초 이동 데이터를 저장 합니다 .

이 데이터는 필요한 경우 킬캠 장면을 재구성하는 데 사용할 수있을 정도로 완전해야하지만, 충분한 간격으로 검색하고 저장할 수있을 정도로 불완전합니다.

추적하고 싶은 것들의 예 :

  • 보이는 플레이어가 움직이는 방법
  • 킬러가 총 범위에서 확대되는지 여부

아마도 최적화하고 싶은 것들 :

  • 살인자가 볼 수없는 플레이어에 대한 데이터
  • 누구나 실제 화면 출력

대답에는 큰 문제가 있습니다. 일반적으로 누군가의 죽음을 예측할 수 없으며 다음 살인을 누가받을 것인지도 예측할 수 없습니다. 따라서 일부 플레이어에 대한 데이터를 최적화하면 일부 킬을 재생할 수있는 능력을 상실 할 수 있습니다.
Ali1S232

2
@Gajet이 경우에는 모든 관련 개체를 찾아서 나중에 해당 개체에 대한 데이터 만 저장하는 것입니다. 다시 말해서, 모든 것과 그 엔티티의 위치를 ​​추적하기 위해 일정 시간 동안 저장 / 업데이트 메커니즘을 이미 갖고 싶어합니다. 예를 들어, 마지막 10 초 동안 킬 캠을 원합니다. 마지막 10 초를 저장하기에 충분히 큰 데이터 구조가 필요하며 그보다 오래된 데이터는 예를 들어 이중 종료 큐에서 대체됩니다.
ChrisC

Ricer의 대답이 내가 의미하는 것임을 확인하는 것입니다. 실제로 : 미래를 예측할 수 없으면 대신 준비하십시오. :)
Anko

1
실시간 온라인 게임은 플레이어에게 실제로 일어난 일을 보여주지 않는다는 점을 언급하는 것이 중요합니다. 게임은 진실이 무엇인지에 대해 항상 추측하고 있지만 대기 시간 및 기타 네트워크 문제로 인해 게임은 "객관적 진실"이 훨씬 늦게까지 발견되지 않을 것입니다. 따라서 다른 사람의 관점을 재현 할 수있는 "킬 캠 (kill cam)"데이터가없는 경우, 필요한 상황에서 그럴듯한 킬 캠 데이터를 만드는 것이 전혀 나쁘지 않아야합니다.
트레버 파월

0

이것이 어떻게 정상적으로 구현되는지는 모르겠지만 발사 시점부터 대상에 도달했을 때까지 각 탄환에 클립을 저장할 수 있습니다. 히트 스캔만으로 촬영을 수행 한 경우 히트 스캔을 수행 할 때 같은 주기로 킬 캠 푸티지를 생성할지 여부를 계산할 수 있습니다.


0

몇 초마다 객체의 변형을 저장할 수 있습니다. 적용 가능한 모든 동적 객체에 대해이 작업을 수행하십시오. 각 프레임에 몇 개의 행렬 만 저장하도록 저장을 비틀어 놓습니다. 원하는만큼 시간을 절약 할 수 있습니다.

재생하는 동안 실제로 렌더링 엔진에서 이러한 변환을 사용하여 장면을 통해 애니메이션을 작성하고 필요에 따라 각 프레임에 대해 시간별로 변환을 보간합니다.

정확한 복제본은 아니지만 매우 가깝고 재생 중에 플레이어에게 카메라 제어 옵션을 제공하여 장면을 볼 위치를 선택할 수 있습니다.


변환 매트릭스 만 저장하는 데에는 문제가 없지만 다른 것은 저장하지 않습니다! 예를 들어, 플레이어를 위해 변형 행렬 만 저장하면 애니메이션이 잘못 될 수 있습니다. 쉽게 생각할 수있는 방법을 사용하여 놓칠 수있는 긴 세부 정보 목록이 있습니다.
Ali1S232

다시 읽으십시오. 플레이어의 행렬뿐만 아니라 모든 적절한 동적 객체에 대한 변환을 저장합니다. 또한 건강 또는 체력 데이터 및 기타 항목도 저장할 수 있습니다. 요점은 너무 많은 데이터를 저장하면 게임 시간 리소스가 소비된다는 것입니다. 최대한 멀리 저장하고 렌더링 엔진은 재생 중에 보간을 통해 최대한 많은 양의 리프팅을 수행 할 수 있습니다. 타협이지만 그렇지 않은 것은 무엇입니까?
Steve H

0

게임에서 일부 재생 기능을 구현할 수 있습니다. replay 기능을 사용하여 killcam은 특정 게임 시간 및 일부 플레이어의 시점에서 재생되는 재생입니다. 나중에 재생을 저장하고 완료된 후에 다른 사용자가 게임을 검토하도록 할 수 있습니다.

또한 게임이 높은 계산 능력을 소비하지 않으면 10 초 지연으로 입력으로 동일한 게임을 실행하는 것이 좋습니다.


0

이건 어때...

살인 가능성이있을 때만 기록하십시오.

AIM-BOT의 관점에서 생각하십시오. 살인이 가능한 경우에만 조준 / 발사됩니다. 따라서 적이 사살 가능 / 보이는 범위 내에있을 때만 기록해야합니다.


물체를 통한 촬영과 관련된 상황은 어떻습니까? 너무 많은 레이 캐스팅은 언급 된 다른 아이디어보다 CPU를 더 많이 사용합니다. 좋은 생각이지만 솔루션의 일부로 고려할 수 있습니다.
Freesnöw

0

플레이어 주위에 반경을 설정하고 다른 플레이어가 반경을 입력하면 두 사람의 화면 녹화가 시작됩니다. 그런 다음 누군가 죽임을 당하기를 기다립니다. 그렇다면 킬러를 찾아 기록한 다음 킬 이후에 경과 한 시간과 비디오 길이를 되 감고 되 감은 다음 죽인 사람을 위해 되감기하여 재생하십시오. 아무도 죽이지 않았고 다른 사람이 캐릭터 주변에 있다면 기록을 삭제하거나 중지하십시오. 킬러가 스코프에서 확대 된 경우 광선을 조준 할 위치로 캐스팅하고 다른 트리거 반경을 만듭니다. 누군가가 그 안에 있다면, 조준 캐릭터가 조준하고있는 캐릭터와 조준의 반경에있는 사람의 화면을 기록합니다. 누군가가 캐릭터 조준으로 죽으면 킬 이후의 시간과 킬 캠의 길이를 합한 후 되 감아 죽인 사람을 위해 이것을 재생합니다. 축소 된 경우 녹화를 중지하십시오. 이것은 내가 시도하지 않은 개념입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.