Did the video buffer update this frame?
Use this to check if the video buffer has changed since the last frame. When setting a low frame rate, it is likely that the video updates slower then the game, so it does not make sense to do expensive video processing in each Update call, so check this value before doing any processing.
var webcamTexture : WebCamTexture; var data : Color32[]; function Start () { // Start web cam feed webcamTexture = WebCamTexture(); webcamTexture.Play(); data = new Color32[webcamTexture.width * webcamTexture.height]; } function Update () { if (webcamTexture.didUpdateThisFrame) { webcamTexture.GetPixels32 (data); // Do processing of data here. } }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public WebCamTexture webcamTexture; public Color32[] data; void Start() { webcamTexture = new WebCamTexture(); webcamTexture.Play(); data = new Color32[webcamTexture.width * webcamTexture.height]; } void Update() { if (webcamTexture.didUpdateThisFrame) webcamTexture.GetPixels32(data); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public webcamTexture as WebCamTexture public data as (Color32) def Start() as void: webcamTexture = WebCamTexture() webcamTexture.Play() data = array[of Color32]((webcamTexture.width * webcamTexture.height)) def Update() as void: if webcamTexture.didUpdateThisFrame: webcamTexture.GetPixels32(data)