技术领域
[0001] 本发明涉及3D技术等领域,具体的说,是3D导览方法。
相关背景技术
[0002] 如今,科技日新月异,人们对体验感和易用性有了更高的要求,其中智慧导览对于人们游玩浏览景区、场馆、商超等有着重要的引导作用,但市面上现有技术的导览地图形式
一种为平面地图,只有线路,方位感不太好的用户并不能有效使用导览;另一种为全景图片
跳转场景,体验感较差。
[0003] 现有技术中存在一种采用平面图片展示的方式进行地图导览,为一种主流导览的方式,其实现方法为:采集素材、制作平面图、在设备中展示,具有实现简单的优点,但存在
的不足之处在于:游客只能观看,易用性差,位感不好的用户很难使用。
[0004] 现有技术还存在krpano全景图跳转的方式进行地图导览,全景图跳转主要是模拟3D环境的假3D导览,是由一张一张全景图拼接跳转完成导览作用。
[0005] krpano全景图跳转的实现方式包括:
[0006] 1、采集素材;
[0007] 2、制作3D模型或拍摄全景照片;
[0008] 3、通过Krpano技术将3D模型或全景照片转化为发出多的碎片图形成一个球形(伪3D),生成全景代码;
[0009] 4、将代码及附带文件写入设备中;
[0010] 5、游客观看和操控导览图。
[0011] krpano全景图跳转的优点为:实景图片,用户容易理解导览路线。
[0012] krpano全景图跳转的缺点:每次跳转都需要点击,操作复杂,一个一个场景跳转,场景过渡不自然,体验感差。
具体实施方式
[0050] 下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
[0051] 为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实
施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领
域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明
保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要
求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,
本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本
发明保护的范围。
[0052] 在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特
定的方位构造和操作,因此不能理解为对本发明的限制。
[0053] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者
隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,
除非另有明确具体的限定。
[0054] 在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连
接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内
部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情
况理解上述术语在本发明中的具体含义。
[0055] 在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它
们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特
征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在
第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示
第一特征水平高度小于第二特征。
[0056] 实施例1:
[0057] 本发明提出了3D导览方法,实现3D空间导览,用户可以通过在真实的3D环境中移动,快速有效的找到路线,操作方便,导览实用性强,体验感强,特别采用下述设置结构:包
括以下具体步骤:
[0058] 1)制作3D场景模型;
[0059] 2)实现行走的交互功能;
[0060] 3)将数据写入设备中,形成导览图;
[0061] 4)导览图的使用。
[0062] 实施例2:
[0063] 本实施例是在上述实施例的基础上进一步的优化,进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤1)包括以下具体步骤:
[0064] 1.1)根据建筑平面图制作出3D的空间结构模型;
[0065] 1.2)根据实拍照片进一步制作出导览线路途经的空间细节模型;所述空间细节模型用于还原场景细节,且能够控制3D场景模型的大小,优选的采用等比例缩放的方式控制
3D场景模型的大小;即尽量还原场景细节,同时要考虑控制整个场景模型的大小,进行等比
例缩放。
[0066] 在实现本发明时,3D导览的3D场景模型需要使用3D-MAX等建模软件来建立我们的场景模型,之所以选择3D-MAX,是因为它有便捷的CAT集成,丰富的Autodesk材质库等诸多
优势。
[0067] 实施例3:
[0068] 本实施例是在上述任一实施例的基础上进一步优化,进一步的为更好地实现本发明,特别采用下述设置方式:在进行3D场景模型建立时所涉及的要素包括:
[0069] 场景:模型、材质以及灯光所构成的一个三维空间;
[0070] 材质:包括绘制材质及拍摄贴图材质;
[0071] 灯光:包括环境光、点光源;
[0072] 相机:采用透视相机。
[0073] 在进行3D场景模型建立时,需要配置3D场景模型所在的环境,具体包括:
[0074] 1.场景:模型、材质以及灯光等所在的一个三维空间
[0075] scene=new THREE.Scene();
[0076] 2.灯光:包括环境光,点光源等
[0077] var ambient=new THREE.AmbientLight(0xdddddd);
[0078] scene.add(ambient);
[0079] var PointLight=new THREE.PointLight(0xEEEEEE);
[0080] scene.add(PointLight);
[0081] 3.相机:优选的使用的是透视相机
[0082] camera=new THREE.PerspectiveCamera(各个参数)。
[0083] 本发明采用基于webgl技术的实现3D导览,该导览的范围是一个封闭的建筑空间。WebGL是一种3D绘图协议,开发人员可以使用webgl技术在浏览器里流畅地展示3D场景和模
型,还能创建复杂的导航和数据视觉化。WebGL技术标准免去了开发网页专用渲染插件的麻
烦。本发明使用的是JavaScript编写的WebGL第三方库Three.js,Three.js是一款运行在浏
览器中的3D引擎,在本发明中可以用它创建各种三维场景,包括了摄影机、光影、材质等各
种对象。
[0084] Webgl技术(它是一种3D绘图标准,通过它,开发人员可以借助系统显卡来在浏览器里更流畅地展示和操作3D场景和模型),被领导的游客若此时在A点,想要选择去B点,此
时可以使用webgl通过改变相机的位置来控制人的视角和位置从而实现从A到B的移动的体
验。
[0085] 实施例4:
[0086] 本实施例是在上述任一实施例的基础上进一步优化,进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤2)包括以下具体步骤:
[0087] 2.1)通过WEBGL技术将3D场景模型写入网页代码:在项目(即3D导览图)的webgl代码中,通过使用模型加载器(模型加载器本身是webgl中的一个函数,是一段代码,具有加载
模型的功能)将制作好的3D模型加载到我们的场景中;
[0088] 2.2)在3D场景模型中写入相机:在webgl中,在代码中实例化PerspectiveCamera透视相机,并进行相机的视角(看到的角度范围)、远平面(最远能看到多远)等参数设置,3D
场景模型和相机是相对独立的,都存在于虚拟的一个空间中,但相机能游走在3D场景模型
的里里外外,相机是将3D场景展示在界面的媒介。
[0089] 2.3)操控相机和3D场景模型,实现在真实3D环境中移动、变换视角。
[0090] 实施例5:
[0091] 本实施例是在上述任一实施例的基础上进一步优化,进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤2.1)中,在将3D场景模型写入网页代码时,采用
three.js中的加载文件,其中,OBJMTLLoader.js用于识别3D场景模型的本体,
DDSLoader.js用于识别3D场景模型的贴图,MTLLoader.js用于识别3D场景模型的材质,三
者缺一不可,其具体的使用规则为:
[0092]
[0093] 实施例6:
[0094] 本实施例是在上述任一实施例的基础上进一步优化,进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤2.3)具体为:利用OrbitControls控制器进行相机和
3D场景模型的操控,包括以下动作:
[0095] 通过代码autoRotateSpeed的值设置某点不动的旋转速度,进行整个三维环境旋转;
[0096] 通过代码keyPanSpeed的值设置平移速度,能够让用户通过鼠标或者手指的触碰,进行任意方向的前进、后退、停止;
[0097] 在3D场景模型任意方向上匀速运动。
[0098] 三维空间和3D场景模型等都准备就绪的情况下,控制器就是如何让3D场景模型动起来,来达到在空间中模拟行走的效果,实现3D导览的关键点。相机在三维空间里充当的是
我们人的眼睛的角色,我们看到3D场景模型移动和变化都是相机的相关变化,相机充当的
是我们的眼睛,我们的眼睛在移动,在变化,我们看到的景物也就跟着移动,变化了。而控制
器就是让我们的眼睛如何动的指导者。
[0099] 不同的控制器控制的三维模型,所呈现的效果也是不一样的。在其他地方,我们也许看到了一个模型在三维空间的自旋转,它是单独的一个个体,我们的视角不能进入到这
个模型的内部进行观察,它使用的控制器类型和这里的类型是不一样的。本发明使用的控
制器是OrbitControls,它能使整个三维环境旋转,也可以让用户通过鼠标或者手指的触
碰,进行任意方向的前进、后退和停止,前进和后退的速度是通过代码设置的。当我们的相
机(就像我们的眼睛)在三维的建筑内部匀速移动时,就仿佛置身于该建筑中游览。这样,我
们模拟的3D导览也就实现了。
[0100] Webgl的优点:可直接在浏览器运行,不需要安装其他应用程序。相对于其他类似的3D技术,webgl的兼容性和跨平台要优于其他的3d接口。例如:Direct3D也可以做到类似
的效果,可是它只支持Windows系统。
[0101] 实施例7:
[0102] 本实施例是在上述任一实施例的基础上进一步优化,进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤3)的数据包括代码及附带文件。
[0103] 所述步骤3)具体为:
[0104] 3.1)建立一个文件夹,将webgl的场景、控制器、加载器、灯光、相机、渲染器以及HTML、CSS、JavaScript等前端代码文件,都存在这个文件夹中,用到的文件都引进一个后缀
为html的文件中;
[0105] 3.2)将这个文件夹连带一个本地服务器打包到设备(优选采用触摸一体机,即打包到触摸一体机的电脑主机)上,通过本地服务器在设备(触摸一体机)的显示屏上打开这
个html,即可实现该项目的3D导览图。
[0106] 实施例8:
[0107] 本实施例是在上述任一实施例的基础上进一步优化,进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤4)具体为:游客通过触摸一体机来观看或/和操控导
览图。
[0108] 实施例9:
[0109] 本实施例是在上述任一实施例的基础上进一步优化,进一步的为更好地实现本发明,特别采用下述设置方式:在进行3D场景模型制作之前还包括采集素材的步骤,所述采集
素材为:建筑施工平面图电子版;或者现场实测后按比例进行绘制所得平面图电子版,以及
现场拍摄导览路线途径的各个空间的全方位照片。
[0110] 素材具体可为:含有等比例数据的场景平面设计图、场景真实环境的平面照片、360照片(有最好,没有也可以)、需要还原的单独物品模型的多视角照片、图片、数据。
[0111] 在实现这样的3D导览前期,需要制作或者找到相关的3D模型,例如:一个项目为博物馆则需要制作和找到这个项目的博物馆模型,博物馆里面的文物或者其他摆设的模型。
[0112] 例如:我们采集到了鲁朗游客服务中心的平面设计图,并在鲁朗游客服务中心现场拍摄多角度照片,测量并得到实际建筑数据。根据得到的数据根据本发明索通过的方法,
使用3DMAX软件进行鲁朗游客服务中心场景等比例建模,还原整个游客中心空间、建筑、物
品,通过WEBGL技术将3D模型、控制器、加载器、灯光、相机、渲染器以及HTML,CSS,
JavaScript等前端代码引进一个后缀为html的文件中。将包含有上述文件的文件夹连带一
个本地服务器打包到触摸一体机的电脑主机上,去往鲁朗游客服务中心的游客,在大厅中
使用触摸一体机,在显示屏上打开这个html文件,即可实现对整个游客服务中心的3D导览,
游客可通过3D导览,知道游客服务中心有多少展厅,分别位于什么位置,去往该处的线路,
并可以在3D环境中移动,提前知道会经历什么样的线路,线路中会有什么样的环境变化。
[0113] 以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护
范围之内。