第33 卷第6 期佛山科学技术学院学报(自然科学版)V o l. 33  N o. 6 2015年11月Journal  of  Foshan  University (Natural  Sciences  Edition)Nov.  2015
文章编号:1008-0171(2015)06-0070-05
基于Unity3D的交互式虚拟摄影系统的设计与实现
张枝1,白利2
(1.福建信息职业技术学院传媒艺术系,福建福州350001;2.福建工业学校信息专业教学部,福建福州350001)
摘要:以单反相机的操作和虚拟摄影棚的拍摄为开发依据,围绕着摄影知识、摄影常规技术和室内摄影棚这三个方面设计虚拟摄影系统。分析了三维建模技术、Flash动画和交互技术以及Unity 3D虚拟仿真技术在虚拟现实中的应用,提出了一种便捷实用的调用swf文件的方法,重点分析了曝光、对焦、测光、景深和虚拟摄影棚的设计思路并最终实现这些功能。
关键词:虚拟摄影系统;交互;Unity 3D
中图分类号:TB8文献标志码:A
虚拟现实(Virtual Reality,VR)是以计算机技术为核心的现代高新技术,生成与真实环境在视、听、触感等方面高度近似的数字化环境,用户借助必要的装备与数字化环境中的对象进行交互作用、相互影响,可以产生亲临对应真实环境的感受和体验[1]。虚拟现实技术的研究领域包括:通过计算机图形方式建立逼真的三维视觉效果;建立与虚拟世界交互的用户界面;使用虚拟现实技术加强诸如科学计算技术等方面的应用[2]。
随着虚拟现实技术的发展,虚拟仿真系统在教学领域中的应用也越来越广泛,不仅包括日常教学,也包括了互动虚拟实验。虚拟仿真实训系统的研究对优化教学过程、改善教学质量、节约教学成本、促进学生课后自主学习有着重要的意义。本文结合“交互式虚拟摄影系统”的设计开发,围绕基于Unity 3D的互动技术,对虚拟现实在实际教学中的应用进行初步探讨,并为以后慕课环境下的网络虚拟仿真实验提供基础。
1虚拟摄影在教学中的作用
摄影是一门强调实践的课程,在实际教学中存在如下问题:摄影教学以相机器材为主,教师在课堂讲述并演示操作,但演示过程中大多数同学无法直接看清教师的示范,教师要分组演示多次;专业相机操作知识抽象,如光圈、快门、曝光控制、景深等,单纯通过教师在课堂的讲解,学生不易理解;摄影教学课件大多是以图文为主,缺乏互动和形象的讲解;单反相机价格昂贵、操作易损耗、相机配件
种类多,增加了实验成本;摄影棚资源设备昂贵,设备组成复杂,摄影棚拍摄需要分组进行,每个学生练习时间较少,无法熟练掌握摄影棚拍摄技巧等。
为解决摄影教学存在的问题,本文提出并设计了交互式虚拟摄影系统,学生能够通过该系统,学习摄影知识和技术,如光圈、快门、ISO感光度、曝光、测光、景深等。该系统为学生营造具有真实感的虚拟
收稿日期:2015-06-09
基金项目:福建信息职业技术学院院级课题(Y12106)
作者简介:张枝(1982-),女,福建永泰人,福建信息职业技术学院讲师。
第6期摄影棚,提供摄影棚拍摄的相关实践器材,为学生进入摄影棚进行实际拍摄提供基础,增加拍摄熟练度,使设备得到最佳利用。
2交互式虚拟摄影系统的架构
2.1虚拟摄影系统分析交互式虚拟摄影系统根据高等院校艺术类专业所开设的摄影课程的教学内容进行设计和制作,主要围绕单反相机设备和摄影技术两大方面,主要内容包括:
(1)摄影基础:包括摄影意义、相机工作原理、光圈、快门、感光度ISO 、镜头等摄影基本原理和基础定义。
(2)摄影常规技术:包括对焦、测光、曝光、景深等摄影技术应用。
(3)摄影棚教学:包括室内环境下的人物摄影和静物摄影,同时包含了室内摄影布光应用。
笔者根据这些教学要点将虚拟摄影系统分为:摄影基础、摄影常规技术和虚拟摄影棚三个互动教学和实训模块。利用3ds Max 软件建立所需三维模型,利用Flash 软件制作摄影基础互动式教学模块,利用Unity 3D 软件开发具有真实感的三维虚拟摄影棚环境,从而为学生提供摄影常规技术和摄影棚的虚拟互动教学与实训。
2.2虚拟摄影系统的功能架构
交互式虚拟摄影系统架构如图1所示,包括摄影基础、摄影常规技术和虚拟摄影棚三大摄影常规教学模块,同时输出可在pc 端运行的交互式客户端软件,教师可在课堂演示教学,学生可在课后进行虚拟仿真的训练。
图1交互式虚拟摄影系统架构图
3交互式虚拟摄影系统的实现
3.1开发技术分析
3.1.1三维建模技术
三维建模技术是虚拟现实系统构建的基础,创建一个逼真的环境是虚拟现实系统制作成功的关键要素。虚拟现实系统中常见的三维建模方法有两种:1)利用虚拟现实软件如Unity 3D 直接建模,这种方法的优点是运行速度快,如地形、几何体可以利用Unity 3D 软件建模,缺点是模型的真实感、精确度都不够;2)利用专业的三维软件如3ds Max 、Maya 、Cinema4D 等建模,这种方法的优点是模型精细逼真,缺点是运行速度慢。
虚拟现实对三维模型制作有如下要求:
(1)制作逼真的三维模型。本文涉及的模型有相机模型、场景模型、静物模型、人物模型等,这些模型的逼真程度反映了虚拟现实系统的质量高低。
(2)制作逼真的纹理效果。逼真的三维模型除了形态要符合现实,还反映在模型表面的反射和纹交互式虚拟摄影系统
相机原理镜头光圈快门感光度ISO 曝光对焦测光景深控制人物摄影静物摄影
摄影基础摄影常规技术虚拟摄影棚
基于pc 的交互客户端软件
张枝等:基于Unity 3D 的交互式虚拟摄影系统的设计与实现71
unity3d入门佛山科学技术学院学报(自然科学版)第33卷理,即通常所说的材质和贴图。
(3)制作的三维模型在保证质量的前提下要保证数据量尽量小,以提高虚拟现实系统的运行速度。本文利用3ds Max 软件建模,输出成FBX 格式提高了模型的逼真度。同时为了提高系统运行的速度,将三维模型纹理、贴图和灯光效果烘焙成贴图输出成png 或tif 格式图片,再将FBX 格式的模型和贴图导入到Unity 3D 软件中,为导入的三维模型重新赋予材质。
3.1.2Flash 交互技术
Flash 是由Adobe 公司推出的一款优秀的动画制作软件。人们可以利用Flash 制作动画以及利用ActionScript 脚本快速开发具有交互性的应用程序。考虑到学习的形象性和易操作性,虚拟摄影系统利用Flash 软件制作摄影基础模块的动画效果和互动平台。
3.1.3Unity 3D 技术应用
Unity 3D 是一款由Unity Technologies 开发的一个能够轻松创建三维游戏、建筑可视化、虚拟现实
等互动内容的综合型游戏开发工具,是一个全面整合的专业游戏引擎[3]。Unity 3D 的开发环境友好、可
视化,支持JavaScript 和C#脚本语言,支持导入3ds Max 软件制作的模型和动画,简单易用,因此本文利用Unity 3D 工具结合JavaScript 脚本语言来制作具有交互体验的虚拟摄影系统。
系统引入NGUI 插件到Unity 3D 中,为虚拟摄影系统提供可视化的UI 设计;利用Unity 3D 创建交互效果,Unity 3D 中主要编写JavaScript 和C#脚本,并将脚本附加到对象上实现虚拟现实的交互。
3.2虚拟摄影系统模块的设计与实现
3.2.1摄影基础模块设计与实现
摄影基础模块主要是分析摄影基本定义,属于抽象知识,因此利用Flash 软件制作动画,从而让知识形象化。
Flash 制作好摄影基础平台和相关知识点动画后,需要输出成swf 格式文件再导入到Unity 3D 中。但是很多人在Unity 3D 中遇到调用swf 文件的瓶颈,大家通常利用如下两种方法解决:一是用绝对路径实现文件导入;二是利用复杂的代码转化路径。本文利用一种简单的方式来实现swf 文件的导入,前提是Unity 3D 主程序界面要和swf 文件一同放在Assets 文件夹中,JavaScript 代码如下:
#pragma strict
function Start (){}
function Update (){}
function changelevel01(){
Application.OpenURL("Assets\\jichu.swf");}
在Unity 3D 中创建一个GameObject01,并将上段代码写入名为changelevel01.js 的文件中,关联到此GameObject01对象上。在Unity 3D 软件中引入NGUI 系统创建摄影基础模块按钮Control-button ,并为此按钮添加UIEvent Trigger (Script )组件,在On Click/
Tap 事件中将GameObject01拖动到Notify 对象上,得到
如图2所示效果。
3.2.2摄影常规技术模块设计与实现
摄影常规技术模块主要分析并模拟真实单反相机
的曝光、对焦、测光、景深控制等摄影技术。摄影常规技
术的交互通过Unity 3D 软件实现,下面详细分析各个摄
影技术的实现方法。
(1)对焦。在正式按下快门按钮拍摄前,需要先对物体进行对焦操作。一般单反相机的对焦包括了自动对焦和手动对焦,不论哪种对焦方式,其作用都是使拍摄的对象清晰可见。根据这一特性,系统中取相机的中心区域为对焦点,快门设置为两种状态:半按快门时的对焦状态;完全按下拍摄并在完成拍图2On Click/Tap
事件
72
第6期
张枝等:基于Unity3D的交互式虚拟摄影系统的设计与实现73摄后快速自动复位的状态。为表现真实的对焦过程,在系统中,用Blur.js脚本来实现拍摄前取景器中影像的模糊状态,再编写js脚本实现半按快门对焦时,取景器中影像逐步清晰的过程。
(2)测光。测光是测量所拍摄景物的亮度过程。单反相机机内测光方式常见的有点测光、中央重点测光、中央部分测光(局部测光)以及平均测光。点测光是测量画面中2%~4%小面积的亮度,从而得出曝光值;局部测光的测量范围更大一些,针对取景器中央部位6%~12%的区域进行测光;中央重点测光时偏重取景器的中央部分,对场景的其他部分进行加权计算;平均测光则把分区的测光值进行加权平均得到曝光量。根据上述原理,系统中设计了以上4种测光实验,设计时,固定ISO数值为200,光圈数值为5.6,测光时仅输出快门值,实验人员根据所得快门值和光圈值进行曝光量的换算,确定光圈快门后再进行拍摄。
(3)曝光。曝光是摄影最基本也是最重要的技术,高质量的影像需要以准确的曝光为前提[4]。摄影曝光是指在按下快门按钮,快门开启的瞬间,光线通过光圈的光孔大小使感光器件感光。因此,曝光受光圈、快门的影响。它们之间的关系是:感光度ISO(即感光元器件感受光线的灵敏度)数值固定,光圈开大一档,曝光量增加;快门越快,曝光量越小。光圈、快门和曝光量之间的关系是:光圈开大一档,快门速度加快一档,曝光量不变。本文根据光圈、快门和曝光量之间的关系来制作摄影常规技术中的曝光功能。在Unity3D中将光圈数值存储到AV[f/2.8,f/4,f/5.6,f/8,f/11,f/16]数组中,
快门数值存储到TV [1/4,1/8,1/15,1/30,1/60,1/125,1/250,1/500,1/1000]数组中。同一级的曝光值EV和TV、AV存在如下函数关系:EV=TV+AV。同样,也可以利用TV或者AV值的改变增加或减少EV值大小,而EV值控制了环境的整体亮度,从而达到曝光正常、曝光不足和曝光过度的控制。
(4)景深控制。景深效果是专业摄影的一个重要术语,景深控制得好能够突出主体对象并简化背景。景深含义是使被摄物体产生较为清晰影像的最近点至最远点的距离,即被摄体前后清晰的范围。影响景深的因素有:光圈、焦距和物距。相关原理是光圈大,景深小;光圈小,景深大。焦距长,景深小;焦距短,景深大。物距近,景深小;物距远,景深大。在虚拟摄影系统中,利用Unity3D中的depth of field 34.js组件来设置光圈、焦距和景深之间的关系。
3.2.3虚拟摄影棚模块设计与实现
虚拟摄影棚模块主要提供一个具有真实感的摄影棚环境,分为人物摄影和静物摄影,在该模块中,将利用3d Max制作好的摄影棚器材模型导入到Unity3D软件中,制作交互效果。不论人物摄影还是静物摄影,虚拟环境的交互要素相同,包括了不同焦距镜头选择、光圈快门的调节、感光度ISO的调节、灯光位置调节、相机位置调节、相机的取景和点击快门按钮后照片的显示等。二者的区别是拍摄对象的不同。下面以室内人物摄影为例,具体分析以下几个功能的实现方法。
(1)不同焦距镜头的选择。系统中的虚拟摄影棚焦距范围为18~105mm,对应的视野范围为98°~ 8°。
在Unity3D中编写JS脚本控制相机的视野,涉及的关键脚本是camera.fieldOfView。学习者利用滑动条设定焦距,相机的视野随着焦距的变化而产生变化。
(2)灯光位置调节和相机位置调节。系统中允许学习者对灯光进行上下移动、左右旋转的操作,以及对相机进行上下左右移动的操作。在Unity3D中的具体实现就是利用对象的Transform(变换)组件来编写JS脚本,该组件包含了Position、Rotation和Scale三个属性[5]。
(3)相机的取景与照片显示。人们利用单反相机拍摄时一般先通过取景器取景,确定构图后再按快门钮拍摄,最终在液晶屏上显示照片效果。但由于单反相机的取景框很小,不利于虚拟环境中的使用,本文利用虚拟相机的液晶屏作为取景框,学习者控制相机移动时可实时观察构图效果,拍摄完照片则显示在左侧,如图3所示。在Unity3D中实现的方法是分别建立取景用的camera1和显示照片用的camera2,设置camera1和camera2相机的Viewport Rect参数,得到如图3所示的效果。
佛山科学技术学院学报(自然科学版)第33卷
图3虚拟摄影棚界面效果
4结语
随着互联网+的快速发展以及慕课技术的逐步成熟和广泛推广,虚拟仿真类教学系统也会逐步上线。人们除了可以在网络学习知识,还可以在网络的虚拟仿真实验室进行虚拟实验,这也是将来虚拟摄影实
训系统发展的目标。
参考文献:
[1]李军. 探讨在线虚拟现实技术在下一代互联网的应用和发展[J ]. 数字技术与应用, 2011(9): 113-114.
[2]郑彦平, 贺钧. 虚拟现实技术的应用现状及发展[J ]. 信息技术, 2005(12): 94-98.
[3]吴亚峰, 于复兴. Unity 3D 游戏开发技术详解与典型案例[M ]. 北京: 人民邮电出版社, 2012: 1-6.
[4]颜志刚. 摄影技艺教程[M ].上海: 复旦大学出版社, 2003: 99-127.
[5]宣雨松. Unity 3D 游戏开发[M ]. 北京: 人民邮电出版社
, 2012: 108-130.
This paper describes the design and development of  the  interactive virtual photography system bas
ed on Unity 3D which can solve the problems existing in the curriculum of photograph. The virtual photography system designs these three aspects including basic knowledge of photography, photography and virtual photostudio according to the opration of  DSLR camera and photography of virtual photostudio. In addition, the key technology in the application of virtual reality such as three-dimensional modeling technology, Flash animation and interactive technology, the Unity 3D virtual simulation technology are analyzed in this paper, and it introduces a convenient and practical method to load SWF file in Unity 3D. At last, this paper analyzes  the design ideas of exposure, focus, measurement, depth of field of which these functions has been realized in the
system.
virtual photography system; interaction; Unity 3D Research of interactive virtual photography
system based on Unity 3D
ZHANG Zhi 1, BAI Li 2
(1. Department of Media Arts, Fujian Polytechnic of Information Technology, Fuzhou 350001, China;
2. Department of Information Professional Studies, Fujian Industrial School, Fuzhou 350001, China )
【责任编辑:王桂珍foshanwgzh@163 】
74

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。