私は OpenGl Devloper の初心者です。OpenGl android で 3d モデルをレンダリングしたいので、min3d フレームワーク ライブラリを選択します。
min3d でのカメラのズームインズームアウトなど、モデルのズームインズームアウト機能をパンしたい
のように、私は女性の 3dmodel を持っていて、彼女の顔をズームアウトしたいのですが、スケール オブジェクトのない解決策はありますか?
カメラの位置を変更する必要があります。パンしたいので、いくつかの追加パラメータを定義することをお勧めしますcenter
。distance
ズーム ジェスチャがある場合は、ズーム スケールを距離に適用するだけですdistance *= scale
(またはdistance = originalDistance*scale
実装によっては)。
パンでは、 をとのcenter
距離だけ移動するだけです。ここでは、速度係数は一定である可能性があります (少し試してみてください) が、非常に近い場合に中心の移動が少なくなるように、ズーム スケールを掛けるのが最善の場合があります。center.x += (newXOnScreen-oldXOnScreen)*speedFactor
center.y += (newYOnScreen-oldYOnScreen)*speedFactor
これらの 2 つのパラメーターを取得したので、それらをカメラに適用する必要があります。モデルのポジションが(0,0,0)
:
scene.camera.position = {center.x, center.y, center.z-distance}
scene.camera.target = {center.x, center.y, center.z}
scene.camera.up = {0, 1, 0}