"hit_areas": [ {"name":"head0", "id":"D_REF.HEAD0"}, {"name":"head1", "id":"D_REF.HEAD1"}, {"name":"body", "id":"D_REF.BODY"} ],
// 外部定義ファイル(json)と合わせる // public const string HIT_AREA_HEAD ="head"; public const string HIT_AREA_HEAD0 ="head0"; public const string HIT_AREA_HEAD1 ="head1"; public const string HIT_AREA_BODY ="body";
public void FlickEvent(float x, float y) { if (LAppDefine.DEBUG_LOG) Debug.Log("flick x:" + x + " y:" + y); // if (HitTest(LAppDefine.HIT_AREA_HEAD, x, y)) if (HitTest(LAppDefine.HIT_AREA_HEAD0, x, y)) { if (LAppDefine.DEBUG_LOG) Debug.Log("Flick face"); StartRandomMotion(LAppDefine.MOTION_GROUP_FLICK_HEAD, LAppDefine.PRIORITY_NORMAL); } if (HitTest(LAppDefine.HIT_AREA_HEAD1, x, y)) { if (LAppDefine.DEBUG_LOG) Debug.Log("Flick face"); StartRandomMotion(LAppDefine.MOTION_GROUP_FLICK_HEAD, LAppDefine.PRIORITY_NORMAL); } }
public bool TapEvent(float x, float y) { if (LAppDefine.DEBUG_LOG) Debug.Log("tapEvent view x:" + x + " y:" + y); // if (HitTest(LAppDefine.HIT_AREA_HEAD, x, y)) if (HitTest(LAppDefine.HIT_AREA_HEAD0, x, y)) { // 顔をタップしたら表情切り替え if (LAppDefine.DEBUG_LOG) Debug.Log("Tapped face"); SetRandomExpression(); } else if (HitTest(LAppDefine.HIT_AREA_HEAD1, x, y)) { // 顔をタップしたら表情切り替え if (LAppDefine.DEBUG_LOG) Debug.Log("Tapped face"); SetRandomExpression(); }
コメント
一番シンプルな方法だと以下のやり方でできます。
1)モデルの当たり判定を増やす
2)model.jsonの当たり判定を増やす
"hit_areas": [ {"name":"head0", "id":"D_REF.HEAD0"}, {"name":"head1", "id":"D_REF.HEAD1"}, {"name":"body", "id":"D_REF.BODY"} ],3)LAppDefine.csの当たり判定の定義を増やす// 外部定義ファイル(json)と合わせる // public const string HIT_AREA_HEAD ="head"; public const string HIT_AREA_HEAD0 ="head0"; public const string HIT_AREA_HEAD1 ="head1"; public const string HIT_AREA_BODY ="body";4)LAppModel.csの修正public void FlickEvent(float x, float y) { if (LAppDefine.DEBUG_LOG) Debug.Log("flick x:" + x + " y:" + y); // if (HitTest(LAppDefine.HIT_AREA_HEAD, x, y)) if (HitTest(LAppDefine.HIT_AREA_HEAD0, x, y)) { if (LAppDefine.DEBUG_LOG) Debug.Log("Flick face"); StartRandomMotion(LAppDefine.MOTION_GROUP_FLICK_HEAD, LAppDefine.PRIORITY_NORMAL); } if (HitTest(LAppDefine.HIT_AREA_HEAD1, x, y)) { if (LAppDefine.DEBUG_LOG) Debug.Log("Flick face"); StartRandomMotion(LAppDefine.MOTION_GROUP_FLICK_HEAD, LAppDefine.PRIORITY_NORMAL); } }public bool TapEvent(float x, float y) { if (LAppDefine.DEBUG_LOG) Debug.Log("tapEvent view x:" + x + " y:" + y); // if (HitTest(LAppDefine.HIT_AREA_HEAD, x, y)) if (HitTest(LAppDefine.HIT_AREA_HEAD0, x, y)) { // 顔をタップしたら表情切り替え if (LAppDefine.DEBUG_LOG) Debug.Log("Tapped face"); SetRandomExpression(); } else if (HitTest(LAppDefine.HIT_AREA_HEAD1, x, y)) { // 顔をタップしたら表情切り替え if (LAppDefine.DEBUG_LOG) Debug.Log("Tapped face"); SetRandomExpression(); }StartRandomMotionの引数1は、再生するモーションを指します。model.jsonの"flick_head"で再生するモーション名を設定すれば、指定のモーションが再生できるかと思います。