void Awake() { material = GetComponent <MeshRenderer>().material; imageTarget = GetComponentInParent <ImageTargetController>(); CameraRenderer.RequestTargetTexture((camera, texture) => { renderTexture = texture; }); imageTarget.TargetFound += () => { if (freezed.OnNone) { freezed = false; } }; }
private void Awake() { buttonText = ButtonChange.transform.Find("Text").GetComponent <Text>(); imageTarget = GetComponentInParent <ImageTargetController>(); material = GetComponent <MeshRenderer>().material; CameraRenderer.RequestTargetTexture((camera, texture) => { renderTexture = texture; }); imageTarget.TargetFound += () => { if (freezed.OnNone) { buttonText.text = "Freeze"; freezed = false; } ButtonChange.interactable = true; }; imageTarget.TargetLost += () => { ButtonChange.interactable = false; }; ButtonChange.onClick.AddListener(() => { if (freezed.Value) { freezed = false; buttonText.text = "Freeze"; if (freezedTexture) { Destroy(freezedTexture); } } else { freezed = true; buttonText.text = "Thaw"; if (freezedTexture) { Destroy(freezedTexture); } if (renderTexture) { freezedTexture = new RenderTexture(renderTexture.width, renderTexture.height, 0); Graphics.Blit(renderTexture, freezedTexture); } material.SetTexture("_MainTex", freezedTexture); } }); }
public void Capture(bool on) { if (!videoCamera || videoCamera.Device == null) { return; } if (on) { cameraRenderer.RequestTargetTexture(targetTextureEventHandler); } else { cameraRenderer.DropTargetTexture(targetTextureEventHandler); } return; }