mirror of
https://github.com/minetest/minetest.git
synced 2024-12-25 07:32:24 +01:00
fix a numerical problem, but tool is still jittery
This commit is contained in:
parent
cbd2bcf102
commit
6599002149
@ -151,8 +151,7 @@ void Camera::update(LocalPlayer* player, f32 frametime, v2u32 screensize)
|
|||||||
m_playernode->updateAbsolutePosition();
|
m_playernode->updateAbsolutePosition();
|
||||||
|
|
||||||
// Set head node transformation
|
// Set head node transformation
|
||||||
v3f eye_offset = player->getEyePosition() - player->getPosition();
|
m_headnode->setPosition(player->getEyeOffset());
|
||||||
m_headnode->setPosition(eye_offset);
|
|
||||||
m_headnode->setRotation(v3f(player->getPitch(), 0, 0));
|
m_headnode->setRotation(v3f(player->getPitch(), 0, 0));
|
||||||
m_headnode->updateAbsolutePosition();
|
m_headnode->updateAbsolutePosition();
|
||||||
|
|
||||||
|
11
src/player.h
11
src/player.h
@ -67,12 +67,17 @@ public:
|
|||||||
return floatToInt(m_position + v3f(0,BS+BS/2,0), BS);
|
return floatToInt(m_position + v3f(0,BS+BS/2,0), BS);
|
||||||
}
|
}
|
||||||
|
|
||||||
v3f getEyePosition()
|
v3f getEyeOffset()
|
||||||
{
|
{
|
||||||
// This is at the height of the eyes of the current figure
|
// This is at the height of the eyes of the current figure
|
||||||
// return m_position + v3f(0, BS+BS/2, 0);
|
// return v3f(0, BS+BS/2, 0);
|
||||||
// This is more like in minecraft
|
// This is more like in minecraft
|
||||||
return m_position + v3f(0,BS+(5*BS)/8,0);
|
return v3f(0,BS+(5*BS)/8,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
v3f getEyePosition()
|
||||||
|
{
|
||||||
|
return m_position + getEyeOffset();
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void setPosition(const v3f &position)
|
virtual void setPosition(const v3f &position)
|
||||||
|
Loading…
Reference in New Issue
Block a user