当前位置:永利皇宫官网 > 永利皇宫官网 > U3D-页游-检测机制-webplayer-调试方法

U3D-页游-检测机制-webplayer-调试方法

文章作者:永利皇宫官网 上传时间:2019-10-16

前言

页游近些日子有多个客户端入口:

  1. U3D-页游-检测机制-webplayer-调试方法。网页端 (unity webplayer)
  2. 游玩微端 (unity standalone)

关于微端的本领,可参看笔者事先的篇章:

dotNet开辟娱乐微端

娱乐微端的多路子思路和回顾的自动化打包工具

完整构思

新近为升高页游的转化率,在做页游的检查实验机制,现把这么些检验机制的记挂及有关知识分享一下。大致即是浏览器-webplayer插件-操作系统-浏览器的一部分音信检查测验和拍卖。

完全思索是,若是游戏者不能够透过网页运转游戏,根据操作系统区分,WIN7及以上优先设置微端,XP或别的操作系统提议下载webplayer插件

PS:关于webplayer 技能是或不是过时,官方是或不是不扶植等等话题,此处可是多的议论,如若是新的网络电游项目提议选择webgl开荒。

检查评定脚本:

大约的原型检查实验流程图如下:

编写制定流程图

测量试验碰着

  • windows 10 x64
    • ie 11 ,edge ,firefox 48 , 360极速浏览器8.7-chrome50
    • ie Test
  • windows 7 x64(SP1)
  • ie 11 ,firefox 48, chrome 52, 360极速浏览器8.7-chrome50
  • windows xp x86(官方原版)
  • ie 6 ,firefox 48, chrome 52

U3D-页游-检测机制-webplayer-调试方法。Unity Webplayer

Player Plugin Mono

网页播放器是由3个零件所构成的,分别是插件,播放器和Mono。播放器是施行你的二十七日游并为你加载能源的Unity运行时。它是和你营造Standalone游戏的时候所选用的周转时是一模二样的(或多或少)。

本条运转时需求Mono运转精确。(因为你的玩乐选用的JavaScript、C#要么Boo脚本是急需信任于Mono的)。

末段,这一个插件是一而再网页浏览器和运维时的中间件。该插件在Windows系统下对于IE浏览器下是ActiveX控件(OCX)的样式,对于别的品类的浏览器则是NPAPI-style动态连接库,而Mac下则是二个.plugin。

U3D-页游-检测机制-webplayer-调试方法。摘自:

安装unity webplayer插件之后,在以下渠道能够观看webplayer插件的部分文书

c:UsersAdministratorAppDataLocalLowUnityWebPlayer

图片 1

loader(插件)

路径:UnityWebPlayerloader

功效:Unity为浏览器提供的插件

  • UnityWebPluginAX.ocx
  • npUnity3D32.dll
  • UnityWebPlayerNP.map
  • info.plist

mono(运行时)

路径:UnityWebPlayermonoStable5.x.x

功能:为mono提供周转时

  • Data
  • mono-1-vc.dll
  • info.plist

UnityWebPlayermonoStable5.x.xDatalib

  • System.Core.dll
  • System.dll
  • mscorlib.dll
  • Mono.Security.dll

player(播放器)

路径:UnityWebPlayerplayerStable5.x.x

成效:网页播放器?真正的播放器,类似flash player?

  • Data
  • wrap_oal.dll
  • webplayer_win.dll
  • info.plist

UnityWebPlayerplayerStable5.x.xData

  • lib
  • unity default resources

UnityWebPlayerplayerStable5.x.xDatalib

  • UnityEngine.dll
  • CrossDomainPolicyParser.dll

CrossDomainPolicyParser(跨域政策分析器)

检查评定操作系统和浏览器

检查实验操作系统和浏览器新闻

开源JS脚本:

使用情势:(提出在浏览器的调控新竹运作)

  • 检查测验操作系统
    • platform.os.family(家族): Windows XP,7,NT,版本:Server R2 10等
  • 检查评定浏览器
    • platform.name; platform.version,比如chrome 54,IE 11,Firefox 48 等

浏览器是还是不是安装webplayer

对此chrome 52(不援救webplayer),倘若你的操作系统上安装了webplayer插件,那么能够检查评定出安装了webplayer,但什么检查评定是还是不是能够运维吧?

方法一 IE内核使用ActiveX,其余内核使用插件检验,mimeType 资料:

//just install in os , not detect support
function HasInstallWebPlayer() {
    var tInstalled = false;
    if (navigator.appVersion.indexOf("MSIE") != -1 &&
        navigator.appVersion.toLowerCase().indexOf("win") != -1) {
        tInstalled = detectUnityWebPlayerActiveX();
    } else if (navigator.mimeTypes && navigator.mimeTypes["application/vnd.unity"]) {
        if (navigator.mimeTypes["application/vnd.unity"].enabledPlugin &&
            navigator.plugins && navigator.plugins["Unity Player"]) {
            tInstalled = true;
        }
    }
    return tInstalled;
}

方法二

function GetUnity() {
        if (typeof unityObject != "undefined") {
            return unityObject.getObjectById("unityPlayer");
        }
        return null;
    }

WebPlayer是或不是运营成功

仿效资料:

透过unity提供的UnityObject.js来质量评定,UnityObject简化了Unity的原委嵌入到HTML中。它具备检验Unity互联网播放器插件的作用,初阶化互连网播放器的安装和嵌入Unity的剧情

注意事项

  • 在WIN 10 + IE 11 安装了web player,但运转战败
  • 360极速浏览器 使用chrome50的基础,但还是能够运作webplayer(win 10 x64)
function UnityRunCallback(result) {
    var unityDiv = document.getElementById('unityPlayer');
    if (!result.success) {
        alert("webplayer 启动失败");
    }
    alert("webplayer 启动成功");
}

function RunUnity(){
    var width = document.documentElement.clientWidth;
    var height = document.documentElement.clientHeight;
    var params = {
        disableContextMenu: true,
        disableExternalCall: false,

        backgroundcolor: '000000',
        bordercolor: "000000",
        textcolor: "FFFFFF"
    }
    unityObject.embedUnity("unityPlayer", "WebPlayer.unity3d", width, height, params, null, UnityRunCallback);
 }

JS能力知识

  • string 转int
  • Number 或 parseInt(建议)
  • 判断 object是否为null
  • typeof xxobj == "undefined"

JS全局函数,比window.onload 还更早实践,如下所示:

if (typeof unityObject != "undefined") {
    var width = document.documentElement.clientWidth;
    var height = document.documentElement.clientHeight;
    var params = {
        disableContextMenu: true,
        disableExternalCall: false,
    };
    unityObject.setBaseDownloadUrl("http://webplayer.unity3d.com/download_webplayer-3.x");
    //通过webplayer自启动,在callback中处理
    unityObject.embedUnity("unityPlayer", "WebPlayer.unity3d", width, height, params, null, unityLoaded);
}

webplayer调试

浏览器是或不是可运维webplayer

  1. 浏览器访问

借使当前选拔的浏览器支可运营web player,则足以观望webplayer的版本号和缓存的文件消息,不然运维失败。

图片 2

翻看游戏的运营日志

On Windows 7 the debug log is located at C:Users*Your User Name Here*AppDataLocalTempUnityWebPlayerlog

webplayer调节和测验格局

在浏览器中调节和测量试验Unity web player的措施:按住 ALT键,然后点击右键 - Release Channel - Dev

调用浏览器的调控台打字与印刷日志

在unity的剧本中(C#)调用下列格局,能够将日志打字与印刷在浏览器的console

Application.ExternalCall( "console.log", "my log message" );

参考:

扩大资料

IE6倒计时

翻看IE6在多个国家家的占用率

浏览器官方网址下载

Firefox 火狐

Chrome 离线版

====== 如安装蒙受错误码:0x柒仟4002 ,请自行科学普及

扩展阅读

unity3d webplayer UnityObject 你不驾驭的机密

浏览器运营webplayer测验

下边以一一浏览器在装置webplayer插件之后,运营webplayer的测量检验,因操作系统情形,或浏览器是不是官方网站版 等原因,存在一定的局限性,接待各位指正。

微软

  • xp

    • IE 6.7 运维失利
  • win 7

    • IE 9,10,11 运营成功
  • win10

    • IE 11 运营成功
    • edge 不支持

firefox

firefox 全连串运维成功

PS: firefox 是不是留存部分版本能够运作?

google

chrome45及以上运维战败,在此以前的版本则足以运作

chrome 45 移除了NPAPI

chrome地址栏输入 查看chrome启用的插件

PS:国产基于chrome内核的浏览器是还是不是有做过修改?比方依据chrome 50但也得以运营webplayer成功,但google官方下载的chrome是运作战败的。

本文由永利皇宫官网发布于永利皇宫官网,转载请注明出处:U3D-页游-检测机制-webplayer-调试方法

关键词: