public void DisplayExpression(PXCMFaceData.ExpressionsData.FaceExpressionResult expressionResult, PXCMFaceData.ExpressionsData.FaceExpression faceExpression) { ExpressionGUIText.GetComponent <TextMesh> ().text = faceExpression.ToString() + "\n" + expressionResult.intensity.ToString(); }
public void DrawExpressions(PXCMFaceData.Face face) { Debug.Assert(face != null); // 映像がNULL または 表情認識チェックがOFFの場合処理を終了 if (m_bitmap == null) { return; } // パラメータ取得 PXCMFaceData.ExpressionsData expressionsOutput = face.QueryExpressions(); // 値を正しく取得出来なかった場合処理を終了 if (expressionsOutput == null) { return; } lock (m_bitmapLock) { using (var brush = new SolidBrush(m_faceTextOrganizer.Colour)) { const int imageSizeWidth = 18; const int imageSizeHeight = 18; /* 座標 */ int positionX = m_faceTextOrganizer.ExpressionsLocation.X; int positionXText = positionX + imageSizeWidth; int positionY = m_faceTextOrganizer.ExpressionsLocation.Y; int positionYText = positionY + imageSizeHeight / 4; foreach (var expressionEntry in m_expressionDictionary) { PXCMFaceData.ExpressionsData.FaceExpression expression = expressionEntry.Key; PXCMFaceData.ExpressionsData.FaceExpressionResult result; bool status = expressionsOutput.QueryExpression(expression, out result); if (!status) { continue; } //Console.WriteLine("えくすぷれっしょん" + expression); using (var font = new Font(FontFamily.GenericMonospace, m_faceTextOrganizer.FontSize, FontStyle.Bold)) { var expressionText = String.Format("= {0}", result.intensity); //graphics.DrawString(expressionText, font, brush, positionXText, positionYText); //間隔をあける smileCnt++; if (smileCnt > smileN) { smileCnt = 0; //smileである時に処理をする if (expression.ToString() == "EXPRESSION_SMILE") { satisfaction = result.intensity; RunExpression(); } } positionY += imageSizeHeight; positionYText += imageSizeHeight; } } } } }
public static string GetName(this PXCMFaceData.ExpressionsData.FaceExpression expression) { var pieces = expression.ToString().Split('_'); return(string.Join(" ", pieces.Skip(1).Select(p => p.ToLower()))); }