Unity WebGL/WebPlayer与html通信对比,在html添加网页端按钮直接测试

Unity WebPlayer与html通信,在html添加网页端按钮直接测试

由于现在各大浏览器的升级,UnityWebPlayer的网页方式逐渐被摒弃掉,但是很多老项目或者追求稳定的开发者还在选择使用UnityWebPlayer的方式,近期我们一个老项目的更新功能就遇到了这个问题,但网上铺天盖地的都是WebGL与html的通信帖子,就是没有webPlayer的,真是让我头疼了一阵子。经过一番努力,最后终于搞定了,在此分享给大家,也给自己做个备忘笔记。

为什么要通讯
我们项目中需要获取到服务器的登录验证信息,也就是需要服务器的Cookie信息,而WebPlayer是Unity低版本的产物,在高版本中能用的方法,如: HttpWebRequest类、UnityWebRequest类这两种方法都不能在webPlayer里使用,最终我们想到在html里面获取服务器的cookie信息,然后传到Unity前端程序中 ,进行验证使用,最终解决了这个问题,当然要传什么看你自己的需求,本文就不介绍html获取cookie值的方法了。

通信写法
WebPlayer的使用流程和方法与WebGL类似,区别是在html中获取unity对象的方法不一样。发布出来的html的结构也不一样,接下来通过具体代码进行对比一下,我就是在这个地方卡了好久。
来来来,提前看一下核心代码不一样的地方,再看完整的。
webGL获取Unity目标对象:

  var gameInstance = UnityLoader.instantiate("gameContainer", "Build/SanQiaoYiSui.json",    {onProgress: UnityProgress});

WebPlayer获取Unity目标对象:

var config = {
    			width: 960, 
    			height: 600,
    			params: { enableDebugging:"0" }    				
       		};
config.params["disableContextMenu"] = true;
var u = new UnityObject2(config);

基本逻辑
1.获取unity目标实例
2.发送消息到unity目标实例的场景中
3.添加一个网页按钮,点击按钮调用函数,进行消息发送测试。

WebGL中html完整代码

   
     
       
       
       Unity WebGL Player | SanQiaoYiSui
       
       
         
       
       
         
         
           

Unity WebGL/WebPlayer与html通信对比,在html添加网页端按钮直接测试_第1张图片WebPlayer中html完整代码


	
		
		Unity Web Player | HTTPData
		
		
		
		
	
	
		

Unity Web Player | HTTPData

你可能感兴趣的:(UnityWeb)