我不太明白什么是effect.World和effect.View等等,为什么我们要把它们放在里面?
foreach (ModelMesh mesh in model1.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
{
effect.World = Matrix.CreateWorld(Vector3.Zero, Vector3.Forward, Vector3.Up);
effect.View = Matrix.CreateLookAt(Vector3.Zero, Vector3.Zero, Vector3.Up);
}
}发布于 2012-12-30 00:49:44
effect.World不是代表世界的矩阵。它是一个矩阵,表示3d对象(网格、模型)相对于3d游戏世界的位置和方向。如果每个对象的位置不同&/或者指向不同,那么它们将具有不同的effect.World矩阵。
effect.View是一个矩阵,它(以反转的形式)表示摄像机相对于同一3d游戏世界的位置和方向。大多数情况下,只有一个摄像头,但可以有更多摄像头(例如,后视镜将有自己的视图矩阵,而不是显示赛车游戏挡风玻璃外的主屏幕)。
<代码>G29
发布于 2012-12-29 21:30:15
来自MSDN;
BasicEffect.World
获取或设置世界矩阵。使用此矩阵通过世界坐标更改模型的位置。
BasicEffect.View
获取或设置视图矩阵。使用此矩阵更改摄影机的位置和方向。
我认为粗体的线条解释了他们的区别。我还找到了一些有用的文章;
https://stackoverflow.com/questions/14082113
复制相似问题