1.一种unity3d三维场景与web页面元素交互通信的方法,其特征在于,包括以下步骤,步骤一、使用nodejs实现websocket服务端,包括以下方法:(1)在nodejs中引入express.js框架,创建一个名为app.js的文件,定义一个http服务应用程序,来构建socket.io将使用的Web服务器;(2)引入socket.io库,创建一个名为socketServer.js的文件, 实现socket.io的connection连接和disconnect断开连接事件用于记录用户的连接和离开动作;(3)在步骤(2)中定义的连接事件connection中,自定义unityToweb事件用于处理unity3d端的websocket和web应用端websocket的通信;步骤二、unity3d开发人员根据产品需求,完成三维场景效果的开发,在unity3d中对三维场景要完成的交互动作封装成独立的方法;步骤三、在unity3d中实现支持webgl平台的webscokert通信方式,创建websocket对象,连接步骤一中已经实现的websocket服务端,并设置好websocket连接的消息接收、发送及关闭连接事件;步骤四、经过步骤二、三完成unity3d端开发后,打包生成webgl端交于web端开发人员;步骤五、web应用端开发人员根据产品需求,在web界面中对要展示的图表和文字的信息交互动作封装独立的方法;步骤六、web应用端开发人员实现websocket通信方式,创建websocket对象,并为该对象设置好websocket连接、消息接收发送及关闭连接事件;步骤七、web应用端开发人员把步骤四中unity3d端生成的webgl项目嵌入web应用端;步骤八、在步骤一工程目录下新建unityToWeb.json文件,在该文件中配置json对象,在该对象中完成步骤二和步骤五中unity3d端与web应用端封装的各自交互动作方法的映射关系;步骤九、在步骤一(3)步骤中websocket服务端定义的unityToweb事件中,监听unity端和web界面端的消息,读取步骤八中的unityToWeb.json文件,完成两端消息的转发;当服务端unityToweb事件监听到unity3d端的消息时,获取消息对象UnityMethodName属性对应的值,计算获取对应的webMethodName属性值,并将消息发送到web应用端websocket,web应用端会触发上述步骤五中定义的同名方法,完成动作的触发,实现双端的通信;当服务端unityToweb监听到web应用端的消息时,获取消息对象webMethodName属性对应的值,计算出对应的unityMethodName属性值,并将消息发送到Unity3d端websocket,unity3d端会触发上述步骤三方法,完成动作的触发,实现双端的通信。
2.根据权利要求1所述交互通信的方法,其特征在于,步骤二中封装独立的方法包括三维场景切换动作cameraSwitch()。
3.根据权利要求1所述交互通信的方法,其特征在于,步骤三中,当消息接收事件被触发时,从消息体messageData中获取UnityMethodName属性,在unity3d中执行步骤二中事先封装好的cameraSwitch()方法,完成unity3d端三维场景的交互动作。
4.根据权利要求1所述交互通信的方法,其特征在于,步骤五中封装独立的方法包括需要展示统计列表及对应的图表信息方法showListAndcharts()。
5.根据权利要求1所述交互通信的方法,其特征在于,步骤六中,当消息接收事件被触发时,从消息体messageData中获取WebMethodName属性,在web中执行步骤五中事先封装好的showListAndcharts()方法,完成web应用端交互动作。
6.根据权利要求1所述交互通信的方法,其特征在于,步骤八中包括unity3d端要完成cameraSwitch()方法的同时要触发web界面端的showListAndcharts()方法,其配置如下:"WebMethodName":"showListAndcharts";"UnityMethodName":"cameraSwitch"。