有誰知道如何有效地做到這一點?我正在使用EncodeToPNG()函數,但性能非常慢。如何將WebCamTexture中的Color32 []圖像轉換爲iOS中的UIImage?
我想捕捉使用WebCamTexture的Ipad相機圖像,並將其發送到目標C端做一些處理。我注意到可以發送紋理的本地地址,但我應該如何在ObjC端處理它?有沒有人有任何提示?
謝謝!
有誰知道如何有效地做到這一點?我正在使用EncodeToPNG()函數,但性能非常慢。如何將WebCamTexture中的Color32 []圖像轉換爲iOS中的UIImage?
我想捕捉使用WebCamTexture的Ipad相機圖像,並將其發送到目標C端做一些處理。我注意到可以發送紋理的本地地址,但我應該如何在ObjC端處理它?有沒有人有任何提示?
謝謝!
正如你所說的EncodeToPNG上的性能太慢了,你需要做的是在攝像頭源從iOS(objc)發送到Unity的WebCamTexture之前掛鉤到代碼中。
我們使用了一種類似的技術,使用一個名爲CameraCaptureKit的插件(https://www.assetstore.unity3d.com/en/#!/content/56673)來凍結髮送給Unity的圖像,同時等待Flash和防抖開啓。
在Unity生成的xcode項目中,您可以打開CameraCapture.mm並找到該函數。
- (void)captureOutput:(AVCaptureOutput*)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection*)connection
然後,您可以通過修改此代碼來修改發送到Unity的WebCamTexture的圖像。 UnityDidCaptureVideoFrame是您想插入的代碼。
intptr_t tex = (intptr_t)CMVideoSampling_SampleBuffer(&self->_cmVideoSampling, sampleBuffer, &self->_width, &self->_height);
UnityDidCaptureVideoFrame(tex, self->_userData);
乾杯