`
阅读更多

随着mono-design不断推广,用户越来越多,陆续有电话来询问“为什么3D展现的时候,是一团黑?”,针对这个问题,专门写个帖子说明原因并给出解决方案,并且在mono-design编辑器中加了判断功能,同时链接到这里,不用等到发现一团黑时,才知道出问题。

好了,言归正传,开始分析问题:
当发现3D展现是一团黑的时候,在控制台如果看到“Unable to get image data from canvas because the canvas has been tainted by cross-origin data.”的错误提示,这是因为浏览器的安全策略,“同源策略”。浏览器为了阻止欺骗,会追踪 image data。当你把一个“跟canvas的域不同的”图片放到canvas上,这个canvas就成为 “tainted”(被污染的,脏的),浏览器就不让你操作该canvas 的任何像素。

这个问题有两种解决方案

方案一:有服务器环境,将项目部署在web服务器上,最简单的tomcat。
mono-design的目录中并直接移动到例如apache-tomcat-6.0.37\webapps\ROOT\下,然后浏览器打开后输入http://localhost/mono-design/即可。

方案二:设置浏览器
On Windows:

Chrome:
1、得到Chrome的安装路径,例如:

C:\Users\-your-user-name\AppData\Local\Google\Chrome\Application

2、在命令行窗口,输入安装路径,加上–allow-file-access-from-files参数,例如:

Chrome installation path\chrome.exe --allow-file-access-from-files

,回车执行,启动Chrome
3、测试的一个临时方法::复制一个Chrome的快捷方式,右键->属性->目标的文本框中加上参数

--allow-file-access-from-files

,例如:

"Chrome installation path\chrome.exe" --allow-file-access-from-files

IE11:默认可以加载本地图片

Firefox:
1、Firefox的用户请在浏览器的地址栏输入“about:config”,回车
2、在过滤器(filter)中搜索“security.fileuri.strict_origin_policy”
3、将security.fileuri.strict_origin_policy设置为false
4、关闭目前开启的所有Firefox窗口,然后重新启动Firefox。

On Mac:

Chrome:从命令行窗口中启动,启动命令为

open /Applications/Google\ Chrome.app --args --allow-file-access-from-files

Safari:
1、Safari->偏好设置->高级->勾选“在菜单栏中显示‘开发’菜单”
2、开发->勾选“启用WebGL”
3、开发->勾选“停用本地文件限制”

Firefox:
1、Firefox的用户请在浏览器的地址栏输入“about:config”,回车
2、在过滤器(filter)中搜索“security.fileuri.strict_origin_policy”
3、将security.fileuri.strict_origin_policy设置为false
4、关闭目前开启的所有Firefox窗口,然后重新启动Firefox。

分享到:
评论

相关推荐

    Unity Webgl本地打开的配置文件

    unity打包webgl在本地浏览器打不开?可以查看我的文档,并下载此配置文件即可实现本地浏览unity网页

    web.config,用于本地加载WebGL程序时使用的配置文件

    用于本地加载WebGL程序时使用的配置文件

    Unity WebGL本地运行测试的 web配置文件 webconfig

    正常打包WebGL后在浏览器直接运行会报以下这个错: It seems your browser does not support running Unity WebGL content from file:// urls. Please upload it to an http server, or try a different browser. ...

    Unity WebGL下读取Excel

    1. **获取FlexReader**:如果你还没有`FlexReader`,可以从其官方网站或者GitHub等资源库下载。如果已经拥有,可跳过此步骤。 2. **导入到Unity**:将`FlexReader`库导入到你的Unity项目中,通常包括DLL文件和其他...

    Unity通用WebGL模板Universal WebGL Template 1.2.1

    3. **优化资源**:WebGL对资源大小和内存管理有特殊要求,因此需要优化模型、纹理和其他资源。Unity可能提供了预设的优化工具,比如纹理压缩和LOD系统,以适应Web环境。 4. **处理依赖**:确保所有项目所需的库和...

    webGL 录音源码 转为base64文件保存本地

    WebGL录音源码转换成Base64并保存到本地是一个涉及前端音频处理、WebGL技术、数据编码以及Unity集成的综合性问题。以下是对这个主题的详细解析: 首先,WebGL是一种JavaScript API,它允许在浏览器中进行3D图形渲染...

    Unity插件直播视频UMP Pro Win Mac Linux WebGL+ Android iOS资源包

    1. **多平台支持**:UMP Pro覆盖了主流的游戏平台,允许开发者轻松地将视频内容引入到他们的项目中,无论是桌面应用还是移动游戏,甚至在浏览器中的WebGL项目。 2. **高性能**:该插件优化了视频解码和渲染过程,...

    WEBGL_webgl_

    这个"WEBGL_webgl_"教程可能涵盖了以上所有内容,并逐步深入,帮助读者从零开始学习WebGL,掌握在网页中构建3D图形的能力。随着技术的不断发展,教程可能还会涉及WebGL 2.0的新特性,如浮点纹理、多边形偏移、纹理...

    untiy webgl 打开 PDF文件

    untiy webgl 打开 PDF文件

    unity addressables 加载资源和场景 显示进度条(主要用于WebGL)

    相比传统的Resources加载方式,Addressables支持异步加载,能够实现更高效的资源流化,并且允许在游戏运行时按需加载。在WebGL平台,由于其特性限制,资源的加载进度显示尤为重要,为用户提供良好的加载体验是必要的...

    webgl载入模型webgl载入模型webgl载入模型

    WebGL是一种基于OpenGL标准的JavaScript API,用于在任何兼容的Web浏览器中进行2D和3D图形渲染,无需插件。它使得网页开发者能够利用硬件加速的图形处理能力,为网页应用带来丰富的交互式3D体验。在WebGL中加载模型...

    Better-Minimal-WebGL-Template unity webgl打包模板 支持手机

    Unity WebGL 是一种强大的工具,允许开发者将他们的3D游戏或应用程序直接嵌入到网页中,无需任何插件或额外下载。"Better-Minimal-WebGL-Template" 是一个优化过的Unity WebGL打包模板,旨在提供更好的性能和兼容性...

    unity webGL端 运行服务器

    Unity WebGL 是Unity游戏引擎的一个重要平台目标,它允许开发者将Unity创建的游戏或应用程序发布到Web浏览器上运行,无需用户下载安装任何插件。这个技术基于WebGL标准,这是一种在网页上呈现交互式2D和3D图形的开放...

    Unity3D如何导出为webGL--教程.zip

    WebGL是一种基于OpenGL标准的JavaScript API,它允许在任何兼容的现代浏览器中实现硬件加速的3D图形渲染,无需任何插件。本教程将详细讲解如何使用Unity3D将项目导出为WebGL格式,以便在网页上运行。 1. **Unity3D...

    WebGL 开发介绍.zip

    3. 绘图上下文:在HTML5 `<canvas>` 元素中,WebGL创建了一个绘图上下文,允许开发者绘制复杂的3D场景。 二、WebGL的工作原理 1. 渲染管线:WebGL遵循OpenGL的渲染管线模型,包括顶点处理、几何变换、光栅化和像素...

    WebGL编程指南公用库、示例程序、资源

    总之,这个资源包是WebGL学习者和开发者的一份宝贵财富,它涵盖了从理论到实践的各个方面,有助于提升WebGL编程技能,并且能够促进实际项目中的应用。无论是新手还是经验丰富的开发者,都能从中受益。

    unity3d webgl播放视频 自用备份

    总结来说,"unity3d webgl播放视频 自用备份"项目涉及了Unity3D的WebGL导出、视频资源的处理、Unity的Video Player组件的使用、JavaScript与Unity的交互、浏览器兼容性测试以及性能优化等多个方面。理解并掌握这些...

    webGL编程示例源码

    《WebGL编程指南》的主要篇幅讲解了WebGL 原生API 和三维图形学的基础知识,包括渲染管线、着色器、矩阵变换、着色器编程语言(GLSL ES)等等,也讲解了使用WebGL 渲染三维场景的一般技巧,如光照、阴影、雾化等等。...

    UnityWebgl网页弹窗播放实时视频.zip

    Unity WebGL 是一个强大的游戏开发平台,它允许开发者创建交互式3D和2D内容,并能在浏览器上无缝运行。本项目“UnityWebgl网页弹窗播放实时视频”是针对Unity WebGL的一项应用,它提供了在网页中播放实时视频的功能...

Global site tag (gtag.js) - Google Analytics