基于Unity 3D的旅游景点漫游设计

2022-08-26 01:52:08李深森
现代信息科技 2022年11期
关键词:旅游景点漫游视图

李深森

(山东华宇工学院 设计与艺术学院,山东 德州 253034)

0 引 言

国务院印发的《“十四五”旅游业发展规划》推断我国将进入大众旅游全面发展的新阶段,以数字化、网络化、智能化为特征的智慧旅游将得到进一步的发展。受新冠肺炎疫情的影响,实地旅游经历了前所未有的萧条,尤其是出境旅游,几乎完全停滞。除此之外,很多旅游景点被夸大奇谈,游客满心欢喜地到达目的地之后结果发现此地根本就不值得一游。所以虚拟旅游景点的漫游设计可以让用户提前体验旅游景点的美好风光,获得视觉感受之后再决定是否前往。目前有很多VR技术与旅游相结合的体验平台,但大多数是无人机拍摄后再生成VR全景视频。本文着重介绍3ds Max软件三维模型创建与Unity 3D软件的结合,以及常用Unity 3D UGUI系统的设计与实现。

1 项目制作流程

将旅游景点以漫游交互的方式呈现给用户,项目开发过程中涉及的场景模型和贴图材质等皆来源于真实的旅游场景,首先通过全景拍摄装备、无人机等进行实景拍摄,采集材质纹理贴图和现实场景的平面设计图,通过Photoshop软件处理材质贴图和纹理效果,并将其应用于虚拟场景的模型中,最终在Unity 3D软件中搭建平台,导入三维模型并添加摄像机、音效、页面控件、灯光等效果,最终完成渲染发布。具体流程图如图1所示。

图1 项目工作流程

2 创建三维模型

旅游景点的场景主要是通过3ds Max软件创建并导出fbx文件,某旅游景点的效果图如图2所示。Autodesk 3D Studio Max简称3ds Max,是一款功能全面的三维建模工具软件。三维模型的创建通过多边形建模来实现,辅助样条线建模和基本几何体搭建。创建模型需事先了解场景的整体布局、建筑结构、建筑风格,然后再通过3ds Max软件进行创建。下面介绍三维模型(以3ds Max创建模型为例)具体的创建规范:

图2 旅游景点俯瞰图

单位设置。在创建模型之前先设置好单位,同一个场景中所涉场景模型的单位要统一,模型与模型之间的比例要准确,与Unity 3D中的单位设置要保持一致,真实场景的创建单位一般为米。

面数控制。由于本模型用于虚拟体验,并不需要创建过于精细的模型,换言之就是在创建模型的过程中使模型的面数最少,为了与Unity 3D软件相结合,多边形建模的面最好是三边面或四边面,最好不要出现多边面,从而避免模型在Unity 3D软件中运行时出现穿插。

模型文件。模型创建完成后要归整模型文件,看不到的面(如房子的底部)可以删除,实现最大限度的优化。为方便后续的UVW展开,需要将模型中断开的点予以合并,将多余而孤立的点移除,这里强调一下是移除而不是直接删除,删除容易影响到面,所以一定要通过backspace快捷键来移除多余而孤立的点。模型命名要规范,不要使用中文来命名,命名不要重复,并且贴图的命名要合理。

建模技巧。通过3ds Max软件创建模型时,最好是通过可编辑多边形来创建模型,通过调整点、线、面来调整模型,最好不要通过可编辑网格来创建模型,因为可编辑网格最终烘焙时容易出现三边面(又称三角面)。创建模型时容易出现分层创建,但是创建完成后要塌陷成一个完整的模型,最好是用一个完整的建筑物塌陷成一个完整的模型。塌陷时可以按建筑或区域(比如居民楼、广场、超市等)来塌陷,不要跨区域塌陷。

以旅游景点中的一个单体建筑为例,具体分析其模型创建的过程和技巧,如图3所示。

图3 场景单体建筑设计

首先是单位设置,将场景中所有模型的单位统一设置为米。开始制作车站模型,从下往上建造模型。首先通过样条线中的矩形样条线来创建合适大小的矩形,更改角半径参数,使其符合模型的比例和结构,将X轴、Y轴、Z轴的坐标值置零,使模型位于视图中心,便于后续的UVW展开和UVW贴图。

将修改后的矩形样条线转化为可编辑多边形,可以通过挤出或轮廓命令来调节模型的结构,但是对于比较规则的模型,可以将视图切换至前视图或左视图,选择边界线,通过移动工具和缩放工具同时结合使用shift键,完成整体模型的创建,如图4、图5所示。

图4 单体建筑模型前视图

图5 单体建筑模型效果图

为便于UVW展开和UVW贴图,将模型拆分为4个部分,如图6所示,最后通过修改器面板的两次对称完成完整的模型创建。

图6 模型拆分图

将模型导出为obj格式的文件,将UVW展开的贴图保存为JPG格式的文件,并通过Photoshop绘制贴图文件。Unity 3D引擎对模型的材质有一定的要求,Unity 3D仅支持3ds Max文件中的标准材质和多维子对象材质,而且还要求多维子对象的子材质为标准材质。

3 搭建场景

将三维模型导入Unity 3D软件,Unity 3D软件是目前主流的游戏开发引擎。尤其是在VR设备的开发中,Unity 3D游戏开发引擎占有统治地位。此外,Unity 3D独有的沉浸感和互动性可给用户带来强烈逼真的感官冲击,使用户获得身临其境的感官体验。

在Unity官方网站上下载Unity 5.x版本软件并安装,安装完成后进行Unity资源安装。创建空的Unity 3D工程,创建文件夹分别命名为Resources、Scene、Script。Resources文件夹中存放模型和贴图文件,Scene文件夹中存放工程文件,Script文件夹中存放代码文件。

将模型拖到场景中,调整模型的大小和位置,可适当添加环境光让场景更加明亮清晰。

4 设置漫游动画

通过iTween path插件制作路径动画,itween是一个动画库,可以实现动画、晃动、旋转、移动、控制音频等功能,借助itween使摄像机按规定的路线运动。在Hierarchy视图中选中要绑定iTweenPath组件的对象,点击Component,选择上面图中的Pixelplacement,选中ITweenPath,可以看到在Inspector视图中的GameObject物体上已有ITween Path(Script)属性。

iTween的核心是数值插值,也就是给iTween两个数值(开始值、结束值),它会自动生成一些中间值,即只需定义开始值和结束值,中间的过程iTween就会自动设置完成。这些数值主要为数字、坐标点、角度、物体大小、物体颜色、音量大小等。它主要包含两个文件:iTween.cs和iTweenPath.unitypackage(编辑路径时用)。将iTween.cs文件放置在Plugins目录中即可。

Itween有很多种动画方法,而且每种动画方法有多种执行方式,比如从原位置移动到目标位置(MoveTo)、随时间移动游戏对象的位置(MoveAdd)等,每个方法一般有两种加载方式:最小定制选项和完全定制选项,参数为:

MoveTo (GameObject target, Vector3 position, float time)

MoveTo (GameObject target, Hashtable args)

在漫游场景项目中,主要是通过控制摄像机的移动、淡入淡出等来实现场景的漫游,让受众可以通过摄像机的运动来感受场景的变化,体验美轮美奂的场景。

本项目中的漫游控制部分代码为:

发布的时候可以选择导出的形式(如网页、PC、iOS、安卓等),根据项目要求选择合适的平台发布,也可以导出exe文件直接观看。

5 结 论

本项目主要是结合使用Unity 3D软件和3ds Max软件进行旅游景点的漫游设计,采用虚拟现实技术不仅能还原优美壮观的自然风景,还能详尽生动地描述历史古迹,便于用户网上沉浸式领略旅游景点的风貌,并选择前往旅游,提高实地旅游质量,同时,针对疫情期间不便实地游玩的情况,也可使受众足不出户便可切实感受旅游景点的风貌和文化气息。

猜你喜欢
旅游景点漫游视图
贫民窟也能成旅游景点?
贫民窟也能成旅游景点
霹雳漫游堂
5.3 视图与投影
视图
Have a Good Trip
Y—20重型运输机多视图
现代兵器(2017年4期)2017-06-02 15:59:24
SA2型76毫米车载高炮多视图
现代兵器(2017年4期)2017-06-02 15:58:14
NASA漫游记
旅游景点介绍的文体分析