私はアンカーを配置し、X座標とY座標を返すユーザーが画面をタップする場所に表示しようとしています。ARCoreスクリーン座標をワールド座標に合わせるOpenGL
tapX = tap.getX();
tapY = tap.getY();
この情報を使用して、自分のモデル用の行列を作成します。 (つまり、ユーザーがタップ私の3Dモデルを置く)
は、今私が試した:
float sceneX = (tap.getX()/mSurfaceView.getMeasuredWidth())*2.0f - 1.0f;
float sceneY = (tap.getY()/mSurfaceView.getMeasuredHeight())*-2.0f + 1.0f; //if bottom is at -1. Otherwise same as X
Pose temp = frame.getPose().compose(Pose.makeTranslation(sceneX, sceneY, -1.0f)).extractTranslation();
私はちょうど今の前に3Dオブジェクト1メートルを配置することです。私はこれで適切な場所を得ていない。
ローカル座標をワールド座標に変換する方法はありますか?
ワールドスペースへの配置がすべて頂点シェーダで行われているため、そのコードはあまり役に立ちませんでした。しかし、それを私のプロジェクトに実装するのは難しいです。 – snowrain