public void TouchesMoved(Vector3 inputPos) { if (LAppLive2DManager.Instance.IsTouchMode2D() == false) { // カメラの Projection が Perspective である場合(3Dカメラ) UpdateTouchPos_3DCamera(inputPos); } else { // カメラの Projection が Orthographic である場合(2Dカメラ) UpdateTouchPos_2DCamera(inputPos); } var p1x = touchPos_onModelCanvas.x; var p1y = touchPos_onModelCanvas.y; if (LAppDefine.DEBUG_TOUCH_LOG) { Debug.Log("touchesMoved" + " (Device) x:" + inputPos.x + " y:" + inputPos.y + " (Local) x:" + p1x + " y:" + p1y); } touchMgr.TouchesMoved(p1x, p1y); float x = TransformDeviceToViewX(touchMgr.GetX()); float y = TransformDeviceToViewY(touchMgr.GetY()); dragMgr.Set(x, y); const int FLICK_DISTANCE = 100;// この値以上フリックしたらイベント発生 // フリックイベントの判定 if (touchMgr.IsSingleTouch() && touchMgr.IsFlickAvailable()) { float flickDist = touchMgr.GetFlickDistance(); if (flickDist > FLICK_DISTANCE) { float touchPos_plane2x2_X = touchPos_onPlane.x * 2 - 1; float touchPos_plane2x2_Y = -touchPos_onPlane.y * 2 + 1; model.FlickEvent(touchPos_plane2x2_X, touchPos_plane2x2_Y); touchMgr.DisableFlick(); } } if (lastX != p1x && lastY != p1y) { isMove = true; } }