300 likes | 528 Views
网络虚拟平台 Second Life 调研报告. —— 李亭 王泽. 研究背景与调研目的. Second Life 中的脚本语言LSL. Second Life 技术支持. 虚拟世界技术. Second Life 虚拟世界. 目 录. 研究背景及调研目的.
E N D
网络虚拟平台Second Life调研报告 ——李亭 王泽
研究背景与调研目的 Second Life 中的脚本语言LSL Second Life 技术支持 虚拟世界技术 Second Life 虚拟世界 目 录
研究背景及调研目的 GIS是自20世纪60年代末随着计算机技术的发展而逐渐发展起来的一种用于输入、存储、查询、分析和显示地理数据的计算机系统。传统GIS以下不足之处:可视化效果差,对协同工作支持差。虚拟世界技术的应用克服了以上缺点,但是,它缺乏真实世界中移动目标在虚拟地理环境中的基于位置的服务(Location Based Service,LBS)。本项研究即是通过定位技术(GPS)获取真实世界中移动目标的空间位置,针对移动目标的类别属性,研究真实世界移动目标在三维虚拟地理环境中的可视化表现,以及对多个移动目标进行实时三维追踪的技术方法,并实现虚拟地理环境中对移动目标查询与交互。因此,需要对虚拟世界技术,特别是本次研究应用的开发平台Second Life有进一步深化的认识,故开展本项调研。 Return
基本原理 常用虚拟世界平台Second Life 及其功能 虚拟世界技术 Return
基本原理 虚拟世界技术是构建虚拟地理环境平台的一种技术选择。它由虚拟现实技术发展而来,它融合了计算机图形学、物理学、心理学的研究成果,使得我们能够在计算机中构造出极为逼真的现实世界场景,并且能够以化身的方式相互进行交流以及与虚拟世界中的物体进行交互。 返回
常用虚拟世界平台Second Life及其功能 第二人生(Second Life,以下简称SL)是由Linden实验室开发的一个在线虚拟世界。它的设计目标是要构建一个像Stephenson在他的小说Snow中所描述的元宇宙那样的世界。在元宇宙中,人们可以自己定义与他人的交互、在自己的土地上创造任何你所想要创造的物品。 通过下载有Linden实验室提供的SL浏览器,用户可以以化身的形式登录到SL网格,从而进入虚拟世界。与其他三维信息浏览器最大的不同在于,SL中化身被允许在自己的土地上创建物体,不仅可以定义物体的几何形状,还可以在物体表面贴图以及为物体嵌入用于交互的脚本。
移动/瞬间移动 脚本语言 使用交通工具 创造 功能 交易 交流 返回
三维造型系统 虚拟地理环境 深层次开发应用 Second Life 化身系统与即时通信 土地、气候、大气与光照 物理仿真:粒子系统 化身互动 外部信息的集成 Return
虚拟地理环境 在SL中,也有类似于真实地理世界的空间概念。在SL中,每一块土地称为一个region,它对应一个256*256m 的空间范围。在一个region上面,region的主人可以自己定义土地的地表形态。在SL中,也有物理系统,可以测量物体的运动的速度、风的方向、风速。此外,SL中还设计了一套粒子系统,可以用来模拟各种流体运动,比如喷泉或者大气中污染物的扩散等。因此,SL提供了一个很好的虚拟地理环境再现的平台。
虚拟地理环境 返回
三维造型系统 返回
点击添加文本 化身系统与即时通信
点击添加文本 化身系统与即时通信
化身系统与即时通信 返回
深层次开发应用 虚拟课堂
深层次开发应用 返回
Second Life 服务器架构 OpenSimulator Second Life 技术支持 Return
Second Life的服务器端包括这六大类:Login server(登陆服务器);User server(用户服务器);Space server(空间服务器);Data server(即数据服务器);Simulator(即模拟器),常被称为SIM;Other servers(其他服务器),包含若干不同功能服务器。 返回
OpenSimulator OpenSimulator是3D虚拟世界服务器,我们可以使用它建立虚拟世界,由于它采用了和Second Life相同的通讯标准,所以不同的客户端都可以连接到由OpenSimulator建立的虚拟世界。Opensimulator允许我们使用多种技术建造自己的虚拟世界,我们可以通过载入模型方便的扩展出我们自己的虚拟世界。Opensimulator是开源项目,符合BSD License,对于嵌入式开发也很友好,Opensimulator除了可以模仿Second Life的虚拟地理世界,还通过加入新的模块在逐渐发展其他的环境、接口和特点功能。 Opensimulator除了可以支持SecondLife中可以完成的工作外,还支持多种客户端和接口,可以用多种语言对虚拟世界内的应用进行开发,包括LSL、OSSL、C#、Jscript和VB.NET 返回
Second Life 中的脚本语言LSL LSL简介及其功能 LSL中的一些常用函数 Return
LSL简介及其功能 LSL是Linden Script Language的缩写,是在Second Life虚拟世界中使用的inworld脚本语言,LSL能够对控制虚拟世界中的物体。在建立虚拟地理环境的时候,脚本语言是很重要的实现工具。 LSL是一个有限状态机,使用状态-事件驱动方式。在每个LSL脚本中,可以有多个状态,可以通过语句“state ****;”进行状态转换,在每个状态下,都有如state_entry(进入状态),state_exit(离开状态),touch_start(触摸物体)等事件,比如物体在不同状态下,触摸物体得到的结果也不同。 LSL的语法和C很类似,需要强制定义变量,语句用;结尾,有正常的选择语句和循环语句,有一定的内置函数,接口、参数清楚。
LSL包含的基本内容 • Constants(常量) • Events(事件) • Flow Control • for do-while if-else jump return state while • Functions(函数) • Operators(操作符) • States • Types(变量类型) • Variables(变量) 返回
LSL中的一些常用函数 • LSL分为以下几类:化身、通信、库存、数学、移动、视频、交通等。 • Agent/avatar • Comunication • Control • Dynamics/Movements/Physics • Land • Particles(llParticleSystem) • Simulators(Environment/World) • Teleport • ...... 返回
分析与总结 • 有待完善