1、Data Industry Research Lab.,秦皇岛数据产业研究院,Lecture Of Immersive Incubator 3D-Web Platform,三维互联网应用孵化平台介绍,目录,三维互联网应用孵化平台介绍,三维互联网孵化平台技术架构介绍,三维互联网应用 的开发流程,一、三维互联网应用孵化平台介绍,三维互联网是一个用三维仿真技术建造的在线虚拟环境,它是当前互联网的延伸。用户沉浸在这个虚拟空间中,并通过各自的化身来以更加自然和有效的方式与其他用户交互。,1. 什么是三维互联网?,2.三维互联网应用孵化平台是什么?,三维互联网应用孵化平台由IBM全球8家研究院历时4年研究
2、开发的成果,其中包含全球最先进的技术,获得15项国际专利。该平台提供方便灵活的应用和内容的创建与发布工具。使得以较低的开发成本,就可以开发出适合企业和行业的商务应用或游戏。同时,可以灵活多变的更改应用逻辑和内容,以适应市场变化。,该平台包括三方面内容:一) 三维互联网应用孵化服务平台:三维互联网应用门户,终端用户账号管理,收费管理以及运营支撑模块。二)身临其境互联网基础平台:三维互联网应用客户端,身临其境互联网服务器及三维互联网应用运营支撑模块。三) 场景编辑工具:作为一种模型组装器,进行场景的创建和管理,并控制模型和逻辑;作为一种集成开发环境,创建应用,即创建用户与世界交互的接口及逻辑。,3
3、. 平台能开发什么?,该平台将在商务办公、教育、医疗、展会、旅游、招商引资、游戏、多用户虚拟社区等领域的发展中创造巨大的价值。,二、三维互联网孵化平台技术架构介绍,三维互联网技术架构介绍,三维互联网技系统框架,三维互联网系统框架,平台为三维互联网应用的开发提供了简单易用、灵活强大的编程模型,它使三维互联网应用的开发变得非常简单,开发人员只需关注应用的逻辑,而无需考虑三维世界如何仿真、渲染等繁琐的底层细节。同时开发人员也无需考虑系统的性能和扩展性,对于这些方面,三维应用服务器在设计上使用了先进的服务器集群技术,使应用自然具备了高性能和高可扩展性。,另外,该平台还具有高度的开放性和对现有技术的兼容
4、性,它允许与已有的互联网应用系统无缝集成,而它的通用三维应用客户端支持对传统Web页面的浏览,而且支持Web内容与三维场景内容的无缝集成与互操作。 使三维互联网应用(如:大型多人同时在线游戏)的开发难度和开发成本显著降低。,三维互联网技术编程介绍,首先,基于三维互联网孵化平台的编程是一种嵌入式编程。如上图所示,黄色的部分为用户编写的3D应用程序逻辑部分。开发这些逻辑,需要用到两种脚本编程语言:Lua和JavaScript。其中Lua是很多知名游戏平台所使用的嵌入式编程脚本语言,了解C/C+编程或Java编程的人员可以很快学会使用Lua编程。,三维互联网技术编程介绍,三维互联网孵化平台选择Lua
5、作为脚本语言,主要是因为它具有很高的执行效率和跨平台,所以它在三维互联网孵化平台中主要用于服务器端和客户端的应用逻辑部分。JavaScript主要用于客户端与GUI有关的程序逻辑。在三维互联网孵化平台客户端中,用户可以看到的用户界面可分为两部分: a.二维的图形用户界面部分,如:菜单、对话框等; b.三维场景部分;,三维互联网技术编程介绍,对于二维的图形用户界面部分,三维互联网孵化平台使用Web技术实现,内置了Web浏览器,所有GUI都是Web页面,JavaScript主要用在Web页面中控制Web元素的显示和与3D场景部分进行数据交换与相互访问。对于后者也就是三维场景部分,Lua是主要的编程
6、语言,它可以控制客户端的3D场景显示,并提供与Web页面和服务器的交换。在服务端,所有应用自己的程序逻辑都通过lua实现。,三维互联网技术编程介绍,其次,三维互联网孵化平台的编程模型是一种事件驱动的编程模型所谓事件驱动的编程模型,是指在嵌入式编程中宿主程序通过事件的方式来调用嵌入式脚本语言。通常宿主程序会定义一些固定的事件响应函数,函数的内容由脚本实现。当事件发生时,宿主程序调用事件响应函数。熟悉Web编程的人都了解:Web页面中的JavaScript其实就是一种典型的事件驱动的编程。,三维互联网技术编程介绍,在三维互联网孵化平台中,所有3D应用逻辑均为直接或间接地对事件做出的响应。不论是在客
7、户端还是在服务器端,不论是客户端的GUI逻辑,还是3D场景中的用户逻辑,系统都是通过事件机制来调用用户编写的逻辑。事件包括用户输入事件、系统事件两类。事件又可分为发生在客户端的事件和发生在服务器端的事件。对于客户端事件,客户端GUI上的用户输入事件和系统事件的响应使用JavaScript编写;客户端3D部分的用户输入事件和系统事件的响应使用Lua脚本编写;服务器的事件响应函数使用Lua脚本编写。,三维互联网技术编程介绍,三维互联网技术编程介绍,21,MVC编程模式,Client Lua,Server Lua,Web2D&3D + Flash(JavaScript),Client Kernel,
8、SimServer,Service,Service,System API,System API,Model,View,Controller,Data Persistence,Coordinate views , Present GUI and 3D effects,Coordinate clients, services and play NPCs,MVC编程模式,从三维互联网孵化平台来讲,客户端GUI部分和Lua前台脚本部分属于view的部分,服务器端Lua脚本属于controller的部分,Service用于数据的持久化,属于model的部分。GUI中的Javascript负责:1)向co
9、ntroller部分转发GUI中获得的事件2)响应controller的指令改变二维GUI部分的显示,MVC编程模式,客户端Lua脚本部分负责: 1)向controller部分转发三维世界中获得的事件 2)响应controller的指令改变三维世界部分的显示服务器端的Lua脚本负责:接收来自客户端的数据,校验其合法性,执行响应的业务逻辑,如果需要则调用model部分做数据的持久化,最后依据业务要求控制所需的客户端作出view上的更新和效果。上述关于各部分脚本的职责描述是一个基本编程思想和原则,应尽可能做到在Controller中处理所有对用户输入的响应。这不仅使程序结构更加清晰和结构化,而且也出于安全的考虑。,24,IBM身临其境互联网应用的编程模型 脚本间调用关系,三、三维互联网应用的开发流程,1. 三维互联网应用的开发流程,2. 开发用到的技术,1.Java2.Websphere3.Js4. LUA5. 3D Max6.数据库用到的技术:MySql 5.17.Linux系统的基本操作8.JSON、HTML,,Thank You !,秦皇岛数据产业研究院,