fix(demo): el dive movia només la posició de la càmera i s'invertia el forward; ara mou posició i target alhora
This commit is contained in:
@@ -497,8 +497,13 @@ void TitleScene::updateDemoDiveState(float delta_time) {
|
||||
|
||||
// Càmera 3D real cap a +Z: starfield i naus es projecten amb la càmera, així
|
||||
// que les estrelles es rasguen i les naus creixen i s'escapen pels costats.
|
||||
// IMPORTANT: cal moure posició I target alhora; si només es mou la posició,
|
||||
// forward = (target - position) s'inverteix en passar el target i la càmera
|
||||
// gira cap enrere (tot apareix invertit i mirant a l'espectador).
|
||||
if (camera_ != nullptr) {
|
||||
camera_->setPosition(Vec3{.x = 0.0F, .y = 0.0F, .z = EASED * D::CAMERA_DISTANCE});
|
||||
const float Z = EASED * D::CAMERA_DISTANCE;
|
||||
camera_->setPosition(Vec3{.x = 0.0F, .y = 0.0F, .z = Z});
|
||||
camera_->setTarget(Vec3{.x = 0.0F, .y = 0.0F, .z = Z + 1.0F});
|
||||
}
|
||||
// Logo i peu són 2D: els fakegem el dive amb un zoom des del centre.
|
||||
dive_zoom_ = std::lerp(1.0F, D::ZOOM_MAX, EASED);
|
||||
|
||||
Reference in New Issue
Block a user