CN105592103A - 基于Unity3D的虚拟现实设备与移动设备的同步显示方法 - Google Patents

基于Unity3D的虚拟现实设备与移动设备的同步显示方法 Download PDF

Info

Publication number
CN105592103A
CN105592103A CN201610072818.3A CN201610072818A CN105592103A CN 105592103 A CN105592103 A CN 105592103A CN 201610072818 A CN201610072818 A CN 201610072818A CN 105592103 A CN105592103 A CN 105592103A
Authority
CN
China
Prior art keywords
server
client
virtual reality
mobile device
unity3d
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610072818.3A
Other languages
English (en)
Other versions
CN105592103B (zh
Inventor
郭小虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201610072818.3A priority Critical patent/CN105592103B/zh
Publication of CN105592103A publication Critical patent/CN105592103A/zh
Application granted granted Critical
Publication of CN105592103B publication Critical patent/CN105592103B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种基于Unity3D的虚拟现实设备与移动设备的同步显示方法,首先,虚拟现实设备在局域网内建立服务器,初始化一个网络视图,向网内广播信息;其次,移动设备获得该服务器的IP地址并连接服务器;然后,通过函数networkView.RPC在所有的客户端和服务器上创建新的网络玩家,进而函数AllocateViewID()生成对应玩家的NewViewID;再次,移动设备获取服务器中的场景信息并载入相同的场景;最后,函数networkView.RPC共享服务器中的虚拟摄像机的位置坐标,客户端获取同步该虚拟摄像机的位置信息来同步一个与虚拟现实设备服务器相同的当前场景视野。本发明减少了网络开销;实现了一个端到端的网络通信,还简单有效地实现了局域网内客户端对服务器的自觉发现。

Description

基于Unity3D的虚拟现实设备与移动设备的同步显示方法
技术领域
本发明涉及一种基于Unity3D的虚拟现实设备与移动设备的同步显示方法。
背景技术
现有的Unity网络共享技术大多使用Unity自带的网络技术实现。这种技术的好处在于使用Unity自带的网络技术可以很好地解决多人同时在线游戏,它主要通过创建NetworkViews(网络视图)初始化NetworkView,并且通过RPC(远程程序调用)函数来共享参数。然而这种技术也存在一些缺陷:1、网络开销大,在多人共享需求相对简单的前提下,依然需要维护每个网络视图,包括维护他们的创建、销毁以及传参的稳定性;2、是一个典型的服务器/客户端模式,当一个客户端发生了一些情况时其他客户端无法第一时间得知消息,需要服务器进行转发,这些在实际使用中造成一定的不便;3、客户端需要实现事先得知服务器的IP才能实现与服务器的连接,没有一个简单有效的方法来实现局域网客户端对服务器的自觉发现的功能。
发明内容
本发明提供了一种基于Unity3D的虚拟现实设备与移动设备的同步显示方法,其克服了背景技术中所述的现有技术的不足。
本发明解决其技术问题所采用的技术方案是:
基于Unity3D的虚拟现实设备与移动设备的同步显示方法,它包括:
步骤1,虚拟现实设备在局域网内建立本地的服务器,开启单人应用,初始化一个网络视图,并向网内广播发送消息,包括该服务器IP地址和场景信息;
步骤2,移动设备选择所需连接的服务器并通过获得该服务器的IP地址连接到服务器,形成一个新的客户端;
步骤3,当移动设备连接上服务器时,Unity3D的OnPlayerConnected函数捕捉到该事件,便调用远程程序调用函数networkView.RPC在所有的客户端和服务器上创建新的网络玩家,进而通过Unity3D的函数AllocateViewID()生成对应玩家的NewViewID;
步骤4,移动设备获取服务器中的场景信息并载入相同的场景;
步骤5,服务器通过调用远程程序调用函数networkView.RPC来共享服务器中的虚拟摄像机的位置坐标,客户端通过调用远程程序调用函数networkView.RPC函数来同步获得摄像机的数据,并根据该虚拟摄像机的坐标移动相应的视角,得到与虚拟现实设备服务器相同的当前场景视野。
一实施例之中:所述步骤2中,移动设备获得服务器的IP的方法包括:
步骤21,服务器打开一个已知的端口,用来监听来自移动设备的消息;
步骤22,客户端打开一个随机的端口,用来监听来自服务器的消息;
步骤23,客户端广播其选择的随机端口的端口号和IP地址给服务器;
步骤24,服务器接收到客户端发送的随机端口号后,便对客户端作出应答;
步骤25,客户端收到服务器的应答后,即可获得该服务器的IP和场景信息。
一实施例之中:所述步骤23中,客户端通过基于.net的网络通信接口所建立的广播函数向服务器广播其端口号和IP地址。
一实施例之中:所述步骤2中,移动设备上设有一操作界面,用于用户选择所需连接的服务器。
一实施例之中:所述步骤5中,所述客户端利用差值法来平滑视觉的移动。
一实施例之中:所述步骤5中,所述客户端基于UDP协议接收服务器共享的虚拟摄像机的位置坐标信息。
一实施例之中:所述移动设备包括手机、平板电脑、笔记本电脑中的任意一种。
本技术方案与背景技术相比,它具有如下优点:
1、减少网络开销;在本发明所述的技术方案中,只使用了一个网络视图,因此可设置这个网络视图的StateSynchoronization(状态同步)为OFF,Observed为None,减少了用RPC方法同步消息时的不必要开销。
2、实现了一个端到端的网络通信,使得当网络玩家加入或断线时在所有的客户端上都可对网络玩家对象的创建和销毁。
3、实现了局域网内客户端对服务器的自觉发现,且通过.net通信接口建立广播函数进行广播,使得客户端对服务器的发现过程变得简单。
具体实施方式
本发明提供了一种基于Unity3D的虚拟现实设备与移动设备的同步显示方法,它包括:
步骤1,虚拟现实设备在局域网内建立本地的服务器,开启单人应用,初始化一个网络视图,并向网内广播发送消息,该消息包括该服务器IP地址和场景信息;
步骤2,移动设备选择所需连接的服务器并通过主动获得该服务器的IP地址连接到服务器,形成一个新的客户端;本实施例中,移动设备上设有一操作界面,用于可通过该操作界面选择所需连接的服务器。
步骤3,当移动设备连接上服务器时,Unity3D的OnPlayerConnected函数捕捉到该事件,便调用远程程序调用函数networkView.RPC在所有的客户端和服务器上创建新的网络玩家,此处采用的networkView.RPC函数为networkView.RPC(″JoinPlayer″,RPCMode.All,newViewID,position,newplayer),其中,JoinPlayer是客户端和服务器共享的函数,用来处理新用户加入的事件,RPCMode.All是指这个函数在所有客户端和服务器中共享,剩余三个参数是JoinPlayer函数需要处理的参数,分别代表,新客户端的网络视图,服务器的摄像机位置和新的客户端实例。进而通过Unity3D的函数AllocateViewID()生成对应玩家的NewViewID,用于区分不同的玩家;
步骤4,移动设备获取服务器中的场景信息并载入相同的场景;
步骤5,服务器通过调用远程程序调用函数networkView.RPC来共享服务器中的虚拟摄像机的位置坐标,客户端通过调用远程程序调用函数networkView.RPC函数来同步获得摄像机的数据;由于远程程序调用函数(RPC)会在每一个客户端和服务器内被调用,因此客户端只要判断networkView.RPC中的IP地址是否与自己相同即可知道哪些指令是需要该客户端执行,哪些指令是其他客户端执行,若相同,则该客户端根据该虚拟摄像机的坐标移动相应的视角,得到与虚拟现实设备服务器相同的当前场景视野。本实施例中,客户端在移动视角的时候,可利用差值法来平滑视觉的移动,避免在视角切换时给用户产生跳变突兀的体验感受,提高用户的体验效果。本实施例中,所述客户端基于UDP协议接收服务器共享的虚拟摄像机的位置坐标信息。
所述步骤2中,移动设备获得服务器的IP的方法包括:
步骤21,服务器打开一个已知的端口,用来监听来自移动设备的消息;在此步骤中,可通过一些异步的回调函数,来保证服务器处理客户端的事件是多线程的,不会引起中断。
步骤22,客户端打开一个随机的端口,用来监听来自服务器的消息;之所以选择随机的端口号是因为在一次基于Unity3D的网络会话中,我们不能创建两个有着相同端口号的Udp客户端,若创建了两个具有相同端口号的Udp客户端,Unity3D在运行时会报错,这个错误通常发生在一个客户端连上、断开或者想再次尝试连接服务器时,因此选择使用打开随机端口号来解决上述的报错问题;在此步骤中,同样使用了一些异步的回调函数来保证客户端功能的多线程化和并发性。
步骤23,客户端广播其选择的随机端口的端口号和IP地址给服务器;由于Unity3D没有自己的广播函数,本实施例中,采用基于.net的网络通信接口创建一个精简的广播函数,在该函数内创建该客户端的IP端点(IPEndPoint),UDP客户端(UDPClient)和UDP状态(UDPState),并将该端口和IP信息广播给局域网内每个具有指定的已知端口号的服务器。
步骤24,服务器接收到客户端发送的随机端口号后,便对客户端作出应答;
步骤25,客户端收到服务器的应答后,即可获得该服务器的IP和场景信息。此时,客户端便可通过该IP信息加入虚拟现实设备服务器创建的网络应用。
所述移动设备包括手机、平板电脑、笔记本电脑中的任意一种。
本发明所述的一种基于Unity3D的虚拟现实设备与移动设备的同步显示方法只使用了一个网络视图,因此可设置这个网络视图的状态同步(StateSynchoronization)为OFF,Observed为None,减少了采用RPC方法同步消息时的不必要开销,即减少了网络开销。同时本发明还实现了一个端到端的网络通信,使得当网络玩家加入或断线时在所有的客户端上都可对网络玩家对象的创建和销毁。还实现了局域网内客户端对服务器的自觉发现,且通过.net通信接口建立广播函数进行广播,使得客户端对服务器的发现过程变得简单。
以上所述,仅为本发明较佳实施例而已,故不能依此限定本发明实施的范围,即依本发明专利范围及说明书内容所作的等效变化与修饰,皆应仍属本发明涵盖的范围内。

Claims (7)

1.基于Unity3D的虚拟现实设备与移动设备的同步显示方法,其特征在于:包括:
步骤1,虚拟现实设备在局域网内建立本地的服务器,开启单人应用,初始化一个网络视图,并向网内广播发送消息,包括该服务器IP地址和场景信息;
步骤2,移动设备选择所需连接的服务器并通过获得该服务器的IP地址连接到服务器,形成一个新的客户端;
步骤3,当移动设备连接上服务器时,Unity3D的OnPlayerConnected函数捕捉到该事件,便调用远程程序调用函数networkView.RPC在所有的客户端和服务器上创建新的网络玩家,进而通过Unity3D的函数AllocateViewID()生成对应玩家的NewViewID;
步骤4,移动设备获取服务器中的场景信息并载入相同的场景;
步骤5,服务器通过调用远程程序调用函数networkView.RPC来共享服务器中的虚拟摄像机的位置坐标,客户端通过调用远程程序调用函数networkView.RPC函数来同步获得摄像机的数据,并根据该虚拟摄像机的坐标移动相应的视角,得到与虚拟现实设备服务器相同的当前场景视野。
2.根据权利要求1所述的基于Unity3D的虚拟现实设备与移动设备的同步显示方法,其特征在于:
所述步骤2中,移动设备获得服务器的IP的方法包括:
步骤21,服务器打开一个已知的端口,用来监听来自移动设备的消息;
步骤22,客户端打开一个随机的端口,用来监听来自服务器的消息;
步骤23,客户端广播其选择的随机端口的端口号和IP地址给服务器;
步骤24,服务器接收到客户端发送的随机端口号后,便对客户端作出应答;
步骤25,客户端收到服务器的应答后,即可获得该服务器的IP和场景信息。
3.根据权利要求2所述的基于Unity3D的虚拟现实设备与移动设备的同步显示方法,其特征在于:所述步骤23中,客户端通过基于.net的网络通信接口所建立的广播函数向服务器广播其端口号和IP地址。
4.根据权利要求1或2所述的基于Unity3D的虚拟现实设备与移动设备的同步显示方法,其特征在于:
所述步骤2中,移动设备上设有一操作界面,用于用户选择所需连接的服务器。
5.根据权利要求1或2所述的基于Unity3D的虚拟现实设备与移动设备的同步显示方法,其特征在于:所述步骤5中,所述客户端利用差值法来平滑视觉的移动。
6.根据权利要求1或2所述的基于Unity3D的虚拟现实设备与移动设备的同步显示方法,其特征在于:所述步骤5中,所述客户端基于UDP协议接收服务器共享的虚拟摄像机的位置坐标信息。
7.根据权利要求1或2所述的基于Unity3D的虚拟现实设备与移动设备的同步显示方法,其特征在于:所述移动设备包括手机、平板电脑、笔记本电脑中的任意一种。
CN201610072818.3A 2016-02-02 2016-02-02 基于Unity3D的虚拟现实设备与移动设备的同步显示方法 Active CN105592103B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610072818.3A CN105592103B (zh) 2016-02-02 2016-02-02 基于Unity3D的虚拟现实设备与移动设备的同步显示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610072818.3A CN105592103B (zh) 2016-02-02 2016-02-02 基于Unity3D的虚拟现实设备与移动设备的同步显示方法

Publications (2)

Publication Number Publication Date
CN105592103A true CN105592103A (zh) 2016-05-18
CN105592103B CN105592103B (zh) 2019-02-01

Family

ID=55931317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610072818.3A Active CN105592103B (zh) 2016-02-02 2016-02-02 基于Unity3D的虚拟现实设备与移动设备的同步显示方法

Country Status (1)

Country Link
CN (1) CN105592103B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534125A (zh) * 2016-11-11 2017-03-22 厦门汇鑫元软件有限公司 一种基于局域网实现vr多人交互系统的方法
CN107612947A (zh) * 2017-11-03 2018-01-19 北京微视酷科技有限责任公司 一种虚拟现实设备间同步的通信方法及系统
CN108108430A (zh) * 2017-12-18 2018-06-01 西安交通大学 一种基于Unity3D知识森林虚拟现实系统实现的方法
CN109067912A (zh) * 2018-09-19 2018-12-21 深圳华侨城文化旅游科技股份有限公司 一种监听vr设备的方法及系统
CN109257339A (zh) * 2018-08-29 2019-01-22 长春博立电子科技有限公司 远程虚拟现实仿真环境的高效交互方法及系统
CN110888633A (zh) * 2019-10-18 2020-03-17 福建天晴数码有限公司 一种Unity与H5组件同步方法及系统
CN111179437A (zh) * 2019-12-30 2020-05-19 上海曼恒数字技术股份有限公司 一种Cloud VR 无连接串流系统及连接方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012906A (zh) * 2010-10-27 2011-04-13 南京聚社数字科技有限公司 基于SaaS架构的三维场景管理平台及编辑浏览方法
CN104240281A (zh) * 2014-08-28 2014-12-24 东华大学 一种基于Unity3D引擎的虚拟现实头戴式设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012906A (zh) * 2010-10-27 2011-04-13 南京聚社数字科技有限公司 基于SaaS架构的三维场景管理平台及编辑浏览方法
CN104240281A (zh) * 2014-08-28 2014-12-24 东华大学 一种基于Unity3D引擎的虚拟现实头戴式设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
周超等: ""基于Unity3D的虚拟校园设计"", 《计算机光盘软件与应用》 *
王彩玲等: ""基于Unity3D的虚拟校园漫游的设计与实现"", 《科技视界》 *
马瑞: ""基于Unity3D的多平台三维虚拟数字校园的设计与实现"", 《蚌埠学院学报》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534125A (zh) * 2016-11-11 2017-03-22 厦门汇鑫元软件有限公司 一种基于局域网实现vr多人交互系统的方法
CN106534125B (zh) * 2016-11-11 2021-05-04 厦门汇鑫元软件有限公司 一种基于局域网实现vr多人交互系统的方法
CN107612947A (zh) * 2017-11-03 2018-01-19 北京微视酷科技有限责任公司 一种虚拟现实设备间同步的通信方法及系统
CN108108430A (zh) * 2017-12-18 2018-06-01 西安交通大学 一种基于Unity3D知识森林虚拟现实系统实现的方法
CN108108430B (zh) * 2017-12-18 2020-08-28 西安交通大学 一种基于Unity3D知识森林虚拟现实系统实现的方法
CN109257339A (zh) * 2018-08-29 2019-01-22 长春博立电子科技有限公司 远程虚拟现实仿真环境的高效交互方法及系统
CN109067912A (zh) * 2018-09-19 2018-12-21 深圳华侨城文化旅游科技股份有限公司 一种监听vr设备的方法及系统
CN110888633A (zh) * 2019-10-18 2020-03-17 福建天晴数码有限公司 一种Unity与H5组件同步方法及系统
CN110888633B (zh) * 2019-10-18 2023-04-11 福建天晴数码有限公司 一种Unity与H5组件同步方法及系统
CN111179437A (zh) * 2019-12-30 2020-05-19 上海曼恒数字技术股份有限公司 一种Cloud VR 无连接串流系统及连接方法
CN111179437B (zh) * 2019-12-30 2023-08-08 上海曼恒数字技术股份有限公司 一种Cloud VR无连接串流系统及连接方法

Also Published As

Publication number Publication date
CN105592103B (zh) 2019-02-01

Similar Documents

Publication Publication Date Title
CN105592103A (zh) 基于Unity3D的虚拟现实设备与移动设备的同步显示方法
CN104427293B (zh) 一种建立视频会议界面的方法、装置及视频终端
CN104023050B (zh) 一种设备云环境下设备协同多屏互动系统及其方法
US9866599B2 (en) Integration of scheduled meetings with audio-video solutions
CN105094638A (zh) 移动终端与智能家居设备的图片屏幕共享方法及移动终端
CN110839116A (zh) 远程会议系统及终端装置
TW201616848A (zh) 個資隱藏之通話方法及其系統
CN106713438B (zh) 位置共享处理方法和装置
CN104202364B (zh) 一种控制器的自动发现和配置方法和设备
CN104284132A (zh) 视频通讯方法及装置
WO2015139494A1 (zh) 一种数据处理方法、设备和视频会议系统
CN102710549A (zh) 通过摄像建立通信连接关系的方法、终端及系统
TWI695650B (zh) 用於連接電子裝置的方法和系統
CN105635629A (zh) 视频会议装置及方法
CN104268781A (zh) 一种国地税共享自助办税方法
CN103297858A (zh) 一种智能电视用户状态显示系统及方法
CN101963980A (zh) 一种网页上实现的不同分辨率下图片居中后白板同步的方法
CN105306695B (zh) 移动终端的通信方法及移动终端
US11388205B2 (en) Systems and methods for establishing a shared augmented reality session
CN110519683B (zh) 基于Wi-Fi P2P技术的群体位置共享方法
CN104754281A (zh) 视频会议控制系统及方法
CN106161431A (zh) 通话建立方法及系统
CN106790587A (zh) 远程桌面控制方法
CN103179102A (zh) 一种桌面虚拟化方法、设备及系统
CN104468597B (zh) 多屏幕分享信息的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant