Virtools工作流程

来源:互联网 发布:超级基因优化液.txt 编辑:程序博客网 时间:2024/05/22 00:58

制作3d模型大概是最基本的工作,但受限于目前一般PC硬件运算能力与Virtool本身所能程受的负荷范围,

因此3D模型不能作到非常精细,不然会导致运作时系统不稳定而当机。一般而言,整个场景作出来的polygon面数

最好是维持在10000~15000面之间,同时贴图亦不要超过10mb左右为最佳。

 

1.利用地形图作为描绘底图

完整的Virtools虚拟现实项目工作流程

我们调阅台大周围地区的数值地形图,将整个椰林大道范围输出成一张底图,以利制作3d模型。


2.拉出各建筑物量体

完整的Virtools虚拟现实项目工作流程

利用地形图当底图后,再利用Polygon中Create Polygon Tool、Split及Extrude等功能,将量体拉出。建筑物量体的高度,由于缺乏数据,因此以三角函数测量的结果为数据。

3.细修模型

完整的Virtools虚拟现实项目工作流程

有些模型量体不大,但却重要且型体较复杂就要作细一点,但是在作时一定要控制polygon的面数,以免作得太细导致数据量暴增而使Virtool无法负载。

完整的Virtools虚拟现实项目工作流程

每polygon面要记住不要有内角超过180度的情形发生,不然会形成不合法的面,造成显示上的问题

4.其它注意事项
(1)看不见的面﹝如背部﹞要删除以节制polygon面数。
(2)非特别重要的树木植栽不用作成模型,最后到Virtool以3d Sprite方式作,以控制资源。
(3)模型确定后记得把History删除,然后作最佳化处理(Optimize),如此一来将模型转到Virtool后才不会变形或扭曲。拍摄得到的相片,常因为有些干扰﹝如被树木遮挡﹞或是拍摄时的人为因素,使得照片还需要经过影像处理才能拿来当作3d贴图使用。而影像处理的软件很多,其中功能最为强大的,应该就属Photoshop了,而以下就以Phostoshop作为我们的工具,而以下就以行政大楼的照片处理过程,概述我们对于相片处理处理的作法:

完整的Virtools虚拟现实项目工作流程

(这是未处理的相片)

由于每张照片会因为拍摄角度、时间及位置不同,使得其色阶色相及色调有不同的结果;因此,第一部即利用Photoshop把照片的色阶、色相、色调调整得和谐点。

完整的Virtools虚拟现实项目工作流程

 

完整的Virtools虚拟现实项目工作流程

将照片中我们需要的部分利用photoshop调整其大小、位置及修正扭曲部位等。

完整的Virtools虚拟现实项目工作流程

在Photoshop7.0之后,有两个很方便的工具:Healing Brush Tool及 Patch Tool;它们的用法有点像图章,但跟图章不同是它们在涂抹后便会自我修补涂抹范围,相当方便。因此,利用它们来去除不要的部分。如:很多花草遮着我们需要的部分时,?就可以用他们来修改。

完整的Virtools虚拟现实项目工作流程

最后,利用Dodge、Burn、Sponge等工具,增减某些部位亮暗程度即可。

完整的Virtools虚拟现实项目工作流程

(最后完成的一张贴图元素就变成如此)
5.贴图
  在制作3d模型时我们就已经把polygon模型的UV拆理好,因此我们在作贴图时,只要将上述处理贴图元素利用Photoshop把他们全部对应到UV范围内,最后再输出成一张图即可。但要注意的是,最后的贴图最好是2次方的倍数,如:256*256、512*512或是1024*1024以上;因为2的次方倍数的图在被Virtool读取时,速度较快

 

完整的Virtools虚拟现实项目工作流程

(拆理好的UV)

完整的Virtools虚拟现实项目工作流程

(贴图元素对应UV)

完整的Virtools虚拟现实项目工作流程

(3d模型贴图完后的樣子就是如此)
  随后所有的模型皆以此方式处理,此外需注意的是,Virtool本身只有两种材质球: Flat及Gouraud因此在3d软件内你所指定的材质将会在输出后自动换原来的Phong, Lambert, Blinn, Anisotropic, PhongE在Virtool时将会转为 Gouraud。最后将贴完图的模型,利用virtool的转换软件,全部加入virtool的场景内,我们就可以作交互式的设定。而我们目前所作的设定很单纯,主要有第一人称的摄影机之移动与旋转、场景活动范围界定、还有树丛的设定等。
型输出Virtool可读的档案格式
  将模型输出成virtool可读的(.nmo及.vmo)档格式,需另外加装各3d软件的输出程序。而我们是用Maya5.0作模型,因此需要安装Maya5.0汇入virtool的程序,随即便到Maya的Windows/Setting/Preference/plug-in Manager中勾选virtool的外挂程序。然后打开已作好的场景模型,到File/Export All即如下图所示:

完整的Virtools虚拟现实项目工作流程

    在这选单中,你可以指定你要输出的项目及内容。包含对象层极关系(Hierachy)、模型几何面(Mesh)、材质(Texture)、摄影机(Camera)、灯光(Light)、法线(Normal)及动作(Animation);并可以依情况输出成Character或是一般等,此外亦可分别指定要输出选择的模型或是全部。

完整的Virtools虚拟现实项目工作流程

指定好项目后,将档案存取到对应的目录,在此要注意输出的项目为何,再去对应目录名称,例如你要输出角色就建议输出到Character数据夹,其它场景中的对象则存到3d entity中,因为在Virtool中有一些行为模块是有各别针对Character专用的。此外,材质与声音等,亦建议存取到对应的目录。 ◎在输出前建议先到Virtool内建立一个Resource Data夹



其它输出时注意事项 :

●Nurbs及Subdivision的模型无法支持,因此请转成polygon模型后再输出。
●所有的线,如spline作为path用的线无法支持,这点你可以在Virtool中利用Create Curve祢补。
●Set及Partition可支援。
●支持同一对象贴有不同材质的情况。
●支持模型Smooth及Break从0~180。
●支持模型的贴图UV位置及方式(Planar, Cylindrical, Spherical, and Automatic mapping)。
●支援Vertext颜色及Alpha。
●支持group、parent及root的关系。
●不支持三视角摄影机输出,其它摄影机将转为Virtool的Target Camera并可保有其原来摄影机动画。
●灯光方面,Virtool支持Spot、Point、Directional的光,而Ambient会转为point,其它则不支持。
  启动Virtools,进入的工作窗口画面,选择上方指令选单的Resources/Import File﹝或是Open Resource )a,找出并汇入刚刚输出的NMO档案。

完整的Virtools虚拟现实项目工作流程

 

完整的Virtools虚拟现实项目工作流程

调进来时,模型都会黑黑的,那是因为还没有调整物体材质本体光(emissive),或是灯光太弱。只要选择物体按鼠标右键选Material Setup,选择 emissive选项后,调整色阶后就会展现正常状况(如下图)。

完整的Virtools虚拟现实项目工作流程

以此类推,我们将所有场景的对象都输入后,便可得到下图状况。而先前我们有提及,我们需要的面只有椰林大道两侧,因此建筑物其它面,如屋顶及其它三侧并没有作得很完整,一方面可以降低整个场景的polygon面数以维持效能,二者我们摄影机只有在椰林大道中移动,其它面是看不到的。

完整的Virtools虚拟现实项目工作流程

全部汇进来的状况就像如此
模型进入Virtools后,就可以作交互式的设定,而Virtool本身就有500多个行为模块,彼此间可以搭配串连就可混合出很多不同的互动设定。然本案用到的机能不多,计有碰撞设定、第一人称摄影机自由移动、喷泉及流水等等。
(一)Virtool行为模块

完整的Virtools虚拟现实项目工作流程

Virtools的交互式设定是相当有逻辑性,好像在玩电路板游戏,或说是把写程序转化成一种具像的流程图,每个关键的语汇转化为一块块的行为模块﹝Behavior Building Block﹞,每个模块身上很多插孔,有输入插孔(Behavior Input ,用来接收流程上层命﹞、输出插孔﹝Behavior Output,传送执行结果﹞、输入参数﹝Parameter Input,执行前的参数设定﹞、输出参数﹝Parameter Output,执行前的参数设定﹞,这些行为模块是构成一个物体作用的最基本元素,只要各种不同的行为模块合理地联结起来就可以让3d对象互动起来。
而如何联结这些行为模块,我们可以从下图来了解:

 

完整的Virtools虚拟现实项目工作流程

上图就是把几个行为模块连成一个行为的例子。首先我们要作的结果,是把一个对象(即Eva这角色)放在一个地板上(Floor),然后让光打在Eva上,让Eva的影子产生在地板上。而在Virtool我们就是把这样的概念用几个行为模块去连起来,其中图上的Charater Control 是角色的动作控制,而ShadowCaster目的在于指定Eva为影子的投射者﹝灯光参数为Point Light),而Enhanced Charater Keep On Floor是指定Eva要站在地板上﹝Floor模型增加一个地板属性﹞。随后执行的结果就会有阴影产生。而Virtool有500多个行为模块可以相联结。
(二)台大椰林大道模块设定
1.设定场景范围
  由于我们所作的场景集中在部分椰林大道上,因此出了此范围外,就会穿梆。因此我们首先要定义我的场景范围,使所有的活动皆在里面发生。而Virtool提供了一个方便的工具Create Gird,目的是将场景网格化,随后可以在不同的网格上作不同的设定。
(1)首先利用 新增一个Grid,执行后场景上就会出现一个方块笼罩在场景上(如下图),如果在下方黑色网格上涂画,Perspective View就会出现对应的范围。

完整的Virtools虚拟现实项目工作流程

 

 因此我们可以利用 完整的Virtools虚拟现实项目工作流程 (增减网格数)、  完整的Virtools虚拟现实项目工作流程 (移动网格区块)、  完整的Virtools虚拟现实项目工作流程 (放大缩小网格区块)来调整Grid的影响范围,使之与我们作的场景大小符合。进一步再去把我们所要作用的范围涂画出来。

 

完整的Virtools虚拟现实项目工作流程

最后,针对椰林大到作的区域如上图所示,红色范围为避免进入的区块,之后这区块将定义为不可进入的范围,而黑色则为可活动的范围。
2.
第一人称的摄影机
  这个摄影机可以利用键盘上的上下左右键进行前后左右的移动。此外我们还要使它对应之前勾勒出的场景范围,当它遇到场景边缘时,就会自动滑避。

完整的Virtools虚拟现实项目工作流程

 

(1)首先先新增一个摄影机完整的Virtools虚拟现实项目工作流程  ,并将摄影机移动至适当的地点,作为启动结果时的预设位置。
(2)到Level Manage/Level/Global/Camera里选择刚设的摄影机,然后按鼠标右键,选择Create Script,随后便会便出现下图:

完整的Virtools虚拟现实项目工作流程

(3)加入行为模块
这部分我们会用到的行为模块如下:





行为模块

位置

功能


Set As Active Camera

Cameras/Montage/Set As Active Camera

作为启动后预设的摄影机


Switch On Key

Controllers/Keyboard/Switch On key

使键盘上的某些键具有操作功能


Per Second

Logics/Calculator/Per Second

指定某变量的变化速率


Translate

3D Transformations/Basic/Translate

移动


Rotte

3D Transformations/Basic/Rotate

旋转


Object Slider

Collisions/3D Entity/Object Slider

使摄影机遇到场景边缘时会滑开
(4)连结
随后我们将这些行为模块连接成下列行式:

完整的Virtools虚拟现实项目工作流程

这样的连接逻辑为:我们设一个新的摄影机,使这个摄影机在启动所看到画面的摄影机(Set As Active Camera),且让这摄影机的移动可以键盘的上下左右键来控制(Switch On Key)。而为了控制摄影机的移动速率,我们各别在上下(控制摄影机的前后移动Translate)、左右(控制摄影机的前后移动Rotate)加了Per Second来控制相关参数,并在命令完成后连到Switch On Key使成为一个循环。除此之外,入Layer Slider 让它遇到场景边缘时会自动滑开。

完整的Virtools虚拟现实项目工作流程

●最后完成后,我们都要选取摄影机作Set IC For Selected的动作,IC即Initial Condition,目的在于把现在对象的位置状况设为最初的情形。

Virtool除了可以针对场景上的对象各别作复杂的行为模块联结外,对于某些重要元素,如场景上的花花草草及水流等等,亦提供了相当方便的行为模块来操控。
一、流水制作

  完整的Virtools虚拟现实项目工作流程   完整的Virtools虚拟现实项目工作流程   完整的Virtools虚拟现实项目工作流程

 其实流水的概念只是把一张水的图,利用Virtool内建的Texture Scroller,让其在某个向度上不停地作循环移动,就可以达成了。
二、喷泉

完整的Virtools虚拟现实项目工作流程

喷泉的设定也是很简单,我们只是叫了Building Block/ Particles /Point Particle System到场景,它是模拟粒子动力学的工具。原理是把一张图(即喷泉水的图)当成一颗颗的粒子,然后以一个发射器来发射,只要调整想要的发射方向、速度及重力环境等相关参数后,便可以简单模拟出喷泉的样子,这种工具常常用来作射击游戏的子弹效果。
三、植栽
  植栽说起来可以说是一种障眼法,原理就是利用图片的屏蔽,将不需要的地方隐藏起来,而且使这张图片永远面向摄影机即可。而这种方式即是用Virtool中的3D Sprite来完成。

完整的Virtools虚拟现实项目工作流程

1.首先需在影像处理软件上把图片不需要的部分上单一颜色(如黑色),再存盘(建议存成有带alpha)成图档。
2.把这张图放在Resource Data下的3D Sprite目录。
3.进入Virtool后,直接从3D Sprite中的图文件用鼠标左键拖拉到场景中。
4.在窗口中选择该3D Sprite(即该图),按鼠标右键进入3D Sprite Setup中。
5.在Sprite Type中勾选Y Rotate(代表只能旋转Y轴)及Pickable(可选取)。
6.再选该图按鼠标右键到Texture Setup,点选Pick Color,然后移到图中屏蔽部位(如上图的黑色部分)

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小学二年级语文记不住生字怎么办 2周半宝宝不肯马桶拉臭臭怎么办 娃晚上不肯睡早上不肯起怎么办 小学一年纪学生做作业粗心怎么办 考完试的题本偷撕了一页怎么办 犯错把父母惹的很生气该怎么办 一年级孩子做题粗心不认真怎么办 作弊被老师发现怎么办抄错了卷子 孩子最近老是被老师罚抄课文怎么办 孩子总是撒谎说作业作完了怎么办 孩子严重挑食怎么办一点菜也不吃 孩子在家很听话在学校很调皮怎么办 没通过交警车主全责不垫付怎么办 开车撞伤人交警说车主全责怎么办 面对喜欢上网又判逆的儿子怎么办 五年级了计算题老是出错怎么办 三年级的孩子老是计算题出错怎么办 写在表上的字写错了怎么办不能涂改 我的孩子做作业很马虎怎么办 幼儿园老师把学生名字写错怎么办 孩子的手写字磨了疙瘩怎么办 我家孩子上一年级算题特慢怎么办 脚注太多导致与正文距离太大怎么办 搜狗输入法打字不显示选字框怎么办 粘贴文字时带自动添加了序号怎么办 电脑上是表字打印出来是坔怎么办 不同颜色的衣服一起洗染色了怎么办 两岁宝宝不爱吃饭怎么办且消瘦 一岁两个月宝宝不爱吃饭怎么办 罗汉鱼头座大颜色不红怎么办 为什么孩子的牙都是龋齿怎么办呀 蓝迪儿童墙膜出现气泡了怎么办 空sd卡或文件系统不受支持怎么办 8个月宝宝吃了纸怎么办 宝宝出生两天了不吃不喝怎么办 八个月宝宝阴唇边红肿痛怎么办 儿童五周岁九个月比同龄矮怎么办 8个月宝宝长牙母乳喂养咬人怎么办 6周的孩子视力低常怎么办 宝宝吃了甜食生痰咳嗽怎么办 两个月的边牧抵抗力差怎么办