コード例 #1
0
ファイル: FaceRenderer.cs プロジェクト: rvnth/TheOmnipotent
 public void DisplayExpression(PXCMFaceData.ExpressionsData.FaceExpressionResult expressionResult, PXCMFaceData.ExpressionsData.FaceExpression faceExpression)
 {
     ExpressionGUIText.GetComponent <TextMesh> ().text = faceExpression.ToString() + "\n" + expressionResult.intensity.ToString();
 }
コード例 #2
0
        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;
                        }
                    }
                }
            }
        }
コード例 #3
0
        public static string GetName(this PXCMFaceData.ExpressionsData.FaceExpression expression)
        {
            var pieces = expression.ToString().Split('_');

            return(string.Join(" ", pieces.Skip(1).Select(p => p.ToLower())));
        }