// Use this for initialization void Start() { // FaceTracking 用 WorkerThread 初期化 locker = new object(); this.faceTrackingWorkerThread = new Thread(new ThreadStart(DoFaceTracking)) { Name = "FaceTrackingWorkerThread", IsBackground = true, }; // 頭部 LookTarget の初期配置 this.HeadLookTargetRotationCenter.position = this.HeadModel.position; this.HeadLookTarget.localPosition = new Vector3(0, 0, lookTargetDistance); // 視線 LookTarget の初期配置 // 両目の中心に配置 Vector3 eyesCenter = Vector3.Lerp(this.EyeL.position, this.EyeR.position, 0.5f); this.GazeLookTargetRotationCenter.position = eyesCenter; this.GazeLookTarget.localPosition = new Vector3(0, 0, lookTargetDistance); // FaceTracker の初期化 string basePath = "Assets/Resources"; wrapper = new OpenFaceNativePluginWrapper(); wrapper.Initialize(Path.Combine(basePath, "model/main_clnf_general.txt").ToString(), Path.Combine(basePath, "classifiers/haarcascade_frontalface_alt.xml"), basePath, this.isQuietMode); // WorkerThread 開始 this.isRunning = true; faceTrackingWorkerThread.Start(); }
// Use this for initialization void Start() { // FaceTracking 用 WorkerThread 初期化 locker = new object(); this.faceTrackingWorkerThread = new Thread(new ThreadStart(DoFaceTracking)) { Name = "FaceTrackingWorkerThread", IsBackground = true, }; // 座標系変換行列の初期化 invertYM = Matrix4x4.TRS(Vector3.zero, Quaternion.identity, new Vector3(1, -1, 1)); //Debug.Log("invertYM " + invertYM.ToString()); invertZM = Matrix4x4.TRS(Vector3.zero, Quaternion.identity, new Vector3(1, 1, -1)); //Debug.Log("invertZM " + invertZM.ToString()); // 初期 Transform 値の設定 if (!isLocal) { this.initialModelHeadRotation = targetFaceObject.transform.rotation; } else { this.initialModelHeadRotation = targetFaceObject.transform.localRotation; } this.destinationFaceRotation = this.initialModelHeadRotation; // FaceTracker の初期化 string basePath = "Assets/Resources"; wrapper = new OpenFaceNativePluginWrapper(); wrapper.Initialize(Path.Combine(basePath, "model/main_clnf_general.txt").ToString(), Path.Combine(basePath, "classifiers/haarcascade_frontalface_alt.xml"), basePath, this.isQuietMode); // WorkerThread 開始 this.isRunning = true; faceTrackingWorkerThread.Start(); }