カメラがターゲットポイントに追従するように助けてください。社内の新しいプロトタイプ プロジェクトのために、すでに 2 日間はできません。現在私は持っています:
void Camera::followTargetPoint(CIwVec3 target, int32 distance, int32 height)
{
CIwVec3 viewSpaceLocation = (CIwVec3)IwGxGetModelViewMatrix().TransformVec(target);
IwTrace(SCOOTER, ("viewSpaceLocation: x: %d, y: %d, z: %d", viewSpaceLocation.x, viewSpaceLocation.y, viewSpaceLocation.z));
// set the viewspace origin to the camera location in viewspace
//IwGxSetViewSpaceOrg(&viewSpaceLocation);
CIwVec3 pos = CIwVec3(viewSpaceLocation.x, viewMatrix.t.y, viewSpaceLocation.z);
viewMatrix.SetTrans(pos);
//viewMatrix.LookAt(CIwVec3(0,0,-100), target, CIwVec3(0,-100,0));
IwGxSetViewMatrix(&viewMatrix);
}
このメソッドは、私のレンダラーで次のように呼び出されました。
p->Render();
cam->followTargetPoint(p->getModelMatrix().GetTrans(), 3, 100);
私が必要としているのは、followTargetPoint メソッドで指定された距離と高さにある第三者ビュー カメラです。ターゲット ベクトルの z 座標から距離を減算しようとすると、このコードで一人称ビューしか取得できません。ちらつきのあるモデルが表示され、理由はわかりますが、それを取り除く方法はわかりますか?