Как создать интерактивную камеру слежения в Ogre3D

#3d #ogre3d

#3D #ogre3d

Вопрос:

Как создать камеру, которая следует за игроком (как в MMORPG играх) без необходимости транслировать ее каждый кадр. Но ее легко поворачивать. Если это возможно.

 Node character;
Camera camera;

void init() {
   createCharacter();
   /** CREATE CAMERA **/
}

void rotateCamera(float aroundYaxis, float verticaly) {
   /** ROTATE CAMERA **/
}

void changeDistanceOfCameraToPlayer(float delta/* may be absolute that doesn't matter*/ ) {
   /** MOVE CAMERA **/
}
  

Ответ №1:

По умолчанию камера не привязана ни к одному узлу, поэтому лучший способ — переписать функции, отвечающие за движение камеры, так, чтобы переводить, рыскать и поворачивать не саму камеру, а некоторый узел, к которому вы должны прикрепить свою камеру, а затем подключить этот узел к проигрывателю. Таким образом, если ваш плеер движется, камера будет двигаться вместе с ним.