2017-05-04 15 views
0

레코딩 알고리즘이 어떻게 작동하는지 궁금합니다.게임 레코딩 알고리즘의 Unity3D

내 생각은 텍스처가 부터 LateUpdate()까지 모든 프레임입니다.

내 대상 프레임 속도가 30fps라고 가정하고 게임이 60fps에서 실행되고 처음 30fps 만 캡쳐 한 경우 문제는 일부 프레임이 손실된다는 것입니다.

내 게임이 20fps로 실행되는 경우 30fps 비디오 용 프레임이 충분하지 않으므로 20 번째 프레임을 10 번 복사해야합니까?

시작할 수있는 자습서가 있습니까? 온라인으로 검색했지만 관련 자습서는 거의 찾을 수 없습니다.

+0

". 녹화 알고리즘의 작업을 수행하는 방법"당신은 캡처 프레임 속도를 꺾고하는 FixedDeltaTime 값을 설정할 수 있습니다 어떤 알고리즘을 언급하고 있습니까? 자신의 비디오 녹화 기능을 처음부터 게임에 쓰려고하십니까? 그렇다면 [자산 저장소에서 무료 플러그인을 고려한 적이 있습니까?] (https://www.assetstore.unity3d.com/en/#!/content/75653)? –

+0

그래, 무료 알고리즘 대신 알고리즘을 이해하고 싶다. – ywj7931

+1

게임이 비디오와 동일한 프레임 속도로 실행되지 않으면 정답은 다음과 같다. 즉, 게임이 60fps로 실행 중이고 30 초에 레코딩 중이면 * 두 프레임마다 하나씩 드롭합니다. * 처음 30 장을 기록하지 말고 두 번째 30 장을 버리면 바보입니다. [2 페이지] (http://www.digitalcinemasociety.org/downloads/FrameRateConversionSimplified-N.pdf) – Draco18s

답변

0

고정 캡처 프레임 속도를 원하는 경우 사용자 FixedUpdate()을 사용할 수 있습니다.

[Range(1,60)] 
public int capturingFrameRate = 30; 

void aStart() 
{ 
    Time.fixedDeltaTime = 1/capturingFrameRate; 
} 

void FixedUpdate() 
{ 
    //capture frame 
} 

참조 : FixedDeltaTime

희망이 도움이

+0

내 질문은 더 좋아. 내 게임이 60fps에서 실행되고 처음 30fps 만 캡쳐 한 경우 문제는 일부 프레임이 손실된다는 것입니다. 내 게임이 20fps에서 실행되는 경우 30fps 비디오 용 프레임이 충분하지 않으므로 20 번째 프레임을 10 번 복사해야합니까? – ywj7931