参考教程
Tutorial 11: Height Based Movement
学习记录
这篇文章中我们介绍基于地形高度的摄像机移动,本篇代码基于上一篇,修改很少。
在 TerrainClass
中,我们添加获得地形当前高度的接口 bool GetHeightAtPosition(float, float, float&);
,传入 x , z 的值获得高度,其实现如下:
1 | bool TerrainClass::GetHeightAtPosition(float inputX, float inputZ, float& height) |
最后我们在 ZoneClass
里,每一帧设置摄像机的位置:
1 | bool ZoneClass::Frame(D3DClass* Direct3D, InputClass* Input, ShaderManagerClass* ShaderManager , TextureManagerClass* TextureManager, float frameTime, int fps) |
最终效果: