当前位置: 首页 > 专利查询>上海大学专利>正文

三维虚拟现实用矩阵实现模拟环境光照射的设置方法技术

技术编号:2947308 阅读:324 留言:0更新日期:2012-04-11 18:40
一种三维虚拟现实用矩阵灯光实现模拟环境光照射的设置方法,包括步骤S↓[1],建立3D仿天光反射球,S↓[2],把3D矩阵灯光与3D软件交互衔接,S↓[3],基于Max平台对矩阵灯光进行设置,S↓[4],在矩阵灯光的设计中,在虚拟现实场景设置好后,把灯的投影和浓度采样以及投影的图和取样精度密度单独分别控制。依据此设置法,场景中的物体与物体之间的光照关系,灯光在球型表面矩阵排列,均匀分布模仿真实环境的反射、漫射,从而得到真实的渲染结果。通过设置球面点光源参数属性值,调整环境光的亮度与环境色,达到模拟真实环境光线和场景中光线的反射与衰减。与同类的灯光渲染软件相比有着较快的效率,操作简便。

【技术实现步骤摘要】

本专利技术涉及一种基于三维虚拟现实软件(max)平台快速解决模拟环境光照射、反射、漫射的设置方法。
技术介绍
3DSMax的渲染是目前在三维模拟现实动画制作广泛使用的一种线性扫描渲染,在这种渲染方式下,光线不被物体反射或折射,因此不象真实世界通常一盏灯能照亮一间卧室,所以在我们制作一个场景中要打几十盏灯,而制作动画时灯光盏数将更多。用3DSMax工具制作的过程就是一个观察,分析的过程。无论要创造的那个场景是现实存在的事物还是作者脑海里的构思,都要仔细观察,因为运用3DSMax光线的前提是理解真实环境中光线的属性,然后依照真实光线的产生,传递,分布,角度,明亮,色泽和反射来逐步还原。在一张静止的作品中,光线的设置往往要耗费1/3甚至一半以时间和精力。调整光线的过程是繁琐浩大,需要敏锐的观察里和沉稳的心镜。同时Max提供的Grouraud和Phong浓淡处理算法也不太准确,它们估算落在表面上的光,而非准确地计算它。要想完全精确,就需要光线跟踪。光线跟踪(ray trace)渲染在表面之间追踪射线,射线不断地被某些对象表面反射到其它对象表面,直到从场景中消失。光线跟踪、追踪从观察点到各个表面的射线矢量。若反射面是镜面,便又被反射直至射线被弹出场景和被非镜面吸收。这是典型的光线跟踪渲染慢的原因。辐射度(radiosity)渲染方法效果很好,但计算量却相当大,要比光线跟踪所用的时间更长。光线跟踪反射只取一个观察点,被反射的射线最终找到一个结束点,消失在场景中。而辐射模型中的反射能量在场景中不断反弹,能量逐级减弱。在亮光下将一个红球靠近白墙,在白墙上出现红色,这就是辐射度效果。RadioRay是一种结合了光线跟踪和辐射的渲染器,其真实的光线计算创建专业的照明效果。但渲染时间比Max的系统灯光渲染要慢上很多。Max中灯光的工作原理。在Max中,为了提高渲染速度,灯光是不带有辐射性质的。这是因为带有光能传递的灯光计算速度很慢。也就是说,Max中的灯光工作原理与自然界的灯光是有所不同的。如果要模拟自然界的光反射(如水面反光效果)。漫反射,辐射,光能传递,透光效果等特殊属性,就必须运用多种手段(不仅仅运用灯光手段,好可能是材质如光线追踪材质等)进行模拟。因为Max主要任务是面向动画制作。在静帧的制作中,LIGHTSCAPE中的灯光运算速度很慢,渲染一张图片需要很长的时间。在动画制作中,一秒钟的动画就需要渲染20多张图片(NTSC式的为30帧/秒,PAL式的为25帧/秒,电影为24帧/秒,如果要保持流畅的动感则至少需要15帧/秒)。也就是说,一分钟就要渲染1000多张图片,这就意味着等待将是无穷无尽的。Max有很多第三方开发的外挂插件,在灯光方面比较优秀的插件有RADIOSITY,MENTAL RAY(大型“灯光效果+特殊明暗器+高质量渲染”插件)等可供用户选择。不过运算速度上有点差强人意。当然,如果只渲染一张静态图片而不是做动画(如建筑效果图等),为了取得更好的效果与更方便的照明设置,等待一个小时也是可以的。Max中的灯光最大优势在于运算速度。在3DSMax系统的光照中,全面的考虑并计算场景中的光线是最重要的问题。传统的渲染引擎只考虑直接光照,不考虑反射光,然而,反射光是一个场景的重要组成部分。环境光是重要的补充光,它来自天然漫反射,它提高了整个场景的亮度。但大多数渲染器的环境光统一地应用于整个场景。减低了场景的整体黑暗程度,它淘汰掉了一些可能的特性,不能对照亮的物体上的亮部和阴影进行造型,这是使场景看起来不逼真的主要原因。
技术实现思路
综上所述,如何克服3DSMax复杂的设置方法,克服3DSMax灯光的非光能传递、非环境光漫反射的渲染效果失真缺陷,在三维制作中来模拟真实环境光在场景中传递,即模拟漫反射,模拟光线真实的衰减和投影,达到真实快速渲染效果,这些乃是本专利技术所要解决的技术问题,为此本专利技术的目的在于提供一种基于三维模拟现实软件用矩阵灯光实现模拟环境光照射的设置方法。同时,矩阵灯光本身是非光能传递,非辐射性性质,在达到逼真的理想效果同时在三维动画,虚拟现实漫游的渲染时间大大短于光能传递的灯光。现实光线具有镜面反射和漫反射,所谓镜面反射就是镜子对光线的反射,光束落在镜子上的瞬间被反向同角度反射,也就是Max中的光线追踪模式,光反射一次后就消失,漫反射是光线照射在粗糙的物体表面,当光线照射的时候,因为光线着落点不一样,光束向不同的反向反射,反射出来的光不再是以前的一束,可能是很多方向的,但是Max不支持漫反射。矩阵灯光基于max的平台,光源点在球型表面照向场景环境,模拟自然界的光反射,漫反射,光能传递等特殊属性,根据场景模型的复杂程度,具体需要,设置矩阵灯光的参数。现实光线既有衰减,不管是自然光还是人工光都有衰减,矩阵灯光主要使用的是近远距离衰减。投影具有浓度,采样,取样点的变化。矩阵灯光方案改变光能传递的解决方案的设置,在质量,渲染时间和内存使用之间找到一个平衡。根据想要得到的不同结果,设置会有很大差别,可以用非常长的时间渲染一幅静态图像以获得高的质量,但渲染动画的时间太长的话就需要做一个折中处理了。矩阵灯光在性能时间比上将是三维动画灯光设置的一个较现实的理想实现软件。本专利技术的技术方案如下根据本专利技术的矩阵灯光系统设计方法包括步骤S1.建立3D仿天光反射球,这个球体是由均匀的网络构成,本专利技术利用网格作为环境光的点射原点位置,网格是由等量大小的三角面构成,它的顶点数与灯光的分布密度成相关联系,当仿天光反射球体的三角网格设置复杂值越大,网格就越密,分布的灯光就越多,反之网格就越疏,分部的灯光就越少,网格复杂值与灯光数量成正比。这样做的功能是球型阵列使多个灯光能够多角度照射场景物体,并且从每个灯光发出点与被照射物体之间的距离基本一致,物体处于球型矩阵灯光的球心位置,能够给场景中处在背光面的物体进行多重的补充光,产生柔和的过渡性的投影,由于该系统采用多个灯光补光,每个灯光产生的过渡性投影叠加在一起,将产成柔和的光影效果,与真实世界的环境光产生原理接近。在矩阵灯光的设计中,本专利技术把光球的网格、灯光功能与矩阵灯光的排列,用Maxscript脚本语言编写在一起,一键建立仿天光反射球,同时矩阵灯光相应生成。S2.把3D矩阵灯光与3D软件衔接,MAX为C语言提供一个标准的接口,通过MAX的MAXScriptTools,把外部c语言写成的程序的后缀名修改为.mcr,这样外部C语言程序就开始被max执行,执行的位置在max程序的Utilities面板中,点击MAXScript,然后点击Open Scipt按钮,选择外部C语言程序软件开始执行。S3.基于Max平台对矩阵灯光的设置作全局属性的整体设计,本专利技术对任意一盏灯光的属性进行设置时,它都可以对全局矩阵灯光产生影响,其中包括共顶点数量热、衰点控制、倍增亮度控制、环境色与全局光控制部分。这种多路灯光属性控制,运算平衡控制的设计功能使得在虚拟现实的自然环境光的设置,操作智能化,且高效、简便,不会发生手工一盏盏设置的操作的差错。S4.在矩阵灯光的设计中,在虚拟显示的场景设置好后,把灯光的投影和浓度采样以及投影的图和取样精度密度单独分别控制。因为光的投影和浓度采样以及投影的图和取样精度密本文档来自技高网
...

【技术保护点】
一种三维虚拟现实用矩阵灯光实现模拟环境光照的设置方法,包括步骤:S↓[1].建立三维仿天光反射球,球型矩阵使多个灯光能够多角度照射场景物体,并且从每个灯光发出点与被照射物之间的距离基本一致,物体处于球型矩阵灯光的球心位置,能够给场景 中处于背光面的物体以多重的补充光,产生柔和的过度性的投影;S↓[2].把三维矩阵灯光与3DSMax软件衔接,3DSMax为C语言提供一个标准的接口,通过3DSMax软件的MaxSriptools把外部C语言生成的程序的后缀名修改为M cr.这样外部C语言就被3DSMax软件执行;S↓[3].基于3DSMax软件平台对矩阵灯光的设置作全局属性的整体设计,任一盏灯光都可以对全局矩阵灯光进行影响;S↓[4].在矩阵灯光的设计中,在虚拟现实场景设计设置好后,在灯 光的投影和浓度采样以及投影的图和取样精度密度单独分别控制。

【技术特征摘要】

【专利技术属性】
技术研发人员:魏庆前
申请(专利权)人:上海大学
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1