【发布时间】:2011-08-01 03:16:12
【问题描述】:
我正在制作一个 3D 汽车游戏,但我遇到了旋转问题。 我想围绕自己旋转模型,但是当我移动时,它开始四处移动 世界 !
问题是:如何让模型移动的中心?
我尝试像这样更改代码:
effect.World = Matrix.CreateRotationZ(modelRotation) * effect.World = Matrix.CreateTranslation(position);
现在不是相对于模型向前移动,而是沿设定的方向移动! & 这是我的代码:
effect.World = Matrix.CreateTranslation(position) * Matrix.CreateRotationZ(modelRotation);
effect.View = camera.View;
effect.Projection = camera.Projection;
【问题讨论】:
-
我建议您坚持每条语句使用一个赋值运算符。否则,结果可能会令人困惑、令人惊讶且难以阅读。
-
执行此操作时发生了什么: effect.World = Matrix.CreateRotationZ(modelRotation) * effect.World = Matrix.CreateTranslation(position);我很困惑,你说它“朝着一个既定的方向移动”,你的意思是什么?