void Start() { // Texture allocation _webcamRaw = new WebCamTexture(); _webcamBuffer = new RenderTexture(1920, 1080, 0); _webcamRaw.Play(); _previewUI.texture = _webcamBuffer; // Face detector initialization _detector = new FaceDetector(_resources); // Visualizer initialization _material = new Material(_visualizer); _drawArgs = new ComputeBuffer (4, sizeof(uint), ComputeBufferType.IndirectArguments); _drawArgs.SetData(new [] { 6, 0, 0, 0 }); }
void Start() { using var detector = new FaceDetector(_resources); detector.ProcessImage(_image, _scoreThreshold, _overlapThreshold); var w = _markerParent.rect.width; var h = _markerParent.rect.height; foreach (var box in detector.DetectedFaces) { var x1 = box.x1 * w; var y1 = box.y1 * h; var x2 = box.x2 * w; var y2 = box.y2 * h; var marker = Instantiate(_markerPrefab, _markerParent); marker.anchoredPosition = new Vector2(x1, h - y2); marker.SetSizeWithCurrentAnchors(Axis.Horizontal, x2 - x1); marker.SetSizeWithCurrentAnchors(Axis.Vertical, y2 - y1); } }