Unity3D
[Unity] Multiple Camera One RenderTexture Capture (여러대 카메라 한장으로 캡쳐하기)
아낙시만더
2018. 3. 8. 11:08
반응형
여러대 카메라의 Depth가 셋팅이 미리 되어야 한다.
void Capture(Camera[] camera_) { RenderTexture renderTexture = RenderTexture.GetTemporary((int)csMyNGUIResolutionController.Instance.Width, (int)csMyNGUIResolutionController.Instance.Height, 16); RenderTexture.active = renderTexture; foreach (Camera camera in camera_) { if (camera.enabled) { //float fov = camera.fov; camera.targetTexture = renderTexture; camera.Render(); camera.targetTexture = null; //camera.fov = fov; } } _snapshotTexture = new Texture2D(renderTexture.width, renderTexture.height, TextureFormat.RGB24, true); _snapshotTexture.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0, true); _snapshotTexture.Apply(); _snapshotUITexture.mainTexture = _snapshotTexture; _snapshotUITexture.width = _snapshotTexture.width; _snapshotUITexture.height = _snapshotTexture.height; RenderTexture.active = null; RenderTexture.ReleaseTemporary(renderTexture); SetAfterSnapshot(); _originTimeScale = Time.timeScale; Time.timeScale = 0f; _shotEffectTweener.ResetToBeginning(); _shotEffectTweener.PlayForward(); }
반응형