所有在办公室小格子间里摆弄Excel的小白领们有福了,如果能运用好这个东东,那么也许他们成为《光环4》的设计师。。。 请注意看最后的youtube视频,那的确是Excel弄出来的变态玩艺。。。。我记得在Word和Excel里面都有这样的宏操作,不过我最多用来统计一下数据,但他们。。。。。居然用来做3D。。。。(红字为发条总所加,发条总并且作了相当辛苦的校对工作。。。)
文章来自译言网站 http://www.yeeyan.com 译者: Moon.Wong
微软的Excel :革命性的3D游戏引擎?
简介
出色的电脑 游戏 都使用不同的图形处理子系统,即所谓的3D图形引擎——Soure 引擎(用在Half Life 2 上),Unreal 引擎(用在”虚幻竞技场”),IdTech4 引擎(用在毁灭战士4 上),Cry 引擎2 (用在孤岛危机上),Clever ’s Paradox 引擎,这些都是在玩家和游戏产业界专家中非常有名的图形引擎。
下面我们就来学习另一种新的3D游戏引擎,它的名字是:微软电子表格
据了解,电子表格是全能的办公工具软件,但是大概很多人不知道电子表格有一连串的特色使得电子表格成为一流的3D图形引擎。
通过此文我将展示电子表格的运算器,渲染子系统(这里有两个不同的渲染子系统),以及颠覆性的实现方法。理解这里的实现方法可能需要思维方式的转变。我也希望你可以发现Excel及其有效整合了实用性,众多的特色,多平台的可移植性(译者:这里有点不明白,Excel可以跨平台使用?原作者有点吹吧?)以及风格超的3D 引擎所展现的高水平性能。
这一章将包括演示程序和视频 ,这些都是通过Excel的3D 引擎制作的。
警告:业余人员请勿尝试
算数函数
可能Excel的算术函数几乎不需要展示,针对3D类处理的核心函数才是Excel的本质。(如,三角函数的算法规则和矩阵代数),我们也可以验证下与Excel那超过目前所有3D引擎的所展现出来的华丽和精致不对等的紧促和小巧(译者:我不懂Excel图形引擎的内核,但我感觉作者还是有点吹牛皮)
紧凑性
大多数 游戏 引擎不能在半张屏幕里面解决整个三维空间的算法,图一中的靠上的部分包括了空间转换,围绕X ,Y,Z 轴的旋转,以及透视投影。这些都可以在演示程序中看到。多边形的可见性,以及Z 缓冲(这是将三维物体投影到2 维平面上,决定那些点可以在2 维面上显示的一种算法。)和反射计算的部分都需要占类似大小的屏幕。
图 1,3D引擎的本质
黄色标记了用户可以第一的阐述,绿色代表了 引擎 的技术值,数字区域包含了如下一些数据:
1、透视投影的参数 2、目标的点的坐标(相对于他们的中心) 3、转换和旋转矩阵(更多信息可以通过如下链接找到http://en.wikipedia.org/wiki/3D_projection) 4、旋转参数 5、在转换和旋转后点的三维绝对坐标 6、透视图影后的点的2维坐标 7、点的屏幕坐标 8、物体边缘的终点 9、转换旋转矩阵中要素的公式,这里我们可以发现简洁和紧促清晰可见
优雅性
Excel 的开发环境不仅允许编程人员来编写简单或重要语法的源代码,而且它也为 引擎 开发者提供所有的周所周知的格式化函数:若干种字体可以同时使用,(不同的大小和类型)单元格和文本的颜色,可添加的弹出式提醒,以及—— 坐下不要激动—— 可以添加音频甚至整个电影,如果需要的话。
渲染方式
开发者可以在两种渲染子系统之间做出选择。
1、Excel自身的单元格图形(以下简称ECG) 2、套件级别的图形抽象层(有高人可做确认吗?我是直接翻译的)
Excel 自身单元格的图形
在我们打开Excel后,忘掉我们在屏幕上看到的那些包含单元格的工作表单,以及这些单元格里面包含的数据、文本和公式,试着把工作表单看成图形引擎的屏幕、单元格是屏幕的像素。 基于这种独特的想法:
工作表单= 引擎的屏幕 单元格= 像素
毫无疑问这是一个令人震惊的想法,接下来你们可能要问了如如何将这些方形的块状单元格看成像素呢?我们将可看到这些方形可以被看作是这种很独特的单元格图形的特色,实际上,就如以前以前我们用过的,小的,方块状的像素一样。
先还是把你的不适抛到一边,看一看Exce 单元格图形的特色:
像素大小可以改变,如果有人想要时光倒流,使用老式的3D 引擎来画那种小的,方块状的像素,现在他现在可以很容易的实现了。(见图2 和图3 )
图2;Excel单元格默认大小 图3,改变大小和着色后的像素
需要注意的是这个创新是这套系统的随意部分,使得你可以获得在行和列大小一样的像素,正如图四所见
图4,每一行的像素宽度都可以设置的不同
这种异常的尺寸调整的最好例子就是Excel的默认设置。这种设置下,像素被扭曲成长方形,这很容易把人弄糊涂,原因是 大多数用户并没将这些单元格视为像素,只是将它们看成数据输入区域。
图5,不带有方格线的着色渲染
图6,带有方格线的着色渲染
像素的的方格底线如果需要的可以显示出来。如果行列宽度不一样的话,这是一个非常有用的特点。通过图5 和图6 我们可以看到方格底线的功能。 像素的颜色有2 的24 次方种。 255 ×65535 的屏幕分辨率可以获得在其他3D 引擎中看不到的独特的高大16.7 兆像素的分辨率 令人惊奇的1 :256 的纵横比,可以通过隐藏和取消隐藏来获得4 :4 ,1 :9 或者其他任意数值的纵横比 255 screens in an application, so not only the usual 2 but more screen buffers can be used together. (此话一直没看懂, 那位点拨下。) . 内置可随意放大或缩小像素的函数。
也可以这样说,ECG大大超越了这个时代,他包含了许多都一无二的,与之不相匹配的并且在其他3D引擎中无法实现的特色:可改变的像素,任意变化的纵横比,16.7兆像素的分辨率,可转变的像素大小的方格线。
在下面的图中(图7),在运算中,我们可以看到这个引擎。你可以自己下载我们的实例Excel引擎文件(当Excel提示时,允许宏的运行),按住ALT+F8来运行这个ECG的演示程序。
图7:运算中的 引擎 (使用的是ECG的渲染系统)
ECG 的缺点是速度不够快,以及缺少一些画图函数(如。画直线,材质贴图。等等),开发人员不得不自己编程执行。
现在是大结局视频,请注意看史上最伟大3D引擎Excel的伟大之处的吧。。。。
Tag: