作为一个经验丰富的 XNA 开发人员,以及 3D 建模世界的初学者(通过 Autodesk Maya),我真的很想知道是什么让图形在 Crysis3、FarCry3、Metro:Last Light 等视频游戏中看起来如此出色。 .
游戏的图形主要受模型影响吗?着色器?游戏引擎有什么问题?或者甚至可能是使用的纹理?
我的猜测是游戏的着色器是最重要的,但由于我对此几乎一无所知,所以我决定在开始学习如何编程之前先问清楚(HLSL,对吗?)。
谢谢。
是艺术家。一个好的艺术家可以拿走任何东西,让它看起来很漂亮。
它实际上归结为多种事物的组合——模型、着色器、纹理。你用来组合这些东西的肮脏技巧。
但我认为,从您提出问题的角度来看,答案肯定是“着色器”。着色器将所有内容组合在一起以创建最终图像。着色器基本上是小程序——所以它们或多或少可以做任何事情。
当然,这有点像问“是什么让软件如此出色?” 并说它是“代码”。
使 3D 场景看起来逼真/良好的最重要的因素可能是照明。这通常在着色器中完成。但它也可以预先计算并存储在纹理中。或者两者的某种组合。
这是一篇关于具有先进的、物理精确的光照模拟的游戏的文章(许多游戏仍在使用非物理模拟)。着色器本身就是照明计算的一部分——但定义材质属性的纹理显然是这个过程不可或缺的一部分。